⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 西门子(中国)自动化与驱动集团-应用实例-自由口模式下plc与计算机的通信.htm

📁 s7200自由口通讯.rar1、使用PPI电缆。 2、指令说明文件 3、例子
💻 HTM
📖 第 1 页 / 共 5 页
字号:
                          <TR>
                            <TD align=middle bgColor=#ece0e0 
                            class=v15>Byte17</TD></TR>
                          <TR>
                            <TD align=middle bgColor=#ece0e0 
                            class=v15>Byte18</TD>
                            <TD align=middle bgColor=#ece0e0 class=v15 
                              rowSpan=2>BCC校验码(十六进制ASCII码)</TD></TR>
                          <TR>
                            <TD align=middle bgColor=#ece0e0 
                            class=v15>Byte19</TD></TR>
                          <TR>
                            <TD align=middle bgColor=#ece0e0 
                            class=v15>Byte20</TD>
                            <TD align=middle bgColor=#ece0e0 
                          class=v15>结束字符</TD></TR></TBODY></TABLE><FONT class=v15>
                        <P><IMG alt="" border=0 height=7 src="" 
                        width=7>&nbsp;<B>PLC程序执行过程</B> <BR><FONT 
                        color=#ffffff>----</FONT>PLC在第一次扫描时执行初始化子程序,对端口及RCV指令进行初始化。初始化完成后,运行RCV指令使端口处于接受状态。 
                        <BR><FONT 
                        color=#ffffff>----</FONT>RCV会将以"g"开头"G"结尾的指令保存到接收缓冲区,并同时产生接收完成中断。 
                        <BR><FONT 
                        color=#ffffff>----</FONT>RCVcomplete中断服务程序用来处理接收完成中断事件,它会将接收缓冲区中的十六进制ASCII码还原成数据并保存,同时置位Verify子程序的触发条件(M0.1)。 
                        <FONT 
                        color=#ffffff>----</FONT>Verify子程序首先复位本身的触发条件以防止子程序被重复调用,然后求出接收缓冲区中指令的BCC校验码并与指令中的BCC校验码进行比对。如果相等则置BCC码校验正确的标志位(M0.0)为1;如果指令格式正确(指令的结束标志在接收缓冲区中特定的位置VB133)而BCC码不相等,则发送代表BCC校验码错误的反馈信息;如果指令格式不正确(VB133中不是指令的结束标志),则返回代表指令格式错误的反馈信息。 
                        <BR><FONT 
                        color=#ffffff>----</FONT>Read子程序的触发条件为:指令中的站地址与本机站地址相符、指令类型为读指令、BCC检验码正确。当条件满足时,Read子程序被执行。Read子程序首先禁止RCV,然后将指令所要读取的数据转换成十六进制ASCII码并写入发送缓冲区、计算BCC检验码、最后发送反馈信息。 
                        <BR><FONT 
                        color=#ffffff>----</FONT>Write子程序的触发条件为:指令中的站地址与本机站地址相符、指令类型为写指令、BCC检验码正确。当条件满足时,Write子程序被执行。Write子程序首先禁止RCV,然后将指令中的数据写入目标寄存器,最后发送代表写入正确的反馈信息。 
                        <BR><FONT 
                        color=#ffffff>----</FONT>PLC每接到一条指令后都会发送一条反馈信息,当反馈信息发送完成时,会产生发送完成中断,XMTcomplete中断服务程序用来处理发送完成中断事件。在XMTcomplete中断服务程序中所要执行的操作包括:复位BCC校验码正确的标志位(M0.0);允许RCV;bcc码寄存器清零;重新装入用于计算BCC校验码的地址指针;接收缓冲区中存放指令结束字符的字节VB133清零(用来判断下一条指令格式是否正确)。 

                        <P><IMG alt="" border=0 height=7 src="" 
                        width=7>&nbsp;<B>PLC寄存器地址分配</B> <BR><FONT 
                        color=#ffffff>----</FONT>此程序占用PLC寄存器的VB100-VB199,内部继电器占用M0.0和M0.1。寄存器地址分配见表3、表4、表5、表6。 

                        <P><FONT color=#336699><B>表3 接收缓冲区</B></FONT> <BR>
                        <TABLE align=center width=430>
                          <TBODY>
                          <TR>
                            <TD align=middle bgColor=#ece0e0 class=v15 
                              width=80>VB100</TD>
                            <TD align=middle bgColor=#ece0e0 class=v15 
                              colSpan=2>字符数&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD></TR>
                          <TR>
                            <TD align=middle bgColor=#ece0e0 
