工业自动化控制通信协议Profinet系列-2、编译p-net在虚拟机树莓派上运行示例

工业自动化控制通信协议Profinet系列-2、编译p-net在虚拟机树莓派上运行示例

一、前言

之前已经对Profinet做了一些基础的了解,接下来进行简单的Profinet组网,并利用开源库p-net的示例程序和plc基于profinet网络进行交互,以此抓包分析整个profinet协议交互过程,便于我们进一步开发基于profinet协议的应用。

二、树莓派虚拟机编译安装测试

1、树莓派desktop下载及虚拟机安装

树莓派desktop:https://www.raspberrypi.com/software/raspberry-pi-desktop/
下载树莓派:https://downloads.raspberrypi.org/rpd_x86/images/
文档:https://www.raspberrypi.com/documentation/
Windows和MacOS的PC机都可以通过虚拟机安装该DeskTop,对于学习树莓派很有帮助,还有一些对应的文档资料。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
之后的设置一下硬件配置进入安装界面选择图形界面安装后步骤基本上就是常规的安装虚拟机的步骤,没有特殊要求则使用默认的选项一路向下即可,这里不再细说,安装成功并安装vm tools后如下:
在这里插入图片描述

2、下载编译安装p-net及运行demo程序

按照教程 的中流程进行下载安装即可,注意使用pi用户去执行即可(注意:安装源也最好先不要换到国内源,我更换之后出了一堆问题,好在是虚拟机可以重装,否则设备板子刷系统还是 挺浪费时间的):

sudo apt update
sudo apt install snapd
sudo snap install cmake --classic
sudo reboot

cmake --version

sudo apt install git
mkdir /home/pi/profinet/
cd /home/pi/profinet/
git clone --recurse-submodules https://github.com/rtlabs-com/p-net.git
#可能耗时较长,可以增加一下内存
cmake -B build -S p-net
cmake --build build --target install

运行测试(虚拟机可以直接设置桥接模式,就不需要再单独修改网卡地址了):

sudo ./pn_dev -v

会需要root权限去读取eth0网卡的网络信息:
在这里插入图片描述

三、p-net缺陷与接下来的测试

根据这里的描述:https://zhuanlan.zhihu.com/p/181332329
Profinet IO设备基本分为三类:Device(从站)、Controller(主站)与Supervisor(监视器),结合p-net的GitHub描述,p-net可以用于实现Device也就是Profinet从站IO设备,主要的动能就是读写IO数据(可以用于开发:远程IO、伺服驱动器、变频器等现场设备)。更详细一些的profinet IO系统的说明可以看这里:https://www.founderchip.com/?id=354
如下是机翻的,有一些不太理解,但是大致的意思能看明白,缺陷和特征都是比较明显的。

1、p-net特征

● 多个以太网端口配置(目前仅适用于 Linux)
● TCP/IP协议支持
● LLDP协议支持
● SNMP协议支持
● RT(实时)支持
● 地址解析支持
● 参数化支持
● 处理IO数据交换支持
● 报警处理支持
● 可配置的模块和子模块数量
● 裸机或操作系统支持
● 提供移植层
● 支持 I&M0 - I&M4。设备支持 I&M 数据,但单个模块不支持。
● 共享设备(支持连接多个控制器)

2、p-net局限性

● 这是一个Device(从站)堆栈,这意味着不支持 IO 控制器/主站/PLC 端。
● 无介质冗余(无 MRP 支持)
● 传统启动模式未完全实现
● 不支持 RT_CLASS_UDP
● 不支持 DHCP
● 没有快速启动
● 无 MC 组播设备到设备
● 不支持共享输入
● 仅支持完整连接,不支持有限的“DeviceAccess”连接类型。
● 不支持 iPar(参数服务器)
● 不支持时间同步
● 报警时无 UDP 帧(仅实现默认报警机制)
● 没有 ProfiDrive 或 ProfiSafe 配置文件。
PROFINET主从站间使用应用关系(Application Relation,AR)描述它们之间的通信关系(Communication Relation,CR);而CR又可分为3种:记录数据CR、IO数据CR、警报CR;3种CR标识了主站与从站之间的数据传输类型,并分别标识了其传输的以太网通道类型,如下图所示:
在这里插入图片描述

3、接下来

根据上面的进一步了解,我们可以确认利用p-net开源堆栈可以开发的应用只能作为从站开发三类CR数据和控制器进行交互,因此,我们接下来利用codesys软PLC作为主站和该从站交互进一步分析下对应的交互过程,再做进一步的打算。

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 22
    评论
P-NET 是一种用于实现 Profinet 的技术。Profinet 是一种基于以太网的工业自动化通信协议,它提供实时数据交换和通信能力,适用于工业领域的控制和监控应用。 P-NET 是一种在 Profinet 中使用的物理层技术。它基于标准以太网物理层,但通过添加专用硬件和软件以满足工业环境中的高可靠性和实时性需求。P-NET 可以在常见的以太网硬件平台上实现,如以太网交换机和网络接口卡。 P-NET 提供了数据通信的可靠性和实时性,以满足工业自动化系统的需求。它使用了自适应时隙访问机制,将通信带宽分成固定大小的时隙,确保数据在预定时间间隔内交换。这种机制可以防止数据冲突和延迟。 在 P-NET 中,每个网络节点都有一个唯一的地址,可以通过该地址进行数据交换。节点之间的通信是通过发送和接收消息实现的。消息可以是实时数据、控制指令或者其他类型的信息。P-NET 还支持多播和广播通信,以满足不同的应用需求。 P-NET 还提供了网络管理功能,可以配置和监视网络中的节点和通信连接。用户可以通过网络管理工具对节点进行参数设置、故障诊断和性能监测。 总之,P-NET 是一种用于实现 Profinet 的技术,通过添加专用硬件和软件来满足工业环境的需求。它提供了可靠的数据通信、实时性和网络管理功能,适用于工业自动化系统中的控制和监控应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

昵称系统有问题

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值