\doxysubsubsection{Device Identifications Tools }
\hypertarget{group___m_o_d_b_u_s___d_e_v_i_d}{}\label{group___m_o_d_b_u_s___d_e_v_i_d}\index{Device Identifications Tools@{Device Identifications Tools}}


Функции для работы с идентификаторами устройства  


Collaboration diagram for Device Identifications Tools\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=338pt]{group___m_o_d_b_u_s___d_e_v_i_d}
\end{center}
\end{figure}
\doxysubsubsubsubsection*{Classes}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{struct_m_b___device_object_type_def}{MB\+\_\+\+Device\+Object\+Type\+Def}}
\begin{DoxyCompactList}\small\item\em Структура для объекта (идентификатора устройства модбас) \end{DoxyCompactList}\item 
struct \mbox{\hyperlink{struct_m_b___device_identifications_type_def}{MB\+\_\+\+Device\+Identifications\+Type\+Def}}
\begin{DoxyCompactList}\small\item\em Структура со идентификаторами устройства модбас \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsubsubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \mbox{\hyperlink{group___m_o_d_b_u_s___d_e_v_i_d_gaaa2e116d48e6ffb2fa17b4be128930a9}{MODBUS\+\_\+\+DEVICE\+\_\+\+CONFORMITY}}~0x82
\item 
\#define \mbox{\hyperlink{group___m_o_d_b_u_s___d_e_v_i_d_gae5e66049f0dc66382999cf52cdeba38e}{MB\+\_\+\+Object\+Init}}(\+\_\+p\+\_\+obj\+\_\+,  \+\_\+userstring\+\_\+)
\begin{DoxyCompactList}\small\item\em Инициализация объектов \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group___m_o_d_b_u_s___d_e_v_i_d_ga090d04bdaee6827a9a620d149efd4978}{MB\+\_\+\+User\+Object\+Init}}(\+\_\+pinfostruct\+\_\+,  \+\_\+user\+\_\+numb\+\_\+)
\begin{DoxyCompactList}\small\item\em Инициализация пользовательских объектов \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsubsubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
void \mbox{\hyperlink{group___m_o_d_b_u_s___d_e_v_i_d_ga2b93352920bf3c6da0f67cfbaef3d572}{MB\+\_\+\+Device\+Inentification\+Init}} (void)
\begin{DoxyCompactList}\small\item\em Инициализация идентификаторов. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group___m_o_d_b_u_s___d_e_v_i_d_ga7c0638d252c74d0c1ef047ff23e43b3f}{MB\+\_\+\+Write\+Single\+Object\+To\+Message}} (char \texorpdfstring{$\ast$}{*}mbdata, unsigned \texorpdfstring{$\ast$}{*}ind, \mbox{\hyperlink{struct_m_b___device_object_type_def}{MB\+\_\+\+Device\+Object\+Type\+Def}} \texorpdfstring{$\ast$}{*}obj)
\begin{DoxyCompactList}\small\item\em Записать Один Объект Идентификатора в массив данных \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group___m_o_d_b_u_s___d_e_v_i_d_gaf864599c95934d63f854a038e3bdccb0}{MB\+\_\+\+Write\+Objects\+To\+Message}} (\mbox{\hyperlink{struct_r_s___msg_type_def}{RS\+\_\+\+Msg\+Type\+Def}} \texorpdfstring{$\ast$}{*}modbus\+\_\+msg, unsigned maxidofobj)
\begin{DoxyCompactList}\small\item\em Записать Массив Объектов Идентификатора в массив данных \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsubsubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{struct_m_b___device_identifications_type_def}{MB\+\_\+\+Device\+Identifications\+Type\+Def}} \mbox{\hyperlink{group___m_o_d_b_u_s___d_e_v_i_d_ga0aaf735fcb26fa61af6f7f4895802b90}{MB\+\_\+\+DEVID}}
\begin{DoxyCompactList}\small\item\em Глобальная структура идентификаторов устройства \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsubsubsection{Detailed Description}
Функции для работы с идентификаторами устройства 

