使用S7-200CP243-1和S7-200SMARTCPU以太网口之间的S7通讯
S7通信是S7系列PLC基于MPI、PROFIBUS、ETHERNET网络的一种优化的通信协议,主要用于S7-300/400PLC之间的通信。
经过测试发现S7-200通过CP243-1与S7-200SMARTPLC之间的S7也是可以成功进行通信的,但是需要S7-200侧作为客户端组态以太网向导。
一、硬件和软件需求及所完成的通信任务
本文采用一个S7-200加上CP243-1,一个S7-200SMARTPLC为例,介绍它们之间的S7通讯。
硬件:
①S7-200CPU
②CP243-1(6GK7243-1EX01-0XE0)
③S7-200SMARTCPU(固件//)
④PC(带以太网卡)
⑤TP以太网电缆
软件:
①STEP7Micro/
②STEP7Micro/
所完成的通信任务:
①S7-200(192.168.0.102)VB4000的数据发送到S7-200SMART(192.168.0.15)的VB4000。
②S7-200(192.168.0.102)VB4001获取S7-200SMART(192.168.0.15)的VB4001的数据。
二、S7-200侧CP243-1的组态
首先,通过编程电缆使PC机与S7-200的通信,然后选择工具中的以太网向导配置界面,如图1所示:

图1以太网向导配置

图2模块位置读取
选择模块相匹配的版本,本例中的CP243-1模块型号为6GK7243-1EX01-0XE0,如下图3所示:

图3模块版本选择
每个CP243-1模块都需要配置一个IP地址,如图3的界面所示。IP地址的设置需要在指定的对话框中进行设置。

图4IP地址分配界面

图5IP地址设定
模块命令字节:CP243-1模块需要占用一个QB字节,该字节的地址不能任意填写,需要进行计算(如果通过自动读取模块位置的方式则会自动计算)。计算的规则就是从CPU本体的输出字节开始计算,依次排列到CP243-1的模块位置即可;
对等链接:组态CP243-1进行S7连接的连接数量的设置,通过S7连接可以与通信伙伴进行读写数据操作。

图6设定QB字节地址及连接数目
选择此为客户机连接,TSAP是TransportServiceAccessPoint的缩写,表示的是连接资源的地址,与S7-200SMART通讯可设置为:
1、02.00
2、02.01
3、03.00
4、03.01

图7连接设置
选择"数据传输"标记,并单击"新传输"按钮进行配置:选择是读取数据还是写入数据,填写通讯数据的字节个数,填写发送数据区和接收数据区的起始地址。
本例中为将S7-200的VB4000传送到S7-200SMARTCPU的VB4000;S7-200VB4001获取S7-200SMART的VB4001的数据。


图8定义数据传输

图9使用CRC
填写模块所占用的V存储区的起始地址。注意不要和程序中的其他地址冲突。

图10配置存储区
三、S7-200侧编程
完成以太网向导配置后需要在程序中调用以太网向导所生成的ETHx_CTRL和ETHx_XFR,然后,将整个项目下载到S7-200CPU。
对于S7-200的同一个连接的多个数据传输,不能同时激活,必须分时调用。下面的程序就是用前一个数据传输的完成位去激活下一个数据传输,如图11.图12.图13.所示

图11S7-200程序段1

图12S7-200程序段2

图13S7-200程序段3
S7-200SMART作为服务器,不需要额外做通讯编程,只需注意S7-200SMARTCPU的IP设置为192.168.0.15。
四、S7-200SMART的组态
S7-200SMART做服务器不用编写任何程序。

图14设置IP地址

图15监控结果
注意:1.本文档仅供测试使用,使用该种通信方式所产生的任何危险需要由自己
承担!
2.经测试版本以及以上才支持与S7-200之间的S7
通讯。CPU固件需升级到以及以上。
3.经测试S7-200CP243-1侧组态客户端,S7-200SMART作为服务器才能进行
通讯。
不足之处还望海涵,请各界大佬多多批评指教!
程序仅供参考!





