【问题标题】:read and write data from AB PLC or any other controllers using C#使用 C# 从 AB PLC 或任何其他控制器读取和写入数据
【发布时间】:2020-03-31 20:22:23
【问题描述】:

我是 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# 编程语言来完成这项工作。

【问题讨论】:

  • 嗨@samy,欢迎来到stackoverflow。我认为您的问题归结为“如何实现 CIP 协议?”在这个网站上无法真正回答。您可以寻找一个开源库,购买一个专有框架,或者您可以考虑在 PLC 和您的应用程序之间使用 OPC 服务器。

标签: c# tcp plc


【解决方案1】:

取决于您实际拥有的 compactlogix 类型及其以太网卡,听起来您不想/不想使用传统的 HMI/OPC 方法,如点火或普通 Kepware,所以我建议您看看什么 ingear Net。 Logix 有(试用/付费)。我已经使用过它,它的可靠性与用于 AB PLC 的 TCP/IP 的非 OPC 网络套接字一样可靠。另一件事是您可以使用带有可视 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

【讨论】:

    【解决方案2】:

    听起来您的最终目标是制作 SCADA 或 HMI。因此,我将为您提供一些选择:

    1. 看看Advanced HMI。这应该给你你正在寻找的一切。这不是开源软件,而是免费软件。
    2. 您还可以查看我在使用 node-Red 执行您的请求时所做的 POST。这是使用 WAGO PLC,但我将展示什么是可能的。如果您需要有关此选项的更多帮助,请询问。 Where should I start with my OPC-UA client?
    3. 如果您想自己动手,并且想要一个完全开源的选项。有一个帖子可以帮助你沟通AllenBradley Compactlogix PLC Ethernet IP & C# Communication?

    还有更多选择。这只是免费或开源选项的一小部分。如果您需要更多选项,请询问,我将在此帖子中添加付费列表。

    【讨论】:

      猜你喜欢
      • 2019-07-08
      • 2016-06-13
      • 1970-01-01
      • 1970-01-01
      • 2016-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多