Модуль реализации функции Read Device Identifications (0x2B)\+:
\begin{DoxyItemize}
\item Базовая идентификация (Vendor, Product, Revision)
\item Расширенная идентификация (URL, Model, User fields)
\item Поддержка потоковой передачи больших объектов
\end{DoxyItemize}\hypertarget{group___m_o_d_b_u_s___d_e_v_i_d_devobj}{}\doxysubsubsubsection{\texorpdfstring{Объекты идентификации\+:}{Объекты идентификации\+:}}\label{group___m_o_d_b_u_s___d_e_v_i_d_devobj}

\begin{DoxyItemize}
\item Vendor\+Name, Product\+Code, Revision -\/ обязательные
\item Vendor\+Url, Product\+Name, Model\+Name -\/ опциональные
\item User objects -\/ пользовательские поля
\item Поддержка до 128 пользовательских объектов
\end{DoxyItemize}

\label{doc-define-members}
\Hypertarget{group___m_o_d_b_u_s___d_e_v_i_d_doc-define-members}
\doxysubsubsubsection{Macro Definition Documentation}
\Hypertarget{group___m_o_d_b_u_s___d_e_v_i_d_gaaa2e116d48e6ffb2fa17b4be128930a9}\index{Device Identifications Tools@{Device Identifications Tools}!MODBUS\_DEVICE\_CONFORMITY@{MODBUS\_DEVICE\_CONFORMITY}}
\index{MODBUS\_DEVICE\_CONFORMITY@{MODBUS\_DEVICE\_CONFORMITY}!Device Identifications Tools@{Device Identifications Tools}}
\doxysubsubsubsubsection{\texorpdfstring{MODBUS\_DEVICE\_CONFORMITY}{MODBUS\_DEVICE\_CONFORMITY}}
{\footnotesize\ttfamily \label{group___m_o_d_b_u_s___d_e_v_i_d_gaaa2e116d48e6ffb2fa17b4be128930a9} 
\#define MODBUS\+\_\+\+DEVICE\+\_\+\+CONFORMITY~0x82}



Definition at line \mbox{\hyperlink{modbus__devid_8h_source_l00038}{38}} of file \mbox{\hyperlink{modbus__devid_8h_source}{modbus\+\_\+devid.\+h}}.

\Hypertarget{group___m_o_d_b_u_s___d_e_v_i_d_gae5e66049f0dc66382999cf52cdeba38e}\index{Device Identifications Tools@{Device Identifications Tools}!MB\_ObjectInit@{MB\_ObjectInit}}
\index{MB\_ObjectInit@{MB\_ObjectInit}!Device Identifications Tools@{Device Identifications Tools}}
\doxysubsubsubsubsection{\texorpdfstring{MB\_ObjectInit}{MB\_ObjectInit}}
{\footnotesize\ttfamily \label{group___m_o_d_b_u_s___d_e_v_i_d_gae5e66049f0dc66382999cf52cdeba38e} 
\#define MB\+\_\+\+Object\+Init(\begin{DoxyParamCaption}\item[{}]{\+\_\+p\+\_\+obj\+\_\+}{, }\item[{}]{\+\_\+userstring\+\_\+}{}\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{(\_p\_obj\_)-\/>length\ \ =\ \textcolor{keyword}{sizeof}(\_userstring\_);\(\backslash\)}
\DoxyCodeLine{(\_p\_obj\_)-\/>name\ \ \ \ =\ \_userstring\_;}

\end{DoxyCode}


Инициализация объектов 

С помозью этого дефайна инициализируются объекты в \doxylink{group___m_o_d_b_u_s___d_e_v_i_d_ga2b93352920bf3c6da0f67cfbaef3d572}{MB\+\_\+\+Device\+Inentification\+Init} 

Definition at line \mbox{\hyperlink{modbus__devid_8h_source_l00075}{75}} of file \mbox{\hyperlink{modbus__devid_8h_source}{modbus\+\_\+devid.\+h}}.

\Hypertarget{group___m_o_d_b_u_s___d_e_v_i_d_ga090d04bdaee6827a9a620d149efd4978}\index{Device Identifications Tools@{Device Identifications Tools}!MB\_UserObjectInit@{MB\_UserObjectInit}}
\index{MB\_UserObjectInit@{MB\_UserObjectInit}!Device Identifications Tools@{Device Identifications Tools}}
\doxysubsubsubsubsection{\texorpdfstring{MB\_UserObjectInit}{MB\_UserObjectInit}}
{\footnotesize\ttfamily \label{group___m_o_d_b_u_s___d_e_v_i_d_ga090d04bdaee6827a9a620d149efd4978} 
\#define MB\+\_\+\+User\+Object\+Init(\begin{DoxyParamCaption}\item[{}]{\+\_\+pinfostruct\+\_\+}{, }\item[{}]{\+\_\+user\+\_\+numb\+\_\+}{}\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{\mbox{\hyperlink{group___m_o_d_b_u_s___d_e_v_i_d_gae5e66049f0dc66382999cf52cdeba38e}{MB\_ObjectInit}}(\&(\_pinfostruct\_)-\/>User[\_user\_numb\_],\ MODBUS\_USEROBJECT\#\#\_user\_numb\_\#\#\_NAME)}

\end{DoxyCode}


Инициализация пользовательских объектов 

С помозью этого дефайна инициализируются пользовательские объекты в MB\+\_\+\+Device\+Inentification\+Init 

Definition at line \mbox{\hyperlink{modbus__devid_8h_source_l00082}{82}} of file \mbox{\hyperlink{modbus__devid_8h_source}{modbus\+\_\+devid.\+h}}.



\label{doc-func-members}
\Hypertarget{group___m_o_d_b_u_s___d_e_v_i_d_doc-func-members}
\doxysubsubsubsection{Function Documentation}
\Hypertarget{group___m_o_d_b_u_s___d_e_v_i_d_ga2b93352920bf3c6da0f67cfbaef3d572}\index{Device Identifications Tools@{Device Identifications Tools}!MB\_DeviceInentificationInit@{MB\_DeviceInentificationInit}}
\index{MB\_DeviceInentificationInit@{MB\_DeviceInentificationInit}!Device Identifications Tools@{Device Identifications Tools}}
\doxysubsubsubsubsection{\texorpdfstring{MB\_DeviceInentificationInit()}{MB\_DeviceInentificationInit()}}
{\footnotesize\ttfamily \label{group___m_o_d_b_u_s___d_e_v_i_d_ga2b93352920bf3c6da0f67cfbaef3d572} 
void MB\+\_\+\+Device\+Inentification\+Init (\begin{DoxyParamCaption}\item[{void}]{}{}\end{DoxyParamCaption})}



Инициализация идентификаторов. 



Definition at line \mbox{\hyperlink{modbus__devid_8c_source_l00177}{177}} of file \mbox{\hyperlink{modbus__devid_8c_source}{modbus\+\_\+devid.\+c}}.

\Hypertarget{group___m_o_d_b_u_s___d_e_v_i_d_ga7c0638d252c74d0c1ef047ff23e43b3f}\index{Device Identifications Tools@{Device Identifications Tools}!MB\_WriteSingleObjectToMessage@{MB\_WriteSingleObjectToMessage}}
\index{MB\_WriteSingleObjectToMessage@{MB\_WriteSingleObjectToMessage}!Device Identifications Tools@{Device Identifications Tools}}
\doxysubsubsubsubsection{\texorpdfstring{MB\_WriteSingleObjectToMessage()}{MB\_WriteSingleObjectToMessage()}}
{\footnotesize\ttfamily \label{group___m_o_d_b_u_s___d_e_v_i_d_ga7c0638d252c74d0c1ef047ff23e43b3f} 
void MB\+\_\+\+Write\+Single\+Object\+To\+Message (\begin{DoxyParamCaption}\item[{char \texorpdfstring{$\ast$}{*}}]{mbdata}{, }\item[{unsigned \texorpdfstring{$\ast$}{*}}]{ind}{, }\item[{\mbox{\hyperlink{struct_m_b___device_object_type_def}{MB\+\_\+\+Device\+Object\+Type\+Def}} \texorpdfstring{$\ast$}{*}}]{obj}{}\end{DoxyParamCaption})}



Записать Один Объект Идентификатора в массив данных 


\begin{DoxyParams}{Parameters}
{\em mbdata} & Указатель на массив данных в структуре \doxylink{struct_r_s___msg_type_def}{RS\+\_\+\+Msg\+Type\+Def}. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
obj Объект для записи. 
\end{DoxyReturn}


Definition at line \mbox{\hyperlink{modbus__devid_8c_source_l00031}{31}} of file \mbox{\hyperlink{modbus__devid_8c_source}{modbus\+\_\+devid.\+c}}.

\Hypertarget{group___m_o_d_b_u_s___d_e_v_i_d_gaf864599c95934d63f854a038e3bdccb0}\index{Device Identifications Tools@{Device Identifications Tools}!MB\_WriteObjectsToMessage@{MB\_WriteObjectsToMessage}}
\index{MB\_WriteObjectsToMessage@{MB\_WriteObjectsToMessage}!Device Identifications Tools@{Device Identifications Tools}}
\doxysubsubsubsubsection{\texorpdfstring{MB\_WriteObjectsToMessage()}{MB\_WriteObjectsToMessage()}}
{\footnotesize\ttfamily \label{group___m_o_d_b_u_s___d_e_v_i_d_gaf864599c95934d63f854a038e3bdccb0} 
void MB\+\_\+\+Write\+Objects\+To\+Message (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct_r_s___msg_type_def}{RS\+\_\+\+Msg\+Type\+Def}} \texorpdfstring{$\ast$}{*}}]{modbus\+\_\+msg}{, }\item[{unsigned}]{maxidofobj}{}\end{DoxyParamCaption})}



