基于Modbus规约的智能仪表与PC机通信技术实现

合集下载

基于Modbus TCP协议实现PC机与PLC的串行通信

基于Modbus TCP协议实现PC机与PLC的串行通信

基于Modbus TCP 协议实现PC 机与PLC 的串行通信1 引言智能楼宇工程中的中央空调、电梯、通风、给排水、照明、火灾报警等个子系统的互联方案中,采用modbus tcp 协议的串行通信方式,全面兼容modbus 工业标准,数据传输可靠,响应速度快,扩展灵活,通过互联网实现各子系统与中央管理系统的通信。

modbus tcp 协议是在tcp/ip 标准中,应用层采用工业领域事实标准modbus。

modbus 使用tcp/ip 应用层的502 端口,这是经过国际公认的。

该串行总线方式支持各种介质的rs-232、rs-422、rs-485 接口。

modbus tcp 的网络通信模式采用client/server 方式,如2.1 协议分析modbus tcp 数据报文结构,如一次modbus tcp 读取保持寄存器的通信分析(省略了ip/tcp 头):从左向右分析该数据报文:00 03 为此次通信编号,一般每次通信之后将被要求加1 以区别不同的通信数据报文;00 00 表示协议标识符,00 00 为modbus 协议;00 06 为数据长度,用来指示接下来数据的长度,单位字节;03 为设备地址,用以标识连接在串行线或者网络上的远程服务端的地址。

以上七个字节也被称为modbus 报文头。

03 为功能码,此时代码03 为读取保持寄存器数据。

00 00 00 01 为功能码的参数,指示将被读取的保持寄存器的地址与长度。

从左向右分析该数据报文:00 03 为此次通信编号,应答报文要求与先前对应的请求保持一致;00 00 为协议标识符,00 00 表示modbus 协议;00 05 为数据长度,用来指示接下来数据的长度,单位字节;03 为设备地址,应答报文要求与先前对应的请求保持一致。

以上七个字节同样为modbus 报文头。

03 为功能码,正常情况下应答报文要求与先前对应的请求保持一致,如果出错则返回80h+先前的功能码。

基于Modbus协议的PLC与智能仪表的通讯_吴永强

基于Modbus协议的PLC与智能仪表的通讯_吴永强
计算机应用
汽车科技第 5 期 2009 年 9 月
基于 Mo d b u s 协议的 P L C 与智能仪表的通讯
吴永强,陈宏图
(东风汽车有限公司 东风商用车技术中心,十堰 442001)
摘 要 :介 绍 了 Modbus 协 议 的 特 点 和 SIEMENS S7-300 PLC 与 Honeywell UDC3500 智 能 仪 表 之 间 的 通 信 原 理 ,给 出
4.0 a[5] BYTE B#16#00 读取数据个数高位
5.0 a[6] BYTE B#16#01 读取数据个数低位
6.0 a[7] BYTE B#16#00 -
(2)接收模块的设计 接收功能 块 是 FB7 (P-RCV-RK), 同 样 , 它 也 要 设 计 DB 块 ,格 式 见 表 8。 需 要 注 意 的 是 ,FB7 在 返回数据的时候将从站地址和功能码丢弃, 所以 在 DB 块 中 未 包 含 从 站 地 址 、功 能 码 等 字 节 ,而 仅 仅是数据内容,因此程序中不能依据从站地址、功 能 码 值 去 判 定 响 应 数 据 的 种 类 ,然 而 ,CP341 却 规
表 5 读取寄存器内容的数据帧
地址号 功能号 起始寄存器号(X) 寄存器数(N) CRC 校验
01
03
17
89
00 01 12 34
表 6 返回寄存器内容的数据帧
地址号 功能号 字节数 数据高位 数据低位 CRC 校验
01
03
02
00
64
12 34
2 PLC 通信程序的实现
PLC 和 智 能 仪 表 的 通 信 遵 循 Modbus 协 议 ,采 用 主/从 方 式 ,SIEMENS S7 -300 PLC 作 为 主 站 (CP341 模 块 中 插 人 主 站 Dongle 就 可 以 作 为 Modbus 主 站 ),UDC3500 作 为 从 站 ,PLC 作 为 主 机 发 起 通信请求,UDC3500 作为从站处于被动状态, 随时 准备响应来自上位机的请求。借助 SIEMENS 公司提 供的编程软件和数据包, PLC 系统的程序开发实现 了模块化结构。 2.1 编程软件

基于Modbus协议实现PLC与智能仪表的通讯

基于Modbus协议实现PLC与智能仪表的通讯

基于Modbus协议实现PLC与智能仪表的通讯
1引言
Modbus协议是法国施耐德公司推出的一个全开放的“主从式
(Master/Slave)”通讯协议,其本意在于实现上位机(主设备)对PLC(从设备)内部存储区域的“直接”读写操作,无需用户对PLC进行通讯编程。

随着工业自
动化技术的不断发展,Modbus协议现已不仅仅局限于应用在PLC/上位机之间
的通讯上,许多智能仪表厂商也纷纷采用该协议作为自己产品的通讯协议。


此同时,PLC也由以前单纯的I/O控制发展成为集控制、数据采集、通讯为一身,在越来越多的自动化工程中,PLC需要取代上位机,作为“主设备”来完成
与智能仪表或其它支持该协议的PLC的通讯。

针对这一情况,施耐德公司在其
编程软件Concept2.2+补丁程序ServiceRelease2中增加了一条功能强大的通讯指令XXMIT。

