MODUS通讯协议实例工业控制已从单机控制走向集中监控
MODBUS协议概括及详解

MODBUS 是MODICON公司最先倡导的一种软的通讯规约,经过大多数公司的实际应用,逐渐被认可,成为一种标准的通讯规约,只要按照这种规约进行数据通讯或传输,不同的系统就可以通讯。
目前,在RS232/RS485通讯过程中,更是广泛采用这种规约。
常用的MODBUS 通讯规约有两种,一种是MODBUS ASCII,一种是MODBUS RTU。
一般来说,通讯数据量少而且主要是文本的通讯则采用MODBUS ASCII规约,通讯数据数据量大而且是二进制数值时,多采用MODBUS RTU规约。
在实际的应用过程中,为了解决某一个特殊问题,人们喜欢自己修改MODBUS 规约来满足自己的需要(事实上,人们经常使用自己定义的规约来通讯,这样能解决问题,但不太规范)。
更为普通的用法是,少量修改规约,但将规约格式附在软件说明书一起,或直接放在帮助中,这样就方便了用户的通讯。
ModBus RTU通讯协议是Modicon公司的注册商标, 采用主从问答方式工作,是目前国际智能化仪表普遍采用的主流通讯协议之一[1]。
ModBus RTU通讯协议有两种传输模式,分为RTU模式和ASCII模式,其中RTU模式信息帧中的8位数据包括两个4位16进制字符,相对于ASCII模式,RTU模式表达相同的信息需要较少的位数,且在相同通讯速率下具有更大的数据流量。
因此通常情况下,一般工业智能仪器仪表都是采用RTU模式。
江阴长江斯菲尔公司生产的电力仪表大都采用MODBUS RTU通讯协议,允许一台主机和多台从机之间进行数据通信,在其生产的CD194E系列仪表通讯系统中,主机是微机(PC、工控机或PLC),从机是CD194E型仪表。
在该分散通讯系统中,允许总线挂接仪表多达128块,通讯距离可达到1千200米。
通讯方式采用主机请求,从机应答,即:主机提出命令请求,从机接收数据后作数据分析,如果数据满足通讯规约,从机作数据响应。
使用CD194E型网络电力仪表时,首先要进行通讯参数的设置:通过仪表上的编程键盘对仪表进行通讯参数设置:(1)仪表地址:设置通讯网络中从机(仪表)地址号,可以设置为1~247。
基于Modbus通讯协议的DCS与第三方控制系统通讯的实现

基于Modbus通讯协议的DCS与第三方控制系统通讯的实现郭旭周立仁(华能南通电厂江苏南通226003)摘要:本文介绍了华能玉环电厂#1机组(国内首台百万超超临界燃煤发电机组)DCS控制系统与第三方控制系统(DEH、MEH、等离子点火),实现在基于MO DBUS 通讯协议下的通信连接。
并结合具体设计方案及实施过程,对通信模件组态的点表信息及参数设定等方面进行了介绍。
关键词:DCS通讯MODBUS;第三方控制系统Abstract:The paper described communication, based on the Modbus protocol, b etween the DCS and third part control system such as DEH、MEH and plasma ignition control in Huaneng Yuhuan power plant, which is the first USC coal-fired 1000MW power plant. The system design, control system implementation, data list configuration and parameters setting of the communication modules o f each system is described detailedly in this paper.Key words:DCS Communication;MODBUS;The third part control system1 简介华能玉环电厂#1机组为国内首台1000MW超超临界燃煤发电机组,其DCS系统采用西屋公司OVATION控制系统,而机组的其他控制系统类型较多且分散独立,如数字电液控制系统(DEH)采用西门子公司刚推出的最新型的SPPA-T3000控制系统,MEH采用三菱重工DIASYS系列的最新 DIASYS Netmation控制系统,等离子点火采用SIEMENS S7系列PLC控制,远程金属壁温I/O 采用无锡贝尔I DAS分散式智能数据采集网络,吹灰采用Modicon quantum系列PLC控制等。
ModbusBridge通信机驱动使用案例

