Automation 可编程逻辑控制器协议

Automation 可编程逻辑控制器协议,automation,protocols,plc,Automation,Protocols,Plc,我想把PLC和计算机集成起来。设置输出和读取输入。我已经了解了Modbus及其简单功能,但如果我想对输入中的更改采取行动,我需要轮询输入以检测更改。PLC是否有任何开放和通用的协议可以在传感器/输入更改时推送/更新,而不需要轮询?开放和通用,并且易于实现,我认为没有。 您应该查找“例外报告”和“未经请求的报告”之类的术语。例如,DNP3具有此功能,它广泛应用于电气应用中,但它不容易实现,也不开放 根据您的控制器,也许您可以看看,有对Arduinos和RPi的支持,也有像开放式和通用的、易于实现的

我想把PLC和计算机集成起来。设置输出和读取输入。我已经了解了Modbus及其简单功能,但如果我想对输入中的更改采取行动,我需要轮询输入以检测更改。PLC是否有任何开放和通用的协议可以在传感器/输入更改时推送/更新,而不需要轮询?

开放和通用,并且易于实现,我认为没有。 您应该查找“例外报告”和“未经请求的报告”之类的术语。例如,DNP3具有此功能,它广泛应用于电气应用中,但它不容易实现,也不开放


根据您的控制器,也许您可以看看,有对Arduinos和RPi的支持,也有像开放式和通用的、易于实现的工业控制器,我认为没有。 您应该查找“例外报告”和“未经请求的报告”之类的术语。例如,DNP3具有此功能,它广泛应用于电气应用中,但它不容易实现,也不开放


根据您的控制器的不同,您可能会看到,对Arduinos和RPi的支持,以及像

这样的工业控制器是在许多PLC上实现的开放协议标准,有许多PC客户端实现。除了轮询和其他通信服务外,它还支持“订阅”和“事件”机制。

是一种开放协议标准,在许多PLC上实施,有许多PC客户端实施。除了轮询和其他通信服务之外,它还支持“订阅”和“事件”机制。

前面的两个答案都不错。正如Nelson提到的,您没有指定要使用的控制器。您还没有提到您希望在计算机上与PLC集成的内容。Beckhoff的TwinCAT PLC可以使用MQTT、OPC-UA以及许多其他协议。他们还提供使用ADS协议的库

作为ADS的一部分,您可以在您的机器上设置ADS服务器(这很容易),并让您的PLC写入服务器。更典型的方法是在程序运行时内使用此ADS机制订阅PLC中的变量/结构。当变量struct更改时,将触发一个事件(如果是模拟值,则可以指定它应该更改的程度)

您选择的方法可能由您的体系结构决定。如果你有很多PLC,我会在你的电脑上设置一个ADS服务器,如果你有一些,从你的程序中订阅。当然,您也可以混合和匹配这些方法


这里有一页例子:

前面的两个答案都不错。正如Nelson提到的,您没有指定要使用的控制器。您还没有提到您希望在计算机上与PLC集成的内容。Beckhoff的TwinCAT PLC可以使用MQTT、OPC-UA以及许多其他协议。他们还提供使用ADS协议的库

作为ADS的一部分,您可以在您的机器上设置ADS服务器(这很容易),并让您的PLC写入服务器。更典型的方法是在程序运行时内使用此ADS机制订阅PLC中的变量/结构。当变量struct更改时,将触发一个事件(如果是模拟值,则可以指定它应该更改的程度)

您选择的方法可能由您的体系结构决定。如果你有很多PLC,我会在你的电脑上设置一个ADS服务器,如果你有一些,从你的程序中订阅。当然,您也可以混合和匹配这些方法

以下是一页示例: