C# 如何使用.NET读取PLC(RFC1006)数据

C# 如何使用.NET读取PLC(RFC1006)数据,c#,plc,C#,Plc,我正在寻找一种读取PLC数据的好方法。我在这里找到了这个: 不幸的是,这仅适用于西门子plc。我找了一会儿另一个图书馆,但找不到合适的。有什么想法吗? 提前谢谢= 致以最良好的祝愿, Zuendi您可以使用AdvancedHMI,这是一种.NET解决方案。它为各种PLC(如Allen Bradley、Beckhoff、Omron、Modbus等)提供了一系列通信驱动程序。您的问题很模糊,但最接近所有PLC的通用接口可能是OPC-UA。几个主要的PLC供应商支持这种开箱即用的西门子S1500、Be

我正在寻找一种读取PLC数据的好方法。我在这里找到了这个:

不幸的是,这仅适用于西门子plc。我找了一会儿另一个图书馆,但找不到合适的。有什么想法吗? 提前谢谢=

致以最良好的祝愿,
Zuendi

您可以使用AdvancedHMI,这是一种.NET解决方案。它为各种PLC(如Allen Bradley、Beckhoff、Omron、Modbus等)提供了一系列通信驱动程序。

您的问题很模糊,但最接近所有PLC的通用接口可能是OPC-UA。几个主要的PLC供应商支持这种开箱即用的西门子S1500、Beckhoff TwinCAT和其他许多供应商提供服务器端软件,将PLC的专有协议转换为OPC-UA

OPC-UA有一个相当完整的.net实现


什么是接口以太网,RS232,RS485。。。什么是通信标准Modbus、EtherCAT、ProfiNET等,。。。?你的PLC是什么?嗨,谢谢你的回答。我想用以太网。其想法是能够从多个plc中读取数据。这不应仅限于西门子。通常不同的制造商有自己的通信方法。因此,要创建一个从多个源读取而不为每个源创建单独通信的程序并不容易。也许您应该列出您需要的制造商,并找到一个c库/为每个制造商创建一个自己的c库。另一种解决方案是使用OPC服务器,它可以从各种设备收集数据,您可以从那里读取数据。您无法创建通用应用程序。有通信协议,没有所有PLC支持的协议。尤其是西门子。他们有自己的ProfiNET接口。如果您为西门子制造,它将只对西门子或主要对西门子起作用。我只能建议将MQTT视为一种通信协议,因为它基于以太网,在未来5年内将得到所有主要制造商的支持。事实上,它已经得到了巨大的支持。好吧,你给了我足够的时间去思考。非常感谢。我想我得买一些PLC进行测试,然后从这个库开始。Mqtt是我在这个问题上没有考虑的东西。也许这也有帮助。哦,太酷了,谢谢你。这听起来真是一件值得尝试的事情。谢谢。是的,OPC-UA是我已经使用过的。但是为了能够处理RFC1006,我想也许有人能帮我解决这个问题。在网上很难找到所需的信息。此外,我不知道RFC1006是否专门针对西门子plc。如果是这样的话,那么我一点问题都没有。