• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

modbus协议的应用层在工业上有没有统一的规定?

dwwzl 2017-04-22 浏览量:1202
modbus协议的应用层在工业上有没有统一的规定?大家用modbus协议应用层是不是都一样的,还是各自按照自个的需要定义需要传输的数据格式。
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 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。
    • 发布于 2017-04-24
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:3
  • modbus的协议一般使用的是统一的格式,这种是工业的规范来的,

    modbus协议的报文,统一的格式为从机id---功能码---请求起始地址---请求寄存器数量---CRC校验码

    比如01---------04--------00--00----------00--04----------F1--C9


    本人正好也在做这个方面的内容,有啥问题可以一起交流​

    • 发布于2017-04-22
    • 举报
    • 评论 2
    • 0
    • 0
dwwzl 回复了 chen0000009 :谢谢您的回复,我的意思是应用层具体的数据格式,比如哪个寄存器代表着什么意思,是什么数据类型等等。是不是用户自个定义的? 回复
chen0000009 回复了 chen0000009 :寄存器代表什么意思是芯片决定的,数据类型可以你自己决定 回复

  • Modbus協定目前存在用於串列埠、乙太網以及其他支援網際網路協定的網路的版本。

    大多數Modbus裝置通訊通過串列埠EIA-485實體層進行。


    對於串行連線,存在兩個變種,它們在數值資料表示不同和協定細節上略有不同。Modbus RTU是一種緊湊的,採用二進位表示資料的方式,Modbus ASCII是一種人類可讀的,冗長的表示方式。這兩個變種都使用串行通訊(serial communication)方式。RTU格式後續的命令/資料帶有迴圈冗餘校驗的校驗和,而ASCII格式採用縱向冗餘校驗的校驗和。被配置為RTU變種的節點不會和設定為ASCII變種的節點通訊,反之亦然。


    對於通過TCP/IP(例如乙太網)的連線,存在多個Modbus/TCP變種,這種方式不需要校驗和的計算。


    對於所有的這三種通訊協定在資料模型和功能呼叫上都是相同的,只有封裝方式是不同的。


    Modbus有一個擴充功能版本Modbus Plus(Modbus+或者MB+),不過此協定是Modicon專有的,和Modbus不同。它需要一個專門的協處理器來處理類似HDLC的高速令牌旋轉。它使用1Mbit/s的雙絞線,並且每個節點都有轉換隔離裝置,是一種採用轉換/邊緣觸發而不是電壓/水平觸發的裝置。連線Modbus Plus到電腦需要特別的介面,通常是支援ISA(SA85),PCI或者PCMCIA匯流排的板卡。


    根據以上,Serial兩種,TCP/IP 1種,所以Data封裝方式不一樣仍然是有差異的,供您參考

    • 发布于2017-04-22
    • 举报
    • 评论 0
    • 0
    • 0

  • 数据协议一般都是根据需求要变的
    • 发布于2017-04-27
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

modbus协议的应用层在工业上有没有统一的规定?