汇川CodeSysPLC教程03-2-14 与HMI通信

硬件连接

PLC与HMI连接采用何种连接方式,通常是参考双方支持哪些接口。PLC(可编程逻辑控制器)与HMI(人机界面)之间的通讯方式主要有以下几种:

  1. 串行通讯(Serial Communication)

    • 使用RS-232、RS-422或RS-485等串行通讯标准进行数据传输。
    • 通常用于短距离通讯,简单且成本低。
  2. 以太网通讯(Ethernet Communication)

    • 基于TCP/IP协议进行数据传输。
    • 支持长距离通讯,速度快且稳定。
    • 常用的协议有Modbus TCP、EtherNet/IP等。
  3. 现场总线通讯(Fieldbus Communication)

    • 专为工业控制系统设计的通讯协议,如Profibus、CANopen、DeviceNet等。
    • 适用于复杂的工业环境,具有高可靠性和实时性。
  4. 无线通讯(Wireless Communication)

    • 使用Wi-Fi、蓝牙、ZigBee等无线技术。
    • 适用于需要灵活布线或移动设备的场景。
  5. 光纤通讯(Fiber Optic Communication)

    • 使用光纤电缆进行数据传输,适用于长距离和高干扰环境。
    • 提供高带宽和高安全性。

这些通讯方式各有优缺点,具体选择取决于应用场景、通讯距离、数据传输速率以及成本等因素。
例如HMI支持串口、网口,PLC也支持串口、网口,那么PLC与HMI就都可以采用串口或者都采用网口来通信,有的低端的HMI只支持RS232串口,那么就务必注意PLC是否带此接口,选型上务必要注意PLC与HMI的通信接口的匹配和一致。当然现在一般的PLC和HMI都是支持网口的,所以这里我们默认硬件连接采用RJ-45网线直连HMI与PLC(直通网线或使用HUB交换)。

主要的通讯方法

ModBus TCP通信

配置

每一家的PLC都有自己独有的总线协议与HMI进行通讯,例如西门子使用的是Profinet,三菱采用的是MC协议,倍福采用的ADS通讯一样。汇川的PLC基于的通用的Modbus协议,一般的更为具体的是ModBus TCP协议。这里我们虽然没有具体阐述ModBus TCP协议,但是联想到ModBus RTU与ModBus ASCII协议,我们也能大概理解。HMI作为主站,PLC作为从站。这个地方尤其要注意,很多新手都会误以为PLC是作为主站存在的,我们需要思考一下,PLC大部分情况下都是作为主站,那是因为PLC拥有主动访问的行为,从HMI来看,人的行为透过HMI来主动访问PLC,那么PLC就不能再视为主站了。好的,如何将PLC设为从站呢?前面我们已经提到过,主从站设定。只需要勾选Modbus TCP从站即可。
在这里插入图片描述
在这里插入图片描述

这个地方需要留意的就是两点:

  1. 502端口,基本上做ModBus TCP从站的设备默认端口都是这个。那为什么就是502呢?(为了好记,你这么记,端口是用502胶水粘住的)

Modbus TCP从站的端口一般是502,原因如下:

  1. 标准化

    • Modbus TCP协议标准规定了502端口作为默认的通信端口。标准化的端口号简化了设备和系统之间的互操作性,确保不同制造商的设备能够顺利通信。
  2. 历史原因

    • Modbus协议最早是为串行通讯(Modbus RTU)设计的,后来被扩展为Modbus TCP。为了保持一致性,Modbus TCP在TCP/IP网络中指定了502端口,方便用户在不同通信方式之间切换。
  3. 协议定义

    • 根据Modbus TCP规范,502端口是为Modbus通信预留的标准端口号。这是由Modbus协议维护组织(Modbus-IDA)定义的,以确保协议的一致性和互操作性。
  4. 设备兼容性

    • 大多数Modbus TCP从站设备和主站软件默认配置为使用502端口,简化了系统配置和集成。使用标准端口号减少了用户配置错误的风险,提高了系统的可靠性。
  5. 防火墙和网络配置

    • 网络管理员和安全设备(如防火墙)通常会预先配置502端口用于Modbus通信。如果使用非标准端口,可能需要额外的配置和调整,增加了部署的复杂性。

综上所述,502端口作为Modbus TCP从站的默认端口是由于协议标准化、历史原因和设备兼容性等多方面的考虑,使得系统配置更加简便和可靠。

  1. 帧间隔,一般来说不需要关注,但是如果你发现PLC的CPU负载比较大的时候,增大帧间隔能比较有效的降低HMI访问PLC带来的通讯负载。
映射

设置完这些,HMI怎么访问PLC呢?当然是通过Modbus地址,在汇川当中,M区的地址与Modbus地址是一一映射的。
Modbus变量编址

标签通信

