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

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

时间:2023-10-29 16:37:51浏览次数:43  
标签:RTE LED Windows 主站 时软 PLC IO 设备


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设备组网测试_windows

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

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

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

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

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


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

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

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

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

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


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

2、创建项目

2.1、创建标准工程

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

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

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

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

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

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

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

非RTE设备搜索添加:

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

2.3、激活设备

如下以非RTE设备为例:

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

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

2.4、回声测试

发送回声服务:

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


CoDeSys系列-3、Windows运行时软PLC主站和p-net从站IO设备组网测试_windows_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设备组网测试_profinet_16


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

安装成功:

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

2.6、配置添加Profinet主站网络

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

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

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

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

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

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

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

CoDeSys系列-3、Windows运行时软PLC主站和p-net从站IO设备组网测试_自动化_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设备组网测试_工业互联网_24

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

CoDeSys系列-3、Windows运行时软PLC主站和p-net从站IO设备组网测试_自动化_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设备组网测试_自动化_26

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

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

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

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

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

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

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

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

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

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

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

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

4、烧录程序并测试

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

CoDeSys系列-3、Windows运行时软PLC主站和p-net从站IO设备组网测试_工业互联网_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设备组网测试_PLC_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设备组网测试_windows_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交互过程可以做大致的查看分析了。


标签:RTE,LED,Windows,主站,时软,PLC,IO,设备
From: https://blog.51cto.com/xiaoyaoyou10/8080497

相关文章

  • windows安装redis
    下载链接:https://pan.baidu.com/s/1x8TrhU8flw-K7TtdBuGvZQ?pwd=e3o9提取码:e3o9安装双击打开安装文件Redis-x64-3.2.100.msiredis安装好后便会自动启动服务,且默认是自启动的(每次开机都会启动)测试redis运行是否正常在桌面搜索cmd打开命令提示符,执行命令redis-cli提示符变成......
  • windows的powershell中apt命令的替换命令
    WindowsPackageManager(winget):winget是微软推出的包管理工具,可以在Windows10及更高版本上使用。你可以使用winget来搜索、安装、更新和卸载应用程序。例如,要安装一个应用程序,你可以运行:wingetinstall应用程序名称实测:所以,如果你在Windows上需要安装、更新或卸载软件......
  • AMD Ryzen AI 暂仅支持 Windows,Linux 系统有望后续支持
    近日消息,最新的AMDRyzen7040系列笔记本电脑配备了基于XilinxIP的专用AI引擎,名为“RyzenAI”,可以加速PyTorch和TensorFlow等机器学习框架的运行。不过目前这个RyzenAI只支持微软Windows系统。但是如果有足够的客户需求,这种情况可能会改变。早在6月份,AM......
  • windows 10卸载(注销)WSL,注销(卸载)当前安装的Linux的Windows子系统
    1.查看当前环境安装的wslwsl--list2.注销/卸载当前安装的linux的Windows子系统wsl--unregisterdebian3.卸载成功后,查看当前看装的子系统wsl--list4.查看可安装的linux的windows子系统wsl--list--online ......
  • 在Windows下,可以使用以下步骤来捕获程序崩溃的堆栈信息
    在Windows下,Qt程序崩溃时,可以通过以下步骤捕获堆栈信息:定义一个全局的异常处理函数,在该函数中获取并保存堆栈信息。可以使用WindowsAPI函数SetUnhandledExceptionFilter来注册这个函数。LONGWINAPIUnhandledExceptionFilter(struct_EXCEPTION_POINTERS*ExceptionInfo){//在这......
  • Windows与UOS虚拟机实现互相复制粘贴文本及文件
    往期文章:麒麟KYLINOS2303版本上使用KDE桌面共享软件hello,大家好啊,今天给大家带来一篇在VMwareworkstation17Pro上安装UOS虚拟机后实现互相复制粘贴文本及文件的文章,主要通过open-vm-tools-desktop软件实现,当我们安装完UOS1060虚拟机后,想要复制里面的内容到Windows上的时候,会发......
  • Win10 ssh客户端 scp 传输linux文件到windows 端
    1Window10安装openssh服务2启动windowssshd服务netstartsshd3scplinux向windows传输文件Win10中打开powershell,登录ssh把linux下的shell01.sh传到window10的桌面上scpshell01.shadmin@192.168.0.108:/C:/Users/admin/Desktop......
  • 【nodejs】Windows环境 ffmpeg添加水印
    一、Windows下面获取到的字体路径需要做处理,否则无法执行路径中:改为\:路径中:\改为/不要使用中文的名称 原路径:D:\Users\670493228\Desktop\public\font\default.ttf  使用水印命令(-logleveldebug可以看到执行日志,方便定位问题)ffmpeg-i1.mp4-vf"draw......
  • 利用windows自带的winsat工具获得硬盘顺序读写速度
    源代码如下:packagetest;importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStream;importjava.io.InputStreamReader;importjava.nio.charset.StandardCharsets;importjava.util.regex.Matcher;importjava.util.regex.Pattern;public......
  • Windows编译PDF库:libharu
    libharu编译需要libpng,libpng依赖zlib,所以需要下载这三个库libharu下载:http://libharu.org/libpng下载:http://www.libpng.org/pub/png/libpng.htmlzlib下载:https://www.zlib.net/ *:libpng我下载的版本是V1.6.40,对应的zlib版本需要在V1.0.4以上,我用的zlibV1.3参考链接:ht......