0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

关于MODBUSRTU通讯协议的提问?

aIpM_gongkongwo 来源:未知 作者:李倩 2018-08-23 16:36 次阅读

一、ModBusRTU通讯协议与ModBus通讯协议有什么区别?

ModBus协议是应用层报文传输协议(OSI模型第7层),它定义了一个与通信层无关的协议数据单元(PDU),即PDU=功能码+数据域。

ModBus协议能够应用在不同类型的总线或网络。对应不同的总线或网络,Modbus协议引入一些附加域映射成应用数据单元(ADU),即ADU=附加域+PDU。目前,Modbus有下列三种通信方式:

1.以太网,对应的通信模式是MODBUSTCP。

2.异步串行传输(各种介质如有线RS-232-/422/485/;光纤、无线等),对应的通信模式是MODBUSRTU或MODBUSASCII。

3.高速令牌传递网络,对应的通信模式是ModbusPLUS。

二、关于MODBUSRTU通讯协议的提问?

modbus主要由站地址(一个字节)+功能码(一个字节)+首地址(两个字节)+访问字数(两个字节)+校验码(CRC16或LRC两个字节)总共8个字节组成。其实VB中编程很简单从组建添加MSComm组建就行了,难的是校验,

三、modbus、rtu、modbusrtu分别是什么?

modbus协议是工控行业的标准协议,前身为莫迪康所写,现已被施奈德收购。

而modbus分为两种协议:即串口协议(modbusrtu)和网口协议(modbustcp)协议,一般的工控机只支持rs232或者RS485的串口模式,这个时候工控机的协议栈里就只有modbusRTU协议,当他从串口接收到数据时,会直接根据报文中的数据进行控制,如果需要用modbusTCP协议进行传输,则需要使用带有网口的PLC

具体的帧格式如下:

modbusRTU 地址域功能码数据差错校验

modbusTCP 目的地址协议id长度单元号功能码数据

简单的说tcp是由RTU加工而来的,而RTU则是另外一种概念,不包含在modus协议内,是工控行业对监控设备的简称。

四、关于modbus_RTU协议主机发送的命令的一些问题

01读保持线圈状态(Read coilstatus)

02读输入线圈状态(Readinput status)

03读保持寄存器(Readholding register)

04读输入寄存器(Readinput register)

05写单个线圈(Forcesingle coil)

06写单个寄存器(Presetsingle register)

15写多个线圈(Forcemultiple coils)

16写多个寄存器(Presetmultiple registers)

这些都是什么意思

答:01读取逻辑线圈组状态

02读取离散量线圈组状态

03读取一个或多个保持寄存器的二进制值

04读取一个或多个输入寄存器的二进制值

05改变逻辑线圈状态

06改变单个寄存器的二进制值

15改变多个寄存器的二进制值

16指定多个操持寄存器的二进制值

五、OPC转modbusRTU方式我现在有一个OPC服务器,里面很多tag,tag是AB里出来的,怎么将tag连到modbus?

Profibus、Fielbus、Modbus、CC-link等等是各中PLC硬件支持的通讯协议,这个是各厂商的硬件属性一样.只是现在计算机组态软件都支持很多种协议的PLC.你理解反了。

Profibus、Fielbus、Modbus、CC-link这些协议,是一种通讯协议,一般不需要你去编程,就好象你使用计算机,你不需要编写IP协议一样,只是要遵循它。

遵循的意思就是,你必须按照该厂家所支持的协议在PLC或者DCS硬件组态的时候按照该通讯协议设置硬件.其实这个很简单.这里简单指的是,你学编程,重点是编写执行控制的动作的程序,硬件通讯协议不需要你自己动手写。

六、什么是modbusrtu master?

就是选RTU模式,因为MODBUS分为ASCII模式和RTU模式,MASER就是设置为主站,一般为PLC端,变频器设为从站,还要注意主站和从站地址的设置。

七、Modbusrtu为什么没有开始和结束标记?

由于Modbusrtu帧的每个字节是16进制数,数值范围在00~FF,若像ModbusASCII那样用02、03表示开始和结束标记,则与数值2、3发生冲突,无法判断其是标记还是数值,无法数据解包。

八、modbustcp到rtu的转换?

请仔细查看帧格式:

modbusRTU地址域功能码数据差错校验

modbusTCP目的地址协议id长度单元号功能码数据

写一个TCP转RTU的程序放到设备里做modbus网桥即可

九、MODBUSRTU通讯线被烧?

万用表量一下出来的通讯线,电压不超过5V应该没问题,一般不会烧东西,接的时候区分正和负。很多产品B是正,量一下看看。

