Profinet 的交互流程

启动过程

  在启动Profinet IO设备时(在设置IP地址之前)使用DCP协议。该协议类似于DHCP协议。

  1. PLC发送DCP广播消息(Identify),子网上的所有IO设备都使用本身的MAC地址进行应答。PLC 向具有特定 MAC 地址的 IO 设备发送 DCP 消息,其中包含 IO 设备应使用的 IP 地址和站名。IO 设备相应地设置其 IP 地址和站名;
  2. PLC 使用在 UDP over IP 上运行的 DCE/RPC 协议启动 IO 设备的实际配置;
  3. 配置完成后,IO 设备和 PLC 之间不断交换循环数据。此通信在以太网第 2 层上运行,即 MAC 地址用于路由帧(这些帧中不使用 IP 协议)。

识别 Identify(请求)

  Identify主要是用来扫描网络中的PN设备,所以该帧只需要源MAC地址就可以了,目标地址一般为广播MAC,所有接收到该帧的设备包括控制器都进行应答,就可以知到网络中的设备信息,为后续建立连接做准备。
  Identify有两种,一种是带过滤器的帧,毕竟多了过滤的功能,所以结构会更复杂,这里以不带过滤器的帧展开,即向所有的设备发送广播。

以太网链路层帧结构:

表6 链路层帧结构

FrameControl DST SDR BSSID@ Seq@ QOS@ LT FrameID DCPDU Pad CRC

@为可选

Identi-ALL DCPDU结构:

表7 DCP-Identi-ALL结构

ServiceID ServiceType Xid Response DelayFactor DCPData Length AllSelector Type DCPBlocklength

PLC发送DCP的广播帧:
01 0e cf 00 00 00 5e e3 4b b1 20 d7 88 92 fe fe
05 00 0f 01 00 11 00 80 00 04 ff ff 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00

识别 Identify(应答)

扫描所有的设备,设备会应答所有的数据,包括IP,设备名称,厂家信息,mac地址,设备别名等。具体可以参考国标。

IO 设备应答帧:

HEX数据
0000 5e e3 4b b1 20 d7 18 77 5e 95 fa 1f 88 92 fe ff
0010 05 01 0f 01 00 11 00 00 00 76 01 02 00 0e 00 01
0020 c0 a8 03 7b ff ff ff 00 c0 a8 03 01 02 01 00 1a
0030 00 00 50 2d 4e 65 74 20 53 61 6d 70 6c 65 20 41
0040 70 70 6c 69 63 61 74 69 6f 6e 02 02 00 0d 00 00
0050 72 74 2d 6c 61 62 73 2d 64 65 76 00 02 03 00 06
0060 00 00 fe ed be ef 02 04 00 04 00 00 01 01 02 05
0070 00 1e 00 00 01 02 01 01 02 01 02 02 02 03 02 04
0080 02 05 02 06 05 01 05 02 05 03 05 05 05 06 ff ff




Profinet 的交互流程相关推荐

  1. 深入浅出 Redis client/server交互流程

    2019独角兽企业重金招聘Python工程师标准>>> 最近笔者阅读并研究redis源码,在redis客户端与服务器端交互这个内容点上,需要参考网上一些文章,但是遗憾的是发现大部分文 ...

  2. Redis源码剖析(一)服务器与客户端交互流程

    Redis中的C/S模型 Redis底层还是基于网络请求的,对于单机数据库而言,网络请求仅仅是在一台机器上交互,即服务器客户端都在一台计算机上 当在终端输入redis-serve时,便启动了一个Red ...

  3. bing背单词交互流程 - Chongyang Bai

    昨天和travis,钟秋开会确认了bing背单词的手机界面交互流程.我在这里简单描述一下,设计页面暂时不能贴出来,期待大家的宝贵意见 b( ̄▽ ̄)d. 单词本浏览界面:单词本被分为两类,用户单词本和单 ...

  4. Chrome 插件开发与本地程序交互流程

    Chrome 插件开发与本地程序交互流程 一. 将本地程序写入注册表 可以采用bat的方式写入注册表 REG ADD "HKCU\Software\Google\Chrome\NativeM ...

  5. Rtsp之信令交互流程

    Rtsp协议包含两块,第一部分是信令交互,这一部分建立在tcp协议的基础之上,另一部分是流媒体数据,rtp传输,既可以建立在tcp协议基础之上,也可以建立在udp协议的基础之上. 本章主要讲解一下rt ...

  6. [JavaScript][AJAX] 前后端交互流程,ajax工作流程

    目录 前后端交互流程 1.了解服务器 : 提供服务器的机器(计算机) 2.前端 访问服务器的几种方式 3.ajax技术 : 页面不跳转的情况下,向服务器请求数据 4.前后端交互三个流程 ajax工作流 ...

  7. 拉流与推流的区别_RTSP协议交互流程之推流分析

    0.引言 为了更好理解本篇文章,可以先阅读前面几篇文章,文章列表如下: RTSP协议交互流程之拉流分析 详解RTP打包AAC实战分析(1) 详解RTP协议之H264封包和解包实战 详解RTP协议之H2 ...

  8. 客户端与服务器信息交互的流程,客户端与服务器的交互流程

    客户端与服务器的交互流程 内容精选 换一换 ecFlow是一个工作流管理器,使用户可以在受控环境中运行大量程序,彼此之间以及时间上相互依赖.它提供了对硬件和软件故障的容忍度,并具有良好的重启功能.ec ...

  9. SSL/TLS协议交互流程分析

    本文参考 SSL/TLS协议运行机制的概述 tls运行机制,这里不细说,建议细看 HTTPS与TLS The Transport Layer Security (TLS) Protocol v1.2 ...

最新文章

  1. token验证_Swagger中添加Token验证
  2. QT5 中文乱码问题
  3. linux修改open files:ulimit、file-max
  4. 反思自己钻牛角尖:间隔反思思维方法 时时刻刻反馈目标
  5. SqlHelper 数据库操作类
  6. 17-9--18:了解Linux的命令格式,今天复习的已知命令和新命令
  7. 如何通过使用 64 位版本 Windows 查看系统注册表 WOW6432Node
  8. 微信公众号盈利模式_微信公众号的盈利模式有哪些?四种模式分享
  9. IEEE 1588-2002 Precision Time Protocol(PTP)
  10. 【论文笔记】Evolving Deep Neural Networks.
  11. openssl ca文档翻译
  12. 项目管理:如何提高团队效率
  13. DEJA_VU3D - Cesium功能集 之 050-纯前端空间体体积计算
  14. 让硬盘灯不再狂闪,调整Win7系统绝技(转)
  15. VB.NET 父窗口内子窗口运用
  16. 2018-09-13 代码翻译尝试-使用Roaster解析和生成Java源码
  17. python定时更换mac 超美桌面背景
  18. kubeadm部署k8s
  19. 腾讯旗下的微信这个新功能,突然被举报了,这次鹅又抄袭了?
  20. 论文学习记录:PROGRESSIVE GROWING OF GANS

热门文章

  1. 调研-笔记-基于生成对抗网络的恶意域名训练数据生成
  2. coco2d-x游戏开发google play Google In-app-Billing 支付接入
  3. 基于CommonsCollections4的Gadget分析
  4. win7 ultimate是什么版本?
  5. IOS端向下滑动骤停
  6. Ubuntu 16.04 LTS + CUDA 8.0 + GTX960M
  7. netty channelRead0 永远不执行
  8. 什么叫死区时间_死区时间控制
  9. Effie:陪你守候那些观影岁月
  10. dnn分类鸢尾花 pytorch_从实例掌握 pytorch 进行图像分类