📄 localcm.htm
字号:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=iso-8859-1">
<meta name="GENERATOR" content="Microsoft FrontPage 2.0">
<title>CLocalModbus Class Memembers</title>
</head>
<body bgcolor="#FFFFFF">
<p><font size="5"><strong>CLocalModbus Class Members </strong></font></p>
<p><font size="3"><strong>class CLocalModbus : public </strong></font><a
href="cmodbu.htm"><font size="3"><strong>CModbus</strong></font></a></p>
<p><a href="#CLocalModbus::UpdateSerialConfig"><strong>UpdateSerialConfig</strong></a><strong>
- </strong><font size="3">Opens a com port or or updates port
parameters.</font></p>
<p><a href="#CLocalModbus::CloseCommPort"><strong>CloseCommPort</strong></a>
- Closes a serial port.</p>
<p><a href="modbuimp.htm#CModbus::TxRxMessage"><font size="3"><strong>TxRxMessage</strong></font></a><font
size="3"><strong> </strong></font>virtual CModbus implementation.
<font size="3">Sends and receives a message from a slave.</font></p>
<p><a href="modbuimp.htm#CModbus::ErrorMessage"><strong>ErrorMessage</strong></a><strong>
</strong>virtual CModbus implementation.Return string description
of an error code.</p>
<p> </p>
<p><a href="#CLocalModbus::ByteSize"><strong>ByteSize</strong></a>
- Specifies the number of bits in the bytes transmitted and
received. </p>
<p><a href="#CLocalModbus::BaudRate"><strong>BaudRate</strong></a>
- Specifies the baud rate </p>
<p><a href="#CLocalModbus::ComPort"><strong>ComPort</strong></a><strong>
</strong>- Comm serial port </p>
<p><a href="#CLocalModbus::FlowControl"><strong>FlowControl</strong></a>
- Specifies flow control. </p>
<p><a href="#CLocalModbus::Parity"><strong>Parity</strong></a> -
Specifies the parity scheme to be used. </p>
<p><a href="#CLocalModbus::SilentInterval"><strong>SilentInterval</strong></a>
- silent interval marking the begin and the end of message in ms.</p>
<p><a href="#CLocalModbus::StopBits"><strong>StopBits</strong></a>
- number of stop bits. </p>
<p><a href="#CLocalModbus::Timeout"><strong>Timeout</strong></a>
- message timeout in ms.</p>
<p><a href="#CLocalModbus::TransmissionMode"><strong>TransmissionMode</strong></a>
- Specifies RTU or ASCII transmission mode.</p>
<p><a name="CLocalModbus::UpdateSerialConfig"></a><font size="5"><strong>CLocalModbus::UpdateSerialConfig</strong></font></p>
<p><font size="3"><strong>BOOL UpdateSerialConfig(BYTE
byComPort=0, DWORD dwBaudRate=0, BYTE byParity=INVALID_PARITY); </strong></font></p>
<p><font size="3"><strong>Return Value </strong></font></p>
<p><font size="3">TRUE if function succeeds and FALSE if fails.</font></p>
<p><font size="3"><strong>Parameters</strong></font></p>
<p><font size="3">byComPort - com port number 1 to 8.</font></p>
<p><font size="3">dwBaudRate - actual baudrate , 1200, 9600 ...</font></p>
<p><font size="3">byParity - </font>Specifies the parity scheme
to be used.</p>
<table border="0" cellspacing="4" cols="2">
<tr>
<th align="left" valign="top" width="131"><font size="2">Value</font></th>
<th align="left" valign="top" width="334"><font size="2">Meaning</font></th>
</tr>
<tr>
<td valign="top" width="131"><font size="2">EVENPARITY</font></td>
<td valign="top" width="334"><font size="2">Even</font></td>
</tr>
<tr>
<td valign="top" width="131"><font size="2">MARKPARITY</font></td>
<td valign="top" width="334"><font size="2">Mark</font></td>
</tr>
<tr>
<td valign="top" width="131"><font size="2">NOPARITY</font></td>
<td valign="top" width="334"><font size="2">No parity</font></td>
</tr>
<tr>
<td valign="top" width="131"><font size="2">ODDPARITY</font></td>
<td valign="top" width="334"><font size="2">Odd</font></td>
</tr>
<tr>
<td valign="top" width="131"><font size="2">SPACEPARITY</font></td>
<td valign="top" width="334"><font size="2">Space</font></td>
</tr>
</table>
<p><font size="3"><strong>Remarks</strong></font></p>
<p><font size="3">Opens a com port or or updates port parameters.
It's possible to set class properties instead of function
parameters.</font></p>
<p><font size="3"><strong>example</strong>:</font></p>
<p><font size="3">CLocalModbus localModbus;<br>
<br>
// open com 2 </font></p>
<p><font size="3">localModbus.StopBits(TWOSTOPBITS);<br>
localModbus.ByteSize(8);<br>
localModbus.FlowControl(CLocalModbus::FC_NONE);<br>
localModbus.Timeout(300);<br>
localModbus.SilentInterval(20);<br>
localModbus.TransmissionMode(CLocalModbus::MODE_RTU);<br>
<br>
if (!localModbus.UpdateSerialConfig(2,9600,NOPARITY)){</font></p>
<blockquote>
<p><font size="3">AfxMessageBox(_T("Error opening com
port"));</font></p>
</blockquote>
<p><font size="3">}</font></p>
<p><font size="3"><strong>See also: </strong></font><a
href="#CLocalModbus::CloseCommPort"><font size="3">CloseCommPort</font></a><font
size="3"><strong> , </strong>StopBits , </font><a
href="#CLocalModbus::ByteSize"><font size="3">ByteSize</font></a><font
size="3"> , FlowControl , Timeout , SilentInterval ,
TransmissionMode.</font></p>
<p> </p>
<p><a name="CLocalModbus::CloseCommPort"></a><font size="5"><strong>CLocalModbus::CloseCommPort</strong></font></p>
<p><font size="3"><strong>BOOL CLocalModbus::CloseCommPort();</strong></font></p>
<p><font size="3"><strong>Return Value </strong></font></p>
<p><font size="3">TRUE if function succeeds and FALSE if fails.</font></p>
<p><font size="3"><strong>Remarks</strong></font></p>
<p><font size="3">Closes a com port. It's also called by
destructor of CLocalModbus.</font></p>
<p><font size="3"><strong>See also: </strong></font><a
href="#CLocalModbus::UpdateSerialConfig"><font size="3">UpdateSerialConfig</font></a><font
size="3">.</font></p>
<p> </p>
<p><a name="CLocalModbus::ByteSize"></a><font size="5"><strong>CLocalModbus::ByteSize</strong></font></p>
<p><font size="3"><strong>void ByteSize(WORD wSize);<br>
WORD ByteSize(); </strong></font></p>
<p><font size="3"><strong>Remarks</strong></font></p>
<dl>
<dd>Specifies the number of bits in the bytes transmitted and
received. RTU uses 8 and ASCII 7.</dd>
</dl>
<p><font size="3"><strong>See also: </strong></font><a
href="#CLocalModbus::UpdateSerialConfig"><font size="3">UpdateSerialConfig</font></a></p>
<p><a name="CLocalModbus::BaudRate"></a><font size="5"><strong>CLocalModbus::BaudRate</strong></font></p>
<p><font size="3"><strong>DWORD BaudRate(); //actual baudrate
value <br>
void BaudRate(DWORD dwBaudRate);</strong></font></p>
<p><font size="3"><strong>Remarks</strong></font></p>
<dl>
<dd>Specifies the baud rate , 300 , 1200 , 9600. You can use
the following windows constants:</dd>
</dl>
<table border="0">
<tr>
<td valign="top" width="136"><font size="2">CBR_110 </font></td>
<td valign="top" width="329"><font size="2">CBR_19200</font></td>
</tr>
<tr>
<td valign="top" width="136"><font size="2">CBR_300 </font></td>
<td valign="top" width="329"><font size="2">CBR_38400</font></td>
</tr>
<tr>
<td valign="top" width="136"><font size="2">CBR_600 </font></td>
<td valign="top" width="329"><font size="2">CBR_56000</font></td>
</tr>
<tr>
<td valign="top" width="136"><font size="2">CBR_1200</font></td>
<td valign="top" width="329"><font size="2">CBR_57600</font></td>
</tr>
<tr>
<td valign="top" width="136"><font size="2">CBR_2400</font></td>
<td valign="top" width="329"><font size="2">CBR_115200</font></td>
</tr>
<tr>
<td valign="top" width="136"><font size="2">CBR_4800</font></td>
<td valign="top" width="329"><font size="2">CBR_128000</font></td>
</tr>
<tr>
<td valign="top" width="136"><font size="2">CBR_9600</font></td>
<td valign="top" width="329"><font size="2">CBR_256000</font></td>
</tr>
<tr>
<td valign="top" width="136"><font size="2">CBR_14400</font></td>
</tr>
</table>
<p><font size="3"><strong>See also: </strong></font><a
href="#CLocalModbus::UpdateSerialConfig"><font size="3">UpdateSerialConfig</font></a></p>
<p> </p>
<p> </p>
<p><a name="CLocalModbus::ComPort"></a><font size="5"><strong>CLocalModbus::ComPort</strong></font></p>
<p><font size="3"><strong>BYTE ComPort(); <br>
void ComPort(BYTE byComPort);</strong></font></p>
<p><font size="3"><strong>Remarks</strong></font></p>
<dl>
<dd>Specifies the Comm serial port 1 to 8.</dd>
</dl>
<p><font size="3"><strong>See also: </strong></font><a
href="#CLocalModbus::UpdateSerialConfig"><font size="3">UpdateSerialConfig</font></a></p>
<p><a name="CLocalModbus::FlowControl"></a><font size="5"><strong>CLocalModbus::FlowControl</strong></font></p>
<p><font size="3"><strong>BYTE FlowControl(); <br>
void FlowControl(BYTE byFlowControl);</strong></font></p>
<p><font size="3"><strong>Remarks</strong></font></p>
<dl>
<dd>Specifies the flow control. This member can a combination
of the following values: </dd>
</dl>
<table border="0">
<tr>
<td><font size="3">CLocalModbus::</font>FC_NONE</td>
<td>No Flow control</td>
</tr>
<tr>
<td><font size="3">CLocalModbus::</font>FC_DTRDSR</td>
<td>Hardware Flow Control DTR/CTS<br>
</td>
</tr>
<tr>
<td><font size="3">CLocalModbus::</font>FC_RTSCTS</td>
<td>Hardware Flow Control DTR/CTS</td>
</tr>
<tr>
<td><font size="3">CLocalModbus::</font>FC_XONXOFF</td>
<td>Software Flow Control XON/XOFF</td>
</tr>
</table>
<p><font size="3">If you use , for instance , software and
hardware flow control set this member as CLocalModbus::</font>FC_RTSCTS+<font
size="3">CLocalModbus::</font>FC_XONXOFF.</p>
<p><font size="3"><strong>See also: </strong></font><a
href="#CLocalModbus::UpdateSerialConfig"><font size="3">UpdateSerialConfig</font></a></p>
<p><a name="CLocalModbus::Parity"></a><font size="5"><strong>CLocalModbus::Parity</strong></font></p>
<p><font size="3"><strong>BYTE Parity(); <br>
void Parity(BYTE byParity);<br>
</strong></font></p>
<p><font size="3"><strong>Remarks</strong></font></p>
<dl>
<dd>Specifies the parity scheme to be used. </dd>
</dl>
<table border="0">
<tr>
<th align="left" valign="top" width="131">Value</th>
<th align="left" valign="top" width="334">Meaning</th>
</tr>
<tr>
<td valign="top" width="131">EVENPARITY</td>
<td valign="top" width="334">Even</td>
</tr>
<tr>
<td valign="top" width="131">MARKPARITY</td>
<td valign="top" width="334">Mark</td>
</tr>
<tr>
<td valign="top" width="131">NOPARITY</td>
<td valign="top" width="334">No parity</td>
</tr>
<tr>
<td valign="top" width="131">ODDPARITY</td>
<td valign="top" width="334">Odd</td>
</tr>
<tr>
<td valign="top" width="131">SPACEPARITY</td>
<td valign="top" width="334">Space</td>
</tr>
</table>
<p><font size="3"><strong>See also: </strong></font><a
href="#CLocalModbus::UpdateSerialConfig"><font size="3">UpdateSerialConfig</font></a></p>
<p><a name="CLocalModbus::SilentInterval"></a><font size="5"><strong>CLocalModbus::SilentInterval</strong></font></p>
<p><font size="3"><strong>DWORD SilentInterval() const;<br>
void SilentInterval(DWORD dwSilentInterval);<br>
<br>
Remarks</strong></font></p>
<blockquote>
<p>Silent interval marking the begin and the end of a message
in ms.</p>
</blockquote>
<dl>
<dd>RTU messages start and end with a silent interval of at
least 3.5 character times. For instance , for baud rate
of 9600 bps silent interval is 4 ms , but when doing some
practical tests this value was increased to 20 ms for
correct communication with devices, try to increase this
value if you get many communication errors.</dd>
</dl>
<blockquote>
<p>When using ASCII set silent interval 500 or 1000 ms. </p>
</blockquote>
<p><font size="3"><strong>See also: </strong></font><a
href="#CLocalModbus::UpdateSerialConfig"><font size="3">UpdateSerialConfig</font></a></p>
<p><a name="CLocalModbus::StopBits"></a><font size="5"><strong>CLocalModbus::StopBits</strong></font></p>
<p><font size="3"><strong>BYTE StopBits();<br>
void StopBits(BYTE byStopBits);<br>
<br>
Remarks</strong></font></p>
<p>Specifies the number of stop bits to be used.</p>
<table border="0" cellspacing="4" cols="2">
<tr>
<th align="left" valign="top" width="136">Value</th>
<th align="left" valign="top" width="329">Meaning</th>
</tr>
<tr>
<td valign="top" width="136">ONESTOPBIT</td>
<td valign="top" width="329">1 stop bit</td>
</tr>
<tr>
<td valign="top" width="136">ONE5STOPBITS</td>
<td valign="top" width="329">1.5 stop bits</td>
</tr>
<tr>
<td valign="top" width="136">TWOSTOPBITS</td>
<td valign="top" width="329">2 stop bits</td>
</tr>
</table>
<p>Use 1(ONESTOPBIT) stop bit if parity is used and
2(TWOSTOPBITS) bits if no parity.</p>
<p><font size="3"><strong>See also: </strong></font><a
href="#CLocalModbus::UpdateSerialConfig"><font size="3">UpdateSerialConfig</font></a></p>
<p><a name="CLocalModbus::Timeout"></a><font size="5"><strong>CLocalModbus::Timeout</strong></font></p>
<p><font size="3"><strong>DWORD Timeout() const;<br>
void Timeout(DWORD dwTimeout);<br>
<br>
Remarks</strong></font></p>
<p>Time-out period for slave response in ms.</p>
<p><font size="3"><strong>See also: </strong></font><a
href="#CLocalModbus::UpdateSerialConfig"><font size="3">UpdateSerialConfig</font></a></p>
<p> </p>
<p><a name="CLocalModbus::TransmissionMode"></a><font size="5"><strong>CLocalModbus::TransmissionMode</strong></font></p>
<p><font size="3"><strong>WORD TransmissionMode();<br>
void TransmissionMode(WORD wMode);<br>
<br>
Remarks</strong></font></p>
<p>Modbus use either of two transmission modes: ASCII or RTU.
This member can be one of the values below:</p>
<table border="0">
<tr>
<td><font size="3">CLocalModbus::</font>MODE_RTU </td>
<td>RTU transmission mode </td>
</tr>
<tr>
<td><font size="3">CLocalModbus::</font>MODE_ASCII </td>
<td>ASCII transmission mode</td>
</tr>
</table>
<p><font size="3"><strong>See also: </strong></font><a
href="#CLocalModbus::UpdateSerialConfig"><font size="3">UpdateSerialConfig</font></a></p>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -