S7200 以太网通信.docx
《S7200 以太网通信.docx》由会员分享,可在线阅读,更多相关《S7200 以太网通信.docx(13页珍藏版)》请在冰点文库上搜索。
S7200以太网通信
S7-200以太网通信主要有以下3种方式:
★S7-200之间的以太网通信
★S7-200与S7-300/400之间的以太网通信
★S7-200与OPC及WINCC的以太网通信
这个S7-200以太网通信系列文章共三篇,分别介绍以上三种通信方式。
文章步骤详细并配有插图,详细看完这三篇文章后将对S7-200的以太网通信有新的认识,有条件的也可以按文章说的步骤编写程序。
一、S7-200之间的以太网通信
S7-200可以通过CP243-1或CP243_1IT接入工业以太网。
S7-200之间的以太网通信,S7-200既可以做为Server(服务器)端,也可以做为Client(客户端)。
1、S7-200做为Server端
S7-200做为Server端时,只响应Client端的数据请求,不需要编程,只要组态CP243-1就可以了。
(1)选择“工具”菜单下的“以太网向导...”。
图1
(2)打开“以太网向导”,简单介绍CP243-1及以太网的有关信息,点击“下一步”。
图2
(3)设置CP243-1模块的位置,如不能确定,可以点击“读取模块”由软件自动探测模块的位置,点击“下一步”。
图3
(4)设定CP243-1模块的IP地址和子网掩码,并指定模块连接的类型(本例选为自动检测通讯),点击“下一步”。
图4
(5)确定PLC为CP243-1分布的输出口的起始字节地址(一般使用缺省值即可)和连接数据数,点击“下一步”。
图5
(6)设置本机为服务器,并设置客户机的地址和TSAP。
TSAP:
由两个字节构成,第一个字节定义了连接数,其中:
●LocalTSAP范围:
16#01,16#10~16#FE
●RemoteTSAP范围:
16#01,16#03,16#10~16#FE
第二个字节定义了机架号和CP槽号。
如果只有一个连接,可以指定对方的地址,否则可以选中接受所有的连接请求。
“保持活动”功能是CP243-1以设定的时间间隔来探测通信的状态,此时间的设定在下步设定。
图6
(7)选择是否需要CRC保护,如选择了此功能,则CP243-1在每次系统重启时,就校验S7-200中的组态信息看是否被修改,如被改过,则停止启动,并重新设置IP地址。
“保持活动间隔”即是上步中的探测通信状态的时间间隔。
图7
(8)选定CP243-1组态信息的存放地址,此地址区在用户程序中不可再用。
图8
(9)至此,S7-200服务器端的以太网通信已经组态完毕,如下图,给出了组态后的信息。
点击“完成”保存组态信息。
图9
(10)在程序调用子程序“ETH0_CTRL”。
参数说明:
ETH0_CTRL为初始化和控制子程序,在开始时执行以太网模块检查。
应当在每次扫描开始调用该子程序,且每个模块仅限使用一次该子程序。
每次CPU更改为RUN(运行)时,该指令命令CP243-1以太网模块检查V组态数据区是否存在新配置。
如果配置不同或CRC保护被禁用,则用新配置重设模块。
当以太网模块准备从其他指令接收命令时,CP_Ready置1。
Ch_Ready的每一位对应一个指定,显示该通道的连接状态。
例如,当通道0建立连接后,位0置1。
Error(错误)包含模块通信状态。
图10
2、S7-200做为Client端
S7-200做Client端时,组态步骤前5步同S7-200做Server时,注意在第4步中客户端的地址要设192.168.147.2。
(1)~(5)步同Server端时的步骤。
(6)选择本机为客户机,并设定服务器的地址和TSAP。
由于客户机需要组态发送或接收服务器的数据,点击“数据传输”按钮。
图11
(7)在弹出的画面中点击“新传输”。
图12
(8)选择客户机是接收还是发送数据到服务器及接收和发送的数据区,如有多个数据传输(最多32个,0~31),可按“新传输”按钮定义新的数据传输。
图13
(9)选择是否有CRC保护及保持活动的间隔时间。
图14
(10)选择CP243-1组态信息的存放地址。
图15
(11)CP243-1Client端的组态完成,结果如下:
其中:
ETH0_CTRL为初始化和控制子程序,ETCH0_XFR为数据发送和接收子程序。
图16
(12)服务器端和客户端组态完毕后,分别把组态信息下载到PLC中,在客户端就可以利用子程序ETH0_XFR来向服务器发送数据或从服务器接收数据了.在客户端,程序中调用以太网子程序如下:
图17
子程序参数说明如下:
START:
=1时触发数据交换;
Chan_ID:
连接号(0~7),也可输入连接名称(如本例中的Connection00_1);
Data:
数据传输号(0~31),也可输入数据传输的名称(如本例中的
Peermessage00_1);
Error:
通信状态(可查看通信的错误信息)。