M2IGS工业自动化系统人机界面开发工具ModbusBridge通信机驱动使用案例Ver 2009.07.241 组态软件M2IGS与后台通信基本概念:此案例是利用组态软件M2IGS作为前台获取后台(由MODBUS协议提供链接)数据的典型过程。
组态软件:又称为监控组态软件,译自英文SCADA,即Supervision,Control and Data Acquisition,组态软件的应用领域很广,它可以应用于电力系统、给水系统、石油、化工等领域的数据采集与监视控制以及过程控制等诸多领域。
在电力系统以及电气化铁道上又称为远动系统。
组态软件是指一些数据采集与过程控制的专用软件,它们是在自动控制系统监控层一级的软件平台和开发环境,使用灵活的组态方式,为用户提供快速构建工业控制系统监控功能的、通用层次的软件工具。
MODBUS通讯协议:Modbus协议是应用于电子控制器上的一种通用语言,通过此协议,控制器互相之间、控制器经由网络(例如以太网)和其他设备之间可以通讯。
它已经成为一通用的工业标准。
有了它,不同厂商生产地控制设备可以连成工业网络,进行集中监控。
此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。
它描述了一控制器请求访问其他设备的过程,如果回应来自设备的请求,以及怎样侦测错误并记录。
它制定了消息域格局和内容的公共格式。
通信机: MB系列(我公司产品)Modus Bridge 是完成Modbus Slave集中管理的的通讯转换与接入装置,通过网络接口可以完成Modbus TCP RTU与串口Modbus Serial RTU 和 Modbus Serial ASCII 的通宵互交,也可以完成串口之间的的Modbus Serial RTU 和 Modbus Serial ASCII 的通信互交。
MB系列Modus Bridge 产品是专门为电磁环境恶劣的工业现场应用而设计,尤其适合于为电力系统、电气化铁路和军事工程构建高可靠性的自动化通信系统,也完全满足高速公路、城市交通、银行系统、工矿企业等多种领域。
j2mod 的案例

j2mod 的案例j2mod是一个Java实现的Modbus协议库,用于在计算机网络中实现Modbus通信。
它提供了Modbus协议的主站和从站实现,以及与Modbus设备进行通信的API接口。
j2mod具有灵活、易用、可扩展的特点,被广泛应用于工业自动化、能源管理、楼宇自控等领域。
在以下的案例中,我将介绍j2mod在不同场景下的应用。
1. 工业自动化控制系统:以一个工业自动化控制系统为例,该系统包含多个从站设备,如温度传感器、压力传感器、阀门控制器等。
通过j2mod库,主站可以与这些从站设备建立连接,并实时获取温度、压力等数据。
主站可以通过j2mod库发送指令控制从站设备,如打开或关闭阀门,调节温度等。
2. 能源管理系统:j2mod可以应用于能源管理系统中,用于实时监测和控制能源设备,如发电机、变压器、电表等。
主站可以通过j2mod库与这些设备进行通信,获取电能消耗数据、电压数据等。
主站可以根据这些数据进行能源管理,如优化能源分配、降低能耗等。
3. 楼宇自控系统:在楼宇自控系统中,j2mod可以用于实现主站与从站设备之间的通信。
主站可以通过j2mod库与从站设备进行连接,实时获取温度、湿度、照明等数据。
主站可以根据这些数据进行楼宇自控,如调节空调温度、控制照明亮度等。
4. 数据采集系统:j2mod可以用于实现数据采集系统,主站可以通过j2mod库与多个从站设备进行连接,实时获取各个设备的数据。
主站可以将这些数据保存到数据库中,供后续分析和处理。
5. 远程监控系统:j2mod可以应用于远程监控系统中,主站可以通过j2mod库与远程设备进行通信。
主站可以实时获取设备的状态和数据,并对设备进行控制。
6. 智能家居系统:在智能家居系统中,j2mod可以用于实现主站与从站设备之间的通信。
主站可以通过j2mod库与从站设备进行连接,实时获取温度、湿度、照明等数据。
主站可以根据这些数据进行智能家居控制,如自动调节室内温度、控制照明等。
modbus 控制实例

modbus 控制实例
3. 读取数据:主站通过Modbus通信协议向从站发送读取数据的请求。例如,主站可以发 送一个读取从站寄存器的命令。从站接收到请求后,将相应的数据发送给主站。
6. 监测和报警:主站可以定期或者根据需要读取从站设备的状态数据,并进行监测。如果 发现异常情况,主站可以触发报警或者采取相应的措施。
需要注意的是,Modbus控制实例的具体实现方式会根据不同的设备和应用场景而有所差 异。以上只是一个简单的示例,实际的Modbus控制系统可能涉及更多的设备和功能。来自modbus 控制实例
一个常见的Modbus控制实例是使用Modbus通信协议来控制和监测工业自动化系统中 的设备。以下是一个简单的Modbus控制实例:
1. 设备配置:首先,需要配置Modbus主站和从站设备。主站设备可以是一个PLC(可 编程逻辑控制器)或者一个电脑上的Modbus主站软件。从站设备可以是传感器、执行器 或其他需要控制的设备。
4. 写入数据:主站也可以通过Modbus通信协议向从站发送写入数据的请求。例如,主站 可以发送一个写入从站寄存器的命令,将特定的值写入从站设备中。
5. 控制逻辑:主站根据读取到的数据或者用户的输入,执行相应的控制逻辑。例如,根据 传感器读取到的温度数据,主站可以控制执行器的开关状态来调节温度。
modbus 控制实例
DCS与PLC通信中Modbus通信协议的应用探究

