S7-200SMART的GET/PUT通信
200SMART的GET/PUT通信支持固件版本V2.0及以上,通常用于西门子控制器之间的通信, 200SMART与200SMART/S7-1200/S7-1500;与S7-300/400通信时只能作为服务器。GET/PUT通信固定占用102端口。200SMART作为客户端时,使用GET/PUT指令或者向导进行编程;作为服务器时不需要进行编程。使用GET/PUT指令编程通信时,GET指令最大传输222个字节,PUT指令最大传输212个字节;而使用向导进行通信时GET/PUT最大传输都为200个字节。
下面将介绍将以两台200SMARRT进行GET/PUT通信为例,用指令和向导两种方法讲解程序编写。用通信指令进行GET/PUT通信第一步在通信指令中找到PUT和GET指令,如图:
指令说明
向远端设备写入数据,最多212个字节
从远端设备读取数据,最多222个字节指令通过参数表定义通信参数,在TABLE引脚填写参数表的一个起始字节输入/输出数据类型操作数TABLEBYTEIB、QB、VB、MB、SMB、SB、*VD、*LD、*AC具体参数如下表所示:字节偏移量位 7位 6位 5位 4位 3位 2位 1位 00DAE0错误代码1远程站IP地址(将要访问的数据所处 CPU 的地址)2345保留 = 0(必须设置为零)6保留 = 0(必须设置为零)7地址指针:指向远程站中数据区指针(I、Q、M、V 或 DB1)891011数据长度12地址指针:指向本地站中数据区指针(I、Q、M、V 或 DB1)131415其中D代表完成;A代表激活(进行中);E代表错误(完成且有错误)当ERROR为1时可以在错误代码中查看对于错误编号,具体编号对应的错误可以在软件帮助中查看。以下题为例:本地站IP地址为192.168.0.100;远程站IP地址为192.168.0.101,将本地站从VB200开始的10个字节发送到远程站的VB100开始的10个字节。首先我们在系统块中设置本地站和远程站的IP地址
然后调用PUT指令
接着定义参数表
最后触发PUT指令即可完成通信,GET指令调用与其相同。GET/PUT指令同时激活最多16条指令,调用GET/PUT指令占用8个客户端资源,同一IP地址的伙伴设备占用同一资源,同一资源上可以同时PUT和GET。使用向导进行编程首先打开向导,如图两种方式都可
然后添加操作条目,可以对操作进行一些备注
仍以上题为例,设置操作条目
接着分配存储器地址,点击生成项目组件即可。
最后调用NET.EXE程序块(以下两种方法都可以)
使用SM0.0导通程序块,超时一般选择0,在周期和错误上都先填写一个位,正常情况下周期会在0和1之间变化,错误位为0。
如图所示,数据成功发送,通讯成功
大家如果对GET/PUT通信有独特的见解,欢迎留言交流哦!