通过该指令,用户可以将施耐德Modicon系列PLC上的原ModbusSlave通讯口作为ModbusMaster口或标准串口来使用,大大扩展了Modicon系列PLC的通讯功能。

本文将结合实例对该指令的ModbusMaster使
用方法做一些介绍,以供广大过程技术人员参考。

2XXMIT指令基本参数介绍
2.1基本参数概述
基本参数列表
2.2重要参数说明
2.2.1Command参数
该参数的16个为位用于设置通讯口的不同工作方式tips:感谢大家的阅
读,本文由我司收集整编。

仅供参阅!。

基于Modbus协议的自动化设备之间通信实现

基于Modbus协议的自动化设备之间通信实现

第21卷 第1期2006年3月 北京机械工业学院学报Journal of Beijing I nstitute ofM achinery Vol .21No .1Mar .2006文章编号:1008-1658(2006)01-0043-04基于M odbus 协议的自动化设备之间通信实现梅锐,牟永敏(北京信息工程学院 计算机科学与工程系,北京100101)摘 要:实现不同种自动化设备之间通信是系统集成的关键。

基于Modbus 协议的串口通信是较常用的方式之一。

介绍了三菱FX1N P LC 与智能单回路调节仪的串行通信原理,详细分析了Modbus RT U 协议的报文格式。

分析了软件编程的实现,通信程序开发过程中,出现的问题和解决方案。

该方式对实现设备之间的互联有着重要的意义。

关 键 词:可编程控制器;单回路调节仪;Modbus 协议中图分类号:TP 212 文献标识码:ARea li za ti on of co mm un i ca ti on between auto ma ti c dev i cesba sed on M odbus protocolME I Rui,MU Yong 2m in(Depart m ent of Computer Science &Engineering,Beijing I nf or mati on Technol ogy I nstitute,Beijing 100101,China )Abstract :How t o realize communicati on bet w een different kinds of aut omatic devices is the key t o syste m integrati on .Serial communicati on based on Modbus p r ot ocol is a nor mal way t o realize it .Serial communi 2cati on theory ofM itsubishi P LC and s mart single l oop contr oller are intr oduced,and Modbus RT U p r ot o 2col f or mat is exp lained .The realizati on of s oft w are p r ogra mm ing,and s ome p r oble m s in the communicat on p r ocedure devel opment and the res oluti on are p resented .This method has significant app licati on t o de 2vices connecti on .Key words :P LC;single l oop contr oller;Modbus p r ot ocol 随着嵌入式系统和现场总线技术的发展,实现不同类型的自动化设备之间的互联已经不是一个难题。

基于MODBUS协议TMS320F2812与PC机串口通信软件设计

基于MODBUS协议TMS320F2812与PC机串口通信软件设计

基于MODBUS协议TMS320F2812与PC机串口通信软件设计摘要:本文首先介绍了基于MODBUS协议的TMS320F2812DSP与PC机进行串口通信时的硬件连接。

然后,详细阐述了从机通信程序和主机通信模块的软件设计。

其通信程序协议采用了一种通用工业标准Modbus协议。

采用中断方式实现数据的接收和发送,保证了数据传输的可靠性。

利用C语言编写DSP从站通信程序,以便于程序的移植。

关键词:MODBUS TMS320F2812 PC 串口通信1 前言在众多微处理器当中,一般都会集成有一路或者多路硬件UART(异步串行通信接口)通道,能够非常方便地实现串行通信。

在工业控制、电力通讯、智能仪表等领域,常常使用简便易用的串行通信方式作为数据交换的手段[2]。

MODBUS是MODICON公司于1979年开发的一种通讯协议,是广泛应用于电子控制器上的一种通用语言通过此协议,控制器之间、控制器和其他设备之间可以进行通信,它已经成为一种通用工业标准。

通过它不同厂商生产的控制设备可以连成一个网络进行集中监控。

Modbus协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。

它描述了一控制器请求访问其它设备的过程、如何回应其它设备的请求,以及怎样侦测错误并记录等。

它制定了消息域和内容的公共格式。

以MCU为核心的静止无功补偿装置需要将采集到的实时数据和故障数据上传给PC机的控制界面,以便于人机交互。

利用MODBUS协议实现PC机与MCU之间的串口通信。

在本文设计的系统中以PC机作为主站(上位机) ,以TI公司的TMS320F2812DSP控制器作为从站(下位机) ,实现基于MODBUS的主从式通信。

图1为DSP与PC机的模块方框图[3]。

.图1 DSP与PC机的模块方框图2 硬件连接方法MODBUS标准物理层采用了RS-232串行通信标准,远距离或多点通讯时可以考虑用RS-422或者RS-485串行通信标准来代替。

Modbus智能仪表与PLC控制系统的通讯

Modbus智能仪表与PLC控制系统的通讯

景数据块( 本例 中为 D 4 块 ) B 4 和接收数据块 ( 本例 中为 D 5块 ) B 。
3装 载设 计 好 的发送 接 收程 序 F 1 C1与 F 2 C 。本 例 的 C 3 1作 为 Mob S 站 轮 询 访 问 多 个 从 站 , P4 du 主 根据 实 际需 要构造 不 同功能码 指令 , 可读写 不 同从站 的不 同地 址 空 间 。本例 对 通讯 故 障 的处 理 方 式 是简 单 地放 弃 当前作 业 , 触发 下 一个 作业 , 际运 用 中 并 实 可 根据 实 际情 况判 断 是否 需要 重 发 或进 行其 他 故 障
2 通 讯 实 例 介 绍
把 仪 表 信 号 接 人控 制 系 统 的 常 用方 法 有 两 种 ,
如图 1 所示 。
据 位 , 校验 , 个 停止 位 。C 3 1模 块 的 程序 编 写 偶 1 P4
方法 [ 如 下三 种 : 3 ] 有
1C 3 1 送 模 块 的发 送 程 序 主 要 是 通过 调 用 )P 4 发 功 能块 F 8来 实现 。F 8 基 于上 升 沿触 发工 作 的: B B 是
首 先 在 S E 7编 程 软件 中组 态 C U及 C 3 1 TP P P4 ,
其 中 C 3 1 块需 要 相应 的软 件 D n l P4 模 og e来驱 动 。 设
置 Mobs du 总线 传输 速 率和 帧字 符结 构 , 本例设 置 传 输 速 率 为 96k i/, . bts 帧字 符 1 - - , 1 起 始 s 一 e l即 位
用 R 4 2 8 d u T S 2/ 5M0 b sR U通 讯 方式 , 要在 发 送 的 4 需
22 仪表 通讯 接入 方 法 2 _ 方 法 2是 直接 将 信 号 接 人 上 位监 控 机 ,C机 一 P

基于Modbus协议实现PC机与智能仪表的通信

基于Modbus协议实现PC机与智能仪表的通信

程 环 境 下利 用 MS o C mm 通 信 控 件 和 T m r 时 器控 件 实现 基 于 该规 约 的 工 控 机 与 智 ie 定
能仪 表 之 间 的 串口 通信 的具 体 方 法 。
关键词 : 智能仪表 ; d u T Mo b s U协议 ; B .; R R V 6 C C校验 O
图 1 系 统 结 构 框 图
( 机 4 从 )
2 Mo b s d u 通信 协议 的 实现
Mob s d u 通信协议是 由美 国的 Mob s d u 公司推 出的开放式现
1 系统 结构
系统结 构见 图 1 。
… ● … ( ~ ■ 一 ● 、 ~ ● ●f ■ 一 ●~… 一 ’‘ ■ ’
控。主从机通信方式需要服从一定的协议 , 专用的通信模 块和协 议受制于成本及运输等多种因素 , 设计和开发带来很 多不便 。 对
本文 以某生产 线 中 4台 Wa o t w温控 智 能模 块 为从 机 与上位机 l 之 间的 M D U O B S协议 通信为例 ,通过 R - 8 S 4 5总线 实现 串口通 信 。在工业控制方 面, S 4 5总线 由于平衡差分传输 特性具有 R-8 的抗 干扰性强 、 传输距 离远 、 有较 大级联能力 等特点 , 常适 合 非 组成工业级的多机通 信系统 。
工 业 , 0 0 2 ( )6 . 2 1 ,2 8 :0
Litn c i e si g Ar h v s’M o r ie a g m e v l o e v n de n z d M na e ntLe e rS r i g f
S p r i h y’ ce tfcDe eo m e t u e h g wa SS i n i v lp i n

基于Modbus规约的智能仪表与PC机通信技术实现

基于Modbus规约的智能仪表与PC机通信技术实现

基与Modbus规约的智能仪表与PC机通信技术实现2008-8-27 15:21:00袁飞 程恩供稿摘要:本文主要介绍Modbus RTU规约,及在VB6.0编程环境下通过RS-485串口实现主控台PC机与智能仪表间基与该规约通信的具体实现方法。

关键词:Modbus RTU;通信协议;RS-485;CRC校验1 引言随着时代的进步,越来越多的企业开始向生产和管理自动化转变。

各种智能仪表不断地应用到生产生活的各个领域。

在工业控制方面,RS-485总线由于平衡差分传输特性具有的干扰性好、传输距离远、有较大级连能力等特点,非常适合于组成工业级的多机通信系统。

ModBus RTU规约是Modicon公司的注册商标,是目前国际智能化仪表普遍采用的主流通讯协议之一。

在各个工业仪器仪表大量使用的今天,Modbus RTU协议和RS-485总线得到了最为广泛的应用。

本文主要从应用的角度介绍在一个工业控制系统中,实现该技术的具体方案。

2 Modbus RTU 通讯协议简介(1) Modbus RTU协议简介ModBus RTU通讯协议是Modicon公司的注册商标。

采用主从问答方式工作,其规范已在国际互联网上公布,是目前国际智能化仪表普遍采用的主流通讯协议之一。

目前,国内许多生产商已在他们的产品和系统中遵循该协议标准。

该协议有两种传输模式即RTU模式和ASCII模式。

其中RTU模式信息帧中的8位数据包括两个4位16进制字符,相对于ASCII模式,RTU模式表达相同的信息需要较少的位数,且在相同通讯速率下具有更大的数据流量。

因此通常情况下,一般工业智能仪器仪表都是采用RTU模式的Modbus规约。

(2) Modbus 通信格式当通讯命令由发送设备(上位机)发送至接收设备(下位机)时,符合相应地址码的下位机就会响应命令,并根据约定的通信协议读取信息、数据校验并且执行相应的功能操作。

返回的帧结构包含地址码、功能码、数据以及CRC校验码。

基于Modbus TCP实现S7-200 Smart与PC间的通信应用

基于Modbus TCP实现S7-200 Smart与PC间的通信应用

1 引 言
公 司I VP大输 液 生产 线正 式投 产 至今 已有 十多 年 , 随 着 时间 的推 移 ,许 多设 备元 器件 出现 老 化问 题 .故障 问 题频 出 ,严 重影 响 了产 品的 正常 生 产。现 有灯 检 测 区 域 的 检 测 线 于 1998年 初 从 德 国 引 进 ,在 检 测 线 上 的进 瓶 口、合 格品 出瓶 口 、废 品 出瓶 口和贴 签 机出 口分 别 安 装 有 网个现 场 独立 计数 电 子盒 ,方 便生 产 人员核 算 产量
and the controllability of the product status is one of the m ost basic requirem ent for drug quality management system.This article f irst analyzed the M odbus TC P com m unication protocol and programm ing application between S7—200 Smart PLC and PC, and then the drug data acquisition,rem ote com m unication display and data post—processing w ithin diferent production processes are realized. Key words:S7—200 Sm art;M odbus TC P:VS2010C#
70 Colum n专栏-智能制造
基于Modbus TCP实现¥7-200 Smart.PC间的通信应用
hnplementation of Comm unication Between S7—200 Smart and PC Based on M odbus TCP

基于MODBUS协议的上位机与PLC及智能仪表之间的通信实现方法

基于MODBUS协议的上位机与PLC及智能仪表之间的通信实现方法
CRC是先调入一值是全“1”的16位寄存器,然后调用一过程将消息中连续的8位字节各当前寄存器中的值进行处理。
CRC产生过程中,每个8位字符都单独和寄存器内容相或(OR),结果向最低有效位方向移动,最高有效位以0填充。LSB被提取出来检测,如果LSB为1,寄存器单独和预置的值或一下,如果LSB为0,则不进行。整个过程要重复8次。在最后一位(第8位)完成后,下一个8位字节又单独和寄存器的当前值相或。最终寄存器中的值,是消息中所有的字节都执行之后的CRC值。下面是它的VC代码:
{
wCrc >>= 1;
wCrc ^= 0xA001;
}
else
{
wCrc >>= 1;
}
}
}
return wCrc;
}
六、上位机与智能仪表的通讯:
上位机的通讯程序可参照上位机与PLC的通讯程序进行设计,注意将上位机的串口地址设为其它的地址(例如2)。在此不作过多介绍。
多台智能仪表作为MODBUS从站的网络,每个从站必须设为唯一的从站地址,并设定好波特率。仪表要遵循MODBUS规约的通信帧结构对上位机的命令进行解析。非呼叫对象要能及时重新恢复等待接受状态。响应呼叫的仪表要解析命令并进行相应的功能处理,对非法的命令要能回报报错信息。
20读取通用参数(584L)显示扩展存储器文件中的数据信息
21写入通用参数(584L)把通用参数写入扩展存储文件,或修改之
在这些功能码中较长使用的是1、2、3、4、5、6号功能码,使用它们即可实现对下位机的数字量和模拟量的读写操作。
4下表是MODBUS地址映射到S7-200的地址:
MODBUS地址S7-200地址MODBUS地址S7-200地址
三、电气接口:

基于MODBUS协议的PLC与智能仪表的通信

基于MODBUS协议的PLC与智能仪表的通信
1 硬 件 构成 与通 信 协 议
11 硬件 构 成 .
用 户 可 根 据 需 要 选 择适 当 的传 输 模 式 ,但 在 同一 个 MOD U B S 网络 上 必 须 采 用 相 同的 传输 模 式 。
1 . A C『 式 .1 S l 3 模
某 电 力传 动 机 组 采 用 6台数 字 仪 表 , 别 为 4台 CD1 4 - 分 9E
2 4多 功能 电力 仪 表 、 S 1台 D M一 F直 流 监控 仪 、 C 3 1台超 声 波 流
量计 ,L P C通 过 CP 4 3 0通 信模 块 读 取 巡 检 仪 数 据 。由 于 C 3 0 P4 可 编 程 实 现 多 仪 表 循 环 通 信 ,因 此 在 本 应 用 中 只 使 用 1台 CP 4 3 0模 块 既可 满 足 设 计 要 求 。 信 的物 理 层 采 用 R 4 5串行 通 S8 通 信 网 络 , 双 工 通 信 方式 。有 2种 通 信介 质 可 供选 择 : 蔽 双 半 屏 绞线和 S D — r 传电台。 CA A D A数 12CP 4 - 3 0点 对 点 通 信模 块
关 键 词 : D U 。 P 4 , 信 MO B S C 3 0 通
Ab ta t s rc
Ths pap n rduc s a i erito e wa o m m u ia i b t y fco nc t on e wee Sim e S7- 0 ls PL n e ns 30 ca s C a it l nd n el i tis rm e s gen n tu nt ba e on s d M ODBUS nd t d i ng an appyn pr e s.hs y omm u cain s o d o a i s esgni d lig oc s T i wa ofc ni t i prve t be sm pl c e bl a d al bl n o i e,r di e,n v ua e i appi t n r a. d s l i a e an i wOrh o e ca o l t b wi l po lr ed. dey pua i z Ke wors MODBUS, 34 Comm u cain y d: CP 0, n 块 ,为 可 编 程 控 制 器 系统 提 供 了 串行 通 信 的 低 成 本 解 决 方 案 。 它 支 持 3种 不 同 形 式 的 传 输 接 口 :

论ModBus通信技术在智能化仪器仪表中的应用

论ModBus通信技术在智能化仪器仪表中的应用

论ModBus通信技术在智能化仪器仪表中的应用ModBus通信技术在智能化仪器仪表中的应用具有非常重要的意义,因此需要重点加强研究。

基于此,本文分析了ModBus通信技术在智能化仪器仪表中的应用。

标签:ModBus通信技术;智能化仪器儀表;应用一、Modbus简介Modbus协议是应用在电子控制器上的一种通用语言,已经成为一通用工业标准。

