CoDeSys系列-3、Windows运行时软PLC主站和p-net从站IO设备组网测试
  FUPjNpIMLXS6 2023年11月13日 27 0


CoDeSys系列-3、Windows运行时软PLC主站和p-net从站IO设备组网测试


文章目录

  • CoDeSys系列-3、Windows运行时软PLC主站和p-net从站IO设备组网测试
  • 一、前言
  • 二、Windows运行时软plc配置编程
  • 1、安装Windows下的运行时扩展包(非必要)
  • 2、创建项目
  • 2.1、创建标准工程
  • 2.2、添加RTE设备或非RTE设备
  • 2.3、激活设备
  • 2.4、回声测试
  • 2.5、安装p-net类型Profinet设备
  • 2.6、配置添加Profinet主站网络
  • 3、PLC编程
  • 4、烧录程序并测试
  • 三、注意事项


一、前言

前面CODESY下载安装并熟悉了,p-net搭建从站也已经跑在虚拟机树莓派上了,我们只需要快速搭建一个profinet主站来和从站进行交互即可,这里我们直接用Windows下带的软PLC搭建profinet主站并和p-net的demo从站程序进行IO交互。
评估是否进行Windows下的运行时PLC前先看一下注意事项,Windows下安装配置会需要修改boot及防火墙等,可能会影响Windows电脑的正常使用,所以创建项目时的设备可以选择非RTE的。

二、Windows运行时软plc配置编程

1、安装Windows下的运行时扩展包(非必要)

下载安装Windows运行时:
http://store.codesys.cn/codesys/store/detail.html?productId=58CoDeSys系列-3、Windows运行时软PLC主站和p-net从站IO设备组网测试_profinet

导入下载好的运行时安装包:

CoDeSys系列-3、Windows运行时软PLC主站和p-net从站IO设备组网测试_工业互联网_02

然后按照提示安装对应扩展包即可。

之后安装CODESYS Control RTE并重启电脑,之后启动对应的RTE的PLC即可:

CoDeSys系列-3、Windows运行时软PLC主站和p-net从站IO设备组网测试_profinet_03


CoDeSys系列-3、Windows运行时软PLC主站和p-net从站IO设备组网测试_profinet_04

打开防火墙,否则网关搜不到:

CoDeSys系列-3、Windows运行时软PLC主站和p-net从站IO设备组网测试_工业互联网_05

管理员权限安装,不要安装到C盘:

CoDeSys系列-3、Windows运行时软PLC主站和p-net从站IO设备组网测试_自动化_06


CoDeSys系列-3、Windows运行时软PLC主站和p-net从站IO设备组网测试_自动化_07

2、创建项目

2.1、创建标准工程

标准工程,RTE设备(运行时环境),控制设备(主站控制器):

CoDeSys系列-3、Windows运行时软PLC主站和p-net从站IO设备组网测试_PLC_08

或者选择非RTE的控制器设备:

CoDeSys系列-3、Windows运行时软PLC主站和p-net从站IO设备组网测试_工业互联网_09

2.2、添加RTE设备或非RTE设备

添加设备(只有安装了对应的RTE扩展包才能找到添加如下对应类型的设备):

CoDeSys系列-3、Windows运行时软PLC主站和p-net从站IO设备组网测试_自动化_10

非RTE设备搜索添加:

CoDeSys系列-3、Windows运行时软PLC主站和p-net从站IO设备组网测试_profinet_11

2.3、激活设备

如下以非RTE设备为例:

设备激活成功(需要输入Windows的用户名密码):

CoDeSys系列-3、Windows运行时软PLC主站和p-net从站IO设备组网测试_工业互联网_12

2.4、回声测试

发送回声服务:

CoDeSys系列-3、Windows运行时软PLC主站和p-net从站IO设备组网测试_windows_13


CoDeSys系列-3、Windows运行时软PLC主站和p-net从站IO设备组网测试_工业互联网_14

2.5、安装p-net类型Profinet设备

下载对应GSDML文件:github.com/rtlabs-com/p-net/blob/master/samples/pn_dev/GSDML-V2.4-RT-Labs-P-Net-Sample-App-20220324.xml

安装GSDML文件:

CoDeSys系列-3、Windows运行时软PLC主站和p-net从站IO设备组网测试_PLC_15


CoDeSys系列-3、Windows运行时软PLC主站和p-net从站IO设备组网测试_windows_16


CoDeSys系列-3、Windows运行时软PLC主站和p-net从站IO设备组网测试_工业互联网_17

安装成功:

CoDeSys系列-3、Windows运行时软PLC主站和p-net从站IO设备组网测试_windows_18

2.6、配置添加Profinet主站网络

● 在左侧面板的 Device(CODESYS Ccontrol RTE V3 x64)上,右键单击并选择添加设备。使用 以太网适配器、 以太网。

CoDeSys系列-3、Windows运行时软PLC主站和p-net从站IO设备组网测试_windows_19

● 在 以太网上,右键单击并选择 添加设备。使用 Profinet IO主站、 PN-控制器。

CoDeSys系列-3、Windows运行时软PLC主站和p-net从站IO设备组网测试_PLC_20

● 在 PN_Controller上,右键单击并选择 添加设备。使用 P-Net 示例应用程序。

CoDeSys系列-3、Windows运行时软PLC主站和p-net从站IO设备组网测试_自动化_21

● 在 P_Net_Sample_App上,右键单击并选择 添加设备。使用 DIO 8xLogicLevel。

CoDeSys系列-3、Windows运行时软PLC主站和p-net从站IO设备组网测试_PLC_22

● 双击 左侧菜单中的以太网节点。选择接口“eth0”。IP 地址将相应更新。

CoDeSys系列-3、Windows运行时软PLC主站和p-net从站IO设备组网测试_自动化_23

● 双击 左侧菜单中的PN_controller节点。使用“第一个 IP” 和 “最后一个 IP”调整 IP 范围, 使其都具有 IO 设备的现有 IP 地址(例如运行 example_app 的 Linux 笔记本电脑或嵌入式 Linux 板)。在本教程中,我们使用 First IP 172.16.1.174 和 Last IP 172.16.1.174。

CoDeSys系列-3、Windows运行时软PLC主站和p-net从站IO设备组网测试_PLC_24

● 双击 左侧菜单中的P_Net_Sample_App节点。将 IP 地址设置为 IO 设备的现有地址。在本教程中我们使用 172.16.1.174.

CoDeSys系列-3、Windows运行时软PLC主站和p-net从站IO设备组网测试_PLC_25

3、PLC编程

● 单击左侧面板中的 PLC 逻辑 ‣ Applicaiton ‣ PLC_PRG并输入程序。
在控制器应用程序中,根据教程,使用ST语言编程,变量部分和程序部分的代码都给了,这里我们添加进去即可:

PROGRAM PLC_PRG
VAR
    in_pin_button_LED: BOOL;
    out_pin_LED: BOOL;
    in_pin_button_LED_previous: BOOL;
    flashing: BOOL := TRUE;
    oscillator_state: BOOL := FALSE;
    oscillator_cycles: UINT := 0;
END_VAR
oscillator_cycles := oscillator_cycles + 1;
IF oscillator_cycles > 200 THEN oscillator_cycles := 0;
oscillator_state := NOT oscillator_state;
END_IF IF in_pin_button_LED = TRUE THEN IF in_pin_button_LED_previous = FALSE THEN flashing := NOT flashing;
END_IF out_pin_LED := TRUE;
ELSIF flashing = TRUE THEN out_pin_LED := oscillator_state;
ELSE out_pin_LED := FALSE;
END_IF in_pin_button_LED_previous := in_pin_button_LED;

CoDeSys系列-3、Windows运行时软PLC主站和p-net从站IO设备组网测试_windows_26

● 在左侧菜单中的 DIO_8xLogicLevel节点上 ,右键单击并选择“编辑 IO 映射”。

CoDeSys系列-3、Windows运行时软PLC主站和p-net从站IO设备组网测试_PLC_27

● 单击小 +号打开 “Input 8 bits”行 。

CoDeSys系列-3、Windows运行时软PLC主站和p-net从站IO设备组网测试_工业互联网_28

● 双击您想要编辑的行上的图标。

● 将“Input Bit 7”映射到“in_pin_button_LED”(通过Application/PLC_PRG找到),将“Output Bit 7”映射到“out_pin_LED”。

或者双击在这里编辑也可以:

CoDeSys系列-3、Windows运行时软PLC主站和p-net从站IO设备组网测试_profinet_29

● 在 Application ‣ MainTask 中选择 Cyclic with 4 ms。

CoDeSys系列-3、Windows运行时软PLC主站和p-net从站IO设备组网测试_profinet_30

● 在 Application ‣ Profinet_CommunicationTask 中选择 10 ms 的循环。使用优先级 14。

CoDeSys系列-3、Windows运行时软PLC主站和p-net从站IO设备组网测试_工业互联网_31

4、烧录程序并测试

● 在顶部菜单中,使用 Build ‣ 生成代码。

CoDeSys系列-3、Windows运行时软PLC主站和p-net从站IO设备组网测试_profinet_32

● 使用顶部菜单 Online ‣ Login 将应用程序传输到 Raspberry Pi。 在弹出窗口中按 “是” 。(Windows下的PLC不需要,Ubuntu和树莓派的都需要ssh去登录设备,这个后面的实例我么会再按照流程执行)

● 在顶部菜单中,使用 Debug ‣ Start 您可以使用顶部菜单 Tools ‣ “Update Raspberry Pi”来跟踪控制器日志。单击 “系统信息” 按钮,然后查看 “运行时信息” 文本框。如果在网络上找不到 IO 设备,它将显示错误消息。使用 Wireshark 验证控制器是否每 5 秒发送一次LLDP 数据包。每 15 秒,它会发送一个 ARP 数据包来询问(第一个?)IO 设备 IP 地址,并发送一个 PN-DCP 数据包来询问名为“rt-labs-dev”的 IO 设备。

实际我这里需要登录->运行:

CoDeSys系列-3、Windows运行时软PLC主站和p-net从站IO设备组网测试_profinet_33

wireshark抓包(参考这里:https://rt-labs.com/docs/p-net/how-to-guides/capturing-and-analyzing-ethernet-packets/,后面也会单独出一节怎么抓包分析profinet的总结):

CoDeSys系列-3、Windows运行时软PLC主站和p-net从站IO设备组网测试_profinet_34

可以看到我这里是没有找到对应的IO设备,这里不去具体分析原因了,我们后面会再去深究这里,期待一下吧。
● 配置完在 Raspberry Pi 上运行的 Codesys softplc 后,您可以关闭用于配置它的个人计算机(运行 Codesys 桌面应用程序)。请记住,您需要每两个小时重新启动运行 Softplc 的 Raspberry Pi,如果使用试用版。
Codesys 故障排除 —————- ——- 如果您收到错误,声称缺少库,请单击左侧面板中的 PLC 逻辑 ‣ 应用程序 ‣ 库管理。Codesys 应该自动检测是否有任何缺失的库。单击 “库管理器”选项卡 下的 “下载缺少的库” 以下载任何缺少的库。(这里也是上一节提到的第一次运行会缺少库,需要挂tz下载解决)

三、注意事项

由于CODESYS Control RTE V3会配置boot以及防火墙(如果安装过程中不同意配置boot的话会导致搜不到RTE设备),所以会影响正常的Windows使用,所以这里我们使用非RTE的CODESYS Control创建软PLC作为主站,虽然由于没有达到实时性导致IO通信超时(这个在日志上到时候会具体再分析查看),但是基础的profinet交互过程可以做大致的查看分析了。


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月13日 0

暂无评论

推荐阅读
FUPjNpIMLXS6