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

186 lines
18 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_config.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__config_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_config.h</div></div>
</div><!--header-->
<div class="contents">
<a href="modbus__config_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_config.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">@addtogroup MODBUS_CONFIGS Modbus configs</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">******************************************************************************</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment">* @details</span></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment">Файл содержит настройки для работы Modbus:</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment">- Подключение библиотек контроллера</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment">- ID устройства и таймауты</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="comment">- Строковые идентификаторы (Vendor, Product, Revision)</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="comment">- Настройки периферии (UART, TIMER)</span></div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="comment">- Подключение модулей Modbus</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="comment">- Опциональные функции (переключение команд 0x03/0x04)</span></div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="comment">******************************************************************************/</span></div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="preprocessor">#ifndef _MODBUS_CONFIG_H_</span></div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="preprocessor">#define _MODBUS_CONFIG_H_</span></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="preprocessor">#include &quot;stm32f1xx_hal.h&quot;</span></div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> </div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="comment">// Общие параметры</span></div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"><a class="line" href="group___m_o_d_b_u_s___c_o_n_f_i_g_s.html#gab9b18e108b98b225a52c5ccca58e7f2b"> 25</a></span><span class="preprocessor">#define MODBUS_DEVICE_ID 1 </span><span class="comment">///&lt; Адрес устройства в сети Modbus</span></div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"><a class="line" href="group___m_o_d_b_u_s___c_o_n_f_i_g_s.html#ga66f7c59a25c8cca6d5b0991895c26b69"> 26</a></span><span class="preprocessor">#define MODBUS_TIMEOUT 5000 </span><span class="comment">///&lt; Таймаут в тиках таймера</span></div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> </div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="comment">// Строковые идентификаторы устройства</span></div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span><span class="preprocessor">#define MODBUS_VENDOR_NAME &quot;NIO-12&quot;</span></div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span><span class="preprocessor">#define MODBUS_PRODUCT_CODE &quot;&quot;</span></div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span><span class="preprocessor">#define MODBUS_REVISION &quot;&quot;</span></div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span><span class="preprocessor">#define MODBUS_VENDOR_URL &quot;&quot;</span></div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span><span class="preprocessor">#define MODBUS_PRODUCT_NAME &quot;&quot;</span></div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span><span class="preprocessor">#define MODBUS_MODEL_NAME &quot;&quot;</span></div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span><span class="preprocessor">#define MODBUS_USER_APPLICATION_NAME &quot;&quot;</span></div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> </div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"><a class="line" href="group___m_o_d_b_u_s___c_o_n_f_i_g_s.html#ga5c7e9c2180ceac1208f4b791d7b70a0a"> 37</a></span><span class="preprocessor">#define MODBUS_NUMB_OF_USEROBJECTS 0 </span><span class="comment">///&lt; Количество пользовательских объектов</span></div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"><a class="line" href="group___m_o_d_b_u_s___c_o_n_f_i_g_s.html#gac3b162e9af2731742eb3ca8317b37397"> 38</a></span><span class="preprocessor">#define MODBUS_USEROBJECT_0_NAME &quot;&quot; </span><span class="comment">///&lt; Строка пользовательского идентификатора 0. По аналогии можно определить строки до &lt;=128 USEROBJECT</span></div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</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"><a class="line" href="group___m_o_d_b_u_s___c_o_n_f_i_g_s.html#ga370986118b8227cb6cb33c6b748fbbcb"> 41</a></span><span class="preprocessor">#define mb_huart huart1 </span><span class="comment">///&lt; Удобный дефайн для модбасовского uart</span></div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"><a class="line" href="group___m_o_d_b_u_s___c_o_n_f_i_g_s.html#ga6723a1608946a4f86cd7c9c7e614d04e"> 42</a></span><span class="preprocessor">#define mb_htim htim3 </span><span class="comment">///&lt; Удобный дефайн для модбасовского таймера</span></div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span><span class="comment">//#define RS_EnableReceive() ///&lt; Функция изменения направления передачи на ПРИЕМ для RS-485</span></div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span><span class="comment">//#define RS_EnableTransmit() ///&lt; Функция изменения направления передачи на ПЕРЕДАЧУ для RS-485</span></div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> </div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> </div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span><span class="comment">// Модули modbus</span></div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"><a class="line" href="group___m_o_d_b_u_s___c_o_n_f_i_g_s.html#gae11f9ed7ca5e75d332a1187d2a213f9c"> 48</a></span><span class="preprocessor">#define MODBUS_ENABLE_SLAVE </span><span class="comment">///&lt; Включить обработку СЛЕЙВ режима</span></div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"><a class="line" href="group___m_o_d_b_u_s___c_o_n_f_i_g_s.html#gae4fc30421556e1ee530f13a4b3924f5a"> 49</a></span><span class="preprocessor">#define MODBUS_ENABLE_MASTER </span><span class="comment">///&lt; Включить обработку МАСТЕР режима</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"><a class="line" href="group___m_o_d_b_u_s___c_o_n_f_i_g_s.html#ga29ce22b8b7f0622bc23171c6ae2dc8d1"> 51</a></span><span class="preprocessor">#define MODBUS_ENABLE_COILS </span><span class="comment">///&lt; Включить обработку коилов</span></div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"><a class="line" href="group___m_o_d_b_u_s___c_o_n_f_i_g_s.html#gaf6a8dfc090b3915d668d78ee19585344"> 52</a></span><span class="preprocessor">#define MODBUS_ENABLE_HOLDINGS </span><span class="comment">///&lt; Включить обработку регистров хранения</span></div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"><a class="line" href="group___m_o_d_b_u_s___c_o_n_f_i_g_s.html#ga23d7073c81bedb80a302140afd0d79c0"> 53</a></span><span class="preprocessor">#define MODBUS_ENABLE_INPUTS </span><span class="comment">///&lt; Включить обработку входных регистров</span></div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"><a class="line" href="group___m_o_d_b_u_s___c_o_n_f_i_g_s.html#ga5bf9f305bd863b10f1b350c5004ddda7"> 54</a></span><span class="preprocessor">#define MODBUS_ENABLE_DEVICE_IDENTIFICATIONS </span><span class="comment">///&lt; Включить обработку идентификаторы устройства</span></div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"><a class="line" href="group___m_o_d_b_u_s___c_o_n_f_i_g_s.html#gae68222efbcf3199706bfaef46af97bf8"> 55</a></span><span class="preprocessor">#define MODBUS_ENABLE_DIAGNOSTICS </span><span class="comment">///&lt; Включить обработку диагностики модбас</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><span class="comment">//#define MODBUS_PROTOCOL_TCP ///&lt; Включить TCP-протокол, иначе - RTU</span></div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span><span class="comment"></span> </div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span><span class="comment">/**</span></div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span><span class="comment"> * @brief Поменять комманды 0x03 и 0x04 местами (для LabView терминалки от двигателей)</span></div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span><span class="comment"> * @details Терминалка от двигателей использует для чтения регистров комманду R_HOLD_REGS вместо R_IN_REGS</span></div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span><span class="comment"> * Поэтому чтобы считывать Input Regs - надо поменять их местами.</span></div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span><span class="comment"> */</span></div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span><span class="comment">//#define MODBUS_SWITCH_COMMAND_R_IN_REGS_AND_R_HOLD_REGS</span></div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span><span class="comment"></span> </div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span><span class="comment">/////////////////////////////////////////////////////////////////////</span></div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span><span class="comment">/////////////////////////---CALC DEFINES---//////////////////////////</span></div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> </div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> </div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> </div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span><span class="preprocessor">#endif </span><span class="comment">//_MODBUS_CONFIG_H_</span></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__config_8h.html">modbus_config.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>