modbus是啥意思?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了modbus是啥意思?相关的知识,希望对你有一定的参考价值。

modbus指Modbus通讯协议。

Modbus是一种串行通信协议,是Modicon公司于1979年为使用可编程逻辑控制器(PLC)通信而发表。Modbus已经成为工业领域通信协议的业界标准(De facto),并且现在是工业电子设备之间常用的连接方式。

通信协议

在计算机通信中,通信协议用于实现计算机与网络连接之间的标准,网络如果没有统一的通信协议,电脑之间的信息传递就无法识别。 通信协议是指通信各方事前约定的通信规则,可以简单地理解为各计算机之间进行相互会话所使用的共同语言。两台计算机在进行通信时,必须使用的通信协议。

参考技术A Modbus是一种串行通信协议,广泛应用在工业控制系统中,许多工业设备,包括PLC,DCS,智能仪表等都在使用Modbus协议作为他们之间的通讯标准。profibus和profinet也比较常用,但是由于协议不同会造成下级模块无法与主cpu无法通讯,这种情况下只能中间加协议转换网关,yt-pb-03,yt-pn-04, yt-pb-01等都可以进行协议转换。 参考技术B Modbus协议属于应用层的报文传输协议,在传输数据时以明文方式传输,不进行任何安全处理。因此,Modbus 协议存在明显的安全缺陷。攻击者一旦进入
Modbus 线路获得数据包,就可以伪造、篡改数据包,还可以恶意篡改功能码。

pymodbus“单位”参数是啥意思?

【中文标题】pymodbus“单位”参数是啥意思?【英文标题】:What does the pymodbus "unit" parameter mean?pymodbus“单位”参数是什么意思? 【发布时间】:2018-10-25 20:45:36 【问题描述】:

我有一些在 pymodbus 1.2 下编写的 modbus TCP 代码 相关代码是

result = modbus_client.read_holding_registers(40093, 3)

更新到 pymodbus 1.4.0 后,它无法工作,直到我将新的 unit 参数添加到函数调用中(示例中都有 unit=1 他们):

result = modbus_client.read_holding_registers(40093, 3, unit=1)

pymodbus read_holding_registers()中的unit参数是什么意思? 我似乎无法在任何地方找到解释。 消息来源说“:param unit:此请求所针对的从属单元”, 但我不明白这是什么意思,也不明白除了 1 之外还有什么选择。

【问题讨论】:

这是 modbus 从站 ID,可能是您有多个链接的 modbus 从站/服务器,每个从站都有一个唯一的 unit_ID 【参考方案1】:

Modbus 协议最初是在 TCP/IP 流行之前很久(我认为是 70 年代后期)开发的。它主要用于串行连接。一些串行硬件协议(如 RS485)允许菊花链。 modbus 主机(在您的情况下为 Python)可以在单个串行端口上轮询许多从机。只有被请求的从站才会响应。在这种情况下,从站的地址是单元。一旦 Modbus 适应 TCP/IP,该协议就允许使用此“单元地址”在单个 IP 地址后面创建多个从站。大多数情况下,如果使用 TCP/IP,则只有一个地址 1。在 Wikipedia 上,他们将此称为“站地址”。

我不知道为什么你需要在方法调用中包含这个,因为它是一个默认为 1 的 kwarg。

【讨论】:

感谢您的回复。看起来它默认为 0 github上的最新版本。这似乎是一个错误,至少对于 tcp 而言。我明天需要再看一遍。 我相信 unit=0 是一个有效的地址。如果这是真的,这将不是一个错误。如果您的从站的单元地址为 1,您将需要使用 unit kwarg。 我读到 0 表示发送到 modbus RTU 上的每个从站。我对TCP一无所知。看起来有点退化,但我只使用 modbus 几个月,所以我知道什么。 @AdamSolchenberger unit_ID 在 modbustcp 或 modbusrtu 中是一样的,这是 slave_ID 我最近遇到了一个案例,modbus tcp slave 本身就是一个 modbus rtu master,并且将它自己的 slave 暴露给 tcp,因此尽管连接到单个 IP 地址,但仍需要 slave id。举个具体的例子,一切都清楚了。

以上是关于modbus是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章

modbus协议rtu是啥

谁知道abplc用的是啥通讯协议,比如cclink modbus之类的

modbus TCP/IP、EtherNet/IP与TCP/IP、以太网通讯是啥关系?

modbus报文识别中主设备请求报文:06+01+00+16+00+21+1C+61表示的意思?

modbus和RS485的关系是啥?谢谢

modbus+rtu功能码是啥进制数