Modbus RTU常见问题汇总
ModBus协议是应用层报文传输协议(OSI模型第7层),它定义了一个与通信层无关的协议数据单元(PDU),即PDU=功能码+数据域。
ModBus协议能够应用在不同类型的总线或网络。对应不同的总线或网络,Modbus协议引入一些附加域映射成应用数据单元(ADU),即ADU=附加域+PDU。目前,Modbus有下列三种通信方式:
1.以太网,对应的通信模式是MODBUS TCP。
2.异步串行传输(各种介质如有线RS-232-/422/485/;光纤、无线等),对应的通信模式是MODBUS RTU或MODBUS ASCII。
3.高速令牌传递网络,对应的通信模式是Modbus PLUS。
二 关于MODBUS RTU通讯协议的提问?
modbus 主要由站地址(一个字节)+功能码(一个字节)+首地址(两个字节)+访问字数(两个字节)+校验码(CRC16或LRC两个字节)总共8个字节组成。其实VB中编程很简单从组建添加MSComm组建就行了,难的是校验,
三 modbus、rtu、modbus rtu分别是什么?
modbus协议是工控行业的标准协议,前身为莫迪康所写,现已被施奈德收购
而modbus分为两种协议:即串口协议(modbus rtu)和网口协议(modbus tcp)协议,一般的工控机只支持rs232或者RS485的串口模式,这个时候工控机的协议栈里就只有modbusRTU协议,当他从串口接收 到数据时,会直接根据报文中的数据进行控制,如果需要用modbusTCP协议进行传输,则需要使用带有网口的PLC
具体的帧格式如下
modbus RTU 地址域 功能码 数据 差错校验
modbus TCP 目的地址 协议id 长度 单元号 功能码 数据
简单的说 tcp是由RTU加工而来的
而RTU则是另外一种概念,不包含在modbus协议内
是工控行业对监控设备的简称。
四 关于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 指定多个操持寄存器的二进制值
五 OPC 转modbus RTU 方式 我现在有一个OPC服务器,里面很多tag,tag是AB里出来的,怎么将tag连到modbus?
Profibus、Fielbus、Modbus、CC-link等等是各中PLC硬件支持的通讯协议,这个是各厂商的硬件属性一样.只是现在计算机组态软件都支持很多种协议的PLC.你理解反了.
Profibus、Fielbus、Modbus、CC-link这些协议,是一种通讯协议,一般不需要你去编程,就好象你使用计算机,你不需要编写IP协议一样,只是要遵循它.
遵循的意思就是,你必须按照该厂家所支持的协议在PLC或者DCS硬件组态的时候按照该通讯协议设置硬件.其实这个很简单. 这里简单指的是,你学编程,重点是编写执行控制的动作的程序,硬件通讯协议不需要你自己动手写。
六 什么是modbus rtu master?
就是选RTU模式,因为MODBUS分为ASCII模式和RTU模式,MASER就是设置为主站,一般为PLC端,变频器设为从站,还要注意主站和从站地址的设置。
七 Modbus rtu 为什么没有开始和结束标记?
由于Modbus rtu帧的每个字节是16进制数,数值范围在00~FF,若像Modbus ASCII那样用02、03表示开始和结束标记,则与数值2、3发生冲突,无法判断其是标记还是数值,无法数据解包。
八 modbus tcp 到 rtu的转换?
请仔细查看帧格式,
modbus RTU 地址域 功能码 数据 差错校验
modbus TCP 目的地址 协议id 长度 单元号 功能码 数据
写一个TCP转RTU的程序放到设备里做modbus网桥即可
九 MODBUS RTU通讯线被烧?
用万用表量一下出来的通讯线,电压不超过5V应该没问题,一般不会烧东西,接的时候区分正和负。很多产品B是正,量一下看看。
十 触摸屏modbus rtu怎么设置?
一般是通过宏指令自己编程实现,当然也有支持RTU的,在通讯类型菜单
十一 MODBUS RTU协议中浮点数是如何存储,读到浮点数寄存器的数值如何转换成所需的浮点数?
浮点数保存的字节格式如下:
地址 +0 +1 +2 +3
内容 SEEE EEEE EMMM MMMM MMMM MMMM MMMM MMMM
这
ModbusRTU常见问 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)