十、触摸屏modbusrtu怎么设置?

一般是通过宏指令自己编程实现,当然也有支持RTU的,在通讯类型菜单

十一、MODBUSRTU协议中浮点数是如何存储,读到浮点数寄存器的数值如何转换成所需的浮点数?

浮点数保存的字节格式如下:

地址+0 +1 +2 +3

内容SEEE EEEE EMMM MMMM MMMM MMMM MMMM MMMM

这里S代表符号位,1是负,0是正

E偏移127的幂,二进制阶码=(EEEEEEEE)-127。

M24位的尾数保存在23位中,只存储23位,最高位固定为1。此方法用最较少的位数实现了较高的有效位数,提高了精度。零是一个特定值,幂是0尾数也是0。

浮点数-12.5作为一个十六进制数0xC1480000保存在存储区中,这个值如下:

地址+0 +1 +2 +3

内容0xC1 0x48 0x00 0x00

浮点数和十六进制等效保存值之间的转换相当简单。下面的例子说明上面的值-12.5如何转换。浮点保存值不是一个直接的格式,要转换为一个浮点数,位必须按上面的浮点数保存格式表

所列的那样分开,例如:

地址+0 +1 +2 +3

格式SEEEEEEE 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.10010000000000000000000

接着,根据指数调整尾数.一个负的指数向左移动小数点.一个正的指数向右移动小数点.因为指数是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。

十二、RS-485的设备,遵守MODBUS-RTU协议。怎样用的电脑读取信息?

用电脑的串口,接个485转换器,接到设备的485接口,再找个串口软件,根据设备资料上的寄存器地址发送modbus报文,modbus报文通过串口软件发送啊,报文格式:0103 00 00 00 01 840A读寄存器命令。

十三、vbmodbus给modScan32rtu发送数据应该怎么写?

确定两个软件哪个是主,哪个是从。然后再确定通讯协议是RTU、ASCII还是TCP。如果是TCP,就用socket控件。RTU\ASCII就用COM控件。然后给对应的口按照协议收发数并解析就可以了。

十四、ModBusRTU通讯协议与ModBus通讯协议有什么区别?

modbus协议包括了MODBUSRTU

十五、modbusrtu通讯协议如何判断超时?

设置一个标志量用来表示是否超时;再用一个定时器,定时时长为发送3.5个字符的时间(当然为了保险时间可以长一些);在定时器中置超时标志;在串口中断中每收到一个字节时定时器清零;主程序中根据超时标志做相应处理。

十六、如何理解MODBUS协议RTU模式中的1.5和3.5字符间隔?

发送两帧数据之间要有一定的时间间隔,以保证接收方UART能够区分。这个时间间隔在MODBUSRTU模式中要求是1.5和3.5字符间隔,也即是传输1.5和3.5个字符的时间,它与设置的通信参数有关,计算为:

若串口通信参数设置为(注:开始位固定为1):数据位8,奇偶校验位1,停止位1,波特率9600bps,则传输一个字符(即1个字节)的时间为:(1+8+1+1)/9600=0.00114583s=1.1454583ms

1.5字符间隔=1.5x1.1454583ms=1.71818745ms

3.5字符间隔=3.5x1.1454583ms=4.00910405ms

十七、MODBUSRTU测试软件?

推荐:modscan32还有最新得mobuspoll

十八、MODBUSRTU协议,上位机与仪表通信,读写数据都正确,为什么仪表掉电,写入的参数又丢失了?怎么保存?

两种可能:

1.如果在仪表上设置参数掉电后都保存不了的话,基本可以确定是仪表问题;

2.有些仪表写入参数后还需要向固定的寄存器写入确认参数,为了保证写入参数真确,需要检查仪表通信部分说明书。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 通讯协议
    +关注

    关注

    9

    文章

    249

    浏览量

    20177
  • modbusRTU
    +关注

    关注

    0

    文章

    23

    浏览量

    8280

原文标题:modbusRTU问题汇总

