前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >S7-1500 CPU之间TCP通讯组态

S7-1500 CPU之间TCP通讯组态

作者头像
科控物联
发布2022-03-29 16:13:22
2.7K0
发布2022-03-29 16:13:22
举报
文章被收录于专栏:科控自动化

S7-1500 CPU之间TCP通讯组态

S7-1500 与 S7-1500 之间的以太网通信可以通过 TCP 或 ISO on TCP 协议来实现,使用的通信指令是在双方 CPU 调用 T-block (TSEND_C, TRCV_C, TCON, TDISCON, TSEN, TRCV) 指令来实现。通信方式为双边通信,因此 TSEND 和 TRCV 必须成对出现。

硬件和软件需求及所完成的通信任务

硬件: ① S7-1500 CPU ② PC (带以太网卡) ③ TP电缆(以太网电缆)

软件: STEP7 V14

所完成的通信任务: ① 将PLC_1 的通信数据区 DB3 块中的 100 个字节的数据发送到 PLC_2 的接收数据区 DB4 块中。 ② 将PLC_2 的通信数据区 DB3 块中的 100 个字节的数据发送到 PLC_1 的接收数据区 DB4 块中。

通信的编程,连接参数及通信参数的配置

1. 打开 STEP7 v14 软件并新建项目 在 STEP7 v14的 “Portal View” 中选择 “Create new project” 创建一个新项目

2. 添加硬件并命名PLC 然后进入 “Project view”,在“Project tree” 下双击 “Add new device”,在对话框中选择所使用的S7-1500 CPU添加到机架上,命名为 PLC_1,如图1.所示。 同样方法再添加通信伙伴的S7-1500 CPU ,命名为 PLC_2。

图1. 添加新设备

为了编程方便,使用 CPU 属性中定义的时钟位,定义方法如下: 在 “Project tree” > “PLC_1” > “Device configuration” 中,选中 CPU ,然后在下面的属性窗口中,“Properties” > “System and clock memory” 下,将系统位定义在MB1,时钟位定义在MB0,如图2.所示。 时钟位我们主要使用 M0.3,它是以2Hz 的速率在0和1之间切换的一个位,可以使用它去自动激活发送任务。

图2. 系统位与时钟位 3. 为 PROFINET 通信口分配以太网地址 在 “Device View”中点击 CPU 上代表PROFINET 通信口的绿色小方块,在下方会出现PROFINET 接口的属性,在 “Ethernet addresses” 下分配IP 地址为 192.168.0.1 ,子网掩码为255.255.255.0,如图3. 所示。

图3. 分配IP 地址

同样方法,在同一个项目里添加另一个新设备S7-1500 CPU 并为其分配 IP 地址为192.168.0.2

4. 创建 CPU之间的逻辑网络连接 在项目树 “Project tree”>“Devices & Networks” >“Networks view” 视图下,创建两个设备的连接。用鼠标点中 PLC_1 上的PROFINET通信口的绿色小方框,然后拖拽出一条线,到另外一个PLC_2 上的PROFINET通信口上,松开鼠标,连接就建立起来了,如图4.所示。

图4. 建立两个 CPU的逻辑连接

5. 创建 CPU之间的TCP连接 创建TCP连接方式有两种方式:使用程序块、使用组态的连接。使用程序块:参见PLC编程方式 使用组态的连接:两种方式 1、在项目树 “Project tree”>“Devices & Networks” >“Networks view” 视图下,创建两个设备的连接。选择连接,下拉列表选择tcp,然后用鼠标点中 PLC_1 上的PROFINET通信口的绿色小方框,然后拖拽出一条线,到另外一个PLC_2 上的PROFINET通信口上,松开鼠标,连接就建立起来了,如图5.所示。

图5. 建立两个 CPU的逻辑连接 2、在项目树 “Project tree”>“Devices & Networks” >“Networks view” 视图下,创建两个设备的连接。选择连接,下拉列表选择tcp,然后用鼠标点中 PLC_1 上右键选择添加新连接如图6,然后在弹出的对话框内选择要连接的PLC,点击添加按钮,如图7所示。通过这种方式建立的连接可以在连接选项内看到已经建立的连接,并且可以更改连接相关参数,如图8所示。用此方式编程中需要注意,选择连接类型时要选择使用组态的连接如图9所示。编程功能块管脚参数,参见PLC编程方式

图6. 建立两个 CPU的逻辑连接

图7. 建立两个 CPU的逻辑连接

图8. 建立两个 CPU的逻辑连接

图9. 建立两个 CPU的逻辑连接

P.S.

西门子PLC有哪些通信方式?

1、串口通信 西门子PLC支持串口通信,在S7-200和S7-200Smart中,都直接集成了串口,但是从S7-1200到S7-1500,慢慢都取消掉了,如果需要,可以通过扩展模块的方式来增加,出现这种现象的原因,其实也是工业发展的必然结果。串口通信的优势在于简单、成本低,但是劣势也非常明显,就是传输效率低。西门子早期的串口通信主要是Profibus DP通信,但是上位机是无法直接与西门子PLC走Profibus DP通信的,因此,西门子PLC常用的串口通信方案如下所示: PPI通信:PPI通信只针对S7-200和S7-200 Smart系列PLC,其他型号不支持。 ModbusRTU Master:西门子PLC对Modbus协议支持还是比较不错的,这里是指PLC做Slave(即从站),上位机做Master(即主站)。 ModbusRTU Slave:这里是指PLC做Master(即主站),上位机做Slave(即从站)。

2、以太网通信 西门子PLC通信还是以太网通信为主,可能很多人都知道西门子主要的两种私有协议分别是S7协议和Profinet总线,但是Profinet是一种总线协议,目前据我了解,C#是无法直接与西门子PLC走Profinet通信的。因此,西门子PLC常用的以太网通信方案如下所示: S7通信:基本上从S7-200到S7-1500均可以实现,这里有很多可以选择的开源或商业库,包括http://s7.net、pronodave、libnodave、sharp7,也可以自己封装通信库。 ModbusTCP Server:这里是指PLC做Server(即服务器),上位机做Client(即客户端)。 ModbusTCP Client:这里是指PLC做Client(即客户端),上位机做Server(即服务器)。 OpenProtocol Server:这里是指开放式TCP通信,PLC做TCPServer(即服务器),上位机做TCPClient(即客户端)。 OpenProtocol Client:这里是指PLC做TCPClient(即客户端),上位机做TCPServer(即服务器)。

3、OPC通信 OPC通信是工业控制中常用的一种通信方式,这里主要在于OPC软件的选择以及OPCDA和OPCUA的选择,因此,西门子PLC常用的OPC通信方案如下所示: PC Access系列:西门子针对S7-200开发PC-Access软件,针对S7-200 Smart又提供了PC-Access Smart软件,可以直接通过这些软件实现OPCDA通信。 Simatic Net 系列OPCDA:Simatic Net是西门子主推的OPC软件,支持西门子全系列,这里主要是OPCDA通信方式。 Simatic Net 系列OPCUA:新版的Simatic Net也开始支持OPCUA,这里主要是OPCUA通信方式。 KepServer 系列OPCDA:KepServer同样作为一款商业OPC软件,在国内使用率非常高,同样也支持西门子全系列,这里主要是OPCDA通信方式。 Simatic Net 系列OPCUA:新版的KepServer也开始支持OPCUA,这里主要是OPCUA通信方式。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-10-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 科控物联 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • S7-1500 CPU之间TCP通讯组态
    • 硬件和软件需求及所完成的通信任务
      • 通信的编程,连接参数及通信参数的配置
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档