工业以太网的通信主要利用第2层(ISO)和第4层(TCP)的协议。以下是西门子以太网的几种通信方式。
(1)ISOTransport(ISO传输协议)
ISO传输协议支持基于ISO的发送和接收,使得设备(例如SIMATIC S5或PC)在工业以太网上的通信非常容易,该服务支持大数据量的数据传输(最大8 KB)。ISO数据接收由通信方确认,通过功能块可以看到确认信息。用于SIMATIC S5和SIMATIC S7的工业以太网连接。
(2)ISO-on-TCP
ISO-on-TCP支持第4层TCP/IP协议的开放数据通信。用于支持SIMATIC S7和PC以及非西门子支持的TCP/IP以太网系统。ISO-on-TCP符合TCP/IP,但相对于标准的TCP/IP,还附加了RFC 1006协议,RFC 1006是一个标准协议,该协议描述了如何将ISO映射到TCP上去。
(3)UDP
UDP(User Datagram Protocol,用户数据报协议)属于第4层协议,提供了S5兼容通信协议,适用于简单的交叉网络数据传输,没有数据确认报文,不检测数据传输的正确性。
(4)TCP/IP
TCP/IP中传输控制协议,由网络层的IP协议和传输层的TCP协议组成。TCP/IP定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。TCP支持面向TCP/IP的Socket。
TCP支持给予TCP/IP的发送和接收,使得设备(例如PC或非西门子设备)在工业以太网上的通信非常容易。该协议支持大数据量的数据传输(最大8KB),数据可以通过工业以太网或TCP/IP网络(拨号网络或因特网)传输。通过TCP,SIMATIC S7可以建立TCP连接来发送/接收数据。
2.S7通信
S7通信(S7 Communication)集成在每一个SIMATIC S7/M7和C7的系统中,属于OSI参考模型第7层应用层的协议,它独立于各个网络,可以应用于多种网络(MPI、PROFI⁃BUS、工业以太网)。S7通信通过不断地重复接收数据来保证网络报文的正确。在SIMATIC S7中,通过组态建立S7连接来实现S7通信。在PC上,S7通信需要通过SAPI-S7接口函数或OPC(过程控制用对象链接与嵌入)来实现。
3.实例
以下用两台S7-300 PLC的以太网通信为例,介绍S7-300 PLC之间的以太网通信。
【例4-15】有两台设备,分别由一台CPU 314C-2DP控制,要求从设备1上的CPU314C-2DP的MB10发出1个字节到设备2的CPU314C-2DP的MB10,对从设备2上的CPU314C-2DP的MB20发出1个字节到设备1的CPU314C-2DP的MB20。
【解】
S7-300 PLC之间的组态可以采用很多连接方式,如TCP/IP、ISO-on-TCP和S7 Com⁃munication等,以下仅介绍TCP/IP连接方式。
(1)软硬件配置
S7-300 PLC之间的以太网通信硬件配置如图4-180所示,本例用到的软硬件如下:
图4-180 S7-300间的以太网通信硬件配置图
①2台CPU 314C-2DP。
②2台CP343-1以太网模块。
③1根PC/MPI适配器(USB口)。
④1台个人计算机(含网卡)。
⑤1台8口交换机。
⑦1套STEP 7 V5.5 SP2。
(2)硬件组态
1)新建工程。新建工程,命名为“Enet TCP”,再插入两个站分别是CLIENT和SERV⁃ER,每个站点上,配置一台CP343-1以太网通信模块,如图4-181所示。
图4-181 新建工程
【关键点】西门子工业以太网通信中,客户端(CLIENT)是主控站,实际是主站,服务器端(SERVER)是被控站,实际是从站。
2)组态以太网。双击“硬件”,弹出如图4-182所示界面,选中“CP 343-1”的“PN-IO”,并双击之,弹出如图4-183所示界面,单击“属性”按钮,弹出如图4-184所示界面。
3)新建网络。单击“新建”按钮,弹出如图4-184所示界面,单击“确定”按钮,弹出如图4-185所示界面,再单击“确定”按钮。
图4-182 组态以太网(1)
图4-183 组态以太网(2)
图4-184 新建以太网(1)
图4-185 新建以太网(2)
4)设置网络参数。如图4-186所示,先选中“Ethernet(1)”,再在“IP地址”中设置“192.168.0.1”,在“子网掩码”中设置“255.255.255.0”,单击“确定”按钮。(www.xing528.com)
图4-186 设置网络参数
5)采用同样的方法,配置第二个以太网模块的参数,不同之处在于,将“IP地址”设置成“192.168.0.2”。
【关键点】同一个网络中,IP地址是唯一的,绝对不允许重复。
6)打开网络连接。返回管理界面,如图4-187所示,先选中“Ethernet(1)”,再双击“Ethernet(1)”,弹出如图4-188所示界面。
7)组态以太网连接。如图4-188所示,先选中客户端的“1”处,单击鼠标右键,弹出快捷菜单,再单击“插入新连接”,弹出如图4-189所示界面。
【关键点】若一个PLC中选择了“插入新连接”选项,另一PLC则不必激活此项,必须有一台PLC选择此选项,以便在通信初始化中起到主动连接的作用。
8)添加一个TCP连接。如图4-189所示,先选中“CPU 314C-2DP”,然后选择“TCP连接”,然后单击“应用”按钮,弹出如图4-190所示界面。
图4-187 打开网络连接界面
图4-188 组态以太网连接
图4-189 添加一个TCP连接
9)设置网络连接参数。如图4-190所示,先选择“激活连接”,再单击“确定”按钮。
图4-190 设置网络连接参数
在如图4-191中的“地址”选项卡中可以看到通信双方的IP地址,占用的端口号可以自己设置,也可以使用默认值,如2001。编译后存盘,至此硬件组态完成。
图4-191 设置TCP/IP端口
【关键点】图4-190中的ID是组态时的连接号,LADDR是模块硬件组态地址,地址相同才能通信,在编程时要用到。
(3)相关指令简介
AG_SEND块将数据传送给以太网CP,用于在一个已组态的ISO传输连接上进行传输。所选择的数据区可以是一个位存储器区或一个数据块区。当可以在以太网上发送整个用户数据区时,指示无错执行该功能。AG_SEND的各项参数见表4-28。
表4-28 AG_SEND(FC5)指令格式
AG_RECV功能(FC)接收从以太网CP在已组态的连接上传送的数据。为数据接收指定的数据区可以是一个位存储区或一个数据块区。当可以从以太网CP上接收数据时,指示无错执行该功能。AG_RECV的各项参数见表4-29。
(4)编写程序
在编写程序时,双方都需要编写发送AG_SEND(FC5)指令和接收AG_RECV(FC6)指令,客户端(IP地址为192.168.0.1)的梯形图如图4-192~图4-194所示。
表4-29 AG_RECV指令格式
图4-192 客户端OB100中的梯形图
图4-193 客户端OB1中的梯形图
图4-194 客户端OB35中的梯形图
服务器端(IP地址为192.168.0.2)中的梯形图程序如图4-195~图4-197所示。
图4-195 服务器端OB100中的梯形图
图4-196 服务器端OB1中的梯形图
图4-197 服务器端OB35中的梯形图
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。