WinCC Modbus TCP 通信

2024-09-04 05:36
文章标签 通信 tcp modbus wincc

本文主要是介绍WinCC Modbus TCP 通信,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

概述

从版本WinCC V7.0 开始,WinCC支持Modbus TCP通讯,WinCC中的Modbus TCP驱动主要是针对施耐德PLC开发的,支持的PLC类型如下:

图片

图1

本文档以Quantum CPU651和 Premium P57为例,介绍WinCC V7.2 的Modbus TCP通讯的组态步骤。并在最后列出WinCC和第三方Modbus TCP设备通讯的注意事项。

WinCC和Quantum PLC通讯

2.1  PLC组态

2.1.1 硬件配置

在PLC的编程软件Unity Pro中按如下配置硬件:

图片

图2

图片

图3

2.1.2网络配置

在通讯à网络下创建新网络:

图片

图4

双击新建的网络,配置IP地址及网络类型:

图片

图5

        在硬件配置中,为CPU上的以太网口分配网络:

图片

图6

2.1.3 创建数据表

Quantum PLC寄存器编址从1开始,与Modbus地址的对应关系为:%m对应 0X, % i 对应1X, %iw 对应3x, %mw 对应4x。

例如:%i1对应100001; %m对应000001;%iw1对应300001; %mw1对应400001。

图片

图7

2.2  WinCC组态

2.2.1 组态连接

右键“变量管理”选择“打开”:

图片

图8

图片

图9

右键“Modbus TCP/IP Unit #1”选择“新建连接”:

图片

图10

为新建的连接命名,并右键“连接参数”,设置连接属性:

图片

图11

图片

图12

CPU类型:不同CPU的字和位的关系、寄存器起始地址存在不同,所以选择不同的CPU类型, WinCC变量地址设定及数据处理会有些不同。

这里选择“Compact,Quantum,Momentum”。

服务器:PLC作为Modbus TCP通讯的服务器,WinCC作为客户机。这里输入PLC的以太网IP地址。

端口:Modbus TCP通讯默认端口为502

远程从站的地址:使用桥接器(例如MB+到Modbus TCPIP)时,此处输入远程控制器的从站地址。如果未使用桥接器,则必须输入默认值 255 或 0 作为地址。

转换字类型数据为16位数值:此处翻译有点问题,应该为“交换 32 位值中的字”(Swap words in 32-bit values)。

图片

图13

此选择只影响“有符号 32 位数”“无符号 32 位数”和“浮点数 32 位 IEEE 754”三种数据类型。

连接施耐德PLC时,此处不要选择。

2.2.2创建变量

 “Modbus TCPIP”通道支持以下数据类型:二进制变量、有符号 16 位数、无符号 16 位数、有符号 32 位数、无符号 32 位数、浮点数 32 位 IEEE 754、文本变量 8 位字符集、文本变量 16 位字符集。

在Modbus连接下创建以下变量:

图片

图14

其中“tag_i01”地址%i1,对应modbus地址100001:

图片

图15

“tag_m1”地址%m1,对应modbus地址000001:

图片

图16

“tag _iw1”地址%iw1,对应modbus地址300001:

图片

图17

“tag _mw1”地址%mw1,对应modbus地址400001:

图片

图18

2.2.3运行结果

下载项目到PLC,打开unity pro项目中的数据表,在线监视PLC变量 的值:

图片

图19

运行WinCC:

图片

图20

在WinCC中修改变量的值:

图片

图21

PLC的数值发生相应变化:

图片

图22

2.2.4按位访问字寄存器

WinCC二进制变量地址可以设定为4x(或者3x)的某一位,例如:

图片

图23

关于这种访问方式,有两点需要注意:

1、位与字的关系

Quantum PLC、WinCC Modbus中的位与字的对应关系如下表:

图片

表1

2、对于写操作

在更改指定位后,整个字将写回 PLC。 但期间并不检查字中的其它位是否已改变。

