f2838x_cm_cia402_solution/docs/html/d5/d5b/ecatappl_8c.html

320 lines
32 KiB
HTML

<!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">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>ECAT_Slave_in_ПЧ2П_c402: Файл ecatappl.c</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>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtreedata.js"></script>
<script type="text/javascript" src="../../navtree.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>
<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 style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="../../Diakont3.jpg"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">ECAT_Slave_in_ПЧ2П_c402
&#160;<span id="projectnumber">0.8</span>
</div>
<div id="projectbrief">Реализация EtherCAT Slave для CM TMS320F28388D</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Создано системой Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "../../search",false,'Поиск','.html');
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('../../',true,false,'search.php','Поиск');
$(document).ready(function() { init_search(); });
});
/* @license-end */</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">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('d5/d5b/ecatappl_8c.html','../../'); initResizable(); });
/* @license-end */
</script>
<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">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#define-members">Макросы</a> &#124;
<a href="#func-members">Функции</a> &#124;
<a href="#var-members">Переменные</a> </div>
<div class="headertitle">
<div class="title">Файл ecatappl.c<div class="ingroups"><a class="el" href="../../de/d99/group___ecat_appl.html">EtherCAT application</a></div></div> </div>
</div><!--header-->
<div class="contents">
<p>Implementation This file contains the Process Data interface.
<a href="#details">Подробнее...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="../../d9/d8b/ecatslv_8h_source.html">ecatslv.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="../../d7/d41/ecatappl_8h_source.html">ecatappl.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="../../d1/d8c/coeappl_8h_source.html">coeappl.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="../../d8/d60/appl_interface_8h_source.html">applInterface.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="../../d3/d35/cia402appl_8h_source.html">cia402appl.h</a>&quot;</code><br />
</div><div class="textblock"><div class="dynheader">
Граф включаемых заголовочных файлов для ecatappl.c:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="../../df/db3/ecatappl_8c__incl.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div></div>
</div>
</div>
<p><a href="../../d5/d5b/ecatappl_8c_source.html">См. исходные тексты.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Макросы</h2></td></tr>
<tr class="memitem:ga9226d4e03926951d485f761dbec6eb59"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d99/group___ecat_appl.html#ga9226d4e03926951d485f761dbec6eb59">_ECATAPPL_</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:ga9226d4e03926951d485f761dbec6eb59"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf6ae290fc51c998a0da0445edbc28dd3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d99/group___ecat_appl.html#gaf6ae290fc51c998a0da0445edbc28dd3">_APPL_INTERFACE_</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:gaf6ae290fc51c998a0da0445edbc28dd3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf95ce7f465c941def68c68849079d1d5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d99/group___ecat_appl.html#gaf95ce7f465c941def68c68849079d1d5">MEASUREMENT_ACTIVE</a>&#160;&#160;&#160;(((sSyncManOutPar.u16GetCycleTime &amp; 0x1) == 0x1) || ((sSyncManInPar.u16GetCycleTime &amp; 0x1) == 0x1))</td></tr>
<tr class="separator:gaf95ce7f465c941def68c68849079d1d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Функции</h2></td></tr>
<tr class="memitem:gaae739227878cd81c28b6fc3621ff50bb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../de/d55/ecat__def_8h.html#a69afa2e50b905f4eab1f2df8a3fd9f23">UINT32</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d99/group___ecat_appl.html#gaae739227878cd81c28b6fc3621ff50bb">GetSystemTimeDelay</a> (<a class="el" href="../../de/d55/ecat__def_8h.html#a69afa2e50b905f4eab1f2df8a3fd9f23">UINT32</a> u32StartTime)</td></tr>
<tr class="memdesc:gaae739227878cd81c28b6fc3621ff50bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">indicates if the initialization is finished <a href="../../de/d99/group___ecat_appl.html#gaae739227878cd81c28b6fc3621ff50bb">Подробнее...</a><br /></td></tr>
<tr class="separator:gaae739227878cd81c28b6fc3621ff50bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga94df637c8d3695fe072f08ba6ceff632"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d99/group___ecat_appl.html#ga94df637c8d3695fe072f08ba6ceff632">HandleCycleTimeMeasurement</a> (void)</td></tr>
<tr class="memdesc:ga94df637c8d3695fe072f08ba6ceff632"><td class="mdescLeft">&#160;</td><td class="mdescRight">In case of non DC synchronization the cycle time measurement is started and 0x1C3.2 (Cycle time) is updated. <a href="../../de/d99/group___ecat_appl.html#ga94df637c8d3695fe072f08ba6ceff632">Подробнее...</a><br /></td></tr>
<tr class="separator:ga94df637c8d3695fe072f08ba6ceff632"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga71c82e125fca871d7bf37dbc6b71fcf3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d99/group___ecat_appl.html#ga71c82e125fca871d7bf37dbc6b71fcf3">PDO_InputMapping</a> (void)</td></tr>
<tr class="memdesc:ga71c82e125fca871d7bf37dbc6b71fcf3"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function will copies the inputs from the local memory to the ESC memory. <a href="../../de/d99/group___ecat_appl.html#ga71c82e125fca871d7bf37dbc6b71fcf3">Подробнее...</a><br /></td></tr>
<tr class="separator:ga71c82e125fca871d7bf37dbc6b71fcf3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5f754886fd72070e2fe19fc6bf208a16"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d99/group___ecat_appl.html#ga5f754886fd72070e2fe19fc6bf208a16">PDO_OutputMapping</a> (void)</td></tr>
<tr class="memdesc:ga5f754886fd72070e2fe19fc6bf208a16"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function will copies the outputs from the ESC memory to the local memory. This function is only called in case of an SM2 (output process data) event. <a href="../../de/d99/group___ecat_appl.html#ga5f754886fd72070e2fe19fc6bf208a16">Подробнее...</a><br /></td></tr>
<tr class="separator:ga5f754886fd72070e2fe19fc6bf208a16"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga24b064534e2d86f39c6559d2f0e0c25f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d99/group___ecat_appl.html#ga24b064534e2d86f39c6559d2f0e0c25f">ECAT_CheckTimer</a> (void)</td></tr>
<tr class="memdesc:ga24b064534e2d86f39c6559d2f0e0c25f"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function shall be called every 1ms. <a href="../../de/d99/group___ecat_appl.html#ga24b064534e2d86f39c6559d2f0e0c25f">Подробнее...</a><br /></td></tr>
<tr class="separator:ga24b064534e2d86f39c6559d2f0e0c25f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabda46d86d60ff4bac87c8fcf2545458f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d99/group___ecat_appl.html#gabda46d86d60ff4bac87c8fcf2545458f">PDI_Isr</a> (void)</td></tr>
<tr class="separator:gabda46d86d60ff4bac87c8fcf2545458f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf6863b178046add24ab0453f112d76d8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d99/group___ecat_appl.html#gaf6863b178046add24ab0453f112d76d8">Sync0_Isr</a> (void)</td></tr>
<tr class="separator:gaf6863b178046add24ab0453f112d76d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga458e4ff5e086974b0d9ea0a6793c8ed6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d99/group___ecat_appl.html#ga458e4ff5e086974b0d9ea0a6793c8ed6">Sync1_Isr</a> (void)</td></tr>
<tr class="separator:ga458e4ff5e086974b0d9ea0a6793c8ed6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabda61f6c5787be614431b2cab9dd60f4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d99/group___ecat_appl.html#gabda61f6c5787be614431b2cab9dd60f4">ECAT_SetLedIndication</a> (void)</td></tr>
<tr class="memdesc:gabda61f6c5787be614431b2cab9dd60f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function shall called within a 1ms cycle. Set Run and Error Led depending on the Led state. <a href="../../de/d99/group___ecat_appl.html#gabda61f6c5787be614431b2cab9dd60f4">Подробнее...</a><br /></td></tr>
<tr class="separator:gabda61f6c5787be614431b2cab9dd60f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7b51e775a5a1c79869cc5a12e5dd6a48"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d3/d82/group___co_e.html#gaa57068f1a1168488891bcde099da7322">PROTO</a> <a class="el" href="../../de/d55/ecat__def_8h.html#ab1922c2d8643eb7da964d427604e992e">UINT16</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d99/group___ecat_appl.html#ga7b51e775a5a1c79869cc5a12e5dd6a48">MainInit</a> (void)</td></tr>
<tr class="memdesc:ga7b51e775a5a1c79869cc5a12e5dd6a48"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize the generic slave stack. <a href="../../de/d99/group___ecat_appl.html#ga7b51e775a5a1c79869cc5a12e5dd6a48">Подробнее...</a><br /></td></tr>
<tr class="separator:ga7b51e775a5a1c79869cc5a12e5dd6a48"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3130642662f05cd3a23c0c8a3b2e3dd0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d3/d82/group___co_e.html#gaa57068f1a1168488891bcde099da7322">PROTO</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d99/group___ecat_appl.html#ga3130642662f05cd3a23c0c8a3b2e3dd0">MainLoop</a> (void)</td></tr>
<tr class="memdesc:ga3130642662f05cd3a23c0c8a3b2e3dd0"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function handles the low priority function like EtherCAT state machine. <a href="../../de/d99/group___ecat_appl.html#ga3130642662f05cd3a23c0c8a3b2e3dd0">Подробнее...</a><br /></td></tr>
<tr class="separator:ga3130642662f05cd3a23c0c8a3b2e3dd0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga46f3f504345151303bd26217075d03e6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d99/group___ecat_appl.html#ga46f3f504345151303bd26217075d03e6">ECAT_Application</a> (void)</td></tr>
<tr class="memdesc:ga46f3f504345151303bd26217075d03e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">ECAT_Application (prev. SSC versions "COE_Application") this function calculates and the physical process signals and triggers the input mapping. <a href="../../de/d99/group___ecat_appl.html#ga46f3f504345151303bd26217075d03e6">Подробнее...</a><br /></td></tr>
<tr class="separator:ga46f3f504345151303bd26217075d03e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Переменные</h2></td></tr>
<tr class="memitem:ga3f26dddd2ded1b307df33fb8097f30bb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../de/d55/ecat__def_8h.html#a69afa2e50b905f4eab1f2df8a3fd9f23">UINT32</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d99/group___ecat_appl.html#ga3f26dddd2ded1b307df33fb8097f30bb">u32CycleTimeStartValue</a></td></tr>
<tr class="separator:ga3f26dddd2ded1b307df33fb8097f30bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac127fb43e143c1815bcbf5d4ea7eeeab"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../de/d55/ecat__def_8h.html#a69afa2e50b905f4eab1f2df8a3fd9f23">UINT32</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d99/group___ecat_appl.html#gac127fb43e143c1815bcbf5d4ea7eeeab">u32MinCycleTimeStartValue</a></td></tr>
<tr class="memdesc:gac127fb43e143c1815bcbf5d4ea7eeeab"><td class="mdescLeft">&#160;</td><td class="mdescRight">contains the timer start value to measure the application cycle (used in freerun and SM2 sync) <a href="../../de/d99/group___ecat_appl.html#gac127fb43e143c1815bcbf5d4ea7eeeab">Подробнее...</a><br /></td></tr>
<tr class="separator:gac127fb43e143c1815bcbf5d4ea7eeeab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad70cae2cbb8b47bc4317aad182f14de4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../de/d55/ecat__def_8h.html#a69afa2e50b905f4eab1f2df8a3fd9f23">UINT32</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d99/group___ecat_appl.html#gad70cae2cbb8b47bc4317aad182f14de4">u32SystemTimeReadFailure</a></td></tr>
<tr class="memdesc:gad70cae2cbb8b47bc4317aad182f14de4"><td class="mdescLeft">&#160;</td><td class="mdescRight">timeout counter in ms to measure the process timings (stored in 0x1C3x) <a href="../../de/d99/group___ecat_appl.html#gad70cae2cbb8b47bc4317aad182f14de4">Подробнее...</a><br /></td></tr>
<tr class="separator:gad70cae2cbb8b47bc4317aad182f14de4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga34c00ead60cfbd9d38e03bb93aa4ec70"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../de/d55/ecat__def_8h.html#ae4cc35dcc70810fa972cc8a5185a28fa">BOOL</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d99/group___ecat_appl.html#ga34c00ead60cfbd9d38e03bb93aa4ec70">bMinCycleTimeMeasurementStarted</a></td></tr>
<tr class="memdesc:ga34c00ead60cfbd9d38e03bb93aa4ec70"><td class="mdescLeft">&#160;</td><td class="mdescRight">System time measurement failure (the value is calculated on main init) <a href="../../de/d99/group___ecat_appl.html#ga34c00ead60cfbd9d38e03bb93aa4ec70">Подробнее...</a><br /></td></tr>
<tr class="separator:ga34c00ead60cfbd9d38e03bb93aa4ec70"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga25e4bc6fc5f8d2abdaf8aa9366bc959c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../de/d55/ecat__def_8h.html#a69afa2e50b905f4eab1f2df8a3fd9f23">UINT32</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d99/group___ecat_appl.html#ga25e4bc6fc5f8d2abdaf8aa9366bc959c">u32MinCycleTimeValue</a></td></tr>
<tr class="memdesc:ga25e4bc6fc5f8d2abdaf8aa9366bc959c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Indicates if the min cycle measurement is started. <a href="../../de/d99/group___ecat_appl.html#ga25e4bc6fc5f8d2abdaf8aa9366bc959c">Подробнее...</a><br /></td></tr>
<tr class="separator:ga25e4bc6fc5f8d2abdaf8aa9366bc959c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf256cf7df4b6c5536de5cb5c0ec0893e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../de/d55/ecat__def_8h.html#ab1922c2d8643eb7da964d427604e992e">UINT16</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d99/group___ecat_appl.html#gaf256cf7df4b6c5536de5cb5c0ec0893e">aPdOutputData</a> [(<a class="el" href="../../de/d55/ecat__def_8h.html#aa5b95b1c2f1b4dc891cd42f54609195d">MAX_PD_OUTPUT_SIZE</a> &gt;&gt;1)]</td></tr>
<tr class="memdesc:gaf256cf7df4b6c5536de5cb5c0ec0893e"><td class="mdescLeft">&#160;</td><td class="mdescRight">tmp value of the min cycle time during measurement <a href="../../de/d99/group___ecat_appl.html#gaf256cf7df4b6c5536de5cb5c0ec0893e">Подробнее...</a><br /></td></tr>
<tr class="separator:gaf256cf7df4b6c5536de5cb5c0ec0893e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3e04a09c19645fa492000a5bde558ec4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../de/d55/ecat__def_8h.html#ab1922c2d8643eb7da964d427604e992e">UINT16</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d99/group___ecat_appl.html#ga3e04a09c19645fa492000a5bde558ec4">aPdInputData</a> [(<a class="el" href="../../de/d55/ecat__def_8h.html#a663f4a5ee6a6ef52facce10830b3c324">MAX_PD_INPUT_SIZE</a> &gt;&gt;1)]</td></tr>
<tr class="separator:ga3e04a09c19645fa492000a5bde558ec4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaac0535944eb5099bf3d8850dabfe271a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../de/d55/ecat__def_8h.html#a72fdcd7d0b4e0ac18d761b192a439a2a">VARVOLATILE</a> <a class="el" href="../../de/d55/ecat__def_8h.html#ad8ce12d83f204245685f98caf9d03944">UINT8</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d99/group___ecat_appl.html#gaac0535944eb5099bf3d8850dabfe271a">u8dummy</a></td></tr>
<tr class="separator:gaac0535944eb5099bf3d8850dabfe271a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab1f3456cb91682b273e12d18401f7ca2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../de/d55/ecat__def_8h.html#ae4cc35dcc70810fa972cc8a5185a28fa">BOOL</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d99/group___ecat_appl.html#gab1f3456cb91682b273e12d18401f7ca2">bInitFinished</a> = <a class="el" href="../../de/d55/ecat__def_8h.html#aa93f0eb578d23995850d61f7d61c55c1">FALSE</a></td></tr>
<tr class="separator:gab1f3456cb91682b273e12d18401f7ca2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Подробное описание</h2>
<div class="textblock"><p>Implementation This file contains the Process Data interface. </p>
<dl class="section author"><dt>Автор</dt><dd><a href="#" onclick="location.href='mai'+'lto:'+'Eth'+'er'+'cat'+'SS'+'C@b'+'ec'+'kho'+'ff'+'.co'+'m'; return false;">Ether<span style="display: none;">.nosp@m.</span>catS<span style="display: none;">.nosp@m.</span>SC@be<span style="display: none;">.nosp@m.</span>ckho<span style="display: none;">.nosp@m.</span>ff.co<span style="display: none;">.nosp@m.</span>m</a></dd></dl>
<dl class="section version"><dt>Версия</dt><dd>5.13</dd></dl>
<p><br />
Changes to version V5.12:<br />
V5.13 CIA402 3: change define "CIA402_DEVICE" to "CiA402_SAMPLE_APPLICATION"<br />
V5.13 CIA402 4: decouple CIA402 state machine and application from ESM (according ETG.6010, clause 4)<br />
V5.13 COE4: update default entry name handling in case of 16Bit characters, add CoE Read/write indication functions<br />
V5.13 ECAT 5: check inputsize before calling PDO_InputMappingdo not call PDO_InputMapping in case of no available process data<br />
V5.13 ECAT 6: change input mapping trigger in case of DC Sync<br />
V5.13 ECAT1: handle Sync mapped to AL Event<br />
V5.13 ECAT4: set delay between EEPROM access retries to 10ms<br />
V5.13 EEPROM1: update eeprom reload in case of ESC 32Bit access (and the small eeprom emulation)<br />
V5.13 TEST6: add 0xA002 monitoring ob function calls<br />
<br />
Changes to version V5.11:<br />
V5.12 APPL1: add optional application function called from the main loop (after mbx and esm are executed)<br />
V5.12 BOOT1: add a bootloader sample application (only the ESM and FoE is supported)<br />
V5.12 COE4: add timestamp object (0x10F8) and update diagnosis handling<br />
V5.12 ECAT1: update SM Parameter measurement (based on the system time), enhancement for input only devices and no mailbox support, use only 16Bit pointer in process data length caluclation<br />
V5.12 ECAT3: update PD monitoring variables even if the slave is not in OP, disable all interrupts in case that the pd handling is called from the mainloop<br />
V5.12 ECAT5: update Sync error counter/flag handling,check enum memory alignment depending on the processor,in case of a polled timer disable ESC interrupts during DC_CheckWatchdog<br />
V5.12 ECAT8: reset appl function pointer on startup, update timeout calculation during eeprom access<br />
V5.12 EEPROM1: get read size from register 0x502.6<br />
V5.12 EEPROM2: clear CRC Error bit only in case of a valid reload, write station alias only in case of an successful reload,handle full eeprom emlation relaod commands<br />
V5.12 EEPROM3: implement a store EEPROM timeout handler<br />
<br />
Changes to version V5.10.1:<br />
V5.11 COE3: change 0x10F3.2 (Sync Error limit) from UINT32 to UINT16 (according to the ETG.1020)<br />
V5.11 ECAT1: update EEPROM access reset operation<br />
V5.11 ECAT10: change PROTO handling to prevent compiler errors<br />
V5.11 ECAT11: create application interface function pointer, add eeprom emulation interface functions<br />
V5.11 ECAT2: update EEPROM access retry cycle (add 10ms delay between two retry cycles)<br />
V5.11 ECAT3: handle bus cycle calculation for input/output only devices and create warning diag message only if calculation failed<br />
V5.11 ECAT4: enhance SM/Sync monitoring for input/output only slaves<br />
V5.11 ECAT6: add function to calculate bus cycle time<br />
V5.11 ECAT8: call PDO_InputMapping only once if DC is enabled and COE is not supported<br />
V5.11 EEPROM1: fix compiler error during pEEPROM pointer initialization<br />
V5.11 EEPROM2: write Station alias value to EEPROM data register on EEPROM reload command<br />
V5.11 EEPROM3: clear EEPROM error bits<br />
V5.11 EEPROM4: prevent the variable in the EEPROM busy loop to be removed by the compiler<br />
V5.11 ESM7: "add Sync define for 0x22 (""SYNCTYPE_SM2_SYNCHRON""), support value 0x22 for 0x1C33.1 (SM2 sync)"<br />
<br />
Changes to version V5.01:<br />
V5.10 COE1: Define one entry description for all 0x1C3x objects and change data type of SI11,12,13 to UINT16 (according ETG.1020)<br />
V5.10 ECAT1: Correct calculation of blinking and flashing sequence<br />
V5.10 ECAT13: Update Synchronisation handling (FreeRun,SM Sync, Sync0, Sync1)<br />
Compare DC UINT configuration (by ESC Config data) vs. DC activation register settings<br />
Update 0x1C3x entries<br />
V5.10 ECAT2: Prevent EEPROM data null pointer access (if the pointer is null an command error is set)<br />
EEPROM emulation return command error if unknown command was received<br />
V5.10 ECAT4: Update alignment macro for 8 to 15 bit alignments (16 and 32 Bit controllers)<br />
Bugfix calculate LED blink frequency<br />
V5.10 ECAT7: Add "bInitFinished" to indicate if the initialization is complete<br />
V5.10 HW2: Change HW_GetTimer return value to UINT32<br />
<br />
Changes to version V5.0:<br />
V5.01 APPL3: Include library demo application<br />
V5.01 ESC1: Change ESC access function (if EEPROM Emulation is active)<br />
V5.01 ESC2: Add missed value swapping<br />
<br />
Changes to version V4.40:<br />
V5.0 TEST1: Add test application. See Application Note ET9300 for more details.<br />
V5.0 ECAT2: Application specific functions are moved to application files.<br />
V5.0 ECAT3: Global dummy variables used for dummy ESC operations.<br />
V5.0 ESC1: ESC 32Bit Access added.<br />
V5.0 ESC3: Add EEPROM emulation support.<br />
V5.0 ESM3: Handling pending ESM transitions.<br />
V5.0 ESC5: Enhance EEPROM access handling.<br />
V5.0 PDO1: AL Event flags are not rechecked in PDO_OutputMappping(). (Already checked before call function)<br />
V5.0 SYNC1: Add missed SM event indication (0x1C32/0x1C33 SI11).<br />
<br />
Changes to version V4.30:<br />
V4.40 DIAG1: add diagnosis message support<br />
V4.40 PDO1: merge content of HW_InputMapping (spihw.c/mcihw.c) to PDO_InputMapping. merge content of HW_OutputMapping (spihw.c/mcihw.c) to PDO_OutputMapping.<br />
V4.40 PDO2: Generic process data length calculation<br />
V4.40 ECAT2: call cyclic CheckIfLocalError() to check the local flags<br />
V4.40 HW0: Generic hardware access functions. Add Function (<a class="el" href="../../de/d99/group___ecat_appl.html#gabda46d86d60ff4bac87c8fcf2545458f">PDI_Isr()</a>), content merged from spihw.c and mcihw.c.<br />
V4.40 WD1: define (ESC_SM_WD_SUPPORTED) to choose ESC SyncManager watchdog or local watchdog<br />
V4.40 ESM2: Change state transition behaviour from SafeOP to OP<br />
V4.40 TIMER1: Change bus cycle time calculation and trigger of <a class="el" href="../../de/d99/group___ecat_appl.html#ga24b064534e2d86f39c6559d2f0e0c25f" title="This function shall be called every 1ms.">ECAT_CheckTimer()</a> if ECAT_TIMER_INT is reset<br />
V4.40 HW1: Add support for fc1100 hardware<br />
<br />
Changes to version V4.20:<br />
V4.30 EL9800: EL9800_x cyclic application is moved to el9800.c<br />
V4.30 OBJ 3: add object dictionary initialization<br />
V4.30 SYNC: add <a class="el" href="../../de/d99/group___ecat_appl.html#ga47d6cc3670e4d7a806dffd6e2bf2ee4d">CalcSMCycleTime()</a> (calculation of bus cycle time); change synchronisation control functions<br />
V4.30 PDO: include PDO specific functions (moved from <a class="el" href="../../d5/d7c/coeappl_8c.html" title="Implementation This file contains an example for CoE services and the CoE object dictionary.">coeappl.c</a>).<br />
xxx_InputMapping(); xxx_OutputMapping(); xxx_ReadInputs(); xxx_ResetOutputs(); xxx_Application()<br />
V4.30 CiA402: Add <a class="el" href="../../d9/d9a/group___ci_a402appl.html#ga918f82d2bfee90fa0c82da1de1249652" title="CiA402-Statemachine This function handles the state machine for devices using the CiA402 profile....">CiA402_StateMachine()</a> and <a class="el" href="../../d9/d9a/group___ci_a402appl.html#ga05e3b8d0f5b49b8fd5e5b1dfd8f3c5c4" title="CiA402-Application.">CiA402_Application()</a> call<br />
V4.20 DC 1: Add DC pending Statemachine handling<br />
V4.20 PIC24: Add EL9800_4 (PIC24) required source code<br />
V4.20 LED 1: Modified LED Handling<br />
V4.11 APPL 1: The checkWatchdog() function should not called in checkTimer() if this function is triggered by an Interrupt<br />
<br />
Changes to version V4.08:<br />
V4.10 LED 1: The handling of the EtherCAT-Error-LED was added<br />
V4.10 AOE 3: The AoE fragment size has to be initialized during the state transition<br />
from INIT to PREOP<br />
<br />
Changes to version V4.07:<br />
V4.08 LED 1: The handling of the EtherCAT-LED can be (de-)selected by the switch LEDS_SUPPORTED<br />
because the ET1100 and ET1200 have an output port which could be connected directly.<br />
<br />
Changes to version V4.01:<br />
V4.02 ECAT 1: The watchdog timer variables shall be initialized.<br />
<br />
Changes to version V4.00:<br />
V4.01 APPL 1: If the application is running in synchron mode and no SM event<br />
is received, the application should be called from the main loop<br />
V4.01 APPL 2: In FreeRun mode the output should only be copied if the slave is in OP<br />
<br />
Changes to version V3.20:<br />
V4.00 APPL 1: The watchdog checking should be done by a microcontroller<br />
timer because the watchdog trigger of the ESC will be reset too<br />
if only a part of the sync manager data is written<br />
V4.00 APPL 2: The setting of EtherCAT state LEDs were included<br />
V4.00 APPL 3: The outputs should be reset to a safe state,<br />
when the state OP is left<br />
V4.00 APPL 4: An example for the EEPROM access through the ESC is shown in<br />
the function APPL_StartMailboxHandler<br />
V4.00 APPL 5: The inputs should be read once when the state transition<br />
from PREOP to SAFEOP is made<br />
V4.00 APPL 6: The main function was split in MainInit and MainLoop </p>
<p class="definition">См. определение в файле <a class="el" href="../../d5/d5b/ecatappl_8c_source.html">ecatappl.c</a></p>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../d5/d5b/ecatappl_8c.html">ecatappl.c</a></li>
<li class="footer">Создано системой <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
</ul>
</div>
</body>
</html>