西门子S7-1200与S7-300 PLC的以太网TCP 及ISO on TCP通信

时间:2023-03-18作者:佚名

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 通信口支持以下通信协议及服务
• 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个通信连接,这些连接数是固定不变的,不能自定义。

TCP(Transport Connection Protocol)
TCP是由 RFC 793描述的标准协议,可以在通信对象间建立稳定、安全的服务连接。如果数据用TCP协议来传输,传输的形式是数据流,没有传输长度及信息帧的起始、结束信息。在以数据流的方式传输时接收方不知道一 条信息的结束和下一条信息的开始。因此,发送方必须确定信息的结构让接收方能够识别 。在多数情况下TCP应用了IP (Internet protocol) ,也就是“TCP/IP 协议”, 它位于 ISO-OSI 参考模型的第四层。
协议的特点:
• 与硬件绑定的高效通信协议
• 适合传输中等到大量的数据 (<=8192 bytes)
• 为大多数设备应用提供
– 错误恢复
– 流控制
– 可靠性
• 一个基于连接的协议
• 可以灵活的与支持TCP协议的第三方设备通信
• 具有路由兼容性
• 只可使用静态数据长度
• 有确认机制
• 使用端口号进行应用寻址
• 大多数应用协议,如TELNET、FTP都使用TCP
• 使用 SEND/RECEIVE 编程接口进行数据管理需要编程来实现

1.3 硬件需求和软件需求
硬件:
① S7-1200 CPU
② S7-300 CPU CP343-1(支持S7 Client)
③ PC(带以太网卡)
④ TP以太网电缆
软件:
① STEP 7 Basic V10.5
② STEP 7 V5.4

2. ISO on TCP 通信
S7-1200 CPU 与S7-300/400 之间通过ISO on TCP 通信,需要在双方都建立连接,连接对象选择“Unspecified”。
所完成的通信任务为:
① S7-1200将DB3里的100个字节发送到S7-300的DB2中
② S7-300将输入数据IB0发送给S7-1200的输出数据区QB0。

2.1 S7-1200 CPU 的组态编程
组态编程过程与 S7-1200 CPU 之间的通信基本相似 (见 6.3 ),这里简单描述一下步骤:
① 使用STEP 7 Basic V10.5 软件新建一个项目
在STEP 7 Basic 的“Portal View”中选择 “Create new project”创建一个新项目
② 添加新设备
然后进入“Project view”,在“Project tree”下双击“Add new device”,在对话框中选择所使用的S7-1200 CPU添加到机架上,命名为 plc_1。
③ 为 PROFINET 通信口分配以太网地址
在“Device View”中点击 CPU 上代表PROFINET 通信口的绿色小方块,在下方会出现PROFINET 接口的属性,在 “Ethernet addresses”下分配IP 地址为 192.168.0.1 ,子网掩码为255.255.255.0。
④ 在 S7-1200 CPU 中调用“TSEND_C”通信指令并配置连接参数和块参数
在主程序中调用发送通信指令,进入“Project tree” > “ 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个字节的数组。
根据所使用的参数创建符号表,如图1所示。
配置连接参数,如图2所示。
配置块接口参数,如图3所示。

西门子S7-1200与S7-300 PLC的以太网TCP 及ISO on TCP通信
图1 创建所使用参数的符号表图PLC tag

西门子S7-1200与S7-300 PLC的以太网TCP 及ISO on TCP通信
图2 配置连接参数

西门子S7-1200与S7-300 PLC的以太网TCP 及ISO on TCP通信
图3 配置 TSEND_C 块参数

⑤ 调用“TRCV”通信指令并配置块参数如图6 47所示。
因为与发送使用的是同一连接,所以使用的是不带连接的发送指令“TRCV”,连接“ID”使用的也是“TSEND_C”中的“Connection ID”号,如图4所示。

西门子S7-1200与S7-300 PLC的以太网TCP 及ISO on TCP通信
图4 配置 T_RCV 块参数

2.2 S7-300 CPU 的ISO on TCP通信的组态编程
① 使用STEP 7 软件新建一个项目并进行硬件组态
创建完新项目,在项目的窗口下,右键菜单里,选择“Insert New Object”>“SIMATIC 300 Station” ,插入一个S7-300 站。
为了编程方便,我们使用时钟脉冲激活通信任务,在CPU的“Properties”>“Cycle/Clock Memory”中设置,如图5所示。

西门子S7-1200与S7-300 PLC的以太网TCP 及ISO on TCP通信
图5 设置时钟脉冲

每一个时钟位都按照不同的周期/频率在0和1之间切换变化,见表1。
表1:时钟位频率

周期(S 2 01. Jun 1 0.8 0.5 0.4 0.2 0.1
频率(Hz 0.5 0.625 1 Jan 25 2 02. Mai 5 10

② 配置以太网模块
进入“HW Config”中,组态所使用的 CPU 及“CP343-1”模板。并新建以态网 Ethernet (1) ,配置“CP343-1”模板IP 地址为:192.168.0.2,子网掩码为: 255.255.255.0 。如图6所示。配置完硬件组态及属性,编译存盘并下载所有硬件组态。

西门子S7-1200与S7-300 PLC的以太网TCP 及ISO on TCP通信
图6 S7-300 硬件配置

③ 网络组态
打开 “NetPro” 配置网络,选中 CPU,在连接列表里建立新的连接并选择连接对象和通信协议,如图7所示。

 西门子S7-1200与S7-300 PLC的以太网TCP 及ISO on TCP通信
图7 创建新的连接并选择 ISO-on-TCP 协议

这时会跳出通用信息,如图8所示。

西门子S7-1200与S7-300 PLC的以太网TCP 及ISO on TCP通信
图8 通用信息

然后,进入“Addresses”配置通信双方的IP 地址及TSAP 地址,如图9所示。

西门子S7-1200与S7-300 PLC的以太网TCP 及ISO on TCP通信
图9 配置通信的IP 地址及TSAP 地址

配置完连接并编译存盘后,将网络组态下载到CPU300中。

④ 软件编程
在OB1中,从“Libraries”>“SIMATIC_NET_CP”>“CP300”下,调用FC5(AG_SEND)、FC6(AG_RECV)通信指令。创建接收数据区为 DB2,定义成100个字节的数组。
CALL “ AG_RECV” //调用FC6
ID :=1 // 连接号,要与连接配置列表中一致,见图8
LADDR :=W#16#100 //CP的地址,要与配置中一致,见图8
RECV :=P#DB2.DBX 0.0 BYTE 100 //接收数据区
NDR :=M10.0 //为1时,接收到新数据
ERROR :=M10.1 //为1时,有故障发生
STATUS :=MW12 //状态代码
LEN :=MW14 //接收到的实际数据长度

CALL “AG_SEND” //调用FC5
ACT :=M0.2 //为1时,激活发送任务
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”、“33”,则在S7-300中的DB2块收到数据也为“11”、“22”、“33”。
在S7-300 CPU中,将“2#1111_1111”写入IB0,则在S7-1200 CPU中QB0中收到的数据也为“2#1111_1111”。

西门子S7-1200与S7-300 PLC的以太网TCP 及ISO on TCP通信
图10 S7-1200监控表

西门子S7-1200与S7-300 PLC的以太网TCP 及ISO on TCP通信
图11 S7-300 变量表

3. TCP 通信
使用TCP 协议通信,除了连接参数的定义不同,通信双方的其它组态及编程与前面的ISO on TCP 协议通信完全相同。
S7-1200 CPU中,使用 TCP 协议与S7-300通信时,PLC_1的连接参数,如图12所示。通信伙伴 S7-300 的连接参数,如图13所示。

西门子S7-1200与S7-300 PLC的以太网TCP 及ISO on TCP通信
图12 S7-1200 的TCP连接参数的配置

西门子S7-1200与S7-300 PLC的以太网TCP 及ISO on TCP通信
图13 S7-300 的TCP连接参数的配置

相关阅读

接地电阻的确定原则

保护接地的原理是限制漏电设备外壳对地电压在安全限值UL以内,即漏电设备对地电压UE=IERE≤UL。各种保护接地电阻就是根据这个原则来确定的。 1. 低压设备接地电阻 在380V不接地低压系...
2023-06-27
接地电阻的确定原则

关于接触器的基本结构部件名称,我来告诉你

接触器不仅能实现远距离自动操作和欠电压释放保护功能,而且具有控制容量大、工作可靠、操作频率高、使用寿命长等优点,因而得到广泛应用。 MYC10(CJ10-100A)交流接触器部件名称...
2023-06-13

配电网过电压保护的几大问题

本文介绍了配电网过电压保护的常见问题,包括输电线路的防雷保护问题,变电所的防雷保护,配电网中的铁磁谐振过电压问题,接地装置的改进和降阻剂的使用等,下面与电工之友小...
2023-06-26
配电网过电压保护的几大问题

变频调速与电动机软启动线路详细介绍,建议收藏

具有遥控设定箱的变频器调速线路 具有遥控设定箱的变频器调速线路如图4-1所示, 它适用于变频器不能就地操作或无法实现集中控制的场合。 图中FR-FK为遥控设定箱。遥控设定箱外接...
2023-07-05
变频调速与电动机软启动线路详细介绍,建议收藏

基于LM317稳压器的单输出电源电路图

该单输出电源基于LM317稳压器,在50 Hz的噪声和纹波抑制方面效率更高一些,并且可以为模拟或数字电路提供低能耗(小于1 A)的电源。能够以 1 A 最大强度(或 1.5 A,取决于 LM317 制造商...
2023-08-25
基于LM317稳压器的单输出电源电路图

热销商品

手术衣一次性防护服打农药防尘实验服参观服加厚透气无纺布隔离衣

手术衣一次性防护服,作为一种重要的医疗防护用品,广泛应用于医院、实验室等场所。它采用加厚透气无纺布制成,具有优良的防尘、防污、防病毒能力,能有效保护医护人员免...
14

欧普照明led灯泡e27/e14大小螺口超亮家用节能灯螺旋暖白光球泡

欧普照明LED灯泡,适用于E27和E14两种常见螺口,是您家用照明的理想选择。这款灯泡采用先进LED技术,亮度超群,瞬间点亮,无需等待,为您提供明亮舒适的光环境。同时,它节能环...
3.59

LED柜内照明灯 AC220V 4W 7W配电箱导轨式 LL10-W 高压柜内照明灯

LED柜内照明灯AC220V 4W/7W配电箱导轨式LL10-W是一款专为高压柜、配电箱等封闭电气设备设计的紧凑型照明产品。采用高效LED光源,功耗低(4W/7W可选),亮度高,寿命长,节能...
7

密封胶条包邮耐磨耐高温耐腐蚀圆柱棒丁晴/氟胶实心硅胶胶条红色

本品采用优质丁腈橡胶(NBR)或氟橡胶(FKM)及实心硅胶材质制成,呈红色圆柱棒状,具备卓越的耐磨、耐高温(-40℃至+200℃以上,氟胶可达250℃)、耐腐蚀性能,适用于酸、碱、油类等...
1

小木锤木锤子实木木榔头圆头木锤实木棰木头锤子木柄锤黄檀手工锤

小木锤采用优质黄檀木精心打造,通体实木结构,质地坚硬、纹理细腻,手感温润舒适。圆头设计兼顾敲击与整形功能,适用于木工、雕刻、家具组装及日常维修等场景。木柄经精...
3.4

网站栏目