WinCC Modbus TCP 通信

news2024/9/21 0:52:36

概述

从版本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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2103305.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

随手记:小程序体积超出2M包大小如何优化

小程序的包体积限制是2M,超出包大小如何优化 先简单列出,最近比较忙,后续优化明细,有着急的先留言踢我 1.分包 留几个主要的页面体积小的,剩下的在page.json中拆到subpackages中,简单举个例子 "page…

总结一下windows电脑字体模糊的优化方案

问题:谷歌浏览器上页面显示的字体非常细,有点费眼睛了👾 解决方案: 方案1:手动调整ClearType文本。方案2:英伟达显卡控制面板->管理3d设置->关闭全局平滑FXAA(如果某个软件需要使用平滑处…

《‌黑神话:‌悟空》‌游戏攻略‌

时光荏苒,岁月如梭,不知不觉已经来到了2024年的9月份了。 ‌突然想写一篇关于《‌黑神话:‌悟空》‌的游戏攻略‌。 在《‌黑神话:‌悟空》‌这款以中国古代名著《‌西游记》‌为背景的动作角色扮演游戏中,‌玩家将扮…

J.U.C Review - 阻塞队列原理/源码分析

文章目录 阻塞队列的由来BlockingQueue的操作方法BlockingQueue的实现类ArrayBlockingQueueLinkedBlockingQueueDelayQueuePriorityBlockingQueueSynchronousQueue 阻塞队列原理深入分析1. 构造器和监视器初始化2. put操作的实现3. take操作的实现4. 注意事项小结 线程池中的阻…

泰克THDP0100(Tektronix)thdp0100高压差分探头详情资料

泰克 THDP0100 高压差分探头具有较大的差分动态范围功能,为用户提供了安全的高压测量探头解决方案。每个探头都配有两种尺寸的钩尖,并具有超范围视觉和声音指示器,当用户超出探头的线性范围时会发出警告。泰克 THDP0100 探头配备 TEkVPI 接口…

【vue css】css字体设置渐变色

实现的效果: 添加的代码: h2 {background-image: -webkit-linear-gradient(bottom, #1bffff, #ffffff);background-clip: text;//背景被裁剪成文字的前景色。-webkit-text-fill-color: transparent;//指定了文本字符的填充颜色。若未设置此属性&#xf…

【Linux操作系统】:Linux生产者消费者模型

目录 生产者消费者模型的概念 生产者消费者模型的特点 生产者消费者模型优点 基于BlockingQueue的生产者消费者模型 基于 BlockingQueue 的生产者消费者模型的概念 模拟实现基于阻塞队列的生产消费模型 生产者消费者模型的概念 生产者消费者模式就是通过一个容器来解决生…

MySQL Email验证流程详解:从注册到激活!

MySQL Email通知系统搭建教程!如何从MySQL发送邮件? MySQL Email验证是一个至关重要的环节,它确保了用户注册过程的安全性和有效性。AokSend将详细介绍从用户注册到MySQL Email激活的完整流程,帮助开发者更好地理解和实现这一功能…

东风汽车将出席第五届中国新能源汽车热管理创新国际峰会

2024第五届中国新能源汽车热管理创新国际峰会将于11月14-15日在上海召开。峰会将汇聚来自全球的行业专家、学者、企业领袖及技术精英,共同探讨新能源汽车热管理领域的最新技术成果和发展趋势。 本次峰会将涵盖整车热管理系统构建、新能源商用车热管理、智能热管理系…

Python OpenCV 影像处理:傅立叶转换

►前言 上篇介绍基于计算影像的梯度,通过在影像中找到梯度值的变化来识别边缘。 本篇将介绍傅立叶变换的基本原理,了解傅立叶变换是如何将影像从空间域转换到频率域的,以及为什么这种转换在影像处理过程中是有用的。以及傅立叶变换的实际应…

9.3 k8s介绍

⼀、编排分类 单机容器编排: docker-compose 容器集群编排: docker swarm、mesosmarathon、kubernetes 应⽤编排: ansible(模块,剧本,⻆⾊) ⼆、系统管理进化史 1. 传统部署时代 早期,各个组织是在物理服务器上运⾏应⽤程序。 由于⽆法限…

getLocation:fail, the permission value is offline verifying

getLocation:fail, the permission value is offline verifying 后端会根据appid和secret生成 签名,前端wx配置时一定用appid来验证签名的正确 本次错误为配置初始化失败:前端与后端的appId不一致,我的失误也

TikTok直播为什么要用独立IP

TikTok直播作为一种受欢迎的社交媒体形式,吸引了越来越多的用户和内容创作者。在进行TikTok直播时,选择使用独立IP地址是一种被广泛推荐的做法。本文将探讨为什么在TikTok直播中更推荐使用独立IP,并解释其优势和应用。 独立IP是指一个唯一的互…

探索Linux项目自动化构建:make/Makefile的使用方法

🌱博客主页:青竹雾色间 🌱系列专栏:Linux 😘博客制作不易欢迎各位👍点赞 ⭐收藏 ➕关注 标题: 使用 Makefile 实现项目自动化构建 - 从零开始学习 Makefile 摘要: Makefile 是一个用…

如何在 OpenCloudOS 上安装 OpenTenBase 数据库

OpenTenBase 是由开放原子开源基金会孵化及运营的开源项目,是一款企业级的分布式 HTAP 数据库,具备高扩展性、商业数据库语法兼容、分布式 HTAP 引擎、多级容灾和多维度资源隔离等能力,目前已经成功应用于金融、医疗、航天等诸多行业的核心业…

Github Coplit和Poe不再订阅,改用Token和LobeChat

优化AI使用方式 1.取消Poe和Github Coplit的年度订阅 今天把200$ 的Poe和100$的Github Coplit的年度订阅取消了,确保到期不会续定,包年用AI的时代,在这里结束了。 2.改用Token购买模式 使用的AI质量必须不变,改用Token的方式&…

【Prometheus】Prometheus安装部署流程详解,配置参数webUI使用方法解析说明

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

二十、Java8新特性

文章目录 引入一、Lambda表达式1.1 快速入门1.2 Lambda语法 二、函数式(Functional)接口2.1 函数式(Functional)接口介绍2.2 Java内置函数式接口 三、方法引用与构造器引用3.1 方法引用3.2 构造器引用 四、强大的Stream API4.1 创建 Stream 的4种方式4.2 Stream 的中间操作4.2.…

PHP图书馆在指尖图书借阅小程序助力全民阅读系统小程序源码

​图书馆在指尖 —— 图书借阅小程序助力全民阅读 📚【开篇:指尖上的知识海洋】📚 在这个快节奏的时代,你是否曾渴望随时随地都能沉浸在书海中?现在,有了图书借阅小程序,图书馆就真正来到了你…

【MySQL08】【死锁】

文章目录 一、前言二、查看事务加锁情况1. 使用 information_schema 数据库中表获取锁信息1.1 INNODB_TRX1.2 INNODB_LOCKS1.3 INNODB_LOCK_WAITS 2. 使用 SHOW ENGIN INNODB STATUS 获取锁信息 三、死锁四、参考内容 一、前言 最近在读《MySQL 是怎样运行的》、《MySQL技术内…