首页 > 其他分享 >【甲方安全】工业行业+工控嵌入式设备:PLC网络的几种常用通讯方式

【甲方安全】工业行业+工控嵌入式设备:PLC网络的几种常用通讯方式

时间:2024-12-25 12:12:01浏览次数:3  
标签:令牌 方式 工控 总线 通信 嵌入式 MODBUS PLC

电气论坛 2023年02月28日 14:00 山东

内容摘要

随着工业时代的发展,工业自动化控制已进入网络时代,工业控制器连网也为网络管理提供了方便。MODBUS通信就是工业控制器的网络协议中的一种。

关键词:MOBUS通信协议RS485CPU程序设计

一、PLC网络的几种常用通讯方式

1.1 周期I/O通信方式

周期I/O通信方式常用于PLC的远程I/O链路中。远程I/O链路按主从方式工作,PLC远程I/O主单元为主站,其它远程I/O单元皆为从站。在主站中设立一个“远程I/O缓冲区”,采用信箱结构,划分为几个分箱与每个从站—一对应,每个分箱再分为两格,一格管发送,一格管接收。主站中通信处理器采用周期扫描方式,按顺序与各从站交换数据,把与其对应的分箱中发送分格的数据送给从站,从从站中读取数据放入与其对应的分箱的接收分格中。这样周而复始,使主站中的“远程I/O缓冲区”得到周期性的刷新。

在主站中PLC的CPU单元负责用户程序的扫描,它按照循环扫描方式进行处理,每个周期都有一段时间集中进行I/O处理,这时它对本地I/O单元及远程I/O缓冲区进行读写操作。PLC的CPU单元对用户程序的周期性循环扫描,与PLC通信处理器对各远程I/O单元的周期性扫描是异步进行的。尽管PLC的CPU单元没有直接对远程I/O单元进行操作,但是由于远程I/O缓冲区获得周期性刷新,PLC的CPU单元对远程I/O缓冲区的读写操作,就相当于直接访问了远程I/O单元。这种通信方式简单、方便,但要占用PLC的I/O区,因此只适用于少量数据的通信。

1.2 全局I/O通信方式

全局I/O通信方式是一种串行共享存储区的通信方式,它主要用于带有链接区的PLC之间的通信。

全局I/O方式的通信原理如上图所示。在PLC网络的每台PLC的I/O区中各划出一块来作为链接区,每个链接区都采用邮箱结构。相同编号的发送区与接收区大小相同,占用相同的地址段,一个为发送区,其它皆为接收区。采用广播方式通信。PLC1把1#发送区的数据在PLC网络上广播,PLC2、PLC3收听到后把它接收下来存入各自的1#接收区中。PLC2把2#发送区数据在PLC网上广播,PLC1、PLC3把它接收下来存入各自的2#接收区中。PLC3把3#发送区数据在PLC网上广播,PLC1、PLC2把它接收下来存入各自的3#接收区中。显然通过上述广播通信过程,PLC1、PLC2、PLC3的各链接区中数据是相同的,这个过程称为等值化过程。通过等值化通信使得PLC网络中的每台PLC的链接区中的数据保持一致。它既包含着自己送出去的数据,也包含着其它PLC送来的数据。由于每台PLC的链接区大小一样,占用的地址段相同,每台PLC只要访问自己的链接区,就等于访问了其它PLC的链接区,也就相当于与其它PLC交换了数据。这样链接区就变成了名符其实的共享存储区,共享区成为各PLC交换数据的中介。

链接区可以采用异步方式刷新(等值化),也可以采用同步方式刷新。异步方式刷新与PLC中用户程序无关,由各PLC的通信处理器按顺序进行广播通信,周而复始,使其所有链接区保持等值化;同步方式刷新是由用户程序中对链接区的发送指令启动一次刷新,这种方式只有当链接区的发送区数据变化时才刷新。

