您现在的位置:智能制造网>技术首页>技术交流

MODBUS协议常见问题

2023年07月25日 09:08来源:北京铁牛智能科技有限公司 >>进入该公司展台人气:587

  1、ModBus RTU通讯协议与ModBus通讯协议有什么区别?
 
  ModBus协议是应用层报文传输协议(OSI模型第7层),它定义了一个与通信层无关的协议数据单元(PDU),即PDU=功能码+数据域。
 
  ModBus协议能够应用在不同类型的总线或网络。对应不同的总线或网络, Modbus协议引入一些附加域映射成应用数据单元(ADU),即ADU=附加域+PDU。
 
  目前,Modbus主要有两种通信方式:
 
  1.以太网,对应的通信模式是MODBUS TCP。
 
  2.异步串行传输(各种介质如有线RS-232-/422/485/;光纤、无线等),对应的通信模式是MODBUS RTU或MODBUS ASCII。
 
  2、关于MODBUS RTU通讯协议的提问?
 
  modbus 主要由站地址(一个字节)+功能码(一个字节)首地址(两个字节)+访问字数(两个字节)+校验码(CRC16或LRC两个字节)总共8个字节组成。
 
  3、modbus、rtu、modbus rtu分别是什么?
 
  modbus协议是工控行业的标准协议,前身为莫迪康所写,现已被施奈德收购。
 
  而modbus分为两种协议:即串口协议(modbus rtu)和网口协议(modbus tcp)协议,一般的工控机只支持rs232或者RS485的串口模式,这个时候工控机的协议栈里就只有modbusRTU协议,当他从串口接收到数据时,会直接根据报文中的数据进行控制,如果需要用modbusTCP协议进行传输,则需要使用带有网口的PLC。
 
  具体的帧格式如下
 
  modbus RTU 地址域 功能码 数据 差错校验
 
  modbus TCP 目的地址 协议id 长度 单元号 功能码 数据
 
  简单的说 tcp是由RTU加工而来的,而RTU则是另外一种概念,不包含在modbus协议内。是工控行业对监控设备的简称。
 
  4、关于modbus_RTU协议主机发送的命令的一些问题?
 
  01 读保持线圈状态(Read coil status)?
 
  02 读输入线圈状态(Read input status)?
 
  03 读保持寄存器(Read holding register?
 
  04 读输入寄存器(Read input register)?
 
  05 写单个线圈(Force single coil)?
 
  06 写单个寄存器(Preset single register?
 
  15 写多个线圈(Force multiple coils)?
 
  16 写多个寄存器(Preset multiple registers)?
 
  这些都是什么意思?
 
  答:
 
  01 读取逻辑线圈组状态
 
  02 读取离散量线圈组状态
 
  03 读取一个或多个保持寄存器的二进制值
 
  04读取一个或多个输入寄存器的二进制值
 
  05 改变逻辑线圈状态
 
  06 改变单个寄存器的二进制值
 
  15改变多个寄存器的二进制值
 
  16 多个操持寄存器的二进制值
 
  5、什么是modbus rtu master?
 
  就是选RTU模式,因为MODBUS分为ASCII模式和RTU模式,MASER就是设置为主站,一般为PLC端,变频器设为从站,还要注意主站和从站地址的设置。
 
  6、Modbus rtu 为什么没有开始和结束标记?
 
  由于Modbus rtu帧的每个字节是16进制数,数值范围在00~FF,若像Modbus ASCII那样用02、03表示开始和结束标记,则与数值2、3发生冲突,无法判断其是标记还是数值,无法数据解包
 
  7、modbus tcp到 rtu的转换?
 
  请仔细查看帧格式:
 
  modbus RTU 地址域 功能码 数据 差错校验
 
  modbus TCP 目的地址 协议id 长度 单元号 功能码 数据
 
  写一个TCP转RTU的程序放到设备里做modbus网桥即可。
 
  8、MODBUS RTU通讯线被烧?
 
  用万用表量一下出来的通讯线,电压不超过5V应该没问题,一般不会烧东西,接的时候区分正和负。很多产品B是正,量一下看看。
 
  9、MODBUS RTU协议中浮点数是如何存储,读到浮点数寄存器的数值如何转换成所需的浮点数?
 
  浮点数保存的字节格式如下:
 
  地址    +0         +1         +2         +3
 
  内容 SEEE EEEE  EMMM MMMM  MMMM MMMM  MMMM MMMM
 
  这里S 代表符号位,1是负,0是正
 
  E偏移127的幂,二进制阶码=(EEEEEEEE)-127。
 
  M 24位的尾数保存在23位中,只存储23位,最高位固定为1,此方法用最较少的位数实现了较高的有效位数,提高了精度。零是一个特定值,幂是0尾数也是0。
 
  浮点数-12.5作为一个十六进制数0xC1480000保存在存储区中,这个值如下:
 
  地址    +0    +1    +2    +3
 
  内容   0xC1  0x48  Ox00  0x00
 
  浮点数和十六进制等效保存值之间的转换相当简单。下所的例子说明上而的值-12.5如何转换。浮点保存值不是一个直接的格式,要转换一个浮点数,位必须按上面的浮点数保存格式表所列的那样分开。例如:
 
  地址      +0         +1       +2        +3
 
  格式   SEEE EEEE EMMM MMMM MMMM MMMM MMMM MMMM
 
  二进制  11000001  01001000 00000000   00000000
 
  十六进制   C1        48       00         00
 
  从这个例子可以得到下面的信息:
 
  符号位是1表示一个负数幂是二进制10000010或十进制130,130减去127是3,就是实际的幂。尾数是后面的二进制数10010000000000000000000。
 
  在尾数的左边有一个省略的小数点和1,这个1在浮点数的保存中经常省略,加上一个1和小数点到尾数的开头,得到尾数值如下:
 
  1.1001000000000000000000。
 
  接着,根据指数调整尾数。一个负的指数向左移动小数点,一个正的指数向右移动小数点,因为指数是3,尾数调整如下:
 
  1100.10000000000000000000。
 
  结果是一个二进制浮点数,小数点左边的二进制数代表所处位置的2的幂,例如: 1100表示
 
  (1*2^3) +(1*2^2) + (0*2^1) + (0*2^0) =12。
 
  小数点的右边也代表所处位置的2的幂,只是幂是负的。例如: .100...表示(1*2^(-1))+ (0*2^(-2) )+ (0*2^(-2))...=0.5。这些值的和是12.5。因为设置的符号位表示这数是负的,因此十六进制值0xC1480000表示-12.5。
 
  10、RS-485的设备,遵守MODBUS-RTU协议。怎样用的电脑读取信息?
 
  用电脑的串口,接个485转换器,接到设备的485接口,再找个串口软件,根据设备资料上的寄存器地址发送modbus报文,modbus报文通过串口软件发送,报文格式: 01 03 00 00 00 01 84 0A(读寄存器命令)。
 
  11、MODBUS RTU 测试软件?
 
  推荐:modscan32。
 
  12、MODBUS RTU协议,上位机与仪表通信,读写数据都正确,为什么仪表掉电,写入的参数又丢失了?怎么保存?
 
  两种可能:
 
  如果在仪表上设置参数掉电后都保存不了的话,基本可以确定是仪表问题;有些仪表写入参数后还需要向固定的寄存器写入确认参数,为了保证写入参数真确,需要检查仪表通信部分说明书。
关键词:RTU工控机
全年征稿/资讯合作 联系邮箱:1271141964@qq.com
  • 凡本网注明"来源:智能制造网"的所有作品,版权均属于智能制造网,转载请必须注明智能制造网,https://www.gkzhan.com。违反者本网将追究相关法律责任。
  • 企业发布的公司新闻、技术文章、资料下载等内容,如涉及侵权、违规遭投诉的,一律由发布企业自行承担责任,本网有权删除内容并追溯责任。
  • 本网转载并注明自其它来源的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品来源,并自负版权等法律责任。
  • 如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。


编辑精选

更多


宣传样本推荐图书

旗下子站

工控网机器人仪器仪表物联网3D打印工业软件金属加工机械包装机械印刷机械农业机械食品加工设备制药设备仓储物流环保设备造纸机械工程机械纺织机械化工设备电子加工设备水泥设备海洋水利装备矿冶设备新能源设备服装机械印染机械制鞋机械玻璃机械陶瓷设备橡塑设备船舶设备电子元器件电气设备



关于我们|本站服务|会员服务|企业建站|旗下网站|友情链接| 兴旺通| 产品分类浏览|产品sitemap

智能制造网 - 工业4.0时代智能制造领域“互联网+”服务平台

Copyright gkzhan.comAll Rights Reserved法律顾问:浙江天册律师事务所 贾熙明律师

客服热线:0571-87756395加盟热线:0571-87759904媒体合作:0571-89719789

客服部:编辑部:展会合作:市场部:

关闭