class=v15>VB101</TD>
                            <TD align=middle bgColor=#ece0e0 class=v15>起始字符</TD>
                            <TD align=middle bgColor=#ece0e0 class=v15 
                              width=80>Byte0</TD></TR>
                          <TR>
                            <TD align=middle bgColor=#ece0e0 
class=v15>VB102</TD>
                            <TD align=middle bgColor=#ece0e0 
                              class=v15>指令类型(读/写)</TD>
                            <TD align=middle bgColor=#ece0e0 
                          class=v15>Byte1</TD></TR>
                          <TR>
                            <TD align=middle bgColor=#ece0e0 
class=v15>VB103</TD>
                            <TD align=middle bgColor=#ece0e0 class=v15 
                              rowSpan=2>目标PLC站地址(十六进制ASCII码)</TD>
                            <TD align=middle bgColor=#ece0e0 
                          class=v15>Byte2</TD></TR>
                          <TR>
                            <TD align=middle bgColor=#ece0e0 
class=v15>VB104</TD>
                            <TD align=middle bgColor=#ece0e0 
                          class=v15>Byte3</TD></TR>
                          <TR>
                            <TD align=middle bgColor=#ece0e0 
class=v15>VB105</TD>
                            <TD align=middle bgColor=#ece0e0 class=v15 
                              rowSpan=8>目标寄存器地址(十六进制ASCII码)</TD>
                            <TD align=middle bgColor=#ece0e0 
                          class=v15>Byte4</TD></TR>
                          <TR>
                            <TD align=middle bgColor=#ece0e0 
class=v15>VB106</TD>
                            <TD align=middle bgColor=#ece0e0 
                          class=v15>Byte5</TD></TR>
                          <TR>
                            <TD align=middle bgColor=#ece0e0 
class=v15>VB107</TD>
                            <TD align=middle bgColor=#ece0e0 
                          class=v15>Byte6</TD></TR>
                          <TR>
                            <TD align=middle bgColor=#ece0e0 
class=v15>VB108</TD>
                            <TD align=middle bgColor=#ece0e0 
                          class=v15>Byte7</TD></TR>
                          <TR>
                            <TD align=middle bgColor=#ece0e0 
class=v15>VB109</TD>
                            <TD align=middle bgColor=#ece0e0 
                          class=v15>Byte8</TD></TR>
                          <TR>
                            <TD align=middle bgColor=#ece0e0 
class=v15>VB110</TD>
                            <TD align=middle bgColor=#ece0e0 
                          class=v15>Byte9</TD></TR>
                          <TR>
                            <TD align=middle bgColor=#ece0e0 
class=v15>VB111</TD>
                            <TD align=middle bgColor=#ece0e0 
                            class=v15>Byte10</TD></TR>
                          <TR>
                            <TD align=middle bgColor=#ece0e0 
class=v15>VB112</TD>
                            <TD align=middle bgColor=#ece0e0 
                            class=v15>Byte11</TD></TR>
                          <TR>
                            <TD align=middle bgColor=#ece0e0 
class=v15>VB113</TD>
                            <TD align=middle bgColor=#ece0e0 class=v15 
                              rowSpan=2>读/写字节数M(十六进制ASCII码)</TD>
                            <TD align=middle bgColor=#ece0e0 
                            class=v15>Byte12</TD></TR>
                          <TR>
                            <TD align=middle bgColor=#ece0e0 
class=v15>VB114</TD>
                            <TD align=middle bgColor=#ece0e0 
                            class=v15>Byte13</TD></TR>
                          <TR>
                            <TD align=middle bgColor=#ece0e0 
class=v15>VB115</TD>
                            <TD align=middle bgColor=#ece0e0 class=v15 
                            rowSpan=16>要写入的数据(十六进制ASCII码)</TD>
                            <TD align=middle bgColor=#ece0e0 
                            class=v15>Byte14</TD></TR>
                          <TR>
                            <TD align=middle bgColor=#ece0e0 