2.2.5  实数、32位整数变量

PLC中的DINT和REAL变量:

图片

图24

WinCC创建相应变量:

图片

图25

运行WinCC:

图片

图26

2.2.6 Modbus TCPIP字符串变量

创建如下的字符串变量:

图片

图27

运行:

图片

图28

在unity pro数据表中监视(把显示格式改为ASCII):

图片

图29

WinCC和Premium PLC通讯

3.1 PLC组态

3.1.1 硬件配置

在PLC的编程软件Unity Pro中按如下配置硬件:

图片

图30

图片

图31

3.1.2网络配置

在通讯à网络下创建新网络,并配置网络IP地址及网络类型:

图片

图32

在硬件配置中,为以太网口分配网络:

图片

图33

Premium PLC只支持0x和4x,也就是Modbus TCPIP客户端只能读取Premium PLC的%m和%mw区。

另外,Premium PLC的各寄存器编址从0开始。

图片

图34

3.2 WinCC组态

3.2.1 创建连接

在Modbus TCPIP下新建连接,选择CPU类型为“Premium, Micro”:

图片

图35

图片

图36

3.2.2 创建变量

在WinCC中创建变量,变量地址中直接输入对应的地址,而不是Modbus标准地址。

图片

图37

图片

图38

这里需要说明两点:

虽然Premium PLC只支持0x和4x,但CPU类型选择“Premium, Micro”时,WinCC Modbus TCPIP驱动也可以读取1x和3x类型的数据(连接第三方Modbus TCPIP设备时)。

Premium PLC 各存储器地址从0开始编址,并且WinCC变量地址对应的是PLC的直接地址,但其和标准Modbus也是对应的。例如%m0对应000001,%mw0对应400001 。

WinCC所有变量创建如下:

图片

图39

3.2.3运行WinCC:

图片

图40

WinCC和第三方Modbus TCPIP设备通讯

当使用WinCC和第三方Modbus TCPIP设备通讯时,需要注意以下两方面:

4.1、WinCC使用的Modbus功能码如下表所示:

图片

表2

4.2、WinCC Modbus TCPIP中各CPU类型的区别

双字、字、位的关系

当在连接参数中没有选择“Swap words in 32-bit values”时,不同CPU 类型的双字、字、位之间的关系如下:

 "984" 和 "Compact, Quantum,Momentum":

图片

表3

"Premium,Micro":

图片

表4

WinCC Modbus TCPIP 驱动将按照以上关系来处理读到的字和位。

当在连接参数中选择“Swap words in 32-bit values”时,WinCC会相应交换高字和低字的顺序之后再赋值给对应的双字变量(包括实数)。

wincc 远程和PLC通讯方案

1500PLC与wincc通过4G网络远程通讯

WINCC中自定义 XY 轴的多功能曲线的实现方法

wincc报警如何通过短信发送给手机

在WinCC(TIA Portal)项目中,如何正确的使用面板,模板,弹出窗口和滑入窗口?

在 SIMATIC WinCC (TIA Portal)中如何将消息复制到另外一个项目?

通过巨控GRM532Y-C远程调试下载国外PLC

巨控GRM远程模块配置使用流程简介

巨控远程模块微信报警配置方法

TIA中如何将数据块的实际值转到初始值中

西门子200smart与三菱FX3U plc之间的自由口通讯

wincc 远程和PLC通讯方案

1500PLC如何更好地配置一个OPC UA客户机使其与服务器进行有效的通信?

如何使用EXCEL访问WinCC中的实时数据实现报表

JL 跳转指令的理解

西门子PLC无线通讯解决方案

数据丟了--WinCc历史数据丢失怎么办

巨控无线通讯模块在带式输送机行业的应用

WinCC激活故障排除及解决思路

Wincc在手机端监控_巨控OPC560解决方案

PLC之间的Profibus 通讯

怎么远程控制国外的PLC

远程上下载西门子1200PLC程序,在线调试

WinCC激活故障排除及解决思路

单个S7-1200做服务器,和多个客户端做Modbus TCP通讯

wincc如何实现远程监控1200PLC

这篇关于WinCC Modbus TCP 通信的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1135144

相关文章

RabbitMQ工作模式中的RPC通信模式详解

《RabbitMQ工作模式中的RPC通信模式详解》在RabbitMQ中,RPC模式通过消息队列实现远程调用功能,这篇文章给大家介绍RabbitMQ工作模式之RPC通信模式,感兴趣的朋友一起看看吧... 目录RPC通信模式概述工作流程代码案例引入依赖常量类编写客户端代码编写服务端代码RPC通信模式概述在R

在Spring Boot中实现HTTPS加密通信及常见问题排查

《在SpringBoot中实现HTTPS加密通信及常见问题排查》HTTPS是HTTP的安全版本,通过SSL/TLS协议为通讯提供加密、身份验证和数据完整性保护,下面通过本文给大家介绍在SpringB... 目录一、HTTPS核心原理1.加密流程概述2.加密技术组合二、证书体系详解1、证书类型对比2. 证书获

Python模拟串口通信的示例详解

《Python模拟串口通信的示例详解》pySerial是Python中用于操作串口的第三方模块,它支持Windows、Linux、OSX、BSD等多个平台,下面我们就来看看Python如何使用pySe... 目录1.win 下载虚www.chinasem.cn拟串口2、确定串口号3、配置串口4、串口通信示例5

基于C#实现MQTT通信实战

《基于C#实现MQTT通信实战》MQTT消息队列遥测传输,在物联网领域应用的很广泛,它是基于Publish/Subscribe模式,具有简单易用,支持QoS,传输效率高的特点,下面我们就来看看C#实现... 目录1、连接主机2、订阅消息3、发布消息MQTT(Message Queueing Telemetr

SpringBoot快速搭建TCP服务端和客户端全过程

《SpringBoot快速搭建TCP服务端和客户端全过程》:本文主要介绍SpringBoot快速搭建TCP服务端和客户端全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录TCPServerTCPClient总结由于工作需要,研究了SpringBoot搭建TCP通信的过程

QT实现TCP客户端自动连接

《QT实现TCP客户端自动连接》这篇文章主要为大家详细介绍了QT中一个TCP客户端自动连接的测试模型,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录版本 1:没有取消按钮 测试效果测试代码版本 2:有取消按钮测试效果测试代码版本 1:没有取消按钮 测试效果缺陷:无法手动停

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

【STM32】SPI通信-软件与硬件读写SPI

SPI通信-软件与硬件读写SPI 软件SPI一、SPI通信协议1、SPI通信2、硬件电路3、移位示意图4、SPI时序基本单元(1)开始通信和结束通信(2)模式0---用的最多(3)模式1(4)模式2(5)模式3 5、SPI时序(1)写使能(2)指定地址写(3)指定地址读 二、W25Q64模块介绍1、W25Q64简介2、硬件电路3、W25Q64框图4、Flash操作注意事项软件SPI读写W2

vue2 组件通信

props + emits props:用于接收父组件传递给子组件的数据。可以定义期望从父组件接收的数据结构和类型。‘子组件不可更改该数据’emits:用于定义组件可以向父组件发出的事件。这允许父组件监听子组件的事件并作出响应。(比如数据更新) props检查属性 属性名类型描述默认值typeFunction指定 prop 应该是什么类型,如 String, Number, Boolean,

【Go】go连接clickhouse使用TCP协议

离开你是傻是对是错 是看破是软弱 这结果是爱是恨或者是什么 如果是种解脱 怎么会还有眷恋在我心窝 那么爱你为什么                      🎵 黄品源/莫文蔚《那么爱你为什么》 package mainimport ("context""fmt""log""time""github.com/ClickHouse/clickhouse-go/v2")func main(