S7-200和S7-300的以太网通信

S7-200 PLC本体没有以太网口,需要通过以太网模块CP243-1来扩展以太网通信,且一个S7-200PLC只能扩展一个CP243-1。CP243-1不是即插即用模块,需要通过其他方式对S7-200下载一个包含以太网向导的项目文件才可以使用。
通过以太网向导,最多8个以太网S7控制器通信,每个连接既可以是服务器连接也可以是客户机连接。除此之外,CP243-1还可以同时支持一个STEP 7-Micro/WIN的编程连接。
一个客户端(Client)可以包含1-32个数据传输操作,一个读写操作最多可以传输212个字节。如果CP243-1作为服务器运行,每个读操作可以传送222个字节。

S7-200 可以通过 CP243-1 作为服务器端和客户端建立 S7 连接,这意味着以下可能:
1. 在 S7-200 中配置一个客户端,因此S7-200将主动激活与远程服务器的 S7 连接。
2. 在S7-200中配置服务器连接,因此S7-200可被动的响应建立好的S7连接,远程的客户端将与S7-200建立连接,S7-200作为服务器提供数据。

系列视频:S7-200跟我学/跟我做

S7-200CN: 使用向导配置客户机-跟我学 - 178/185:https://www.ad.siemens.com.cn/service/elearning/cn/CourseV2.aspx?CourseID=427

S7-200CN: 使用向导配置客户机-跟我做 - 179/185: https://www.ad.siemens.com.cn/service/elearning/cn/CourseV2.aspx?CourseID=428

S7-200CN: 客户机程序的编写-跟我学 - 182/185: https://www.ad.siemens.com.cn/service/elearning/cn/CourseV2.aspx?CourseID=431

S7-200CN: 客户机程序的编写-跟我做 - 183/185: https://www.ad.siemens.com.cn/service/elearning/cn/CourseV2.aspx?CourseID=432

S7-200作为客户机

可以把S7-200的以太网模块CP243-1配置为CLIENT,使用STEP 7 Micro/WIN中的向导进行通信的配置即可。在命令菜单中选择工具--以太网向导。


图1 打开以太网向导
第一步是对以太网通信的描述,点击下一步开始以太网配置。


图2 向导介绍
在此处选择模块的位置,CPU后的第一个模块位置为0,往后依次类推;或者在线的情况下,点击读取模块搜寻CP243-1模块(在线读取将该模块的命令字节载入模块命令字节向导屏幕)。点击下一步;


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


图4 模块版本选择
在此处填写IP地址和子网掩码。点击下一步;


图5 地址设置
下面的对话框将组态CP243-1进行S7连接的连接数量的设置,通过S7连接可以与通信伙伴进行读写数据操作。点击“下一步”按钮继续进行S7连接组态。


图6 模块占用地址设置
选择此为客户机连接,远程属性TSAP (Transport Service Access Point)填写为03.02,输入S7-300侧的IP地址。点击数据传输按钮进入数据交换的定义。
注意:如果连接远程对象是 S7-300,TSAP为03.02;如果连接远程对象是 S7-400,TSAP为03.0x,其中x为CPU模块的槽位,可以从S7-400 站的硬件组态中找出PLC的槽号。


图7 连接设置
选择"数据传输"标记,并单击"新传输"按钮,进行配置:选择是读取数据还是写入数据,填写通讯数据的字节个数,填写发送数据区和接收数据区的起始地址。
本例中为从S7-300的MB200开始读取8个字节到VB1000开始的8个字节的区域中;从S7-200的VB2000开始的8个字节写到S7-300的QB0开始的8个字节的区域中,点击确认按钮:
注意: 本地PLC中的地址必须是V内存字节地址,远程对象中的地址必须代表字节地址。当您为S7-300/ S7-400设备输入远程地址时,若是数据块请使用DBx.DBBy格式。


图8 数据区域设置
选择CRC校验,使用缺省的时间间隔30秒,点击下一步按钮。


图9 使用CRC
填写模块所占用的V存储区的起始地址。你也可以通过“建议地址”按钮来获得系统建议的V存储区的起始地址, 点击下一步按钮。


图10 配置存储区

S7-200 CPU 编程通信

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


图11 S7-200程序段1


图12 S7-200程序段2


图13 S7-200程序段3

如果通信未建立成功,可以对应查询子程序的错误代码。