Modbus采用主从应答方式,即只有一个设备作为主机能主动发送询问信息,其它设备都是作为从机响应主机的命令或将所需的信息返回至主机。

Modbus 协议有两种传输模式:ASCII模式和RTU模式。

同波特率下,RTU模式较ASCII 模式能传输更多的数据,所以工业网络大都采用RTU模式。

此协议支持传统的RS-232、RS-422、RS-485和以太网设备。

许多工业设备,包括PLC,DCS,智能仪表等都在使用Mod-bus协议作为他们之间的通讯标准。

二、硬件配置(一)PLCCP341模块式S7-300/400PLC中支持Modbus串行通信,CP341有一个通信口,接口类型可以选择,可以插在分布式从站ET200M上使用,支持主站或者从站。

CP341加载Modbus(RTU)格式通信协议,必须配置相应软件,在软件中含有协议转换器Dongle,使用时将Dongle插入CP341后面的插槽中。

软件的组态步骤如下:(1)新建项目,打开STEP7,选择菜单“File”→“New”新建一个项目,在“Name”中输入项目名称。

(2)插入一个“SIMATIC300Station”,然后对硬件进行组态,按安装顺序依次插入机架、电源、CPU、CP341。

(3)双击“CP341”栏,在弹出界面中点击“参数”(parame-ters)按钮,进入协议选择界面,选择“Modbusslave”驱动,连接PLCMPI接口使之成为联机状态,双击“loaddrives”栏,加载ModbusRTU协议到通信处理器(Dongle)中。

基于Modbus的智能仪表和上位机通信研究

基于Modbus的智能仪表和上位机通信研究

智能仪表

端 子 23/A+

端 子 24/B+
ADAM 4570 端 子 1/DATA+ 端 子 4/DATA-
2 软件环境的配置
2.1 智能仪表参数设置 参考说明书分 别 配 置 好 通 道 1 的 分 度 号、数 据 显 示
精度、物 理 量 程 等 相 关 参 数,然 后 设 置 百 特 数 显 表 的 Modbus地址(范围:1~255,此 次 实 验 中 设 置 为 10)及 通 信 速 率 (9 600kb/s)。
智 能 仪 表 是 建 立 在 微 电 子 技 术 基 础 上,采 用 单 片 机 (Micro Control Unit,微控制器 单 元,也 称 作 μC)作 为 核 心 控 制 器 。 单 片 机 具 有 体 积 小 、质 量 轻 、稳 定 性 好 、性 价 比 高 等一系列优势 。 [1] 其 强 大 的 通 信 能 力 使 得 智 能 仪 表 与 上 位机之间的直接 通 信 成 为 可 能,对 于 小 型 控 制 系 统,可 以 构 建 智 能 仪 表 和 上 位 机 直 接 通 信 方 式 的 控 制 架 构 ,省 去 了 构建昂贵的 PLC/DCS系统,有效降低了项目投资。
议的低成本解决方案 ,实现了过程数据从智能仪表到上位机的直接传输 。
关 键 词 Modbus协 议 ;组 态 软 件 ;智 能 仪 表 ;上 位 机
中 图 分 类 号 TP273.5
DOI 10.19769/j.zdhy.2019.08.016
0 引言
在现 代 工 业 尤 其 是 以 石 油、化 工、电 力、冶 金 等 为 代 表的流程工业中,智 能 仪 表 以 其 突 出 的 技 术 优 势 和 高 性 价比的特点得到了广泛应用。常见智能仪表包括智能单 回路和多回路数显表、智能 PID 调节数显 表、智 能 手 动 操 作器等。

浅谈Modbus协议在智能仪表中的实现路径

浅谈Modbus协议在智能仪表中的实现路径

210研究与探索Research and Exploration ·探讨与创新中国设备工程 2019.10 (上)工业自动化程度越来越高,Modbus 串行通信协议以其先进性、开放性、成熟性的特点得到了广泛应用,当前PLC (可编程逻辑控制器)及组态软件都支持此协议。

智能仪表作为自动化控制的源头,支持此协议,将大大降低自动化工程设计人员的开发难度。

1 Modbus 协议简介Modbus 协议是定义在OSI 网络模型第7层(应用层)的报文发送协议,它可以在不同类型的总线或网络上连接的设备之间进行“客户端/服务器”式的通信,它是主从式的串行通信协议。

Modbus 协议利用RS485或RS232总线进行数据传输,同一条总线上只允许1台主机,从机数量从1台最多至247台,并且从机的地址是唯一的。

Modbus 协议由主机发送命令及从机返回数据组成,有两种传输模式:Modbus-RTU 模式及Modbus-ASCII 模式。

1.1 Modbus-RTU 模式数据以数值型式传输,其帧格式如下:主机发送命令(表1)。

表1地址码功能码起始地址寄存器数量校验(CRC16-Modbus)1字节1字节2字节2字节2字节从机返回数据(表2)。

1.2 Modbus-ASCII 模式数据以16进制数值再转换为ASCII 码型式传输,传输为字符‘0’~‘9’及字符‘A’~‘F’(即实际数据为16进制0x30~0x39及0x41~0x46),其帧格式如下:浅谈Modbus 协议在智能仪表中的实现路径王新,王凤翔,王燕,郭学亮(中煤科工集团唐山研究院有限公司,河北 唐山 063012)摘要:本文以《MODBUS over Serial Line Specification and Implementation Guide V1.02》为基础,重点讲述Modbus 串行通信协议的数据结构、校验方法以及在智能仪表的单片机中编程的注意事项。

PLC与智能仪表之间的通信使用案例

