要实现用以太网对S7-200 CPU编程,你需要有:
首先你需要用STEP 7-Micro/WIN 软件,在Tools > Ethernet Wizard(以太网向导)中对CP243-1进行配置,为其设定IP地址、子网掩码等。
注意:要保证CP243-1和PC机的IP地址在一个网段上 。CP243-1模块不会自动适应电缆的接线方式,因此直接连接PC机网卡和CP243-1模块时,需要注意网线的类型。
在完成以太网向导后,会生成一个子程序,如下图:
图1. 以太网控制子程序
在程序中用SM0.0调用这个子程序,生成如下程序:
图2. 调用以太网控制程序
上图中的状态字VW0、VW2地址由用户指定,要注意不能与Ethernet Wizard(CP243-1)、Internet Wizard(CP243-1 IT)做配置时指定的V存储区重复。
将此程序下装到CPU中,然后将CPU重新上电,并运行,此时对以太网的配置开始生效。
最后在MICRO/WIN软件中,进入Set PG/PC Interface,设定为TCP/IP通信接口,即可进入Communications(通信)中与CPU编程通信。
在实际的生产环境中,经常有多个 PLC 一起控制和完成生产过程,PLC 之间需要进行通信以完成信息交互,通信方式往往采用以太网通信,例如 S7、TCP、Modbus TCP 等,但上述这几种通信方式并非实时通信,且需要用户自己编写通信程序。
S7-200 通过CP243-1与S7-200 SMART PLC 之间的S7通信也是可以成功的,但是需要S7-200侧作为客户端组态以太网向导。
S7-200 SMART PLC V2.1 版本以及以上才支持与S7-200 之间的S7通讯。
本文采用一个S7-200 加上CP243-1,一个S7-200 SMART PLC为例,介绍他们之间的S7通讯。
硬件:
① S7-200 CPU
② CP243-1(6GK7 243-1EX01-0XE0 )
③S7-200 SMART CPU(固件V2.1/V2.2/V2.3)
④ PC (带以太网卡)
⑤ TP以太网电缆
软件:
① STEP 7 Micro/WIN V4.0 SP9
② STEP 7 Micro/WIN SMART V2.4
所完成的通信任务:
① S7-200 (192.168.0.111) VB0开始的两个字节的数据发送到 S7-200 SMART(192.168.0.61) 的VB0开始的2个字节的数据 。
② S7-200 (192.168.0.111) VB2开始的两个字节获取S7-200 SMART(192.168.0.61) 的VB2开始的两个字节的数据 。
首先,通过编程电缆使PC机与S7-200的通信,然后选择工具中的以太网向导配置界面,如图1所示:
图 1 以太网向导配置
进入到向导配置界面中,将会看到如图2所示的界面。点击“读取模块”即可读出CP243-1的模块信息,然后双击模块信息,将模块位置添加成功。
图2 模块位置读取
选择模块相匹配的版本,本例中的CP243-1模块型号为6GK7243-1EX01-0XE0,如下图3所示:
图3 模块版本选择
每个CP243-1模块都需要配置一个IP地址,如图3的界面所示。IP地址的设置需要在指定的对话框中进行设置。
图4 IP地址分配界面
模块命令字节:CP243-1模块需要占用一个QB字节,该字节的地址不能任意填写,需要进行计算(如果通过自动读取模块位置的方式则会自动计算)。计算的规则就是从CPU本体的输出字节开始计算,依次排列到CP243-1的模块位置即可;
对等链接:组态CP243-1进行S7连接的连接数量的设置,通过S7连接可以与通信伙伴进行读写数据操作。
图5 设定QB字节地址及连接数目
选择此为客户机连接,TSAP是Transport Service Access Point的缩写,表示的是连接资源的地址,与S7-200 SMART通讯可设置为:
1、02.00
2、02.01
3、03.00
4、03.01
本例中设置的为02.00。输入S7-200 SMART 侧的IP地址:192.168.0.61。点击数据传输按钮进入数据交换的定义。
图6 连接设置
选择"数据传输"标记,并单击"新传输"按钮进行配置:选择是读取数据还是写入数据,填写通讯数据的字节个数,填写发送数据区和接收数据区的起始地址。
本例中为将S7-200的VB4000传送到S7-200 SMART CPU的VB4000;
S7-200 VB4001获取S7-200 SMART的VB4001的数据 。
图7 定义数据传输
选择CRC校验,使用缺省的时间间隔30秒,点击下一步按钮。
图8 使用CRC
填写模块所占用的V存储区的起始地址。注意不要和程序中的其他地址冲突。
图9配置存储区
完成以太网向导配置后需要在程序中调用以太网向导所生成的ETHx_CTRL和ETHx_XFR, 然后,将整个项目下载到S7-200 CPU。
对于S7-200的同一个连接的多个数据传输,不能同时激活,必须分时调用。下面的程序就是用前一个数据传输的完成位去激活下一个数据传输,如图10.图11. 所示
图10 S7-200程序段1
图11 S7-200程序段2
以上描述,可参考例程:
S7-200 SMART作为服务器,不需要额外做通讯编程,此处不增加例程,只需注意S7-200 SMART CPU的IP设置为192.168.0.61。
S7-200 SMART 做服务器不用编写任何程序。
图12 设置IP地址
本例程仅供参考,程序中的CPU版本、类型可能与用户实际使用不同,用户可能需要先对例子程序做修改和调整,才能将其用于测试。本例程的作者和拥有者对于该例程的功能性和兼容性不负任何责任,使用该例程的风险完全由用户自行承担。由于它是免费的,所以不提供任何担保,错误纠正和热线支持,用户不必为此联系西门子技术支持与服务部门。