Files
UKSI_TEST/AllLibs/Modbus/Doc/html/modbus__data_8h_source.html
2025-12-16 17:57:59 +03:00

289 lines
33 KiB
HTML
Raw Permalink 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.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Modbus: E:/.WORK/STM32/Diod_Test/diode_tester/Core/Modbus/modbus_data.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js"></script>
<script type="text/javascript" src="darkmode_toggle.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Modbus<span id="projectnumber">&#160;0.3</span>
</div>
<div id="projectbrief">Библиотека Modbus для STM</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('modbus__data_8h_source.html','',''); });
</script>
<div id="container">
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">E:/.WORK/STM32/Diod_Test/diode_tester/Core/Modbus/modbus_data.h</div></div>
</div><!--header-->
<div class="contents">
<a href="modbus__data_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/**</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment">******************************************************************************</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment">* @file modbus_data.h</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment">* @brief Определения структур данных Modbus устройства</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment">******************************************************************************</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment">@defgroup MODBUS_DATA Modbus Registers Map</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment">@ingroup MODBUS</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment">@brief Определение карты регистров и коилов</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment">******************************************************************************</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment">* @details</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment">Файл содержит объявления структур данных, доступных через Modbus:</span></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment">- Holding Registers (R/W) - регистры хранения</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment">- Input Registers (R/O) - входные регистры </span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment">- Coils (R/W) - дискретные выходы</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="comment"></span> </div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="comment">@section datinit Базовая настройка под устройство:</span></div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="comment">1. Настроить диапазоны адресов</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="comment"> - @ref R_INPUT_ADDR и @ref R_INPUT_QNT для входных регистров</span></div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="comment"> - @ref R_HOLDING_ADDR и @ref R_HOLDING_QNT для регистров хр анения</span></div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="comment"> - @ref C_COILS_ADDR и @ref C_COILS_ADDR для коилов</span></div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="comment">3. Настроить структуры данных:</span></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="comment"> - @ref MB_DataInRegsTypeDef</span></div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="comment"> - @ref MB_DataHoldRegsTypeDef</span></div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="comment"> - @ref MB_DataCoilsTypeDef</span></div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="comment"> </span></div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="comment"></span> </div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="comment">@section datexpert Расширенная настройка под устройство:</span></div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="comment">1. Добавить новый массив с нужными данными.</span></div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span><span class="comment">2. Добавить дефайны для определения его начального адреса и количества элементов</span></div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span><span class="comment">3. Добавить проверку адресов в MB_DefineRegistersAddress/MB_DefineCoilsAddress. </span></div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span><span class="comment"></span> </div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span><span class="comment"> Пример:</span></div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span><span class="comment"> @code</span></div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span><span class="comment"> #define R_USER_ADDR 555</span></div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span><span class="comment"> #define R_USER_QNT 16</span></div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span><span class="comment"> uint16_t user_regs[16];</span></div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span><span class="comment"></span> </div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span><span class="comment"> //...</span></div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span><span class="comment"> else if(MB_Check_Address_For_Arr(Addr, Qnt, R_USER_ADDR, R_USER_QNT) == ET_NO_ERRORS)</span></div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span><span class="comment"> {</span></div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span><span class="comment"> *pRegs = MB_Set_Register_Ptr(&amp;user_regs, Addr-R_USER_ADDR); // ВАЖНО!</span></div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span><span class="comment"> // -R_USER_ADDR нужен чтобы взять адрес относительно начала массива</span></div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span><span class="comment"> }</span></div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span><span class="comment"> else </span></div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span><span class="comment"> {</span></div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span><span class="comment"> return ET_ILLEGAL_DATA_ADDRESS;</span></div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span><span class="comment"> }</span></div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span><span class="comment"> @endcode</span></div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span><span class="comment">******************************************************************************/</span></div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> </div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span><span class="preprocessor">#ifndef _MODBUS_DATA_H_</span></div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span><span class="preprocessor">#define _MODBUS_DATA_H_</span></div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> </div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span><span class="preprocessor">#include &quot;stdint.h&quot;</span></div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> </div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> </div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> </div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span><span class="comment">//--------------SIZES OF DATA---------------</span></div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> </div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span><span class="comment">// DEFINES FOR INPUT REGISTERS ARRAYS</span></div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"><a class="line" href="modbus__data_8h.html#a22bd1273e01d32f90a279b517d1737b6"> 61</a></span><span class="preprocessor">#define R_INPUT_ADDR 0 </span><span class="comment">///&lt; Начальный адрес входных регистров</span></div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"><a class="line" href="modbus__data_8h.html#a97c0b1e20498bca34f6dfe0ac0d97b30"> 62</a></span><span class="preprocessor">#define R_INPUT_QNT 16 </span><span class="comment">///&lt; Количество входных регистров</span></div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> </div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span><span class="comment">// DEFINES FOR HOLDING REGISTERS ARRAYS</span></div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"><a class="line" href="modbus__data_8h.html#a791dfd31cc06338acdd8a2eb3b7032e6"> 65</a></span><span class="preprocessor">#define R_HOLDING_ADDR 0 </span><span class="comment">///&lt; Начальный адрес регистров хранения</span></div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"><a class="line" href="modbus__data_8h.html#acf40437374a3227e661db1a18bcef7d7"> 66</a></span><span class="preprocessor">#define R_HOLDING_QNT 16 </span><span class="comment">///&lt; Количество регистров хранения</span></div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> </div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span><span class="comment">// DEFINES FOR COIL ARRAYS</span></div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"><a class="line" href="modbus__data_8h.html#a5057c379abcae88db30ad094eceb952d"> 69</a></span><span class="preprocessor">#define C_COILS_ADDR 0 </span><span class="comment">///&lt; Начальный адрес коилов</span></div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"><a class="line" href="modbus__data_8h.html#a438d957058fcf102c66922f0eada3af2"> 70</a></span><span class="preprocessor">#define C_COILS_QNT 16 </span><span class="comment">///&lt; Количество регистров коилов</span></div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> </div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span><span class="comment">//--------------DEFINES FOR REGISTERS---------------</span></div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span><span class="comment">// DEFINES FOR ARRAYS</span><span class="comment"></span></div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span><span class="comment">/** </span></div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span><span class="comment"> * @addtogroup MODBUS_DATA_RERISTERS_DEFINES Registers structures</span></div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span><span class="comment"> * @ingroup MODBUS_DATA</span></div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span><span class="comment"> * @brief Стуруктура регистров (входных и хранения)</span></div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span><span class="comment"> @code </span></div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span><span class="comment"> Для массивов регистров:</span></div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span><span class="comment"> R_&lt;NAME_ARRAY&gt;_ADDR - модбас адресс первого регистра в массиве</span></div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span><span class="comment"> R_&lt;NAME_ARRAY&gt;_QNT - количество регистров в массиве</span></div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span><span class="comment"> @endcode</span></div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span><span class="comment"> * @{</span></div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span><span class="comment"> */</span></div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> </div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> <span class="comment"></span></div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span><span class="comment">/** </span></div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span><span class="comment"> * @brief Регистры хранения</span></div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span><span class="comment"> */</span></div>
<div class="foldopen" id="foldopen00090" data-start="{" data-end="};">
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"><a class="line" href="struct_m_b___data_in_regs_type_def.html"> 90</a></span><span class="keyword">typedef</span> <span class="keyword">struct </span><span class="comment">//MB_DataInRegsTypeDef</span></div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span>{</div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> uint16_t in[16];</div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span>}<a class="code hl_struct" href="struct_m_b___data_in_regs_type_def.html">MB_DataInRegsTypeDef</a>;</div>
</div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> </div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span><span class="comment"></span> </div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span><span class="comment">/** </span></div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span><span class="comment"> * @brief Входные регистры </span></div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span><span class="comment"> */</span></div>
<div class="foldopen" id="foldopen00099" data-start="{" data-end="};">
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"><a class="line" href="struct_m_b___data_hold_regs_type_def.html"> 99</a></span><span class="keyword">typedef</span> <span class="keyword">struct </span><span class="comment">//MB_DataInRegsTypeDef</span></div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span>{</div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> uint16_t out[16];</div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span>}<a class="code hl_struct" href="struct_m_b___data_hold_regs_type_def.html">MB_DataHoldRegsTypeDef</a>;</div>
</div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> </div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span><span class="comment"></span> </div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span><span class="comment">/** MODBUS_DATA_RERISTERS_DEFINES</span></div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span><span class="comment"> * @} </span></div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span><span class="comment"> */</span></div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> </div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span><span class="comment">//----------------DEFINES FOR COILS-----------------</span><span class="comment"></span></div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span><span class="comment">/** </span></div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span><span class="comment"> * @addtogroup MODBUS_DATA_COILS_DEFINES Coils Structure</span></div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span><span class="comment"> * @ingroup MODBUS_DATA</span></div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span><span class="comment"> * @brief Структура коилов</span></div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span><span class="comment"> @code </span></div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span><span class="comment"> Структура дефайна</span></div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span><span class="comment"> Для массивов коилов:</span></div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span><span class="comment"> C_&lt;NAME_ARRAY&gt;_ADDR - модбас адресс первого коила в массиве</span></div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span><span class="comment"> C_&lt;NAME_ARRAY&gt;_QNT - количество коилов в массиве (минимум 16)</span></div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span><span class="comment"> @endcode</span></div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span><span class="comment"> * @{</span></div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span><span class="comment"> */</span></div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> </div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> </div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> <span class="comment"></span></div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span><span class="comment">/** </span></div>
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span><span class="comment"> * @brief Коилы</span></div>
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span><span class="comment"> * @details Желательно с помощью reserved делать стркутуру кратной 16-битам</span></div>
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span><span class="comment"> */</span></div>
<div class="foldopen" id="foldopen00129" data-start="{" data-end="};">
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"><a class="line" href="struct_m_b___data_coils_type_def.html"> 129</a></span><span class="keyword">typedef</span> <span class="keyword">struct </span><span class="comment">//MB_DataCoilsTypeDef</span></div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span>{</div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> <span class="keywordtype">unsigned</span> reserved:16;</div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span>}<a class="code hl_struct" href="struct_m_b___data_coils_type_def.html">MB_DataCoilsTypeDef</a>;</div>
</div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span><span class="comment"></span> </div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span><span class="comment">/** MODBUS_DATA_COILS_DEFINES</span></div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span><span class="comment"> * @} </span></div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span><span class="comment"> */</span></div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> </div>
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> </div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span><span class="comment">//-----------MODBUS DEVICE DATA SETTING-------------</span></div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span><span class="comment">// MODBUS DATA STRUCTTURE</span><span class="comment"></span></div>
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span><span class="comment">/** </span></div>
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span><span class="comment"> * @brief Структура со всеми регистрами и коилами модбас </span></div>
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span><span class="comment"> * @ingroup MODBUS_DATA</span></div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span><span class="comment"> */</span></div>
<div class="foldopen" id="foldopen00145" data-start="{" data-end="};">
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"><a class="line" href="struct_m_b___data_structure_type_def.html"> 145</a></span><span class="keyword">typedef</span> <span class="keyword">struct </span><span class="comment">// tester modbus data</span></div>
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span>{</div>
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"><a class="line" href="struct_m_b___data_structure_type_def.html#ac0bf877607c54c79c1d09c4530fdcbca"> 147</a></span> <a class="code hl_struct" href="struct_m_b___data_in_regs_type_def.html">MB_DataInRegsTypeDef</a> <a class="code hl_variable" href="struct_m_b___data_structure_type_def.html#ac0bf877607c54c79c1d09c4530fdcbca">InRegs</a>; <span class="comment">///&lt; Modbus input registers @ref MB_DataInRegsTypeDef</span></div>
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> </div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"><a class="line" href="struct_m_b___data_structure_type_def.html#a349e19f82ba85cb29a911468ceee76b2"> 149</a></span> <a class="code hl_struct" href="struct_m_b___data_coils_type_def.html">MB_DataCoilsTypeDef</a> <a class="code hl_variable" href="struct_m_b___data_structure_type_def.html#a349e19f82ba85cb29a911468ceee76b2">Coils</a>; <span class="comment">///&lt; Modbus coils @ref MB_DataCoilsTypeDef</span></div>
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> </div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"><a class="line" href="struct_m_b___data_structure_type_def.html#a27d12400f322702e9d87c492e9628313"> 151</a></span> <a class="code hl_struct" href="struct_m_b___data_hold_regs_type_def.html">MB_DataHoldRegsTypeDef</a> <a class="code hl_variable" href="struct_m_b___data_structure_type_def.html#a27d12400f322702e9d87c492e9628313">HoldRegs</a>; <span class="comment">///&lt; Modbus holding registers @ref MB_DataHoldRegsTypeDef</span></div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span>}<a class="code hl_struct" href="struct_m_b___data_structure_type_def.html">MB_DataStructureTypeDef</a>;</div>
</div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span><span class="keyword">extern</span> <a class="code hl_struct" href="struct_m_b___data_structure_type_def.html">MB_DataStructureTypeDef</a> MB_DATA;</div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> </div>
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> </div>
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span><span class="preprocessor">#endif </span><span class="comment">//_MODBUS_DATA_H_</span></div>
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span><span class="comment"></span> </div>
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span><span class="comment">/////////////////////////////////////////////////////////////</span></div>
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span><span class="comment">///////////////////////TEMP/OUTDATE/OTHER////////////////////</span></div>
<div class="ttc" id="astruct_m_b___data_coils_type_def_html"><div class="ttname"><a href="struct_m_b___data_coils_type_def.html">MB_DataCoilsTypeDef</a></div><div class="ttdoc">Коилы</div><div class="ttdef"><b>Definition</b> <a href="#l00129">modbus_data.h:130</a></div></div>
<div class="ttc" id="astruct_m_b___data_hold_regs_type_def_html"><div class="ttname"><a href="struct_m_b___data_hold_regs_type_def.html">MB_DataHoldRegsTypeDef</a></div><div class="ttdoc">Входные регистры</div><div class="ttdef"><b>Definition</b> <a href="#l00099">modbus_data.h:100</a></div></div>
<div class="ttc" id="astruct_m_b___data_in_regs_type_def_html"><div class="ttname"><a href="struct_m_b___data_in_regs_type_def.html">MB_DataInRegsTypeDef</a></div><div class="ttdoc">Регистры хранения</div><div class="ttdef"><b>Definition</b> <a href="#l00090">modbus_data.h:91</a></div></div>
<div class="ttc" id="astruct_m_b___data_structure_type_def_html"><div class="ttname"><a href="struct_m_b___data_structure_type_def.html">MB_DataStructureTypeDef</a></div><div class="ttdoc">Структура со всеми регистрами и коилами модбас</div><div class="ttdef"><b>Definition</b> <a href="#l00145">modbus_data.h:146</a></div></div>
<div class="ttc" id="astruct_m_b___data_structure_type_def_html_a27d12400f322702e9d87c492e9628313"><div class="ttname"><a href="struct_m_b___data_structure_type_def.html#a27d12400f322702e9d87c492e9628313">MB_DataStructureTypeDef::HoldRegs</a></div><div class="ttdeci">MB_DataHoldRegsTypeDef HoldRegs</div><div class="ttdoc">Modbus holding registers MB_DataHoldRegsTypeDef.</div><div class="ttdef"><b>Definition</b> <a href="#l00151">modbus_data.h:151</a></div></div>
<div class="ttc" id="astruct_m_b___data_structure_type_def_html_a349e19f82ba85cb29a911468ceee76b2"><div class="ttname"><a href="struct_m_b___data_structure_type_def.html#a349e19f82ba85cb29a911468ceee76b2">MB_DataStructureTypeDef::Coils</a></div><div class="ttdeci">MB_DataCoilsTypeDef Coils</div><div class="ttdoc">Modbus coils MB_DataCoilsTypeDef.</div><div class="ttdef"><b>Definition</b> <a href="#l00149">modbus_data.h:149</a></div></div>
<div class="ttc" id="astruct_m_b___data_structure_type_def_html_ac0bf877607c54c79c1d09c4530fdcbca"><div class="ttname"><a href="struct_m_b___data_structure_type_def.html#ac0bf877607c54c79c1d09c4530fdcbca">MB_DataStructureTypeDef::InRegs</a></div><div class="ttdeci">MB_DataInRegsTypeDef InRegs</div><div class="ttdoc">Modbus input registers MB_DataInRegsTypeDef.</div><div class="ttdef"><b>Definition</b> <a href="#l00147">modbus_data.h:147</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
</div><!-- container -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a href="modbus__data_8h.html">modbus_data.h</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0 </li>
</ul>
</div>
</body>
</html>