您好,欢迎进入上海香川电子衡器有限公司网站!
全国服务热线:13661782675
上海香川电子衡器有限公司
产品搜索
PRODUCT SEARCH
产品分类
PRODUCT CLASSIFICATION
您现在的位置:首页 > 技术文章 > 运用ModBus通信协议与PLC的实时通信

运用ModBus通信协议与PLC的实时通信

浏览次数:3817发布日期:2012-07-10

运用 ModBus 通信协议,实现电子秤 PLC 的实时通信

 

上海彩信电子科技有限公司 陈东富

 

【摘 要】 本文介绍了在工业控制系统中广泛使用的 ModBus 通信协议。以 ModBus ASCII

 

式为例,剖析了 ModBus 的指令结构,着重说明基于 ModBus 通信协议的设备之间如何进行数据通 信、如何使用 ModBus 通信协议把衡器接入 PLC 系统,并简单介绍了 PLC 系统与局域网的互联。 【关键词】 ModBus 通信协议;PLC 可编程控制器;衡器

 

在衡器行业中,但凡涉及串行通信时,工程师们都会有一种无奈,就是通信协议问题。由于我 国衡器厂众多,各自采用自己的通信协议,使得通信协议五花八门,互不兼容。由于是自成一体, 也为后续与其他系统联网、维修、仪表配件互换等留有后遗问题。若采用一种工业控制领域的主流 协议,各衡器厂的通信协议都与这个主流协议兼容,那么上述问题自然迎刃而解。这个主流协议首 ModBus

一、什么是 ModBus

 

ModBus 是一种通信协议,是由 Modicon 公司发表于 1979 年,主要用于 PLC(可编程逻辑控 制器)系统。目前,在工业自动化设备通信连接中,ModBus 已是相当常见的一种连接方式。

二、ModBus 与其他通信协议比较

 

1、物理层简单、价廉:ModBus 可以在常用且廉价的 RS232RS485 等物理媒介上运行,不像

 

CanBusProfiBusBitBus 等需昂贵的芯片支持。

 

2、免费:ModBus 是一种公开的,可以无偿使用的协议。而使用 ProfiBus 则需要向有关组

 

织登记缴费。

 

3、使用普及:ModBus 是当前工业控制中使用zui广的一种通信协议,基于这点,具有 ModBus

 

的设备接入工控系统相对容易。

 

4、维护方便:由于接入 ModBus 总线相对其他工控总线而言,比较简单。一般具有 RS232 RS485 等串行口的 PC 机都可以接入,使用 PC 机自带的超级终端软件或其他串行控制软件,就能 观察 ModBus 通信过程,可以很方便地查出故障站点。

三、ModBus 的主要型式

 

ModBus 主要有四种型式:ASCIIRTUTCP/IP Plus

 

1ASCII 型式:采用 ASCII 码进行数据交换,使用纵向冗余校验的校验和(LRC)进行数据

 

校验。

 

2RTU 型式:采用二进制码进行数据交换,使用循环冗余校验的校验和(CRC)进行数据校

 

验。

 

3TCP/IP 型式:主要用于以太网,不使用校验和进行数据校验。

 

4Plus 型式:该型式为 Modicon 公司专有,采用专门的协处理器进行数据处理。 目前,使用zui广泛的型式是 ASCII RTU,主要采用 RS232RS422RS485 进行物理连接,

 

其中 RS485 使用zui多。

 

四、ModBus 的结构

 

ModBus 协议是一个 master(主)/slave(从)架构的协议。有一个节点是 master 节点,其他使 Modbus 协议参与通信的节点是 slave 节点。每一个 slave 设备都有一个*的地址。ModBus 通信比较简单,由 master 发通信指令,指令中含有欲于之通信的 slave 站号。当 master 发指令时, 所有 slave 都处于收听状态,一旦 slave 收听到与自己地址相同的站号时,立刻执行指令的内容,并

回传执行的结果。

 

五、ASCII 型式的 ModBus 通信协议的格式

 

ModBus 上通信时,各站点的通信参数必须一致,如:波特率、奇偶校验。 通信时,一个信息字节中的每 8 位分为两个 ASCII 字符进行传输,允许字符传输间隔在 1 秒之

内。

 

1ASCII 型式每一字节的格式

 

16 进制编码,ASCII 字符(0-9A-F),即:0x30-0x390x41-0x46

 

1 位开始位、7 位数据位(先低后高)、1 位奇偶校验(无奇偶校验时为 0)、1 位停止位。

 

