Codesys 作为 Profinet 控制器操作 Beckhoff BK9053

[ 博客首页 ]
黄杰, 2020-05-05
root[a]linuxsand.info

最近我从 Codesys 中国购买了学习套件:树莓派4B、Codesys 许可证和《开放式控制系统编程技术》这本书。

五一假期试玩了一把。以下凭借记忆叙述大致步骤,作为备忘,也希望帮助从搜索引擎过来的朋友。


目录:

1 树莓派变身为软PLC

树莓派的相关操作,例如配置 ssh / vnc server、配置网络接口 eth0 等操作不在此赘述,可参考 这里 或者官方文档(Help -- Contents -- Add-ons -- CODESYS Control for Raspberry Pi SL)。

大致步骤:

  1. 给树莓派安装操作系统 raspbian
  2. 安装 Codesys control for Raspberry Pi package 到你的 Codesys IDE
  3. 安装 Codesys runtime 到树莓派
  4. 使用购买的授权码,对 runtime 进行授权;最好备份授权文件(CMLicenseNew.WibuCmRaU)

完成授权后启动 runtime,尝试新建工程并下载,确保正常工作,至此树莓派变身为一台软 PLC。

2 组态 Profinet

使用网络交换机将设备连接到一起,我的设备情况如下。

注意:我遇到了树莓派的 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 文件操作,这里也不提。

关键步骤:

3 尝试置位信号

硬件组态完成后,进行 I/O 映射。

我使用的硬件:BK9053 耦合器 + Kx2xx8 八通道数字输出模块 * 4,每个数字输出模块的信号与一个类型为 USINT 的变量关联。

完成映射后发现无法手动强制信号……最后发现用代码置位信号后,可以手动强制了,不解。

4 录制的 demo 视频

最后录制了一个“跑马灯”效果的 demo:循环点亮每个数字输出通道。

https://v.youku.com/v_show/id_XNDY2MzY4MjAzMg==.html