MODBUS简介


简介

Modbus协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一种通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一个控制器请求访问其它设备的过程,如何回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。

当在同一Modbus网络上通信时,此协议决定了每个控制器需要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成反馈信息并用Modbus协议发出。在其它网络上,包含了Modbus协议的消息转换为在此网络上使用的帧或包结构。这种转换也扩展了根据具体的网络解决节地址、路由路径及错误检测的方法。

此协议支持传统的RS-232、RS-422、RS-485和以太网设备。许多工业设备,包括PLC,DCS,智能仪表等都在使用Modbus协议作为他们之间的通信标准。

Modbus具有以下几个特点:
(1)标准、开放,用户可以免费、放心地使用Modbus协议,不需要交纳许可证费,也不会侵犯知识产权。
(2)Modbus可以支持多种电气接口,如RS-232、RS-485等,还可以在各种介质上传送,如双绞线、光纤、无线等。

(3)Modbus的帧格式简单、紧凑,通俗易懂。用户使用容易,厂商开发简单。

Modbus网络传输

标准的Modbus口是使用RS-232-C兼容串行接口,它定义了连接口的针脚、电缆、信号位、传输波特率、奇偶校验。控制器能直接或经由Modem组网。

控制器通信使用主—从技术,即仅一设备(主设备)能初始化传输(查询)。其它设备(从设备)根据主设备查询提供的数据作出相应反应。典型的主设备:主机和可编程仪表。典型的从设备:可编程控制器。

主设备可单独和从设备通信,也能以广播方式和所有从设备通信。如果单独通信,从设备返回一消息作为回应,如果是以广播方式查询的,则不作任何回应。Modbus协议建立了主设备查询的格式:设备(或广播)地址、功能代码、所有要发送的数据、一错误检测域。

从设备回应消息也由Modbus协议构成,包括确认要行动的域、任何要返回的数据、和一错误检测域。如果在消息接收过程中发生一错误,或从设备不能执行其命令,从设备将建立一错误消息并把它作为回应发送出去。

以上来自百度百科


MODBUS是一种单主站的主/从通信模式,MODBUS网络上只能有一个主站存在,主站在MODBUS网络上没有地址,从站的地址范围是0-247,其中0为广播地址,从站实际地址范围是1-247.

MODBUS协议传输(方式)接口以及介质
包括RS-232、RS-485等,还可以在各种介质上传送,如双绞线、光纤、无线等。

MODBUS传输模式
ASCII和RTU,选择时应视所用ModBus主机而定,每个ModBus系统只能使用一种模式,不允许2种模式混用。支持MODBUS协议的设备一般都支持RTU格式,RTU相对使用广泛。

MODBUS通讯规范
起始符 + 设备地址 + 功能代码 + 数据 + 校验和 + 结束符

举例
COM端口号:COM1、COM2、COM3.....
波特率:2400、4800、9600、19200....
奇偶校验:N=None无校验  E=Even偶校验  O=Odd奇校验
数据位:8
停止位:1

关键字解释

1) 波特率9600就是一秒内能够传输9600个‘0’或‘1’,他决定数据传输速度
2) 数据位 A(01000001),B(01000010)
3) 停止位标记传输是否结束,目前常用的停止位是一位或两位,一般在通讯格式中不用设置起始位。
4) 奇偶校验,(是针对一个字符来说的)在传输过程中可能会有干扰,‘0’可能变成‘1’造成传输错误。为了提高抗干扰能力,在传输的数据中加一个校验位。
比如A(01000001)其中1的个数是2,如果是奇数校验,那么1的个数应该是奇数,就是010000011
如果是偶数校验,那么1的个数就是偶数个,应该是010000010
没有校验就不需要增加校验位了。如果校验失败,就返回一个校验失败信息。
5) 校验和
判断一组字符传输是否正确。
RTU方式是CRC校验计算
ASCII是LRC校验计算

时间计算

如果传输A(01000001),那么需要的时间为:
1个起始位+2个停止位+8个数据位+1个校验位=12个

12/9600=0.00125,就是传输'A'字符需要1.25毫秒的时间

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值