1、西门子S71200与S7300 PLC的以太网TCP ISO on TCP通信1.概述1.1 S7-1200 的PROFINET 通信口S7-1200 CPU 本体上集成了一个 PROFINET 通信口,支持以太网和基于 TCP/IP 的通信标准。使用这个通信口可以实现 S7-1200 CPU 与编程设备的通信,与触摸屏的通信,以及与其它 CPU 之间的通信。这个PROFINET 物理接口是支持10/100Mb/s的 RJ45口,支持电缆交叉自适应,因此一个标准的或是交叉的以太网线都可以用于这个接口。1.2 S7-1200支持的协议和最大的连接资源S7-1200 CPU 的PROFINET 通
2、信口支持以下通信协议及服务 TCP ISO on TCP ( RCF 1006 ) S7 通信 (服务器端)通信口所支持的最大通信连接数S7-1200 CPU PROFINET 通信口所支持的最大通信连接数如下: 3个连接用于HMI (触摸屏) 与 CPU 的通信 1个连接用于编程设备(PG)与 CPU 的通信 8个连接用于Open IE ( TCP, ISO on TCP) 的编程通信,使用T-block 指令来实现 3个连接用于S7 通信的服务器端连接,可以实现与S7-200,S7-300以及 S7-400 的以太网S7 通信S7-1200 CPU可以同时支持以上15个通信连接,这些连接数
3、是固定不变的,不能自定义。TCP(Transport Connection Protocol)TCP是由 RFC 793描述的标准协议,可以在通信对象间建立稳定、安全的服务连接。如果数据用TCP协议来传输,传输的形式是数据流,没有传输长度及信息帧的起始、结束信息。在以数据流的方式传输时接收方不知道一 条信息的结束和下一条信息的开始。因此,发送方必须确定信息的结构让接收方能够识别 。在多数情况下TCP应用了IP (Internet protocol) ,也就是“TCP/IP 协议”, 它位于 ISO-OSI 参考模型的第四层。协议的特点: 与硬件绑定的高效通信协议 适合传输中等到大量的数据 (
4、“ PLC_1”“Program blocks”“Main”主程序中,从右侧窗口“Instructions” “Extended Instructions”“Communications”下调用“TSEND_C”指令,并选择“Single Instance”生成背景 DB块。然后单击指令块下方的“下箭头”,使指令展开显示所有接口参数。然后,创建并定义发送数据区 DB 块。通过“Project tree”“ PLC_1” “Program blocks” “Add new block” ,选择 “Data block”创建 DB 块,选择绝对寻址,点击“OK”键,定义发送数据区为 100个字节的
5、数组。根据所使用的参数创建符号表,如图1所示。配置连接参数,如图2所示。配置块接口参数,如图3所示。图1 创建所使用参数的符号表图PLC tag图2 配置连接参数图3 配置 TSEND_C 块参数 调用“TRCV”通信指令并配置块参数如图6 47所示。因为与发送使用的是同一连接,所以使用的是不带连接的发送指令“TRCV”,连接“ID”使用的也是“TSEND_C”中的“Connection ID”号,如图4所示。图4 配置 T_RCV 块参数2.2 S7-300 CPU 的ISO on TCP通信的组态编程 使用STEP 7 软件新建一个项目并进行硬件组态创建完新项目,在项目的窗口下,右键菜单里
6、,选择“Insert New Object”“SIMATIC 300 Station” ,插入一个S7-300 站。为了编程方便,我们使用时钟脉冲激活通信任务,在CPU的“Properties”“Cycle/Clock Memory”中设置,如图5所示。图5 设置时钟脉冲每一个时钟位都按照不同的周期频率在和之间切换变化,见表1。表1:时钟位频率位周期(S)201. Jun10.80.50.40.20.1频率(Hz)0.50.6251Jan 25202. Mai510 配置以太网模块进入“HW Config”中,组态所使用的 CPU 及“CP343-1”模板。并新建以态网 Ethernet (1
7、) ,配置“CP343-1”模板IP 地址为:192.168.0.2,子网掩码为: 255.255.255.0 。如图6所示。配置完硬件组态及属性,编译存盘并下载所有硬件组态。图6 S7-300 硬件配置 网络组态打开 “NetPro” 配置网络,选中 CPU,在连接列表里建立新的连接并选择连接对象和通信协议,如图7所示。图7 创建新的连接并选择 ISO-on-TCP 协议这时会跳出通用信息,如图8所示。图8 通用信息然后,进入“Addresses”配置通信双方的IP 地址及TSAP 地址,如图9所示。图9 配置通信的IP 地址及TSAP 地址配置完连接并编译存盘后,将网络组态下载到CPU30
8、0中。 软件编程在OB1中,从“Libraries”“SIMATIC_NET_CP”“CP300”下,调用FC5(AG_SEND)、FC6(AG_RECV)通信指令。创建接收数据区为 DB2,定义成100个字节的数组。CALL “ AG_RECV” /调用FC6ID :=1 / 连接号,要与连接配置列表中一致,见图8LADDR :=W#16#100 /CP的地址,要与配置中一致,见图8RECV :=P#DB2.DBX 0.0 BYTE 100 /接收数据区NDR :=M10.0 /为1时,接收到新数据ERROR :=M10.1 /为1时,有故障发生STATUS :=MW12 /状态代码LEN
9、:=MW14 /接收到的实际数据长度CALL “AG_SEND” /调用FC5ACT :=M0.2 /为时,激活发送任务ID :=1 / 连接号,要与连接配置中一致LADDR :=W#16#100 /CP的地址,要与配置中一致SEND :=IB0 /发送数据区LEN :=1 /发送数据的长度DONE :=M10.2 /为1时,发送完成ERROR :=M10.3 /为1时,有故障发生STATUS :=MW16 /状态代码2.3 监控通信结果下载S7-1200和S7-300中的所有组态及程序,监控通信结果,如图10、图11所示。在S7-1200 CPU中向DB3中写入数据:“11”、“22”、“3
10、3”,则在S7-300中的DB2块收到数据也为“11”、“22”、“33”。在S7-300 CPU中,将“2#1111_1111”写入IB0,则在S7-1200 CPU中QB0中收到的数据也为“2#1111_1111”。图10 S7-1200监控表图11 S7-300 变量表3. TCP 通信使用TCP 协议通信,除了连接参数的定义不同,通信双方的其它组态及编程与前面的ISO on TCP 协议通信完全相同。S7-1200 CPU中,使用 TCP 协议与S7-300通信时,PLC_1的连接参数,如图12所示。通信伙伴 S7-300 的连接参数,如图13所示。图12 S7-1200 的TCP连接
11、参数的配置图13 S7-300 的TCP连接参数的配置1.概述1.1 S7-1200 的PROFINET 通信口S7-1200 CPU 本体上集成了一个 PROFINET 通信口,支持以太网和基于 TCP/IP 的通信标准。使用这个通信口可以实现 S7-1200 CPU 与编程设备的通信,与hmi触摸屏的通信,以及与其它 CPU 之间的通信。这个PROFINET 物理接口是支持10/100Mb/s的 RJ45口,支持电缆交叉自适应,因此一个标准的或是交叉的以太网线都可以用于这个接口。1.2 S7-1200支持的协议和最大的连接资源S7-1200 CPU 的PROFINET 通信口支持以下通信协
12、议及服务 TCP ISO on TCP ( RCF 1006 ) S7 通信 (服务器端)通信口所支持的最大通信连接数S7-1200 CPU PROFINET 通信口所支持的最大通信连接数如下: 3个连接用于HMI (触摸屏) 与 CPU 的通信 1个连接用于编程设备(PG)与 CPU 的通信 8个连接用于Open IE ( TCP, ISO on TCP) 的编程通信,使用T-block 指令来实现 3个连接用于S7 通信的服务器端连接,可以实现与S7-200,S7-300以及 S7-400 的以太网S7 通信S7-1200 CPU可以同时支持以上15个通信连接,这些连接数是固定不变的,不能
13、自定义。TCP(Transport Connection Protocol)TCP是由 RFC 793描述的标准协议,可以在通信对象间建立稳定、安全的服务连接。如果数据用TCP协议来传输,传输的形式是数据流,没有传输长度及信息帧的起始、结束信息。在以数据流的方式传输时接收方不知道一 条信息的结束和下一条信息的开始。因此,发送方必须确定信息的结构让接收方能够识别 。在多数情况下TCP应用了IP (Internet protocol) ,也就是“TCP/IP 协议”, 它位于 ISO-OSI 参考模型的第四层。协议的特点: 与硬件绑定的高效通信协议 适合传输中等到大量的数据 ( “ PLC_1”“
14、Program blocks”“Main”主程序中,从右侧窗口“Instructions” “Extended Instructions”“Communications”下调用“TSEND_C”指令,并选择“Single Instance”生成背景 DB块。然后单击指令块下方的“下箭头”,使指令展开显示所有接口参数。然后,创建并定义发送数据区 DB 块。通过“Project tree”“ PLC_1” “Program blocks” “Add new block” ,选择 “Data block”创建 DB 块,选择绝对寻址,点击“OK”键,定义发送数据区为 100个字节的数组。根据所使用的
15、参数创建符号表,如图1所示。配置连接参数,如图2所示。配置块接口参数,如图3所示。图1 创建所使用参数的符号表图PLC tag图2 配置连接参数图3 配置 TSEND_C 块参数 调用“TRCV”通信指令并配置块参数如图6 47所示。因为与发送使用的是同一连接,所以使用的是不带连接的发送指令“TRCV”,连接“ID”使用的也是“TSEND_C”中的“Connection ID”号,如图4所示。图4 配置 T_RCV 块参数2.2 S7-300 CPU 的ISO on TCP通信的组态编程 使用STEP 7 软件新建一个项目并进行硬件组态创建完新项目,在项目的窗口下,右键菜单里,选择“Inser
16、t New Object”“SIMATIC 300 Station” ,插入一个S7-300 站。为了编程方便,我们使用时钟脉冲激活通信任务,在CPU的“Properties”“Cycle/Clock Memory”中设置,如图5所示。图5 设置时钟脉冲每一个时钟位都按照不同的周期频率在和之间切换变化,见表1。表1:时钟位频率位周期(S)201. Jun10.80.50.40.20.1频率(Hz)0.50.6251Jan 25202. Mai510 配置以太网模块进入“HW Config”中,组态所使用的 CPU 及“CP343-1”模板。并新建以态网 Ethernet (1) ,配置“CP343-1”模板IP 地址为:192.168.0.2,子网掩码为: 255.255.255.0 。如图6所示。配置完硬件组态及属性,编译存盘并下载所有硬件组态。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1