标签通讯(Tag Communication)是一种现代工业自动化中常用的通讯方式,尤其在PLC(可编程逻辑控制器)与HMI(人机界面)之间的通讯中。标签通讯通过使用人类可读的标签(Tag)名称来标识和传输数据,而不是通过具体的内存地址。以下是对标签通讯的详细解释:

标签通讯的特点

  1. 人类可读性

    • 使用描述性的名称(标签)来标识变量,例如"TankLevel"或"MotorSpeed"。
    • 这种命名方式更直观,易于理解和维护。
  2. 抽象化

    • 把底层硬件地址抽象为高层次的标签名称,用户无需关注具体的内存地址。
    • 提高了系统的灵活性和可移植性。
  3. 简化配置

    • 在HMI和PLC的配置中,可以直接引用标签名称,而不需要具体地址映射。
    • 减少了配置错误,提高了开发效率。

标签通讯的实现方式

  1. 标签数据库

    • PLC和HMI系统中通常包含一个标签数据库,存储所有标签及其对应的地址和数据类型。
    • 标签数据库在系统间共享,确保标签名称的一致性。
  2. 通讯协议

    • 标签通讯可以基于多种通讯协议实现,如Modbus、OPC UA、EtherNet/IP等。
    • 这些协议支持通过标签名称进行数据访问和传输。

标签通讯的优点

  1. 易于理解和维护

    • 使用描述性标签名称使程序和配置更具可读性,方便调试和维护。
  2. 减少错误

    • 由于不需要直接使用内存地址,减少了配置错误和地址冲突的可能性。
  3. 增强灵活性

    • 更换硬件或重新配置时,只需更新标签数据库,无需修改大量代码或配置。
  4. 提高开发效率

    • 标签通讯简化了开发过程,使开发人员能够更专注于应用逻辑,而不是底层通讯细节。

应用场景

  1. PLC与HMI之间的通讯

    • HMI通过标签访问PLC中的数据,实现人机交互和监控。
  2. 分布式控制系统

    • 在大型分布式控制系统中,通过标签实现不同控制单元之间的数据共享和协调。
  3. 数据采集与监控(SCADA)系统

    • SCADA系统通过标签通讯从多个现场设备收集数据,实现集中监控和管理。

标签通讯的出现大大提高了工业自动化系统的开发和维护效率,使系统更易于理解和管理。

关于如何进行标签通讯,需要先学习符号配置。这一块我们暂且先不提,等到符号配置时,我们再提。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Docker-compse的应用

1 docker-compose # 使用了docker 面临一个比较大的问题,如果一个djagno项目,使用mysql,redis,不要一次性把所有服务都放到一个容器中,每个服务一个容器,批量的管理多个容器,比较难以操作&…

第5章-组合序列类型

#全部是重点知识,必须会。 了解序列和索引|的相关概念 掌握序列的相关操作 掌握列表的相关操作 掌握元组的相关操作 掌握字典的相关操作 掌握集合的相关操作1,序列和索引 1,序列是一个用于存储多个值的连续空间,每一个值都对应一…

红酒的秘密配方:如何调配出个性化的口感?

在红酒的世界里,每一滴都蕴藏着大自然的秘密和酿酒师的匠心。那些令人陶醉的口感、迷人的色泽和香气,都是经过精心调配和时光酝酿的结果。今天,就让我们一起揭开红酒调配的神秘面纱,探索如何调配出个性化的口感,感受雷…

【LeetCode】生命游戏

目录 一、题目二、解法完整代码 一、题目 根据 百度百科 , 生命游戏 ,简称为 生命 ,是英国数学家约翰何顿康威在 1970 年发明的细胞自动机。 给定一个包含 m n 个格子的面板,每一个格子都可以看成是一个细胞。每个细胞都具有一…

Nacos2.X 配置中心源码分析:客户端如何拉取配置、服务端配置发布客户端监听机制

文章目录 Nacos配置中心源码总流程图NacosClient源码分析获取配置注册监听器 NacosServer源码分析配置dump配置发布 Nacos配置中心源码 总流程图 Nacos2.1.0源码分析在线流程图 源码的版本为2.1.0 ,并在配置了下面两个启动参数,一个表示单机启动&#…

源码编译安装 LAMP

源码编译安装 LAMP Apache 网站服务基础Apache 简介安装 httpd 服务器 httpd 服务器的基本配置Web 站点的部署过程httpd.conf 配置文件 构建虚拟 Web 主机基于域名的虚拟主机基于IP 地址、基于端口的虚拟主机 MySQL 的编译安装构建 PHP 运行环境安装PHP软件包设置 LAMP 组件环境…

数据挖掘——matplotlib

