Profinet 的交互流程
Profinet 的交互流程
启动过程
在启动Profinet IO设备时(在设置IP地址之前)使用DCP协议。该协议类似于DHCP协议。
- PLC发送DCP广播消息(Identify),子网上的所有IO设备都使用本身的MAC地址进行应答。PLC 向具有特定 MAC 地址的 IO 设备发送 DCP 消息,其中包含 IO 设备应使用的 IP 地址和站名。IO 设备相应地设置其 IP 地址和站名;
- PLC 使用在 UDP over IP 上运行的 DCE/RPC 协议启动 IO 设备的实际配置;
- 配置完成后,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 的交互流程相关推荐
- 深入浅出 Redis client/server交互流程
2019独角兽企业重金招聘Python工程师标准>>> 最近笔者阅读并研究redis源码,在redis客户端与服务器端交互这个内容点上,需要参考网上一些文章,但是遗憾的是发现大部分文 ...
- Redis源码剖析(一)服务器与客户端交互流程
Redis中的C/S模型 Redis底层还是基于网络请求的,对于单机数据库而言,网络请求仅仅是在一台机器上交互,即服务器客户端都在一台计算机上 当在终端输入redis-serve时,便启动了一个Red ...
- bing背单词交互流程 - Chongyang Bai
昨天和travis,钟秋开会确认了bing背单词的手机界面交互流程.我在这里简单描述一下,设计页面暂时不能贴出来,期待大家的宝贵意见 b( ̄▽ ̄)d. 单词本浏览界面:单词本被分为两类,用户单词本和单 ...
- Chrome 插件开发与本地程序交互流程
Chrome 插件开发与本地程序交互流程 一. 将本地程序写入注册表 可以采用bat的方式写入注册表 REG ADD "HKCU\Software\Google\Chrome\NativeM ...
- Rtsp之信令交互流程
Rtsp协议包含两块,第一部分是信令交互,这一部分建立在tcp协议的基础之上,另一部分是流媒体数据,rtp传输,既可以建立在tcp协议基础之上,也可以建立在udp协议的基础之上. 本章主要讲解一下rt ...
- [JavaScript][AJAX] 前后端交互流程,ajax工作流程
目录 前后端交互流程 1.了解服务器 : 提供服务器的机器(计算机) 2.前端 访问服务器的几种方式 3.ajax技术 : 页面不跳转的情况下,向服务器请求数据 4.前后端交互三个流程 ajax工作流 ...
- 拉流与推流的区别_RTSP协议交互流程之推流分析
0.引言 为了更好理解本篇文章,可以先阅读前面几篇文章,文章列表如下: RTSP协议交互流程之拉流分析 详解RTP打包AAC实战分析(1) 详解RTP协议之H264封包和解包实战 详解RTP协议之H2 ...
- 客户端与服务器信息交互的流程,客户端与服务器的交互流程
客户端与服务器的交互流程 内容精选 换一换 ecFlow是一个工作流管理器,使用户可以在受控环境中运行大量程序,彼此之间以及时间上相互依赖.它提供了对硬件和软件故障的容忍度,并具有良好的重启功能.ec ...
- SSL/TLS协议交互流程分析
本文参考 SSL/TLS协议运行机制的概述 tls运行机制,这里不细说,建议细看 HTTPS与TLS The Transport Layer Security (TLS) Protocol v1.2 ...
最新文章
- token验证_Swagger中添加Token验证
- QT5 中文乱码问题
- linux修改open files:ulimit、file-max
- 反思自己钻牛角尖:间隔反思思维方法 时时刻刻反馈目标
- SqlHelper 数据库操作类
- 17-9--18:了解Linux的命令格式,今天复习的已知命令和新命令
- 如何通过使用 64 位版本 Windows 查看系统注册表 WOW6432Node
- 微信公众号盈利模式_微信公众号的盈利模式有哪些?四种模式分享
- IEEE 1588-2002 Precision Time Protocol(PTP)
- 【论文笔记】Evolving Deep Neural Networks.
- openssl ca文档翻译
- 项目管理:如何提高团队效率
- DEJA_VU3D - Cesium功能集 之 050-纯前端空间体体积计算
- 让硬盘灯不再狂闪,调整Win7系统绝技(转)
- VB.NET 父窗口内子窗口运用
- 2018-09-13 代码翻译尝试-使用Roaster解析和生成Java源码
- python定时更换mac 超美桌面背景
- kubeadm部署k8s
- 腾讯旗下的微信这个新功能,突然被举报了,这次鹅又抄袭了?
- 论文学习记录:PROGRESSIVE GROWING OF GANS
热门文章
- 调研-笔记-基于生成对抗网络的恶意域名训练数据生成
- coco2d-x游戏开发google play Google In-app-Billing 支付接入
- 基于CommonsCollections4的Gadget分析
- win7 ultimate是什么版本?
- IOS端向下滑动骤停
- Ubuntu 16.04 LTS + CUDA 8.0 + GTX960M
- netty channelRead0 永远不执行
- 什么叫死区时间_死区时间控制
- Effie:陪你守候那些观影岁月
- dnn分类鸢尾花 pytorch_从实例掌握 pytorch 进行图像分类