LB_■-■IT技术论坛TECHNOLOGY AND INFORMATIONDCS与PLC通信中M o dbus通信协议的应用探究李进保甘肃省酒泉市玉门油田分公司信息中心甘肃酒泉735000摘要Modbus属于能够同时支持实时控制、分布式控制的现场总线协议,优点颇多,应用广泛,逐渐成为工业标准,于各种网络体系结构中发挥着通讯的作用。
本文围绕DCS与PLC通讯中Modbus通信协议的应用展开研究。
关键词DCS;PLC;Modbus通信协议;应用以往单机控制的工业控制,逐渐发展为集中操作、分散控制。
而在网络时代下,更是便利了数据采集、工业控制,不仅性能显著,且成本更低。
具体应用中,各厂家需要将控制系统的数据共享,某集成系统难以将控制需要满足时也应当进行系统的额外增加,互联2种不同系统。
因此,本文立足于企业未来生产要求及成本降低方面,甄选不同系统共同支持的通讯集成协议,以期妥善解决上述问题。
1Modbus通信作为整个系统基础的Modbus,是外部数据的获取手段。
要想确保通信的正常,最关键的便是Modbus协议栈的实现。
Modbus协议有着详细的标准文档,属于通用工业标准。
根据Modbus协议栈,将一个Modbus客户端与主站分别实现。
两者有着类似的功能。
设定好的动作通过客户端/主站朝着Modbus命令转换,并朝着服务器/从站周期性地发送请求闪。
而在命令读取时,会以动作设定的类型为根据,以通信通道读数为目标转换返回的寄存器值;而在写命令时,则以动作设定类型为依据,以寄存器值为目标转换通道值,并写入服务器/主站。
Modbus协议实现了主设备查询格式的构建:设备(或广播)地址、功能代码、需传输的数据、错误检测域。
首先为设备(或广播)地址,提供从机地址是其主要责任,在以地址为根据的前提下,从机可对是否接收请求进行判断,用户应当妥善设置每台从机地址;其次,功能代码,表示指引从机将一系列动作完成,如功能代码3即是读取从机保持寄存器并返回的内容,从机寄存器地址及待读取的寄存器个数接应当包含在数据区内容内;最后,错误检测域,负责检验信息是否正确传输,依托循环冗长检测方法,于消息最末处附加CRC域,首先完成低字节的添加,随后添加高字节。
采用Modbus协议实现DCS系统中监控级数据集成

方式, 实 现 了 4=<&&" 、 4=<&&K 规 定 的 功 能 7 ,8 。 每 个 子 站 的 客 户 程 序 不 需 要 了 解 ’()$%& 的 具 体 协 议 和 实 现 方 式 , 只需调用组件公开出来的方法, 就可以与远程计算机交 换数据, 实 现 ’()$%& 协 议 透 明 、 网络数据传输透明。例 如 +=<I1 端 的 组 件 , 客 户 端 只 需 修 改 其 连 接 数 据 就 可 以 使 变 化 反 应 到 ’<&H1A 端 , 而 ’<&H1A 端 修 改 了 数 据 后 , +=<I1 端 会 触 发 事 件 通 知 客 户 。 网络结构没有使用点对点的连接, 而是采用了星型 从图 , 可看出, 系统基本上是两个控制回路: 一路 由钙铁分析仪、 配料秤及控制算法组成, 实现磨前精配, 即出磨生料质量的在线实时闭环控制; 另一路由四元素 分析仪、 料浆塞、 料位仪组成, 实现磨后调配, 即入窑前 料浆质量的均化控制。配库算法在第二条回路中起控 制、 优化和网络接口的作用。系统控制参数的改变由两 个事件触发:钙铁仪分析的结果和四元素分析的结果。 这两个分析结果由对用户定期采得的实际生产中的样 各站之间是相互联系 品的分析得到。从图 , 还可看出, 的, 它们的协作关系到生料生产的质量。 在网络设计中,不仅要实现各站之间数据交换, 同 连接, 在一个站点上建立一个实时数据库, 相当于一个 数据中心。所有站点都只与数据中心相连, 各站数据也 发送到数据中心集中。网络结构见图 -。
《 电子技术应用》!""! 年第 # 期
投 稿 邮 箱 M +,-./0’+ ) 0#1 ) 0/
基于Modbus和SNMP协议的集中式通信设备网络管理系统设计