PLC与智能仪表之间的通信使用案例

PLC与智能仪表之间的通信使用案例在现在的自动化控制系统中,plc与智能仪表之间的通信越来越多,也越来越重要了。

我们往往要对智能仪表的数据进行采集,然后再用PLC去做逻辑处理,从而使我们的自动化设备产生相应的动作。

智能仪表一般都拥有标准的Modbus 通信协议和其自己的自由协议,那么我们利用智能仪表的自由协议与其通讯呢?小伙伴们有用过么?松下PLC支持多种通讯协议,一种是计算机连接,一种是PLC-link,一种是Modbus RTU,最后一种就是通用通信了。

当我们打算使用通用通信和智能仪表之间进行通信时,我们应该如何对PLC 进行设置呢?跟着小编看一下小编整理的图片吧。

PLC设置参数示意图其中需要注意的地方小编都已经在图中表示出来了。

注意如果选择了结束符,那么只有在接收到相应的结束符时,系统中的响应标志位会置ON,并且不再接收通讯设备的其他数据。

小伙伴们可以保存图片哦,以备自己的不时之需。

设置好了之后,我们又怎样进行程序的编写呢?小编已经准备好图片供小伙伴们参考了。

就在下图。

通用程序编写示意图程序表示的意思为:当对方设备开始发送数据时,只要PLC接收到响应的结束符,数据接收完成标志就会置ON,然后把接收缓存区中的数据批量传送给我们的数据区。

同时执行159指令,使发送的字节数为0,是为了将存储器的指针重新回到数据接收区的起始地址,等待下一次的数据接收。

总结一下:其实对于通用通信来说,难点并不在与数据的接收,而是在于数据的分析处理,我们需要将接收到的数据进行拆分处理后,再从这些数据中提取我们需要的数据。

大学新生寄语1、大学最重要的是拥有独立思考的能力,特别是在中国。

你如何对这个世界有自己的见解;在众说纷纭的说法中有自己的看法;甚至在问别人的问题时,你起码自己有过一定程度的思考。

起码你的人是独立的,特别是精神上。

在中国这种物质化、从众化和世俗化的社会里,你才有比较清晰的定位。

2、进入大学,就是一个新的环境,接触新的人,你的所有过去对于他们来说是一张白纸,这是你最好的重新塑造自己形象的时候,改掉以前的缺点,每进入一个新的环境,都应该以全新的形象出现。

基于MODBUS协议的TMS320LF2407A与PC机串口通信软件设计

基于MODBUS协议的TMS320LF2407A与PC机串口通信软件设计


汉 工 程 大 学 学 J. Wuhan Inst. T ech.

V ol. 32 N o. 1 Jan. 2011
基于 M ODBU S 协议的 T M S320L F2407A 与 PC 机串口通信软件设计
*
王 欣, 文小玲 , 刘义亭, 孙 谋 ( 武汉工程大学 电气信息学院 , 湖北 武汉 430074)
图 1 DSP 与 P C 机 的模块方框图 Fig . 1 M o dule blo ck diag ram of DSP and P C
通信标准 , 远距离或多点通讯时可以考虑用 RS 422 或者 RS 485 来代替 . PC 机与 T MS320LF2407A 的 硬件系统包括上位 PC 机, 下位机 DSP, 电平转换芯 片 74LS245 和通信接口芯片 MAX232. T MS320LF2407A 支持异步外设之间的数字通 信, 芯片内部集成了一个串行通信接口 ( SCI) 模块, 该模块是一个标准的通用异步接收/ 发送 ( UART ) 通信接口, 通信接口有 scitxd( SCI 发送输出引脚) 和 scirx d( SCI 接收输入引脚) 两个外部引脚. SCI 接收 器和发送器是双缓冲的, 每个都有自己单独的使能 和中断标志. 两者可以独立工作或在全双工方式下 同时工作. 图 2 所示为 T MS320LF2407A 串行通信 接口电 路, 其中 MAX232 芯片功耗低、 集成度 高、 + 5 V 供电, 具有两个接收和发送通道. PC 机传输过 来的数据电平为 + 5 V, 而 DSP 传输数据的电平为 + 3. 3 V, 不 能 兼 容, 因 此 在 MAX232 与 T MS320L F2407 之间加入了芯片 74L S245 进行 电 平转换.

基与Modbus规约的智能仪表与PC机通信技术实现

基与Modbus规约的智能仪表与PC机通信技术实现

基与Modbus规约的智能仪表与PC机通信技术实现
袁飞; 程恩
【期刊名称】《《微计算机信息》》
【年(卷),期】2004(020)009
【摘要】本文主要介绍ModbusRTU规约,及在VB6.0编程环境下通过RS-485串口实现主控台PC机与智能仪表间基与该规约通信的具体实现方法。

【总页数】3页(P56-57,89)
【作者】袁飞; 程恩
【作者单位】厦门大学
【正文语种】中文
【中图分类】TP273
【相关文献】
1.基于Modbus协议实现PC机与智能仪表的通信 [J], 崔晓改;许睿
2.基于Modbus协议实现DCS与智能仪表通讯研究 [J], 张明;
3.基于MODBUS协议的智能仪表与PC机双向通讯设计 [J], 顾海勤;杨奕;全毅;马跃
4.基于Modbus协议实现DCS与智能仪表通讯研究 [J], 张明
5.浅谈Modbus协议在智能仪表中的实现路径 [J], 王新; 王凤翔; 王燕; 郭学亮因版权原因,仅展示原文概要,查看原文内容请购买。

基于Modbus协议的PLC与智能仪表的通讯_吴永强