文章出处:【微信号:gongkongworld,微信公众号:工控资料窝】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Labview ModbusRtu浮点数,整数串口通讯

    labview ModbusRtu读取浮点数作品,见附件。
    发表于 09-13 17:13

    怎么从零开始移植这个ModbusRTU协议

    怎么从零开始移植这个ModbusRTU协议的?有哪些注意事项?
    发表于 11-16 08:33

    如何通过ModbusRTU协议读取电能表的数据?

    如何通过ModbusRTU协议读取电能表的数据?
    发表于 12-08 07:16

    关于接口与电平及其通讯协议的一些看法

    关于各类接口,电平特性,通讯协议的一些看法我认为接口指的就是硬件外形,比如常见的com口,rj45网线口等。常见的电平特性有rs232,rs485,TTL电平特性等。常见的通讯
    发表于 02-17 07:01

    采用ModbusRTU或ModbusTCP通讯协议与下位机进行通信

    上位机如触摸屏采用ModbusRTU或ModbusTCP通讯协议与下位机如单片机通过串口或网络通信时,需要解析上位机报文Modbus寄存器读写的单位是字Word,读写Map表元素长度必须为字的整数倍
    发表于 02-24 07:00

    ModbusRTU通讯协议(主站)通讯联机便利指令

    FUN150(M-BUS)指令提供永宏PLC(主站)透过Port1,2,3或4以ModbusRTU通讯协议与具有该通讯协议之智能型外围(仆站
    发表于 09-29 17:38 17次下载
    <b class='flag-5'>ModbusRTU</b><b class='flag-5'>通讯</b><b class='flag-5'>协议</b>(主站)<b class='flag-5'>通讯</b>联机便利指令

    PM500电量表通过MODBUS协议与组态王通讯配置的详细步骤免费下载

    PM500电量表提供标准modbusRTU串口协议,组态王可以通过标准modbusRTU驱动实现和该仪表的通讯
    发表于 08-14 08:00 21次下载
    PM500电量表通过MODBUS<b class='flag-5'>协议</b>与组态王<b class='flag-5'>通讯</b>配置的详细步骤免费下载

    4路仪表与上位机ModbusRTU通讯协议资料免费下载

    本文档的主要内容详细介绍的是4路仪表与上位机Modbus RTU的通讯协议资料免费下载。
    发表于 06-05 08:00 6次下载
    4路仪表与上位机<b class='flag-5'>ModbusRTU</b>的<b class='flag-5'>通讯</b><b class='flag-5'>协议</b>资料免费下载

    ## 关于各类接口,电平特性,通讯协议的一些看法

    关于各类接口,电平特性,通讯协议的一些看法我认为接口指的就是硬件外形,比如常见的com口,rj45网线口等。常见的电平特性有rs232,rs485,TTL电平特性等。常见的通讯
    发表于 12-22 19:02 11次下载
    ## <b class='flag-5'>关于</b>各类接口,电平特性,<b class='flag-5'>通讯</b><b class='flag-5'>协议</b>的一些看法

    三菱变频器MODBUS通讯协议的RTU方式和ASCII方式传送

    进行ModbusRTU协议通讯时,Pr551必须设置为2,Pr340设置为除0以外的值,Pr79设置为0或2或6。通过RS-485端子进行ModbusRTU
    发表于 03-21 11:33 4547次阅读

    IIC通讯协议的电路设计

    前面我们概述过一些常见的通讯协议,本文着重讲讲关于IIC协议
    的头像 发表于 04-19 11:00 1345次阅读
    IIC<b class='flag-5'>通讯</b><b class='flag-5'>协议</b>的电路设计

    三菱PLC和变频器通讯案例

    进行ModbusRTU协议通讯时,Pr551必须设置为2,Pr340设置为除0以外的值,Pr79设置为0或2或6。通过RS-485端子进行ModbusRTU
    的头像 发表于 04-21 10:29 6512次阅读

    EtherCAT协议ModbusRTU协议在能源行业中的应用

    EtherCAT协议ModbusRTU协议在能源行业中的应用
    的头像 发表于 12-22 13:51 240次阅读
    EtherCAT<b class='flag-5'>协议</b>与<b class='flag-5'>ModbusRTU</b><b class='flag-5'>协议</b>在能源行业中的应用

    CCLink转ModbusRTU网关控制变频器配置案例

    协议,但是变频器一侧使用的是ModbusRTU协议。两者无法直接进行通讯,故采用耐用通信出品的CCLink转ModbusRTU网关进行
    的头像 发表于 12-22 16:05 241次阅读
    CCLink转<b class='flag-5'>ModbusRTU</b>网关控制变频器配置案例

    EtherCAT协议ModbusRTU协议在能源行业中的应用

    EtherCAT和Modbus RTU都是工业通讯协议,在能源行业中使用,可以满足不同的通讯需求。EtherCAT是风电系统的一个核心技术,Modbus RTU是一种应用较为广泛的工业通讯
    的头像 发表于 12-22 13:53 200次阅读
    EtherCAT<b class='flag-5'>协议</b>与<b class='flag-5'>ModbusRTU</b><b class='flag-5'>协议</b>在能源行业中的应用