gpt4 book ai didi

c++ - 在基于 Linux 的 WAGO PFC200 PLC 上与 CoDeSys 程序通信

转载 作者:太空狗 更新时间:2023-10-29 23:39:46 26 4
gpt4 key购买 nike

我目前正在熟悉 PLC,尤其是 WAGO 750-8206 PLC。它提供了一个 linux 操作系统并且可以运行 CoDeSys 程序。有一些 I/O 模块连接到 Controller :750-530、750-430 和 750-600。我想知道的是:

是否可以编写在 PLC 上运行并获取/设置数字输入和输出的 C++ Linux 应用程序?

甚至更好:我可以编写一个 CoDeSys 程序来“与 I/O 对话”并处理所有逻辑,同时可以由 C++ linux 程序访问吗?这个想法是这样的:我希望 CoDeSys 程序能够检查两个数字输入。如果两者都很高,则应将变量设置为定义的值。 Linux 应用程序应该能够读取该变量并进行进一步处理(例如将 JSON 数据发送到服务器或类似的)。

此外,我需要能够从 Linux 应用程序向 CoDeSys 程序发送命令,以便在 Linux 应用程序接收到触发命令的消息时切换数字输出(或设置模拟输出值等)。

非常感谢关于这个主题的任何想法和评论,因为我对这个主题是全新的。提前致谢!

最佳答案

你可能想要的答案

实际的情况已经改变为与之前答案的相反

WAGO 最新的板级支持包和文档积极支持您对 PLC200 系列进行更改和扩展。特别是 WAGO 750-8206 和 17(截至 2016 年 3 月)其他 PLC:

wago.us -> Products -> Components for Automation -> Modular WAGO-I/O-SYSTEM, IP 20 (750/753 Series)

您需要做的是与他们取得联系,并要求他们为 PLC200 系列提供最新的板级支持包 (BSP)。

我引用了之前的答案并标记了更改,我的添加以粗体显示。

Synopsis

  • Could you hack a PFC200 and get custom binaries executed? Probably Absolutely yes. As long as the program is content to run on the Linux-3.6.11 kernel and glibc-2.16 and is compiled for the "armhf" API, any existing ARM application, provided you also copy the libraries it uses as well, will just run without even compiling it specifically for the PFC200.
  • Would it be easy or quick? No. Yes, if you have no fear of the Linux Command line. It is as easy as using the Cross Compiler provided by the Board Support Package (BSP) with the provided C-libraries and then run this to transfer your program to the PFC's flash and run it:
    scp your-program root@PFC200:/usr/binssh root@FC200 /usr/bin/your-program
    Of course, you can use Eclipse CDT with the Cross Toolchain for the PFC200 and configure Eclipse to do do remote run and debug.
  • Will this change in the future? Maybe. Remember that PFC200 is fairly new in North America.It has, PFC200 has appeared in September 2014

公众HOWTO Building FORTE for Wago描述了如何使用初始 BSP 运行 FORTE,这是 4DIAC 的 IEC 61499 运行时环境(链接:sf.net/projects/fordiac),一个开源 PLC 环境,允许实现工业以供应商中立的方式控制解决方案。 4DIAC 实现 IEC 61499 扩展 IEC 61131-3,更好地支持 Controller 到 Controller 的通信和动态重新配置。

如果您想直接访问 KBUS(与 I/O 对话),您必须知道目前只有一个应用程序可以负责 KBUS。

因此,CODESYS、FORTE 或您自己的 KBUS 应用程序都可以负责 KBUS。

2015 年的 BSP 有许多示例和演示如何使用 PLC200 的所有 I/O(KBUS、CAN、MODBUS、PROFIBUS 以及直接在 PFC200 上的开关和 LED)。内核和所有内核驱动程序的源代码以及其他开源组件在板级支持包 (BSP) 中提供和编译。

但是,不提供由 WAGO 从头开始​​开发且不基于 GPL/开源代码的库和工具的源代码:这些包括应用设备接口(interface) (ADI)/设备抽象层 (DAL) 库CANopen、PROFIBUS-Slave 和 KBus(用于连接到主 PLC 单元的所有 PLC I/O 模块)

虽然 CANopen 使用标准的 Linux Socketcan API 与内核通信,您可以使用提供的 libsocketcan 编写一个普通的 socketcan 程序,但 KBus API 是 WAGO 特定的发明,在那里,您必须做一些如果您不想使用 WAGO 的 DAL 访问 PLC 的所有电气 I/O,请进行逆向工程,但 DAL 已记录在案,BSP 中提供了如何使用它的示例。

但是,如果您使用 CODESYS,则有一个“codesys_lib_demo-0.1”示例库,它展示了如何为 CODESYS 提供一个库以供使用。

关于c++ - 在基于 Linux 的 WAGO PFC200 PLC 上与 CoDeSys 程序通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30030620/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com