【发布时间】:2017-08-19 14:05:17
【问题描述】:
我想将 PLC 与计算机集成。设置输出和读取输入。我看过 Modbus 及其简单,但如果我想对输入的变化采取行动,我需要轮询输入以检测变化。 PLC 使用的任何开放和通用协议是否会推送/更新传感器/输入更改而不需要轮询?
【问题讨论】:
标签: automation protocols plc
我想将 PLC 与计算机集成。设置输出和读取输入。我看过 Modbus 及其简单,但如果我想对输入的变化采取行动,我需要轮询输入以检测变化。 PLC 使用的任何开放和通用协议是否会推送/更新传感器/输入更改而不需要轮询?
【问题讨论】:
标签: automation protocols plc
OPC UA (Unified Architecture) 是在许多 PLC 上实施的开放协议标准,并提供许多 PC 客户端实施。除了轮询和其他通信服务之外,它还支持“订阅”和“事件”机制。
【讨论】:
前两个答案都不错。正如 Nelson 所提到的,您还没有指定您正在使用哪个控制器。您还没有提到您希望在计算机上与 PLC 集成的内容。 Beckhoff 的 TwinCAT PLC 可以使用 MQTT、OPC-UA 以及许多其他协议。他们还提供库来使用他们的 ADS 协议。
作为 ADS 的一部分,您可以在您的机器上设置一个 ADS 服务器(这很简单),然后让您的 PLC 写入服务器。更典型的方法是在程序运行时中使用此 ADS 机制订阅 PLC 中的变量/结构。当变量结构改变时会触发一个事件(如果是模拟值,您可以指定它应该改变多少)。
您选择的方法可能取决于您的架构。如果您有很多 PLC,我会在您的计算机中设置一个 ADS 服务器,如果您有几个,请从您的程序中订阅。当然,您也可以混合搭配这些方法。
【讨论】: