水电电工知识
电工知识|西门子S7-1200与S7-300 PLC的以太网TCP 及ISO on TCP通信
2017-01-10  浏览:25
水电之家讯: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所示。

图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 软件新建一个项目并进行硬件组态

创建完新项目,在项目的窗口下,右键菜单里,选择“Insert New Object”>“SIMATIC 300 Station” ,插入一个S7-300 站。

为了编程方便,我们使用时钟脉冲激活通信任务,在CPU的“Properties”>“Cycle/Clock Memory”中设置,如图5所示。

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

表1:时钟位频率 位76543210周期(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所示。配置完硬件组态及属性,编译存盘并下载所有硬件组态。

图6 S7-300 硬件配置 ③ 网络组态

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

图7 创建新的连接并选择 ISO-on-TCP 协议 这时会跳出通用信息,如图8所示。

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

图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”。

图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连接参数的配置

图13 S7-300 的TCP连接参数的配置

水电之家为您提供最全面的管材,管件,水电,电线,电工,管材水电品牌的装修知识点和各种管材水电的导购与在线购买服务,拥有最便宜的管材水电价格和最优质的售后服务,每天都有秒杀的抢购活动哦!敬请登陆水电之家:http://shuidian.jc68.com/
更多»您可能感兴趣的文章:
更多»有关 水电之家 的产品:
  • 水电电工资讯
  • 发表评论 | 0评
  • 评论登陆
  • 移动社区 天花之家 木门之家 灯具之家 铁艺之家 幕墙之家 五金头条 楼梯头条 墙纸头条 壁纸头条 玻璃头条 老姚之家 灯饰之家 电气之家 全景头条 照明之家 防水之家 防盗之家 区快洞察 建材 枣庄建材 临沂建材 南昌建材 上饶建材 抚州建材 宜春建材 吉安建材 赣州建材 鹰潭建材 新余建材 九江建材 萍乡建材 景德镇陶瓷 石家庄建材 衡水建材 廊坊建材 沧州建材 承德建材 建材之家 企业之家 720全景
    (c)2015-2017 Bybc.cn SYSTEM All Rights Reserved