全局I/O通信方式中,PLC直接用读写指令对链接区进行读写操作,简单、方便、快速,但应注意在一台PLC中对某地址的写操作在其它PLC中对同一地址只能进行读操作。与周期I/O方式一样,全局I/O方式也要占用PLC的I/O区,因而只适用于少量数据的通信。

1.3 主从总线通信方式

主从总线通信方式又称为1:N通信方式,是指在总线结构的PLC子网上有N个站,其中只有1个主站,其它皆是从站。

1:N通信方式采用集中式存取控制技术分配总线使用权,通常采用轮询表法。所谓轮询表是一张从机号排列顺序表,该表配置在主站中,主站按照轮询表的排列顺序对从站进行询问,看它是否要使用总线,从而达到分配总线使用权的目的。

对于实时性要求比较高的站,可以在轮殉表中让其从机号多出现几次,赋予该站较高的通信优先权。在有些1:N通信中把轮询表法与中断法结合使用,紧急任务可以打断正常的周期轮询,获得优先权。

1:N通信方式中当从站获得总线使用权后有两种数据传送方式。一种是只允许主从通信,不允许从从通信,从站与从站要交换数据,必须经主站中转;另一种是既允许主从通信也允许从从通信,从站获得总线使用权后先安排主从通信,再安排自己与其它从站之间的通信。

1.4 令牌总线通信方式

令牌总线通信方式又称为N:N通信方式是指在总线结构的PLC子网上有N个站,它们地位平等没有主站与从站之分,也可以说N个站都是主站。

N:N通信方式采用令牌总线存取控制技术。在物理总线上组成一个逻辑环,让一个令牌在逻辑环中按一定方向依次流动,获得令牌的站就取得了总线使用权。令牌总线存取控制方式限定每个站的令牌持有时间,保证在令牌循环一周时每个站都有机会获得总线使用权,并提供优先级服务,因此令牌总线存取控制方式具有较好的实时性。

取得令牌的站有两种数据传送方式,即无应答数据传送方式和有应答数据传送方式。采用无应答数据传送方式时,取得令牌的站可以立即向目的站发送数据,发送结束,通信过程也就完成了;而采用有应答数据传送方式时,取得令牌的站向目的站发送完数据后并不算通信完成,必须等目的站获得令牌并把应答帧发给发送站后,整个通信过程才结束。后者比前者的响应时间明显增长,实时性下降。

1.5 浮动主站通信方式