Записать Массив Объектов Идентификатора в массив данных 


\begin{DoxyParams}{Parameters}
{\em mbdata} & Указатель на массив данных в структуре \doxylink{struct_r_s___msg_type_def}{RS\+\_\+\+Msg\+Type\+Def}. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
obj Объект для записи. 
\end{DoxyReturn}


Definition at line \mbox{\hyperlink{modbus__devid_8c_source_l00046}{46}} of file \mbox{\hyperlink{modbus__devid_8c_source}{modbus\+\_\+devid.\+c}}.



\label{doc-var-members}
\Hypertarget{group___m_o_d_b_u_s___d_e_v_i_d_doc-var-members}
\doxysubsubsubsection{Variable Documentation}
\Hypertarget{group___m_o_d_b_u_s___d_e_v_i_d_ga0aaf735fcb26fa61af6f7f4895802b90}\index{Device Identifications Tools@{Device Identifications Tools}!MB\_DEVID@{MB\_DEVID}}
\index{MB\_DEVID@{MB\_DEVID}!Device Identifications Tools@{Device Identifications Tools}}
\doxysubsubsubsubsection{\texorpdfstring{MB\_DEVID}{MB\_DEVID}}
{\footnotesize\ttfamily \label{group___m_o_d_b_u_s___d_e_v_i_d_ga0aaf735fcb26fa61af6f7f4895802b90} 
\mbox{\hyperlink{struct_m_b___device_identifications_type_def}{MB\+\_\+\+Device\+Identifications\+Type\+Def}} MB\+\_\+\+DEVID\hspace{0.3cm}{\ttfamily [extern]}}



Глобальная структура идентификаторов устройства 



Definition at line \mbox{\hyperlink{modbus__devid_8c_source_l00021}{21}} of file \mbox{\hyperlink{modbus__devid_8c_source}{modbus\+\_\+devid.\+c}}.

