我是 C# 和 .NET 编程新手,所以如果我的问题对您来说没有意义,请原谅我。我正在尝试制作一个可以从 PLC(Allen Bradley Compact logix)读取数据并将其写入我的应用程序的应用程序。以下是我的愿景:1)PLC作为服务器,主机作为客户端。 2)PLC监听或等待上位机。 3)PLC接受客户端或上位机。 4)上位机向PLC发送数据或命令来完成某些任务。例如,创建一个简单的按钮来打开和关闭 PLC 上的内存位。 我对 1,2 和 3 的工作很满意,但我不知道如何做第 4 部分。过去,我构建了简单的应用程序,让两台计算机使用 TCP/相互交换字符串或文本IP,但我不想发送字符串,而是想发送命令,以便可以更改 PLC 的内存位。
我只需要第 4 部分的帮助。
我正在使用 C# 编程语言来完成此任务。
最佳答案
取决于您实际拥有的 Compactlogix 类型及其以太网卡,听起来您不想使用传统的 HMI/OPC 方法(例如ignition 或普通 Kepware),所以我建议您看一下 ingear Net。 Logix 有(试用/付费)。我已经使用过它,它与 AB PLC 的带有 TCP/IP 的非 OPC 网络套接字一样可靠。另一件事是,您可以使用带有 Visual C# 的普通 .NET 套接字,并尝试在 logix 上使用某些以太网卡在更新版本后支持的 Socket MSG 配置,在这种情况下,您将必须更集中地对所有套接字和梯形图逻辑方面,以便处理 PLC 内部的 IO。
https://ingeardrivers.com/products/net-products/netlogix/
https://literature.rockwellautomation.com/idc/groups/literature/documents/at/enet-at002_-en-p.pdf
关于c# - 使用 C# 从 AB PLC 或任何其他 Controller 读取和写入数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59219948/