Files
UKSI_TEST/AllLibs/Modbus/Doc/latex/modbus__coils_8c.tex
2025-12-16 17:57:59 +03:00

55 lines
4.6 KiB
TeX
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
\doxysection{E\+:/.WORK/\+STM32/\+Diod\+\_\+\+Test/diode\+\_\+tester/\+Core/\+Modbus/\+Src/modbus\+\_\+coils.c File Reference}
\hypertarget{modbus__coils_8c}{}\label{modbus__coils_8c}\index{E:/.WORK/STM32/Diod\_Test/diode\_tester/Core/Modbus/Src/modbus\_coils.c@{E:/.WORK/STM32/Diod\_Test/diode\_tester/Core/Modbus/Src/modbus\_coils.c}}
Реализация работы с коилами Modbus.
{\ttfamily \#include "{}modbus\+\_\+coils.\+h"{}}\newline
Include dependency graph for modbus\+\_\+coils.\+c\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{modbus__coils_8c__incl}
\end{center}
\end{figure}
\doxysubsubsection*{Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_ga4ade64cb3fabf37f010c1e297489980c}{MB\+\_\+\+Exception\+Type\+Def}} \mbox{\hyperlink{group___m_o_d_b_u_s___d_a_t_a___a_c_c_e_s_s___f_u_n_c_t_i_o_n_s_gae9b8595911d93cfbf8597f3356a494cc}{MB\+\_\+\+Coil\+\_\+\+Write\+\_\+\+Global}} (uint16\+\_\+t Addr, \mbox{\hyperlink{group___m_o_d_b_u_s___d_a_t_a___a_c_c_e_s_s___f_u_n_c_t_i_o_n_s_ga8ccf569b78a17a10ac7c80d52730753a}{MB\+\_\+\+Coils\+Op\+Type\+Def}} Write\+Val)
\begin{DoxyCompactList}\small\item\em Выставить/сбросить коил по глобальному адресу. \end{DoxyCompactList}\item
uint16\+\_\+t \mbox{\hyperlink{group___m_o_d_b_u_s___d_a_t_a___a_c_c_e_s_s___f_u_n_c_t_i_o_n_s_ga82334048256e266170a4b3373be59b59}{MB\+\_\+\+Coil\+\_\+\+Read\+\_\+\+Global}} (uint16\+\_\+t Addr, \mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_ga4ade64cb3fabf37f010c1e297489980c}{MB\+\_\+\+Exception\+Type\+Def}} \texorpdfstring{$\ast$}{*}Exception)
\begin{DoxyCompactList}\small\item\em Считать коил по глобальному адресу. \end{DoxyCompactList}\item
uint8\+\_\+t \mbox{\hyperlink{group___m_o_d_b_u_s___c_m_d___p_r_o_c_e_s_s___f_u_n_c_t_i_o_n_s_ga39a02e8e4911a74a619d2ef29adcbad8}{MB\+\_\+\+Process\+\_\+\+Read\+\_\+\+Coils}} (\mbox{\hyperlink{struct_r_s___msg_type_def}{RS\+\_\+\+Msg\+Type\+Def}} \texorpdfstring{$\ast$}{*}modbus\+\_\+msg)
\begin{DoxyCompactList}\small\item\em Обработать функцию Read Coils (01 -\/ 0x01). \end{DoxyCompactList}\item
uint8\+\_\+t \mbox{\hyperlink{group___m_o_d_b_u_s___c_m_d___p_r_o_c_e_s_s___f_u_n_c_t_i_o_n_s_ga918102931c9125a5e44a30e103d17e14}{MB\+\_\+\+Process\+\_\+\+Write\+\_\+\+Single\+\_\+\+Coil}} (\mbox{\hyperlink{struct_r_s___msg_type_def}{RS\+\_\+\+Msg\+Type\+Def}} \texorpdfstring{$\ast$}{*}modbus\+\_\+msg)
\begin{DoxyCompactList}\small\item\em Обработать функцию Write Single Coils (05 -\/ 0x05). \end{DoxyCompactList}\item
uint8\+\_\+t \mbox{\hyperlink{group___m_o_d_b_u_s___c_m_d___p_r_o_c_e_s_s___f_u_n_c_t_i_o_n_s_ga6f4498cec8634820025aaa9c4623ba55}{MB\+\_\+\+Process\+\_\+\+Write\+\_\+\+Miltuple\+\_\+\+Coils}} (\mbox{\hyperlink{struct_r_s___msg_type_def}{RS\+\_\+\+Msg\+Type\+Def}} \texorpdfstring{$\ast$}{*}modbus\+\_\+msg)
\begin{DoxyCompactList}\small\item\em Обработать функцию Write Multiple Coils (15 -\/ 0x0F). \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection{Detailed Description}
Реализация работы с коилами Modbus.
Модуль для доступа к coils внутри программы\+:
\begin{DoxyItemize}
\item Функции для доступа к coils по глобальным адресам
\item Макросы для доступа к coils по локальным адресам
\end{DoxyItemize}
Модуль обработки команд для coils (битовых данных)\+:
\begin{DoxyItemize}
\item Чтение coils (0x01) -\/ упаковка битов в байты для передачи
\item Запись одиночного coil (0x05) -\/ установка/сброс бита
\item Запись множественных coils (0x0F) -\/ распаковка битов из байтов
\end{DoxyItemize}\hypertarget{modbus__coils_8c_cvalid}{}\doxysubsection{\texorpdfstring{Валидация данных\+:}{Валидация данных\+:}}\label{modbus__coils_8c_cvalid}
\begin{DoxyItemize}
\item Проверка соответствия количества байт и регистров
\item Валидация адресов через \doxylink{group___m_o_d_b_u_s___c_m_d___p_r_o_c_e_s_s___f_u_n_c_t_i_o_n_s_ga1e90bb28a4cf997250daab6470d5ffe3}{MB\+\_\+\+Define\+Registers\+Address()}
\item Обработка исключений при некорректных запросах
\end{DoxyItemize}
Definition in file \mbox{\hyperlink{modbus__coils_8c_source}{modbus\+\_\+coils.\+c}}.