2、数据错误校验采用纵向冗余校验(LRC

 

3、通信帧格式(ModBus 命令格式)

 

开始

地址(站号)

功能

数据

校验(LRC

结束

 

 

 

 

 

 

(0x3a

xx

xx

x...

xx

CRLF(0x0d0x0a

 

 

 

 

 

 

1 字符

2 字符

2 字符

N 字符

2 字符

2 字符

 

 

 

 

 

 

 

一个基本的 ModBus 命令,除了开始、校验、结束字符外,还必须有地址项及功能项。地址

 

也就是站号,想要被操作的对象(slave 站号);功能——想要被操作的对象完成的任务。ModBus

 

命令可以没有数据项。

 

 

被操作的对象,在完成所要求的操作后,必须回传一帧信息,传递操作结果。回传信息的格式

与命令格式相同,只是数据内容为操作的结果。

 

六、利用 ModBus,实现 PLC 与电子称重设备的通信

 

为了使大家对 Modbus 有更进一步的了解,下面用例子方式说明如何把电子称重设备接入 PLC 控制系统的 Modbus 总线网络。例子中的称重仪表为上海彩信电子科技有限公司生产的 XK311 增强型仪表。本例中,1 PLC 作为主机(master),10 台电子秤作为从机(slave),使用 XK311 增强型仪表作为电子秤显示仪表,从机地址为 707172....79。通过 RS485 连接 PLC 和各仪 表,采用 ModBus ASCII 通信协议。PLC 可以对各台仪表进行置零、去皮、读取重量等多项操作。 称重系统示意图如图 1 所示,图中的计算机是在系统调试时接入 RS485 总线的,用以观察 RS485

中传输的数据,正常工作时是移除的。

  1 称重系统示意图

 

上述系统可实现以下功能:

 

1、正常工作时,PLC 每隔 10 秒轮询一次,获取每台秤的重量。

 

2、当秤台上重量异常时,PLC 会发出警告信息,提示控制室人员注意。

 

3、控制人员可以通过 PLC,对某台秤发出置零、去皮等操作指令。

 

4PLC 可对各台秤的称量,进行各项统计,生成必要的统计报表。

 

七、ModBus 与局域网互连

 

现在,很多 PLC 都具有局域网接口,通过该接口,就可以远程控制称重系统了。当然,也可 以通过接在 Modbus 总线上的 PC 机,利用 PC 机的软、硬件资源,编制相应的软件,将重量信号传 送到局域网上。若局域网通过路由器接入因特网,很显然重量数据就可以在因特网上传输了。本系 统是通过 PLC DH+网络接入局域网的。当然,网络部分使用的协议,* TCP/IPNetBEUI Modbus 也有相关的 TCP/IP 型式,这里就不再赘述了,大家可以参考相关的书籍。

 

上述的称重系统只是 PLC 的一个子系统,是后期改造的一个项目。其整个 PLC 系统(见图 2 是采用美国 ROCKWELL 公司的 PLC,共有 5 PLC 机箱(采用 PLC5 系列)、4 台工控机和 2 服务器、若干台 PC 组成的。PLC 采用 ROCKWELL 公司的 DH+网络连接,使用 DF1 协议;其中 1

 

附录:

 

XK311 增强型仪表的 ModBus 协议格式

 

说明

报头

站号

功能码

首址

数据量

数据值

校验码

报尾

 

 

 

 

 

 

 

 

 

 

 

指令

xx

xx

xxxx

xxxx

xxxx

LRC

\CR\ LF

 

 

 

 

 

 

 

 

 

 

 

回传

xx

xx

 

xx

xxxx

LRC

\CR

 

 

\ LF

 

 

 

 

 

 

 

 

 

 

出错

xx

xx

 

 

xx

LRC

\CR

 

回传

 

zui高位置 1

 

 

错误码

\ LF

 

 

 

 

 

 

 

 

报头、报尾:所有指令均以冒号(:)开始,以回车符、换行符结束。 站号:2 ASCII 码,范围为 01-9016 进制:0x01-0x)。 功能码:2 ASCII 码。

 

02:读继电器输出状态;

 

04:读称量状态(显示值、皮重等);

 

05:置零操作;

 

06:皮重操作;

 

07:通信测试;

 

08:读定值;

 

09:写定值。

 

首址:4 ASCII 码,读写数据的位置。

 

数据量:4 ASCII 码,读写数据的数量。

 

数据值:读写的数据。

 

校验码:2 ASCII 码,采用 LRC 校验。

 

LRC 校验码运算:报头(:)不参与运算,LRC 在数据之后,在\CR\LF 之前。参加运算的是报 头之后,LRC 之前的所有数据。LRC 为参加运算的数据之和的补码,舍去进位。

 

当仪表执行指令出错时,会回传错误码,并将功能码的zui高位置 1

 

错误码: 00--接收到的功能码出错; 01--数据地址错; 02--数据数量错;

 

03--数据值错,如:预置皮重大于zui大称量 FS

 

04--称量为负时去皮;

 

05--不在称重状态时置零;

销售代表:郭晓金       

      

     

公司:www.geekythoughts.com  

电子:taizhiheng@foxmail.com

公司地址:上海市松江区沈砖公路5599

Contact Us
  • 联系QQ:190390019
  • 联系邮箱:190390019@qq.com
  • 传真:
  • 联系地址:上海市松江区九亭镇顾戴路

扫一扫  微信咨询

©2025 上海香川电子衡器有限公司 版权所有  备案号:沪ICP备09098494号-32  技术支持:化工仪器网    sitemap.xml    总访问量:776794 管理登陆

Baidu
map