通过以太网编程

要实现用以太网对S7-200 CPU编程,你需要有:

  1. 装有以太网卡的PC机,PC机上装有STEP 7-Micro/WIN(V3.2 SP1以上)软件
  2. 能够通过PC/PPI电缆、或CP卡、或EM241与CPU做通信编程
  3. CP243-1以太网模块
  4. 一个HUB(集线器)、或Switch(交换机)和网络电缆,或以太网直连电缆

首先你需要用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编程通信。

S7-200 CP243-1 和S7-200 SMART CPU以太网口之间的S7通讯

在实际的生产环境中,经常有多个 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开始的两个字节的数据 。

S7-200侧CP243-1的组态

首先,通过编程电缆使PC机与S7-200的通信,然后选择工具中的以太网向导配置界面,如图1所示:

1

图 1 以太网向导配置

进入到向导配置界面中,将会看到如图2所示的界面。点击“读取模块”即可读出CP243-1的模块信息,然后双击模块信息,将模块位置添加成功。

1

图2 模块位置读取

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

1

图3 模块版本选择

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

1

图4 IP地址分配界面

模块命令字节:CP243-1模块需要占用一个QB字节,该字节的地址不能任意填写,需要进行计算(如果通过自动读取模块位置的方式则会自动计算)。计算的规则就是从CPU本体的输出字节开始计算,依次排列到CP243-1的模块位置即可;

对等链接:组态CP243-1进行S7连接的连接数量的设置,通过S7连接可以与通信伙伴进行读写数据操作。

1

图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。点击数据传输按钮进入数据交换的定义。

1

图6 连接设置

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

1 1

图7 定义数据传输

选择CRC校验,使用缺省的时间间隔30秒,点击下一步按钮。

1

图8 使用CRC

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

1

图9配置存储区

S7-200侧编程

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

图10 S7-200程序段1

图11 S7-200程序段2

以上描述,可参考例程:

S7-200 客户端以太网轮询例程

S7-200 SMART作为服务器,不需要额外做通讯编程,此处不增加例程,只需注意S7-200 SMART CPU的IP设置为192.168.0.61。

S7-200 SMART的组态

S7-200 SMART 做服务器不用编写任何程序。

图12 设置IP地址

监控结果

 

免责声明

本例程仅供参考,程序中的CPU版本、类型可能与用户实际使用不同,用户可能需要先对例子程序做修改和调整,才能将其用于测试。本例程的作者和拥有者对于该例程的功能性和兼容性不负任何责任,使用该例程的风险完全由用户自行承担。由于它是免费的,所以不提供任何担保,错误纠正和热线支持,用户不必为此联系西门子技术支持与服务部门。

 

 

参考链接

S7-200的以太网通信