基于Modbus协议的PLC与智能仪表的通讯_吴永强

了采用 Modbus RTU 协议的通信程序,实现了 S7-300 PLC 与智能仪表间的双向通信。
关键词:Modbus 现场总线协议;SIEMENS PLC;智能仪表
中 图 分 类 号 :U467.3
文 献 标 志 码 :A
文 章 编 号 :1005-2550(2009)05-0052-03
Communication Between PLC and Intelligent Instruments Based on Modbus Protocol
目前, 工业控制系统对 PLC 的要求越来越高, 不仅要处理一般的逻辑信号和模拟量, 还要对各种 复杂的、功能强大的执行元件进行精确控制。PLC 控 制 复 杂 执 行 元 件 的 方 式 主 要 有 两 种 : ① PLC 直 接 控制执行元件,PLC 采集现场信号,经各种运算和处 理后,输出信号到执行元件;②PLC 与智能仪表组成 控制网络,执行元件由智能仪表直接控制,PLC 与智 能仪表间通过现场总线进行通信。
Modbus 的数据传输为主/从式, 报文形式为请 求/响 应 帧 方 式 , 主 设 备 发 出 请 求 帧 后 , 等 待 从 设 备 返回响应帧,Modbus 为单主站网络协议, 系统中只 能够有一个 Modbus 主站, 所有通信都由它发出并 且只能够实现主站和从站的数据交换, 从站之间不 能进行数据交换,主设备可单独和从设备通信,也能 以广播方式和所有从设备通信。 Modbus 协议规定了 主设备查询和从设备响应消息的格式, 包括设备地 址、功能代码、发送或返回的数据、错误检测域等, Modbus 协议可使用 ASCII(美国标准信息交换代码) 和 RTU(远程终端单元)两种传输模式,本系统支持 RTU 模式。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于Modbus规约的智能仪表与PC机通信技术实现[日期:来源:微计算机信息作者:袁飞[字体:大中小] 2007-06-05]摘要:本文主要介绍Modbus RTU规约,及在VB6.0编程环境下通过RS-485串口实现主控台PC机与智能仪表间基与该规约通信的具体实现方法。

关键词:Modbus RTU;通信协议;RS-485;CRC校验1 引言随着时代的进步,越来越多的企业开始向生产和管理自动化转变。

各种智能仪表不断地应用到生产生活的各个领域。

在工业控制方面,RS-485总线由于平衡差分传输特性具有的干扰性好、传输距离远、有较大级连能力等特点,非常适合于组成工业级的多机通信系统。

Modbus RTU规约是Modicon公司的注册商标,是目前国际智能化仪表普遍采用的主流通讯协议之一。

在各个工业仪器仪表大量使用的今天,Modbus RTU协议和RS-485总线得到了最为广泛的应用。

本文主要从应用的角度介绍在一个工业控制系统中,实现该技术的具体方案。

2 Modbus RTU 通讯协议简介(1)Modbus RTU协议简介Modbus RTU通讯协议是Modicon公司的注册商标。

采用主从问答方式工作,其规范已在国际互联网上公布,是目前国际智能化仪表普遍采用的主流通讯协议之一。

目前,国内许多生产商已在他们的产品和系统中遵循该协议标准。

该协议有两种传输模式即RTU模式和ASCII模式。

其中RTU模式信息帧中的8位数据包括两个4位16进制字符,相对于ASCII模式,RTU模式表达相同的信息需要较少的位数,且在相同通讯速率下具有更大的数据流量。

因此通常情况下,一般工业智能仪器仪表都是采用RTU模式的Modbus规约。

(2)Modbus通信格式当通讯命令由发送设备(上位机)发送至接收设备(下位机)时,符合相应地址码的下位机就会响应命令,并根据约定的通信协议读取信息、数据校验并且执行相应的功能操作。

返回的帧结构包含地址码、功能码、数据以及CRC校验码。

(3)上下位机通信帧约定格式其中的仪表地址在使用的电压表中是为一个字节定义的,所以最多到256个。

下位机与上位机的通信波特率一般可自由设定,但必须保证上下机的通信波特率对应匹配。

3 上位机通信软件设计方案上位机的通信软件采用VB6.0的开发环境。

在VB6.0中对串口进行编程可以使用Mscomm控件加快开发进度。

该控件主要是为RS-232的通用串口而设计。

所以为了利用PC上现有的RS-232接口,通常是使用RS232/485的转换器。

这些转换器一般通过逻辑门电路控制RXD、TXD和GND三针信号,从而自动对半双工或全双工的485串口进行控制。

通过转换器,我们就可以像开发通用的RS-232串口一样来快速开发基于RS-485串口的上位机通信软件。

(1)初始化程序设计在初始化程序中,主要是设定好整个帧结构的命令数组、传输波特率、以及一些必须的串口初始设定。

具体的操作如下面代码说明Dim Tcommand(7) As Byte ‘开辟命令帧的帧长度数组mPort = 1 ‘设定需要使用的串口,当然这里可以用输入方式灵活设定。

暂定为1#口MSComm.Settings="2400,n,8,1" ‘设定传输的波特率和校验方式MSComm.InBufferSize = 1024 ‘开辟数据缓冲区MSComm.InputMode =comInputModeBinary ‘设定为二进制的数据流方式MSComm.InputLen = 0 ‘一次全部读入所需要的数据……上面的代码一般都是串口初始化必须进行设定的几个部分。

根据个人需要可以在VB6.0中做一个初始化界面,对各个参数(如波特率、使用串口等)进行自由设定和更改,以提高初始化设定的灵活性和通用性。