matplotlib概述 Mat指的是Matlab,plot指的是画图,lib即library,顾名思义,matplotlib是python专门用于开发2D图表的第三方库,使用之前需要下载该库,使用pip命令即可下载。 pip install matplotlib1、matpl…

Nuxt框架中内置组件详解及使用指南(四)

title: Nuxt框架中内置组件详解及使用指南(四) date: 2024/7/9 updated: 2024/7/9 author: cmdragon excerpt: 摘要:本文详细介绍了Nuxt 3框架中的两个内置组件:和的使用方法与示例。用于捕获并处理客户端错误,提供…

【漏洞复现】29网课交单平台 SQL注入

声明:本文档或演示材料仅用于教育和教学目的。如果任何个人或组织利用本文档中的信息进行非法活动,将与本文档的作者或发布者无关。 一、漏洞描述 29网课交单平台是一个在线学习平台,用于帮助学生完成网络课程的学习任务。这个平台提供了包括…

过滤器与拦截器区别、应用场景介绍

我们在进行 Web 应用开发时,时常需要对请求进行拦截或处理,故 Spring 为我们提供了过滤器和拦截器来应对这种情况。 那么两者之间有什么不同呢?本文将详细讲解两者的区别和对应的使用场景。 过滤器 过滤器是一种在 Java Web 应用中用于处理…

Celery,一个实时处理的 Python 分布式系统

大家好!我是爱摸鱼的小鸿,关注我,收看每期的编程干货。 一个简单的库,也许能够开启我们的智慧之门, 一个普通的方法,也许能在危急时刻挽救我们于水深火热, 一个新颖的思维方式,也许能…

Start LoongArch64 Alpine Linux VM on x86_64

一、Build from source(build on x86_64) Obtain the latest libvirt, virt manager, and QEMU source code, compile and install them 1.1 Build libvirt from source sudo apt-get update sudo apt-get install augeas-tools bash-completion debhelper-compat dh-apparmo…

Python学习笔记33:进阶篇(二十二)pygame的使用之image模块

前言 基础模块的知识通过这么长时间的学习已经有所了解,更加深入的话需要通过完成各种项目,在这个过程中逐渐学习,成长。 我们的下一步目标是完成python crash course中的外星人入侵项目,这是一个2D游戏项目。在这之前&#xff…

Codeforces Round 954 (Div. 3) F. Non-academic Problem

思路&#xff1a;考虑缩点&#xff0c;因为是无向图&#xff0c;所以双连通分量缩完点后是一棵树&#xff0c;我们去枚举删除每一条树边的答案&#xff0c;然后取最小值即可。 #include <bits/stdc.h>using namespace std; const int N 3e5 5; typedef long long ll; …

Profibus转ModbusTCP网关模块实现Profibus_DP向ModbusTCP转换

Profibus和ModbusTCP是工业控制自动化常用的二种通信协议。Profibus是一种串口通信协议&#xff0c;它提供了迅速靠谱的数据传输和各种拓扑结构&#xff0c;如总线和星型构造。Profibus可以和感应器、执行器、PLC等各类设备进行通信。 ModbusTCP是一种基于TCP/IP协议的通信协议…

Clickhouse的联合索引

Clickhouse 有了单独的键索引&#xff0c;为什么还需要有联合索引呢&#xff1f;了解过mysql的兄弟们应该都知道这个事。 对sql比较熟悉的兄弟们估计看见这个联合索引心里大概有点数了&#xff0c;不过clickhouse的联合索引相比mysql的又有些不一样了&#xff0c;mysql 很遵循最…

Springboot各个版本维护时间

Springboot各个版本维护时间

【 正己化人】 把自己做好,能解决所有问题

阳明先生说&#xff1a;与朋友一起辩论学问&#xff0c;纵然有人言辞观点浅近粗疏&#xff0c;或者是炫耀才华、显扬自己&#xff0c;也都不过是毛病发作。只要去对症下药就好&#xff0c;千万不能怀有轻视别人的心理&#xff0c;因为那不是君子与人为善的心。 人会爱发脾气、…

微信服务里底部的不常用功能如何优化的数据分析思路

图片.png 昨天下午茶时光&#xff0c;和闺蜜偶然聊起&#xff0c;其实在微信服务底部&#xff0c;有很多被我们忽略遗忘&#xff0c;很少点过用过的功能服务&#xff0c;往往进入服务只为了收付款或进入钱包&#xff0c;用完就走了&#xff0c;很少拉到底部&#xff0c;看到和用…

Python函数 之 函数基础

print() 在控制台输出 input() 获取控制台输⼊的内容 type() 获取变量的数据类型 len() 获取容器的⻓度 (元素的个数) range() ⽣成⼀个序列[0, n) 以上都是我们学过的函数&#xff0c;函数可以实现⼀个特定的功能。我们将学习⾃⼰如何定义函数, 实现特定的功能。 1.函数是什么…