使用 Modbus 通信和硬连线信号进行电机控制

使用 Modbus 通信和硬连线信号进行电机控制

Modbus 是一种非常流行的数据通信协议,广泛应用于各种工业和商业系统中,通常与电动机控制相关。本教程将探讨工业设备网络控制的基本概念,然后探讨Modbus 协议本身的细节。

工业控制中最常见的计算机形式之一是可编程逻辑控制器或PLC。这些设备在功能上与微控制器类似,但设计为使用比汇编或 C 语言简单得多的语言进行编程,以便允许编程经验有限的技术人员配置这些控制器来执行有用的自动化任务。

硬连线电机控制

我们可以首先考虑一个不使用 Modbus 的 PLC 控制电机系统的示例来开始对 Modbus 的探索。

在这里,PLC将单独接线的正向、反向和停止以及速度控制命令信号发送到变频驱动器 (VFD),然后变频驱动器将不同频率的三相电源发送到交流感应电机以执行一些有用的任务:

离散命令(例如停止、正向、反向)只不过是由PLC 的输出通道向VFD 输入端子提供的开/关触点闭合。

当PLC命令VFD反向运行时,它只需激活输出通道O/1,该通道闭合PLC内部的继电器触点,将VFD的“Rvs”端子连接到VFD的“Com”端子。

VFD 检测到这种电气连续性并通过以相反方向运行电机来做出响应。电机速度由 PLC 输出的模拟电压信号(通常为 0 至 10 伏直流)控制,其中 0 伏代表零速,10 伏代表全速。

VFD接收该模拟电压信号并通过向感应电机输出适当频率的三相交流电来响应它。虽然该系统确实有效,但它并不代表 PLC 向 VFD 发出命令来控制电机的唯一方式。

无需为每个电机功能使用离散导体,而是可以使用数字网络电缆将 PLC 和 VFD 连接在一起,并以数字代码形式发出命令来执行相同的操作。Modbus 就是这样一个数字网络标准,我们将在下一节中看到它的应用。

使用 Modbus 通信进行电机控制

现在考虑这个更新的电机控制系统,其中 PLC 和 VFD 之间的唯一连接线是两个设备的 Modbus/RS-485 端子之间的单根双芯电缆。

注意:RS-485 是一种使用不归零 (NRZ) 位编码的串行数据通信标准。两个未接地导体在连接的设备之间传送脉冲电压信号,电压的一个极性代表“0”位,另一个极性代表“1”位。

PLC 作为Modbus 主设备,VFD 作为Modbus 从设备:


通过使用传输到 VFD 的适当的Modbus命令,PLC 能够像以前一样发出所有相同的命令(例如停止、正向、反向、速度控制),但使用的电线少得多。

例如,Modbus 命令代码 05 将一位数据写入接收设备,允许 PLC 一次向 VFD 发送一个离散信号命令。

当 PLC 命令 VFD 反向运行时,它会发出 05 命令,后跟一个“1”数据位,该数据位寻址到 VFD 内为“反向”命令​​位保留的适当存储位置。

当 PLC 命令 VFD 更改电机速度时,它会发出 06 Modbus 代码(“写入寄存器”),后跟代表所需电机速度的 16 位数字以及VFD 中为速度命令保留的相应地址。

PLC不仅可以发出与以前相同的所有命令,而且还可以从VFD中读取数据,这是以前无法做到的。

例如,如果 VFD 提供用于存储故障代码(例如电机过流、总线欠压等)的存储位置,则 PLC 可以编程为发出 03 Modbus 代码以读取单个寄存器(16 位二进制数) VFD 内的存储位置,从而监控 VFD 的状态,以提醒技术人员潜在的问题,和/或修改其自身对电机的监控控制。

使用 Modbus 网络控制多台电机

Modbus 通信标准的另一个优点是它旨在寻址同一网络上的多个设备。

这意味着我们假设的 PLC 不仅限于控制和监控一台电机,而是在同一根两线通信电缆上控制和监控多达 247 个独立的 Modbus 从设备!

下图显示了这如何适用于多个电机:

每个 VFD 都有自己的 Modbus 网络从站地址,以便 PLC 在同一线对上通信时能够区分两个驱动器。

PLC 传输的每个 Modbus 代码都包含该地址作为单字节(8 位)数据,以便接收 VFD 知道该代码适用于它,而不适用于网络上的任何其他 Modbus 设备。

在此示例中,我们可能希望使用 Modbus 地址 1 对 VFD #1 进行寻址,并使用 Modbus 地址 2 对 VFD #2 进行寻址。Modbus 标准提供“广播地址”0,可同时对网络上的所有设备进行寻址。

例如,如果 PLC 需要同时沿同一方向启动所有电机,它可以向每个 VFD 内的相同地址发出 Modbus 代码 05(写入单个位),代表电机旋转正确方向的命令位。

只要 VFD 配置相同,每个 VFD 就会以相同的方式接收和解释数据,这将导致它们以相同的方向启动。

Modbus 的缺点

与每个传感和控制功能的专用线路相比,使用 Modbus 的唯一缺点是速度和可靠性。

Modbus 必然比专用线控慢,因为 PLC 无法同时在网络上发出不同的命令。

例如,如果 PLC 需要告诉 VFD 开始以 1050 RPM 的速度正向转动电机,则基于 Modbus 的系统将需要发出两个单独的 Modbus 代码,而单独的有线系统可以同时发出这些命令。

然而,如果 Modbus 网络以相当高的速度(每秒数千位)进行通信,则几乎不值得考虑这一缺点。

如果我们考虑每个系统如何响应接线故障(例如,一根电线松动并与螺丝端子断开),那么可靠性的缺点可能很容易被察觉。

在单独接线的系统中,一根电线故障会禁用一项电机控制功能,但不一定会禁用任何其他功能。在基于 Modbus 的系统中,一根电线故障会导致所有功能失效,因为任何 Modbus 通信都需要该两芯通信电缆的全部功能。

当多个设备由同一条 Modbus 电缆控制时,问题甚至更大:如果控制 PLC 和所有现场设备之间发生故障,PLC 将失去对每一个现场设备的控制(和监控)!在决定是否使用任何数字通信方法来监视和控制多个设备时,这是一个值得考虑的因素。

Modbus,特别是在简单的串行网络(例如 EIA/TIA-232 和 EIA/TIA-485)上实现时,是一种相当原始的协议。用于发出命令和指定地址的看似任意的十进制代码对于现代标准来说已经过时了。

然而,无论好坏,许多数字工业设备都“讲”Modbus,即使它们也能够通过其他网络协议进行通信。

因此,使用 Modbus 与现代控制设备进行通信是对 1970 年代电信的致敬:Modbus 网络中的所有参与设备本质上与 1970 年代老式 Modicon PLC 的行为相同,用于交换信息,即使它们的处理能力允许通信远比 Modbus 协议复杂。

查询另一个 Modbus 设备的 Modbus 设备并不“知道”另一个设备是多么现代或过时,因为基本的 Modbus 标准一直保持固定。

注意:EIA/TIA-232 也以其旧名称 RS-232 而闻名。它是一种不归零 (NRZ) 串行数据协议,使用接地参考电压信号来表示“0”和“1”位。这些位以某种恒定的位速率一次传输一个,并在组装成整个数字字之前由接收设备进行解释。EIA/TIA-485 也以其旧名称 RS-485 而闻名。

发布于 2023-09-25 15:05・IP 属地湖北