Rob*_*ert 2 c++ linux plc codesys
我现在熟悉PLC,特别是WAGO 750-8206 PLC.它提供了一个Linux操作系统,可以运行CoDeSys程序.控制器上连接了一些I/O模块:750-530,750-430和750-600.我想知道的是:
是否有可能编写一个在PLC上运行的C++ linux应用程序并获取/设置数字输入和输出?
更好的是:我可以编写一个"与I/O对话"的CoDeSys程序并处理所有逻辑,同时可以通过C++ linux程序访问吗?这个想法是这样的:我希望CoDeSys程序能够检查两个数字输入.如果两者都很高,则应将变量设置为定义的值.linux应用程序应该能够读取该变量并进行进一步处理(例如将JSon数据发送到服务器或类似服务器).
此外,当linux应用程序收到触发命令的消息时,我需要能够将命令从linux应用程序发送到CoDeSys程序,以便切换数字输出(或在模拟输出上设置值等).
我对这个主题的任何想法和评论都非常感激,因为我对这个主题完全不熟悉.提前致谢!
在实际情况已经改变成相反以前的答案的.
WAGO最近的板级支持包和文档积极支持您对PLC200系列进行更改和扩展.特别是WAGO 750-8206和17(截至2016年3月)其他PLC:
wago.us - >产品 - >自动化组件 - >模块化WAGO-I/O-SYSTEM,IP 20(750/753系列)
您需要做的是与他们取得联系,并询问他们最新的PLC200系列板级支持包(BSP).
我引用上一个答案并标记更改,我的添加内容以粗体显示.
概要
- 你能破解PFC200并获得自定义二进制文件吗?
可能绝对是的.只要该程序满足于在Linux-3.6.11内核和glibc-2.16上运行并且为"armhf"API编译,任何现有的ARM应用程序,如果你也复制它使用的库,也会运行甚至没有专门为PFC200编译它.- 它会轻松还是快速?
不.是的,如果你不担心Linux命令行.它就像使用Board Support Package(BSP)提供的交叉编译器和提供的C库一样简单,然后运行它以将程序传输到PFC的闪存并运行它:scp your-program root@PFC200:/usr/bin ssh root@FC200 /usr/bin/your-program当然,您可以将Eclipse CDT与Cross Toolchain一起用于PFC200,并将Eclipse配置为执行远程运行和调试.- 这将在未来发生变化吗?
也许.请记住,PFC200在北美是相当新的.它有,PFC200已于2014年9月出现
公众HOWTO Building FORTE for Wago描述了如何使用初始BSP运行FORTE,这是4DIAC的IEC 61499运行时环境(链接:sf.net/projects/fordiac),这是一个允许实现工业的开源PLC环境以供应商中立的方式控制解决方案.4DIAC实现了IEC 61499扩展IEC 61131-3,更好地支持控制器到控制器通信和动态重新配置.
如果您想直接访问KBUS(与I/O通信),您必须知道当前只有一个应用程序可以负责KBUS.
因此,CODESYS或FORTE或您自己的KBUS应用程序可以负责KBUS.
2015年的BSP有很多示例和演示如何使用PLC200的所有I/O(KBUS,CAN,MODBUS,PROFIBUS以及PFC200上的开关和LED).内核以及所有内核驱动程序和其他开源组件的源代码在Board支持包(BSP)中提供和编译.
但是,没有提供WAGO从头开发并且不基于GPL /开源代码的库和工具的来源:这些包括应用设备接口(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提供库以供使用.
| 归档时间: |
|
| 查看次数: |
7221 次 |
| 最近记录: |