(2)命令字发送命令字发送应该严格按照Modbus规约所设计的帧格式和上下位机在该规约基础上所定义的通信协议。

参考表1的通信协议顺序,编写如下的VB代码来实现命令的发送。

Tcommand (0) = address ‘ address为设定的接受地址输入的变量Tcommand (1) = Val("&h" + "03")……(其他的通信协议,并计算CRC校验代码)Tcommand (6) = CRC(1)Tcommand (7) = CRC(0)frmcontrol.MSComm.Output = Tcommand……(3)上位机接收和数据处理根据表2的回送通信协议,上位机解析所接受的数据,并进行必要的处理。

一般而言从下位机发送上来的数据都是有一定的帧长度。

特别是对于一些固化好的智能仪表。

所以最好的方法是按照通信回送的帧长度,在上位机程序中分别开辟两个同样长度的数组。

一个作为接受数组,用来一次性接收串口缓冲区中的数据;另一个为安全数组,用来复制接收数组中的数据并进行解析。

这样可以提高整个系统的容错能力。

LoopUntil frmcontrol.MSComm.InBufferCount = 9InByte = frmcontrol.MSComm.InputFor i = 0 To (count - 1)InSafeArray(i) = InByte(i)Next i其代码中的inbyte()就是接收数组,而InSafeArray()就是我们再开辟的安全数组。

(4)CRC校验的实现方法按照Modbus规约的校验方式,RTU模式的校验方式为CRC校验方式;而ASCII模式为LRC校验。

一般的智能仪表多采用RTU的CRC校验方式。

根据生成多项式的不同,CRC校验通常有以下几种:CRC-12 (传6bit);CRC-16(美国标准,传8bit);CRC-CCITT(欧洲标准,传8bit);CRC-32(point-to -point同步传输中使用)。

目前仪表类比较普遍的是CRC-16的校验码。

其生成多项式为X16+X15+X2+1。

在算法实现上,我们可以先预置一个16位的寄存器FFFF(全1),然后把8位的2进制数据(一个字节)与16位的CRC寄存器低8位异或,并把结果放回CRC寄存器同时寄存器内容右移,MSB补0,并检查移出的LSB。

如果LSB为0则继续右移动,为1则CRC寄存器与多项式异或。

重复上面操作到一个8bit字节完成,再继续对下一个数据进行相同处理,直到所有数据结束。

这个时候CRC寄存器中的数据就是我们所要的CRC码了。

实现代码如下:CRC16Lo = &HFF ‘CRC16Lo为CRC寄存器低8位CRC16Hi = &HFF ‘CRC16Hi为CRC寄存器高8位CL = &H1CH = &HA0 ‘A001 H 是CRC-16多项式代码For i = 0 To UBound(Data)CRC16Lo = CRC16Lo Xor Data(i) ‘每一个数据与CRC寄存器异或For index = 0 To 7UseHi = CRC16HiUseLo = CRC16LoCRC16Hi = CRC16Hi 2CRC16Lo = CRC16Lo 2 ‘右移一位If ((UseHi And &H1) = &H1) Then ‘如果高位字节最后一位是1的话CRC16Lo = CRC16Lo Or &H80 ‘低位字节右移后前面补1End IfIf ((UseLo And &H1) = &H1) Then ‘"如果LSB 为1,则与多项式进行异或CRC16Hi = CRC16Hi Xor CHCRC16Lo = CRC16Lo Xor CLEnd IfNext indexNext i4 下位机工作系统设计简介下位机一般是使用固化好通信协议及工作指令的单片机。

因为测控系统多采用的是单发多收的通信机制,所以在下位机要允许用户预先设定本机的地址码,并且保证不能重复。

此外,要注意通信波特率必须与上位机的波特率相匹配。

在下位机软件开发中,要遵循Modbus规约的通信帧结构对上位机传输的命令进行解析:非呼叫对象应能及时重新恢复等待接受状态;响应呼叫的下位机要解析命令代码并进行相应的功能处理,对非法的命令操作要能回送报错信息。

在具体的工程开发中,下位机多是采用各个厂家出品的基与Modbus规约的智能仪表。

这样虽然简化了我们开发的工作量,但是下位机的合理安排与设计能降低系统误码率、提高可靠性。

因此是每个工业系统设计人员所不应该忽略的重要部分。

在工业控制中,因为各种干扰源的存在且一般下位机数量较大,要对RS-485芯片选型有很认真的考虑。

条件许可的话尽量选用抗电击和有较大级连驱动能力的芯片。

理论上485芯片的级连能力至少32门,目前很多芯片厂家都能使工业级的级连数达到128以上。

在实际应用中应该让系统具有一定的富余度,一般级连数不能超过该器件满载的70%。

在选配RS232到RS485转换头的时候也应该尽量选用有源的转换器,以提高驱动能力和稳定性。

此外,工业现场的降噪、隔离、布线、屏蔽等等措施的合理与否也会对最后系统的稳定产生影响。

5 结束语作者在实际的测控系统项目开发中,通过VB6.0结合SQL数据库编程,开发了基于该通信协议的上位机的测控管理软件,并利用RS-485总线实现了对基于该规约的各种下位机的监控和数据处理。

在生产活动自动化,通信协议规范化,信息交流国际化的今天,充分利用现有的成熟而规范的通信协议能最大限度地节约开发成本,降低开发风险,提高系统的兼容性和可移植性。

Modbus RTU规约作为智能仪器仪表领域大量使用的国际化通信协议,必将得到更加普遍的推广和应用。

6 参考文献。

相关文档
最新文档