[ 博客首页 ]
黄杰, 2020-05-05
root[a]linuxsand.info
最近我从 Codesys 中国购买了学习套件:树莓派4B、Codesys 许可证和《开放式控制系统编程技术》这本书。
五一假期试玩了一把。以下凭借记忆叙述大致步骤,作为备忘,也希望帮助从搜索引擎过来的朋友。
目录:
树莓派的相关操作,例如配置 ssh / vnc server、配置网络接口 eth0 等操作不在此赘述,可参考 这里 或者官方文档(Help -- Contents -- Add-ons -- CODESYS Control for Raspberry Pi SL)。
大致步骤:
完成授权后启动 runtime,尝试新建工程并下载,确保正常工作,至此树莓派变身为一台软 PLC。
使用网络交换机将设备连接到一起,我的设备情况如下。
注意:我遇到了树莓派的 eth0 无法 ping 通外部设备的情况。搜索后执行了 sudo ip route add 192.168.0.0/24 dev eth0
方能 ping 通。
+-------------+ | | | Network | | Switch | +------+ +-------------+ | +---------+---+ | | | | | | | | | | | | | +-------+----+ +-----+------+ +----+-------+ | | | | |Beckhoff | |Laptop | |Pi (SoftPLC)| |BK9053 w/ | |Codesys IDE | |Codeys | |I/O modules | | | |Runtime | | | +------------+ +------------+ +------------+
下载、安装设备的 GSD 文件操作,这里也不提。
关键步骤:
eth0
硬件组态完成后,进行 I/O 映射。
我使用的硬件:BK9053 耦合器 +
Kx2xx8 八通道数字输出模块 * 4
,每个数字输出模块的信号与一个类型为 USINT
的变量关联。
完成映射后发现无法手动强制信号……最后发现用代码置位信号后,可以手动强制了,不解。
最后录制了一个“跑马灯”效果的 demo:循环点亮每个数字输出通道。
https://v.youku.com/v_show/id_XNDY2MzY4MjAzMg==.html