首页 > 解决方案 > 倍福 Twincat.ADS.dll 和 C#

问题描述

我正在研究通过 C# 控制 Beckhoff PLC 的可能性。我的主要想法是使用带有 Windows 10 IoT Core 的 Raspberry Pi 并创建一个 C# 程序。现在我有一个使用 TwinCat.Ads 库运行的小型测试程序,但要让它工作,我必须在我读取或写入的 PLC 中声明变量。这需要一个昂贵的 Beckhoff 基本 CPU 模块。

我不知道是否可以仅使用 EK1100 模块通过 ADS 库直接读取或写入 IO。有谁知道这是否可能?这将使 PLC 硬件便宜很多,我也可以开始使用模型驱动开发软件,这是我调查的最终目标。

谢谢你的帮助

我第一次测试的一些代码:

  adsClient = new TcAdsClient();
  adsClient.Connect("5.51.69.60.1.1", 851);

  string result;
        var Handle =  adsClient.CreateVariableHandle("GVL_GENERAL.g_sMachineNumber");
        try
        {
            using (AdsStream adsStream = new AdsStream(30))
            {
                AdsBinaryReader reader = new AdsBinaryReader(adsStream);
                adsClient.Read(Handle, adsStream);
                result = reader.ReadPlcAnsiString(30);
            }
        }

标签: c#plc

解决方案


您无需购买 Beckhoff 硬件即可运行您的实验。

只需安装 twincat 工程环境,您还可以获得可以编程和测试的本地运行时。

可以通过 ads 协议读取和写入 IO,也可以从远程 PC。

在 arm 上也可以安装 twincat 运行时,实际上 Beckhoff 本身就有一整套 arm CPU PLC。不过,我从未尝试过覆盆子。知道它是否在 Windows 10 iot 下工作会很有趣。请在评论部分告诉我。

我知道在 raspberry 上可以肯定工作的是 Codesys V3,它是一个与 Twincat 3 非常相似的工程环境。您可以从他们的网站下载特殊的 codesys Raspberry pi 映像。


推荐阅读