浮动主站通信方式又称N:M通信方式,适用于总线结构的PLC网络,是指在总线上有M个站,其中N(N<M=个为主站,其余为从站。

N:M通信方式采用令牌总线与主从总线相结合的存取控制技术。首先把N个主站组成逻辑环,通过令牌在逻辑环中依次流动,在N个主站之间分配总线使用权,这就是浮动主站的含义。获得总线使用权的主站再按照主从方式来确定在自己的令牌持有时间内与哪些站通信。  一般在主站中配置有一张轮询表,可按轮询表上排列的其它主站号及从站号进行轮询。获得令牌的主站对于用户随机提出的通信任务可按优先级安排在轮询之前或之后进行。

获得总线使用权的主站可以采用多种数据传送方式与目的站通信,其中以无应答无连接方式速度最快。

1.6 CSMA/CD通信方式

  

CSMA/CD通信方式是一种随机通信方式,适用于总线结构的PLC网络,总线上各站地位平等,没有主从之分,采用CSMA/CD存取控制方式,即“先听后讲,边讲边听”。

CSMA/CD存取控制方式不能保证在一定时间周期内,PLC网络上每个站都可获得总线使用权,因此这是一种不能保证实时性的存取控制方式。但是它采用随机方式,方法简单,而且见缝插针,只要总线空闲就抢着上网,通信资源利用率高,因而在PLC网络中CSMA/CD通信法适用于上层生产管理子网。

CSMA/CD通信方式的数据传送方式可以选用有连接、无连接、有应答、无应答及广播通信中的每一种,可按对通信速度及可靠性的要求进行选择。

以上是PLC网络中常用的通信方式,此外还有少量的PLC网络采用其它通信方式,如令牌环的通信方式等。另外,在一些PLC网络中,常常把多种通信方式集成配置在某一级子网上,这都是今后技术发展的趋势。

二、PLC的MODBUS通信实例

2.1 MODBUS简介

MODBUS是由Modicon(现为施耐德电气公司的一个品牌)在1979年发明的,是全球第一个真正用于工业现场的总线协议。当现代的控制领域持续不断的产生和应用诸如现场总线和网状网络等先进概念的时候,MODBUS的简单性以及它的便于在许多通讯媒介上实施应用的特点一直使它受到最广泛的支持,并且成为全球应用最广泛的工业协议。通过此协议,控制器经由网络(例如以太网)和其它设备之间可以通信,此协议支持传统的RS-232、RS-422、RS-485和以太网设备。许多工业设备,包括PLC、DCS、变频器、智能仪表等都在使用MODBUS协议作为他们之间的通讯标准,它可应用于各种数据采集和过程监控。

PLC网络是由几级子网复合而成,各级子网的通信过程是由通信协议决定的,而通信方式是通信协议最核心的内容。通信方式包括存取控制方式和数据传送方式。所谓存取控制(也称访问控制)方式是指如何获得共享通信介质使用权的问题,而数据传送方式是指一个站取得了通信介质使用权后如何传送数据的问题。

2.2 MODBUS协议库

1、使用MOBUS协议的部分要求
A、初始化MODBUS从站协议占用Port0 作为MODBUS从站协议通信,MODBUS从站协议只支持端口0通信,所以选择奥越信的双通信的CPU,可以把Port1作为编程通信口,以便于调试;如果只有单通信口的话,可把CPU打到STOP模式在编程。
B、MODBUS从站协议指令的变量要求799字节的V区域,该区域的起始地址由用户指定,保留给MODBUS使用,程序中不可以使用库存储区占用的地址。
C、可参照S7-200编程手册中了解MODBUS指令的设置与编写。

2、MODBUS协议允许在各种网络体系结构内进行简单通信。
如图所示:

A、每种设备(PLC、HMI、控制面板、驱动程序、动作控制、输入/输出设备)都能使用MODBUS协议来启动远程操作。

B、在基于串行链路和以太网络的MODBUS上可以进行相同通信。

C、一些网关允许在几种使用MODBUS协议的总线或网络之间进行通信。

2.3 MODBUS编程实例

1、要求:2个CPU进行通信连接,主站每秒QW0输出加1,主站通过MODBUS通信方式将其输出点的数值与从站同步。
2、硬件根据要求,选取了奥越信的CPU224C与CPU224D,两款都带有双通信口,功能也强大,编程测试时比较方便。
3、程序中先对两个CPU的通讯口做了定义及设置,成功通信之后两个CPU的输出点通过MODBUS将会同步输出主从站程序如下图所示:


2.4 通信实例总结

根据上述实例我们在做MODBUS通信时,首先要清楚主从站及对应的设备进行设置,保证地址、波特率等等要按要求设置好,选型时尽量考虑多通信口的CPU,这样对编程及调试使用会方便一点,如上诉例子中奥越信的214系列的CPU都是双通讯口的。硬件选好之后,要想好思路,一步一步的写,最终完成MODBUS的通信。

标签:令牌,方式,工控,总线,通信,嵌入式,MODBUS,PLC
From: https://www.cnblogs.com/o-O-oO/p/18630086

相关文章

  • 嵌入式linux驱动框架 I2C系统驱动程序模型分析
    引言:在嵌入式Linux系统中,I2C(Inter-IntegratedCircuit)是一种常用的通信协议,用于连接低速设备(如传感器、显示器、存储器等)与主控制器。I2C系统驱动程序模型通过层次化的设计,使得I2C总线设备和驱动程序能够高效、灵活地进行通信和管理。本分析旨在详细介绍I2C驱动程序框......
  • 嵌入式Linux QT+OpenCV基于人脸识别的考勤系统 项目
    此项目是基于人脸识别的考勤系统开发,包括如下模块:1、人脸识别考勤系统GUI界面设计,包括:(1)Qt环境(window环境/linux环境);(2)Qt工程创建分析;(3)Qt基本组件QwidgetQMainWindow,Qdialog,QLineEdit,Qlabel,QPushButton;(4)Qt界面布局,设计人脸识别考勤系统界面搭建;(5)考勤机界面设计(考勤......
  • PLC编程—基本知识
    PLC编程—基本知识 1.OB、FB、FC功能OB(组织块):用于执行特定的任务(CPU启动、循环扫描、时间中断、硬件中断等),每个OB块均有一个特定的功能和优先级(特定事件发生时被触发)。FB(功能块):具有内部存储器,可保留状态数据,适用于多频次调用需要保持数据状态的场合(PID控制器、计数器等)。FC(功......
  • 【嵌入式开发】链接让你的程序在内存中找到正确位置
    一、空间和地址分配二、符号解析与重定位三、静态库链接前面已经了解了ELF目标文件的内容,本篇文章的重点在于怎么将多个目标文件链接起来形成一个可执行文件。现在链接器的链接过程主要分两步:1、空间和地址分配2、符号解析与重定位下面来看一下,这两个步骤具体干了什么。......
  • OpenAI 推出嵌入式硬件 SDK,支持 ESP32 语音开发;INFP:音频驱动的双人对话头像生成,自动区
      开发者朋友们大家好: 这里是「RTE开发者日报」,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享RTE(Real-TimeEngagement)领域内「有话题的新闻」、「有态度的观点」、「有意思的数据」、「有思考的文章」、「有看点的会议」,但内容仅代表编辑的......
  • 【嵌入式Linux】---- 基于petaLinux和SDK开发的LED驱动和应用测试(全流程实战)
    1配置petaLinux环境变量在Linuxproject目录下,打开终端,输入命令source/opt/pkg/petalinux/2018.3/settings.sh2新建petaLinux工程petalinux-create-tproject--templatezynq-nZYNQ7010_LED3配置petaLinux工程输入cdZYNQ7010_LED,进入刚刚创建的工程文件;输入p......
  • 海格通信嵌入式面试题及参考答案
    计算电路的最高工作频率如何计算?计算电路的最高工作频率主要考虑电路中的关键路径延迟。关键路径是指在整个电路中,信号传播延迟最长的路径。电路的最高工作频率的倒数就是时钟周期,而时钟周期必须大于关键路径的延迟时间。首先要确定电路中各个模块的延迟。比如对于组合逻......
  • 西门子PLC数据采集
    模拟工具依赖<dependency><groupId>com.github.s7connector</groupId><artifactId>s7connector</artifactId><version>2.1</version></dependency>获取连接privatestaticfinalMap<String,S7Connector>......
  • 蓝桥杯——嵌入式学习笔记
    备战2025蓝桥杯嵌入式,记录一下过程。不定期更新,欢迎提出问题和指导。一、cubemx配置    1.芯片选择        嵌入式主板用的是STM32G431RBT系列,因此选择以下芯片    2.Pinout&Configuration        这里调整System......
  • 嵌入式——多任务程序设计
    目录(一)uc/OS-III介绍1.uc/OS-III简介2.任务3.任务的分类4.OSRdyList[]数组(二)实验过程1.任务要求2.STM32CubeMX建项目3.uc/OS-III源码移植4.keil工程修改及编写5.编译烧录6.串口调试7.结果演示(三)总结(四)参考文献(一)uc/OS-III介绍1.uc/OS-III简介us/OS是Micrium公......