《工业控制计算机》2018年第31卷第5期在通信技术和计算机技术蓬勃发展的今天,各个通信台站都拥有了大量的通信设备,这些设备分布于不同的房间、大楼等。
传统的设备管理方法需要管理人员在不同地点、不同设备之间往返检查设备状态和设置参数等,这个过程耗费大量的人力、物力,严重影响效率。
随着通信设备的更新换代,在现有通信站点存在着老旧设备同时使用,某些核心站点换装最新型的通信设备等,新旧设备之间如何统一管理也是一个亟需解决的问题。
部队现代化、信息化的建设要求需要我们紧跟时代步伐,对于通信台站的具体要求是将分布在不同地点和不同台站之间的不同设备进行统一的高效的信息化管理。
本文研究现在主流的成熟的设备网管系统,提出基于Modbus和SNMP协议的网络管理系统来对各个通信台站的通信设备进行管理。
1网管系统的设备信息采集现有通信台站的设备非常多样化,大部分通信设备使用串口,少部分较新型设备使用的是以太网口,要将全部设备纳入网管系统的统一管理时,需要将不同接口设备分类处理,不同通信设备使用不用的通信协议。
1.1串口通信设备信息采集和Modbus协议对串口通信设备来说,不同厂家的通信设备采用的串行接口也是不一样的,大部分使用的有RS232、RS422、RS485等主流串行通信接口,三种通信接口的比较如表1所示[1]。
表1常用的通信接口比较由表1可见,不同通信接口相差较大,为了连接不同接口的通信设备,需要通过串口服务器将通信设备与网管服务器相连。
现在主流的串口服务器可以兼容RS232、RS422、RS485等串行接口。
单个串口服务器可以连接8路、16路等多路串口设备。
通过串口服务器的配置软件可以设置串口服务器的IP地址,可以对串口服务器的多路串口进行串口类型、工作模式、波特率等设置,并将串口映射成网络端口,网管服务器通过网口直接与串口服务器连接。
另外,网管服务器通过串口服务器与通信设备连接之后,还需要使用通信协议进行信息的交互。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
工业控制已从单机控制走向集中监控、集散控制,如今已进入网络时代,工业控制器连网也为网络管理提供了方便。
Modbus就是工业控制器的网络协议中的一种。
1.协议概述
物理层:传输方式:RS485
通讯地址:0-247
通讯波特率:可设定
通讯介质:屏蔽双绞线
传输方式:主从半双工方式
协议在一根通讯线上使用应答式连接(半双工),这意味着在一根单独的通讯线上信号沿着相反的两个方向传输。
首先,主计算机的信号寻址到一台唯一的终端设备(从机),然后,在相反的方向上终端设备发出的应答信号传输给主机。
协议只允许在主计算机和终端设备之间,而不允许独立的设备之间的数据交换,这就不会在它们初始化时占据通讯线路,而仅限于响应到达本机的查询信号。
一个数据帧格式:
1位起始位,8位数据,1位或者无奇偶检验位、1位或者2位停止位。
一个数据包格式:
协议详细定义了校验码、数据格式、功能码等,这些都是特定数据交换的必要内容。
当数据帧到达终端设备时,它通过一个简单的“口”进入寻址到的设备,该设备去掉数据帧的“信封”(数据头),读取数据,如果没有错误,就执行数据所请求的任务,然后,它将自己生成的数据加入到取得的“信封”中,把数据帧返回给发送者。
返回的响应数据中包含了以下内容:终端从机地址(Address)、被执行了的命令(Function)、执行命令生成的被请求数据(Data)和一个校验码(Check)。
发生任何错误都不会有成功的响应。
地址(Address)域
地址域在帧的开始部分,由8位(0 ~ 255)组成,这些位标明了用户指定的终端设备的地址,该设备将接收来自与之相连的主机数据。
每个终端设备的地址必须是唯一的,仅仅被寻址到的终端会响应包含了该地址的查询。
当终端发送回一个响应,响应中的从机地址数据便告诉了主机哪台终端正与之进行通信。
功能(Function)域
功能域代码告诉了被寻址到的终端执行何种功能。
表1 – 1列出了部分常用的功能码、它们的意义及它们的初始功能。
表 1 – 1 功能码
数据域
数据域包含了终端执行特定功能所需要的数据或者终端响应查询时采集到的数据。
这
些数据的内容可能是数值、参考地址或者极限值。
例如:功能域代码告诉终端读取一个寄存器,数据域则需要指明从哪个寄存器开始及读取多少个数据,内嵌的地址和数据依照类型和从机之间的不同能力而有所不同。
校验域
该域允许主机和终端检查传输过程中的错误。
有时,由于电噪声和其它干扰,一组数据在从一个设备传输到另一个设备时在线路上可能会发生一些改变,出错校验能够保证主机或者终端不去响应那些传输过程中发生了改变的数据,这就提高了系统的安全性和效率,出错校验使用了16位循环冗余的方法。
[注] 发送序列总是相同的–地址、功能码、数据和与方向相关的出错校验。
错误检测
循环冗余校验(CRC)域占用两个字节,包含了一个16位的二进制值。
CRC值由传送设备计算出来,然后附加到数据帧上,接收设备在接收数据时重新计算CRC值,然后与接收到的CRC域中的值进行比较,如果这两个值不相等,就发生了错误。
CRC运算时,首先将一个16位的寄存器预置为全1,然后连续把数据帧中的8位字节与该寄存器的当前值进行运算,仅仅每个字节的8个数据位参与生成CRC,起始位和停止位以及可能使用的奇偶位都不影响CRC。
在生成CRC时,每个8位字节与寄存器中的内容进行异或,然后将结果向低位移位,高位则用“0”补充,最低位(LSB)移出并检测,如果是1,该寄存器就与一个预设的固定值进行一次异或运算,如果最低位为0,不作任何处理。
上述处理重复进行,直到执行完了8次移位操作,当最后一位(第8位)移完以后,下一个8位字节与寄存器的当前值进行异或运算,同样进行上述的另一个8次移位异或操作,当数据帧中的所有字节都作了处理,生成的最终值就是CRC值。
生成一个CRC的流程为:
1.预置一个16位寄存器为0FFFFH(全1),称之为CRC寄存器。
2.把数据帧中的第一个8位字节与CRC寄存器中的低字节进行异或运算,结果
存回CRC寄存器。
将CRC寄存器向右移一位,最高位填以0,最低位移出并
检测。
3.如果最低位为0:重复第2步(下一次移位)。
如果最低位为1:将CRC寄存器与一个预设的固定值(0A001H)进行异或运算。
1.重复第2步和第3步直到8次移位。
这样处理完了一个完整的八位。
2.重复第2步到第4步来处理下一个八位,直到所有的字节处理结束。
3.最终CRC寄存器的值就是CRC的值。
2.应用层功能详解
2.1 读保持寄存器(功能码03)
查询
功能码03H允许用户读取多个保持寄存器的内容。
主站设备可设从保持寄存器的任何起始地址读取多个寄存器的值。
表2 – 1 的例子是从03号从机读3个数据U1,U2,U3, 其中U1的地址为0001H, U2的地址为0002H, U3的地址为0003H,即寄存器起始地址为0001H,数据个数为0003H。
表2 – 1 读U1、U2、U3的查询数据帧
响应
响应包含从机地址、功能码、数据的数量和CRC错误校验。
表2 – 2的例子是读取U1,U2,U3的响应。
表 2 – 2读U1,U2,U3 的响应数据帧
2.2 预置多个寄存器(功能码10)
查询
功能码10H允许用户改变多个寄存器的内容,设备可从任何地址开始设置多个变量的值。
表2-3的例子是修改3号从站设备的负载监控1和负载监控2的动作及延时时间的设定值,其中负载监控1的动作设定值地址为2AH,延时时间的设定值为2BH,负载监控2的动作设定值地址为2CH,延时时间的设定值为2DH。
表2-3 修改负载监控1和负载监控2的动作值及延时时间的设定值
响应
响应包含从机地址、功能码、数据的数量和CRC错误校验。
表2 – 4的例子是修改负载监控1和负载监控2的动作值及延时时间的设定值的响应。
表2-4修改负载监控1和负载监控2的动作值及延时时间的设定值的响应
2.3 预置单个寄存器(功能码06)
查询
功能码06允许用户改变单个寄存器的内容。
表2-5的例子是修改03号从机过载动作设定值Ir1,其中Ir1地址是002EH.
表2-5修改过载动作设定值Ir1
响应
对于预置单个寄存器请求的正常响应是在寄存器值改变以后将接收到的数据传送回去。
表2-6修改过载动作设定值Ir1响应。