首页 历史故事S7-1200和S7-200PLC通信优化方案

S7-1200和S7-200PLC通信优化方案

【摘要】:S7-1200 PLC与S7-200 PLC之间的通信只能通过S7通信来实现,因为S7-200 PLC的以太网模块只支持S7通信。主要编程工作都在S7-200 PLC一侧完成,需要将S7-200 PLC的以太网模块设置成客户端,并用ETHx_XFR指令编程通信。输入通信伙伴S7-1200 PLC的IP地址为“192.168.0.2”。下载S7-200 PLC及S7-1200 PLC的所有组态及程序,并监控通信结果。在S7-200 PLC中,将“5”、“6”写入VB200、VB201,则在S7-1200 PLC的DB3中收到的数据也为“5”、“6”。

S7-1200 PLC与S7-200 PLC之间的通信只能通过S7通信来实现,因为S7-200 PLC的以太网模块只支持S7通信。由于S7-1200 PLC的PROFINET通信接口只支持S7通信的服务器端,所以在编程方面,S7-1200 PLC不用做任何工作,只需为S7-1200 PLC配置好以太网地址并下载下去。主要编程工作都在S7-200 PLC一侧完成,需要将S7-200 PLC的以太网模块设置成客户端,并用ETHx_XFR指令编程通信。

下面通过简单的例子演示S7-1200 PLC与S7-200 PLC的以太网通信。要求:S7-200 PLC将通信数据区VB中的2 B发送到S7-1200 PLC的DB2数据区,S7-200 PLC读取S7-1200 PLC中的输入数据IB0到S7-200 PLC的输出区QB0。

组态步骤如下:

1)打开STEP 7 Micro/WIN软件,创建一个新项目,选择所使用CPU的型号。

2)通过菜单命令“工具”→“以太网向导”进入S7-200 PLC以太网模块CP243-1的向导配置,如图8-16所示。可以直接输入模板位置,也可以通过单击“读取模块”按钮读出模板位置。

978-7-111-34922-8-Chapter08-18.jpg

图8-16 以太网向导

3)单击“下一步”按钮,设置IP地址为192.168.0.2,选择“自动检测通信”连接类型,如图8-17所示。

978-7-111-34922-8-Chapter08-19.jpg

图8-17 设置IP地址

4)单击“下一步”按钮,进入连接数设置界面,如图8-18所示,根据CP243-1模块位置确定所占用的Q地址字节,并设置连接数为1。

978-7-111-34922-8-Chapter08-20.jpg

图8-18 设置占用输出地址及网络连接数

5)单击“下一步”按钮,进入客户端定义界面,如图8-19所示。设置“连接0”为客户机连接,表示将CP243-1定义为客户端。设置远程TSAP地址为03.01或03.00。输入通信伙伴S7-1200 PLC的IP地址为“192.168.0.2”。单击“数据传输”按钮可以定义数据传输,如图8-20所示。

978-7-111-34922-8-Chapter08-21.jpg

图8-19 定义客户端

978-7-111-34922-8-Chapter08-22.jpg

图8-20 定义数据传输

a)设置数据传输0 b)设置数据传输1

6)在图8-20a中,在“数据传输0”中选择“从远程服务器连接读取数据”,定义要读取的字节长度为2,设置将S7-1200 PLC的DB2.DBB0~DB2.DBB1的数据读取到本地S7-200 PLC的VB100~VB101中。单击“下一个传输”按钮,在“数据传输1”中选择“将数据写入远程服务器连接”,定义要写入的字节长度为2,设置将本地S7-200 PLC的VB200~VB201的数据写到对方S7-1200 PLC的DB3.DBB0~DB3.DBB1中。

7)单击“确认”按钮进入选择CRC保护界面,如图8-21所示,选中是,为数据块中的此配置生成CRC保护。

978-7-111-34922-8-Chapter08-23.jpg

图8-21 选择CRC保护

8)单击“下一步”按钮,进入为配置分配存储区界面,如图8-22所示。根据以态网的配置,需要一个V存储区,可以指定一个未用过的V存储区的起始地址,此处可以使用建议地址。单击“下一步”按钮,生成以太网用户子程序。

978-7-111-34922-8-Chapter08-24.jpg

图8-22 分配存储区

9)调用向导生成的子程序,实现数据传输。对于S7-200 PLC的同一个连接的多个数据传输,不能同时激活,必须分时调用。图8-23所示程序就是用前一个数据传输的完成位去激活下一个数据传输,其含义见注释。

978-7-111-34922-8-Chapter08-25.jpg

图8-23 例子程序

978-7-111-34922-8-Chapter08-26.jpg

图8-23 例子程序(续)

10)监控通信数据结果。配置S7-1200的硬件组态,创建通信数据区DB2、DB3(必须选择绝对寻址,即取消“仅符号访问”项)。下载S7-200 PLC及S7-1200 PLC的所有组态及程序,并监控通信结果。可以看到,在S7-1200 PLC中向DB2中写入数据“3”、“4”,则在S7-200的VB100、VB101中读取到的数据也为“3”、“4”。在S7-200 PLC中,将“5”、“6”写入VB200、VB201,则在S7-1200 PLC的DB3中收到的数据也为“5”、“6”。

注意:使用单边的S7通信,S7-1200 PLC不需要做任何组态编程,但在创建通信数据区DB块时,一定要选择绝对寻址,才能保证通信成功。