前面的文章(收藏 | 深入理解S7通信协议)我们介绍了S7通信协议。今天这篇文章,我们来介绍下S7-200 Smart PLC的S7单边通信指令。
S7-200 Smart使用PUT/GET指令来实现与通信伙伴的S7通信。PUT/GET指令只需要在主动建立连接的CPU一侧进行编程与配置,被动建立连接的一侧不需要任何编程。这就是我们之前介绍的S7单边通信。
S7-200 Smart V2.0以上版本支持8个PUT/GET的主动连接和8个PUT/GET的被动连接,总计支持16个S7的通信连接。
PUT指令用来将数据写入到通信伙伴中,最多可写入212个字节;GET指令用来从通信伙伴中读取数据,最多可以读取222个字节。在指令列表(Instructions)-通信(Communications)中可以找到PUT和GET指令,如下图:
PUT/GET指令的初始编程界面如下图:
PUT和GET指令都只有一个参数,被称为"TABLE"。
TABLE数据结构包含16个字节,各字节的含义见下面的表格:
我们一起来认识下TABLE中各字节的含义:
字节0包含了通信的状态信息。其中:
第7位(bit7)是通信完成标志位,当该位为1时表示通信已经完成。通信完成包含两种状态:成功或者出错。若发生错误,则第5位(bit5)会被置1;若没有错误,则第5位(bit5)为0;
第6位(bit6)是通信激活标志位。当该位为1表示正在通信;
第4位(bit4)是保留位,始终为0;
第0~3位(bit0~3)代表错误代码。当通信出错时,可以查找错误的原因(0=没有错误);
字节1~4为远程通信伙伴的IP地址(IPv4);
字节5和字节6为保留字节,必须为0;
字节7~10为通信伙伴的数据存储区地址指针;
字节11表示通信的数据长度。PUT指令最大支持212个字节;GET指令最大支持222个字节;
字节12~15为指向本地数据存储区的地址指针;
PUT/GET通信的错误代码如下面的表格:
好了,关于S7-200 Smart的S7通信指令就先介绍到这里。欢迎扫描下方的二维码关注我们的微信公众号。
来源:本站| 大小:650 KB| 下载次数:2704次
发表评论