class=v15>VB116</TD>
                            <TD align=middle bgColor=#ece0e0 
                            class=v15>Byte15</TD></TR>
                          <TR>
                            <TD align=middle bgColor=#ece0e0 
class=v15>VB117</TD>
                            <TD align=middle bgColor=#ece0e0 
                            class=v15>Byte16</TD></TR>
                          <TR>
                            <TD align=middle bgColor=#ece0e0 
class=v15>VB118</TD>
                            <TD align=middle bgColor=#ece0e0 
                            class=v15>Byte17</TD></TR>
                          <TR>
                            <TD align=middle bgColor=#ece0e0 
class=v15>VB119</TD>
                            <TD align=middle bgColor=#ece0e0 
                            class=v15>Byte18</TD></TR>
                          <TR>
                            <TD align=middle bgColor=#ece0e0 
class=v15>VB120</TD>
                            <TD align=middle bgColor=#ece0e0 
                            class=v15>Byte19</TD></TR>
                          <TR>
                            <TD align=middle bgColor=#ece0e0 
class=v15>VB121</TD>
                            <TD align=middle bgColor=#ece0e0 
                            class=v15>Byte20</TD></TR>
                          <TR>
                            <TD align=middle bgColor=#ece0e0 
class=v15>VB122</TD>
                            <TD align=middle bgColor=#ece0e0 
                            class=v15>Byte21</TD></TR>
                          <TR>
                            <TD align=middle bgColor=#ece0e0 
class=v15>VB123</TD>
                            <TD align=middle bgColor=#ece0e0 
                            class=v15>Byte22</TD></TR>
                          <TR>
                            <TD align=middle bgColor=#ece0e0 
class=v15>VB124</TD>
                            <TD align=middle bgColor=#ece0e0 
                            class=v15>Byte23</TD></TR>
                          <TR>
                            <TD align=middle bgColor=#ece0e0 
class=v15>VB125</TD>
                            <TD align=middle bgColor=#ece0e0 
                            class=v15>Byte24</TD></TR>
                          <TR>
                            <TD align=middle bgColor=#ece0e0 
class=v15>VB126</TD>
                            <TD align=middle bgColor=#ece0e0 
                            class=v15>Byte25</TD></TR>
                          <TR>
                            <TD align=middle bgColor=#ece0e0 
class=v15>VB127</TD>
                            <TD align=middle bgColor=#ece0e0 
                            class=v15>Byte26</TD></TR>
                          <TR>
                            <TD align=middle bgColor=#ece0e0 
class=v15>VB128</TD>
                            <TD align=middle bgColor=#ece0e0 
                            class=v15>Byte27</TD></TR>
                          <TR>
                            <TD align=middle bgColor=#ece0e0 
class=v15>VB129</TD>
                            <TD align=middle bgColor=#ece0e0 
                            class=v15>Byte28</TD></TR>
                          <TR>
                            <TD align=middle bgColor=#ece0e0 
class=v15>VB130</TD>
                            <TD align=middle bgColor=#ece0e0 
                            class=v15>Byte29</TD></TR>
                          <TR>
                            <TD align=middle bgColor=#ece0e0 
class=v15>VB131</TD>
                            <TD align=middle bgColor=#ece0e0 class=v15 
                              rowSpan=2>BCC校验码(十六进制ASCII码)</TD>
                            <TD align=middle bgColor=#ece0e0 
                            class=v15>Byte30</TD></TR>
                          <TR>
                            <TD align=middle bgColor=#ece0e0 
class=v15>VB132</TD>
                            <TD align=middle bgColor=#ece0e0 
                            class=v15>Byte31</TD></TR>
                          <TR>
                            <TD align=middle bgColor=#ece0e0 
class=v15>VB133</TD>
                            <TD align=middle bgColor=#ece0e0 class=v15>结束字符</TD>
                            <TD align=middle bgColor=#ece0e0 
                            class=v15>Byte32</TD></TR></TBODY></TABLE>
                        <P><SPAN style="COLOR: #336699; FONT-SIZE: 12px"><B>表4 
                        译码区</B></SPAN> <BR>
                        <TABLE align=center width=430>
                          <TBODY>
                          <TR>
                            <TD align=middle bgColor=#ece0e0 class=v15 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -