c# - 使用 C# 从 AB PLC 或任何其他 Controller 读取和写入数据

标签 c# tcp plc

我是 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/

相关文章:

C# LINQ GroupJoin 跳过项目

c# - C# 中的 AES-XTS 实现

macos - 以编程方式使用 sysctl 设置 tcp 延迟确认

javascript - MeteorJS 和 IoT 空间

c++ - 从IT编程到机器控制编程

c# - 如何为测试目的模拟网络故障(在 C# 中)?

c# - 链接服务器和 Entity Framework 。还有其他选择吗?

c - tcp ip 检查我遗漏了一些东西

.net - 是 200 - 400 毫秒 "slow"TCP 延迟? (不平)

windows - 网络通信故障排除