📄 classcanopen.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>Copley Motion Library: CanOpen Class Reference</title><link href="doxygen.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.4.4 --><div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical List</a> | <a class="qindex" href="annotated.html">Class List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Class Members</a> | <a class="qindex" href="globals.html">File Members</a></div><h1>CanOpen Class Reference</h1><!-- doxytag: class="CanOpen" --><!-- doxytag: inherits="Thread" --><p>Inheritance diagram for CanOpen:<p><center><img src="classCanOpen.png" usemap="#CanOpen_map" border="0" alt=""></center><map name="CanOpen_map"><area href="classThread.html" alt="Thread" shape="rect" coords="0,0,66,24"></map><a href="classCanOpen-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>The CanOpen class is the top level interface into the CANopen network. <p>There should be at least one object of this class in every CANopen based application. Normally, only one object will be necessary, however if more then one independent CANopen network is in use, then more then one object will be necessary.<p>On startup, a low level CAN interface object should be created. This object should be passed to the CANopen object's <a class="el" href="classCanOpen.html#a2">Open()</a> method.<p><p>Definition at line <a class="el" href="CML__CanOpen_8h-source.html#l00133">133</a> of file <a class="el" href="CML__CanOpen_8h-source.html">CML_CanOpen.h</a>.<table border="0" cellpadding="0" cellspacing="0"><tr><td></td></tr><tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classCanOpen.html#a0">CanOpen</a> (void)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Default constructor. <a href="#a0"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classCanOpen.html#a1">~CanOpen</a> (void)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">CanOpen Destructor. <a href="#a1"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classError.html">Error</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classCanOpen.html#a2">Open</a> (<a class="el" href="classCanInterface.html">CanInterface</a> &can)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Open the CANopen network. <a href="#a2"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classError.html">Error</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classCanOpen.html#a3">Open</a> (<a class="el" href="classCanInterface.html">CanInterface</a> &can, <a class="el" href="classCanOpenSettings.html">CanOpenSettings</a> &settings)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Open the CANopen network. <a href="#a3"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classCanOpen.html#a4">Close</a> (void)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Close the CANopen network. <a href="#a4"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a5"></a><!-- doxytag: member="CanOpen::Xmit" ref="a5" args="(CanFrame &frame, int32 timeout=2000)" -->const <a class="el" href="classError.html">Error</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classCanOpen.html#a5">Xmit</a> (<a class="el" href="structCanFrame.html">CanFrame</a> &frame, <a class="el" href="CML__Utils_8h.html#a9">int32</a> timeout=2000)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Transmit a frame over the CANopen network. <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classError.html">Error</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classCanOpen.html#a6">ResetNode</a> (int nodeID=0)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Send a network management message to reset the specified node. <a href="#a6"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classError.html">Error</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classCanOpen.html#a7">ResetComm</a> (int nodeID=0)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Send a network management message to reset the communications of the specified node. <a href="#a7"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classError.html">Error</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classCanOpen.html#a8">PreOpNode</a> (int nodeID=0)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Send a network management message to put the specified node in pre-operational state. <a href="#a8"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classError.html">Error</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classCanOpen.html#a9">StartNode</a> (int nodeID=0)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Send a network management message to start the specified node. <a href="#a9"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classError.html">Error</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classCanOpen.html#a10">StopNode</a> (int nodeID=0)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Send a network management message to stop the specified node. <a href="#a10"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="CML__Utils_8h.html#a7">int16</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classCanOpen.html#a11">GetSynchProducer</a> (void)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Return the node ID of the synch producer for this network. <a href="#a11"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classCanOpen.html#a12">SetSynchProducer</a> (<a class="el" href="CML__Utils_8h.html#a7">int16</a> nodeID)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Set the node ID of the synch producer for this network. <a href="#a12"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="CML__Utils_8h.html#a9">int32</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classCanOpen.html#a13">GetErrorFrameCounter</a> (void)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Return the number of error frames received over then CAN network since the last time the counter was cleared. <a href="#a13"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a14"></a><!-- doxytag: member="CanOpen::ClearErrorFrameCounter" ref="a14" args="(void)" -->void </td><td class="memItemRight" valign="bottom"><a class="el" href="classCanOpen.html#a14">ClearErrorFrameCounter</a> (void)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Clear the error frame counter. <br></td></tr><tr><td colspan="2"><br><h2>Friends</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="n0"></a><!-- doxytag: member="CanOpen::Receiver" ref="n0" args="" -->class </td><td class="memItemRight" valign="bottom"><a class="el" href="classCanOpen.html#n0">Receiver</a></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="n1"></a><!-- doxytag: member="CanOpen::CanInterface" ref="n1" args="" -->class </td><td class="memItemRight" valign="bottom"><a class="el" href="classCanOpen.html#n1">CanInterface</a></td></tr></table><hr><h2>Constructor & Destructor Documentation</h2><a class="anchor" name="a0"></a><!-- doxytag: member="CanOpen::CanOpen" ref="a0" args="(void)" --><p><table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"><a class="el" href="classCanOpen.html">CanOpen</a> </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">void </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr></table><table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td><p>Default constructor. <p>Simply initializes some local variables.<p>Definition at line <a class="el" href="CanOpen_8cpp-source.html#l00046">46</a> of file <a class="el" href="CanOpen_8cpp-source.html">CanOpen.cpp</a>. </td> </tr></table><a class="anchor" name="a1"></a><!-- doxytag: member="CanOpen::~CanOpen" ref="a1" args="(void)" --><p><table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">~<a class="el" href="classCanOpen.html">CanOpen</a> </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">void </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr></table><table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td><p>CanOpen Destructor. <p>This closes the CANopen network.<p>Definition at line <a class="el" href="CanOpen_8cpp-source.html#l00061">61</a> of file <a class="el" href="CanOpen_8cpp-source.html">CanOpen.cpp</a>. </td> </tr></table><hr><h2>Member Function Documentation</h2><a class="anchor" name="a4"></a><!-- doxytag: member="CanOpen::Close" ref="a4" args="(void)" --><p><table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">void Close </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">void </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr></table><table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td><p>Close the CANopen network. <p>This disables all receivers and stops the thread that listens on the CAN network.<p>Definition at line <a class="el" href="CanOpen_8cpp-source.html#l00072">72</a> of file <a class="el" href="CanOpen_8cpp-source.html">CanOpen.cpp</a>. </td> </tr></table><a class="anchor" name="a13"></a><!-- doxytag: member="CanOpen::GetErrorFrameCounter" ref="a13" args="(void)" --><p><table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"><a class="el" href="CML__Utils_8h.html#a9">int32</a> GetErrorFrameCounter </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">void </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap><code> [inline]</code></td> </tr> </table> </td> </tr></table><table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td><p>Return the number of error frames received over then CAN network since the last time the counter was cleared. <p><dl compact><dt><b>Returns:</b></dt><dd>The number of error frames received since the last call to <a class="el" href="classCanOpen.html#a14">CanOpen::ClearErrorFrameCounter()</a>; </dd></dl><p>Definition at line <a class="el" href="CML__CanOpen_8h-source.html#l00166">166</a> of file <a class="el" href="CML__CanOpen_8h-source.html">CML_CanOpen.h</a>. </td> </tr></table><a class="anchor" name="a11"></a><!-- doxytag: member="CanOpen::GetSynchProducer" ref="a11" args="(void)" --><p><table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"><a class="el" href="CML__Utils_8h.html#a7">int16</a> GetSynchProducer </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">void </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap><code> [inline]</code></td> </tr> </table> </td> </tr></table><table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td><p>Return the node ID of the synch producer for this network. <p><dl compact><dt><b>Returns:</b></dt><dd>The synch producer node ID, or 0 if no synch producer has been registered. </dd></dl><p>Definition at line <a class="el" href="CML__CanOpen_8h-source.html#l00152">152</a> of file <a class="el" href="CML__CanOpen_8h-source.html">CML_CanOpen.h</a>. </td> </tr></table><a class="anchor" name="a3"></a><!-- doxytag: member="CanOpen::Open" ref="a3" args="(CanInterface &can, CanOpenSettings &settings)" --><p><table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">const <a class="el" href="classError.html">Error</a> * Open </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="classCanInterface.html">CanInterface</a> & </td> <td class="mdname" nowrap> <em>canRef</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td class="md"></td> <td class="md" nowrap><a class="el" href="classCanOpenSettings.html">CanOpenSettings</a> & </td> <td class="mdname" nowrap> <em>settings</em></td> </tr> <tr> <td class="md"></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr></table><table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td><p>Open the CANopen network. <p>This function performs the one time initialization necessary to communication via the CANopen network. It should be the first function called for the CANopen object.<p>This version of the Open function takes a <a class="el" href="classCanOpenSettings.html">CanOpenSettings</a> object reference as it's second parameter. The data members of the settings object may be used to configure some of the CanOpen object's behavior.<p><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>canRef</em> </td><td>A reference to the CAN interface object that will be used for all low level communication over the network.</td></tr> <tr><td valign="top"></td><td valign="top"><em>settings</em> </td><td>A reference to a <a class="el" href="classCanOpenSettings.html">CanOpenSettings</a> object. This object is used to customize the behavior of the CanOpen object.</td></tr> </table></dl>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -