登峰造极境

  • WIN
    • CSharp
    • JAVA
    • OAM
    • DirectX
    • Emgucv
  • UNIX
    • FFmpeg
    • QT
    • Python
    • Opencv
    • Openwrt
    • Twisted
    • Design Patterns
    • Mysql
    • Mycat
    • MariaDB
    • Make
    • OAM
    • Supervisor
    • Nginx
    • KVM
    • Docker
    • OpenStack
  • WEB
    • ASP
    • Node.js
    • PHP
    • Directadmin
    • Openssl
    • Regex
  • APP
    • Android
  • AI
    • Algorithm
    • Deep Learning
    • Machine Learning
  • IOT
    • Device
    • MSP430
  • DIY
    • Algorithm
    • Design Patterns
    • MATH
    • X98 AIR 3G
    • Tucao
    • fun
  • LIFE
    • 美食
    • 关于我
  • LINKS
  • ME
Claves
长风破浪会有时,直挂云帆济沧海
  1. 首页
  2. Platforms
  3. IOT
  4. IIOT
  5. 正文

Profinet协议的远程IO使用测试

2025-07-02

https://www.bilibili.com/video/BV123411A7g4

快速建立Profinet主站、从站开发测试环境 - 知乎

profinet实现方案整理_profinet协议栈-CSDN博客

一、协议介绍

Profinet 是 PI 推出用于自动化的、开放的工业以太网标准。Profinet 使用 TCP/IP 和 IT
标准,是一种实时以太网,既支持标准的 TCP/IP,又提供标准以太网不能实现的时间确
定性。

PROFINET=PROFIbus+etherNET,把Profibus的主从结构移植到以太网上,所以profinet会有Controller和Device,他们的关系可以简单的对应于profibus的Master和Slave。

另外由于profinet是基于以太网的,所以可以有以太网的星型、树形、总线型等拓扑结构,而profibus只有总线型。所以profinet就是把profibus的主从结构和ethernet的拓扑结构相结合的产物。

支持模式

根据响应时间的不同,PROFINET支持下列三种通讯方式。

  • TCP/IP标准通讯:PROFINET基于工业以太网技术,使用TCP/IP和IT标准。TCP/IP 是IT 领域关于通信协议方面事实上的标准,尽管其响应时间大概在100 ms的量级,不过,对于工厂控制级的应用来说,这个响应时间就足够了。
  • 实时(RT)通讯:对于传感器和执行器设备之间的数据交换,系统对响应时间的要求更为严格,大概需要5-10ms的响应时间。目前,可以使用现场总线技术达到这个响应时间,如PROFIBUS DP。对于基于TCP/IP的工业以太网技术来说,使用标准通信栈来处理过程数据包,需要很可观的时间,因此,PROFINET提供了一个优化的、基于以太网第二层(Layer 2)的实时通讯通道,通过该实时通道,极大地减少了数据在通讯栈中的处理时间,因此,PROFINET获得了等同、甚至超过传统现场总线系统的实时性能。
  • 同步实时(IRT)通讯:在现场级通讯中,对通讯实时性要求最高的是运动控制(Motion Control),PROFINET的同步实时(Isochronous Real-Time, IRT)技术可以满足运动控制的高速通讯需求,在100个节点下,其响应时间要小于1ms,抖动误差要小于1μs,以此来保证及时的、确定的响应。

报文分析

注意事项

Profinet使用注意事项
1.Profinet的数据传输带宽是100MBps

2.设备之间的总线长度为100m(超过100m需要设备进行中继,路由器 profinetio 都可以)

3.数据传输方式为全双工,没有终端电阻

4.一致性数据最大为254bytes

5.对于上位计算机可以使用标准以太网卡,不需要专用适配器

6.对于profinet诊断可以使用it工具

7.使用IP地址和设备名称区分,在组态时都要设置,否则无法成功组态。

8.对于IRT应用,必须要使用支持IRT的专用交换机。

二、模块使用

修改IP

使用Profinet Tools都可以实现设备扫描和IP修改。

Profinet Tools 下载:https://cloud.tsinghua.edu.cn/f/46863f7f03d84a6483c2/?dl=1

艾莫迅修改IP专用工具下载:https://oss.amsamotion.com/uploads/20250519_173924_.rar

远程请求

三、协议开发

  1. Profinet从站通信流程详细解释
    3.1 初始化流程
    系统启动: 硬件和底层驱动准备就绪。
    初始化以太网驱动:
    设置PHY工作模式(如全双工、100 Mbps)。
    启用MAC驱动并配置回调函数。
    初始化Profinet协议栈:
    注册协议解析模块。
    配置数据输入输出缓冲区。
    3.2 连接建立
    主站发送连接请求,从站通过以太网接收并解析Profinet连接请求报文。
    从站反馈连接确认报文,完成连接建立。
    3.3 数据交互
    报文解析: 检查Profinet协议头部标识符,提取实时数据。
    数据处理: 根据主站下发的指令,处理输入数据并生成对应的输出数据。
    发送响应: 打包处理后的数据,返回给主站。
    3.4 状态管理
    维护连接状态,包括RUNNING和IDLE状态切换。
    检测并响应主站发送的Keep-Alive信号。
  2. 核心功能模块
    4.1 Profinet数据报文结构

  3. CRC校验 4 验证数据完整性

4.2 数据解析逻辑
帧头: 检查MAC地址是否匹配。
帧ID: 根据帧ID确定报文类型(如连接请求、实时数据)。
数据区: 提取具体的输入输出数据。
4.3 状态管理
定期检查主站的Keep-Alive信号,若超时则断开连接。
根据主站下发的命令切换状态(IDLE ↔ RUNNING)。

.Profinet IRT(同步通信)的支持
Profinet IRT(Isochronous Real-Time)是一种严格同步的通信方式,能够保证报文传输的实时性和低延迟,适用于高精度同步控制场景。为支持IRT,需实现以下功能:
精确时间同步:通过PTP(精确时间协议)实现主站与从站之间的时钟同步。
报文优先级调度:确保实时报文优先传输。
实时数据处理:在规定的时间窗口内完成数据采集、处理和发送。

流程详细说明
接收以太网帧:
使用以太网MAC接收硬件进行帧捕获。
检查是否为Profinet报文。
识别报文类型:
判断报文是否为IRT类型。
若非IRT,则根据类型进行其他处理(如RT或普通以太网报文)。
时间同步:
提取IRT报文中的PTP时间戳。
调整本地时钟,确保与主站时间同步。
数据处理:
提取输入数据,并根据业务逻辑生成输出数据。
时间窗口控制:
检查当前时钟是否在允许的时间窗口内。
若在时间串口内,则发送响应报文
若在时间串口外,则丢弃对应报文

标签: 暂无
最后更新:2025-07-02

代号山岳

知之为知之 不知为不知

点赞
< 上一篇

COPYRIGHT © 2099 登峰造极境. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

蜀ICP备14031139号-5

川公网安备51012202000587号