powerlink介绍
1.总体介绍
Powerlink 是一种基于IEEE802.3的纯软件方案,100%与IEEE802.3以太网保持一致。但是它在不同的层次都有自己的定义,并很好地与IP,TCP,UDP等进行了适当的结合。
在数据链路层(DLL层)作了分时管理的定义,同时在网络层和应用层的限制性的定义。Powerlink的一些应用数据可以使用IP协议进行传输。同时IP数据在异步阶段传输。Powerlink在应用层使用CanOpen协议。
Powerlink定义了自己的路由管理机制,可以完成powerlink网段之间的互连,并可连接到外部网络,有利于用户对网络进行实时监控等。
数据链路层定义
Powerlink在DLL层(数据链路层)有两种工作模式,一是powerlink模式,二是Ethernet模式。模式选择可以在配置时决定。使用ethernet模式,则与以太网的工作方式完全一致。以下主要讲在powerlink下的工作模式。
在以太网的协议基础之上,增加了MN管理者(Managing Node),通过它对网络的控制,把网络的传输过程分成一个个时间段作为网络周期。每一个周期内又分成“同步阶段”和“异步阶段”。两个阶段的开始与结束都是由MN向其它节点发送控制帧(SOC,SOA)来完成的。同步阶段完成一些数据量小,时间要求高的数据传输。异步阶段完成IP,TCP,UDP和数据量大,时间要求不高的数据传输。
Powerlink 周期
Powerlink组网完成之后,MN管理者控制网络周期,每个周期被分成“同步阶段”和“异步阶段”。同上图。在同步阶段,每个周期,powerlink网络采用混合轮询和时间槽,每一个节点CN(Control Node)发送数据的时间,时机都确定,由管理节点MN决定。
同步阶段
POWERLINK网络中有一个MN管理者,它在每一个周期开始时,广播发送SOC帧,每个CN接收到SOC后,进入“同步阶段”。MN发送PREQ(request请求帧)帧,此帧为单播帧。接收到此帧的CN以广播或是组播地方式发送PRES帧(回复帧)。
直接交叉通信
CN通过这种组播的方式向其它的CN传输数据。这样数据不用通过MN节点,这种方式称
为直接交叉通信。直接交叉通信对于安全组件是一个基本的先决条件,好处在于时间被节省,简化了系统,并且减少了控制任务,这使得可以在很多领域使用更经济的控制器。
多路复用
由于不是所有的控制节点需要在每个循环里被轮询,所以可以允许多个节点在不同的周期内使用同一个时间槽。如上图前一周期的cn3和后一个周期的cn5。
异步阶段
CN节点在同步阶段,利用PRES帧的“PR”和“RS ”字段告诉MN节点,在异步阶段待发送数据的优先级和数量。在MN节点中有一个管理机制“Manger Async Scheduler”,由它来决定本周期由哪一个节点在异步阶段传输数据。并在异步阶段的开始帧SOA中使用“RequestedServiceID”和“RequestedServiceTarget”向CN节点们通知本周期要求的是哪一个服务,以及提供服务的CN节点。
DDL数据帧形式
Powerlink数据帧在数据链路层上的形式如上图。Ethernet powerlink数据被嵌入到通用的Ethernet帧中。并使用专门的EtherType值(88ABh)。
同时powerlink内部也有MessageType,Destination,Source等控制字段。其中Destination,Source表示每一个设备的ID,最大为255,由于一些特殊设备占用了一些固定值,一个powerlink网络的最大ID号为240,ID为240的设备为MN节点。1-239为CN节点,255表示广播帧。
帧 |
发送者 |
接收者 |
传输类型 |
作用 |
SOC |
MN |
所有CN |
广播 |
通知所有CN,同步阶段开始。 |
Preq |
MN |
一CN |
单播 |
通知一CN,要求其回复Pres; 并向其发送应用信息。 |
Pres |
CN |
MN和一组CN |
组播 |
通知MN,自己的MNT状态。 通知MN,自己在异步阶段的发送请求。 向其它CN,发送应用数据。 |
SOA |
MN |
所有CN |
广播 |
告诉CN,同步阶段结束,异步阶段开始。 向所有CN,通知自己的MNT状态。 通知一个CN,它可以在此异步阶段,发送Asnd数据帧。 |
Asnd |
CN |
所有节点 |
广播 |
CN节点发送应用数据,或是IP,TCP,UDP数据包。 |
网络层定义
在powerlink的异步阶段,对IP层进行了很好的支持,在这里介绍powerlink的应用层是如何使用IP层来传输powerlink数据的。使用IP协议,可以把powerlink的数据转发到工厂的办公网络中,甚至是internet,可以实现对工厂设备的远程控制。
Powerlink的IP地址
一个powerlink网可是通过专用的路由器与其它powerlink网连接起来,但每一个powerlink网络的IP地址的定义都是一样的。使用C类的私有地址192.168.100.x网段,每一个节点的powerlink的ID就是每个节点的IP地址的最低字节。如MN的IP地址一定是192.168.100.240。
子网掩码为255.255.255.0;网关IP为192.168.100.254。
Powerlink数据嵌入UDP
Powerlink在UDP帧中的各个字段的含义与在以太网帧的含义是一样的。
Powerlink Router
Powerlink的路由器可以允许powerlink网间的IP通信,以及powerlink网与以太网之间的IP通信。
Powerlink路由器的核心任务:
诊断、远程维护、监控。
软件下载。
配置网络。
信息安全防护。
SDO通信。
网络地址转换(NAT)。
Powerlink路由器的工作模型。完成powerlink数据形式到ethernet数据形式的转化。
NAT工作模型图
powerlink介绍相关推荐
- 主流工业以太网介绍和比较(EtherCAT、EtherNet/IP、ProfiNet、Modbus-TCP、Powerlink)
1)EtherCAT是一个以以太网为基础的开放架构的现场总线系统,EterCAT名称中的CAT为Control Automation Technology(控制自动化技术)首字母的缩写.最初由德国倍福 ...
- (二)PowerLink理论知识
(一)OSI 模型 OSI 是一个用于开放信息处理系统标准化的通信模型.这个模型将数据传输的任务分为 7 层,每层(除了最底层)建立在另一层的基础之上.本人在OSI中添加了一些注释,以便于读者掌握一个 ...
- 【ARM-Linux开发】【DSP开发】AM5728介绍
AM5728 Sitara Processors 1. 介绍 1.1 AM572x概述 AM572x是高性能,Sitara器件.以28nm技术集成: 结构设计主要考虑嵌入式应用,包括工业通讯,人 ...
- 虹科分享 | 简单实用的CANopen介绍,看完你就明白了(1)——CANopen基础概念
目前,CANopen通讯协议已经在工业领域得到了广泛的使用,由于其面向对象的设计思路,CANopen协议已成为欧洲等国家的自动化公司标配的通讯接口之一.在本系列文章中,我们将介绍CANopen协议的基 ...
- POWERLINK 工业实时以太网协议简介
高端制造,在当前历史背景下独立自主是必经之路.先进技术是买不来的,高端制造是国之重器. 何为POWERLINK ?先来说下什么是工业以太网. 工业以太网 平常我们听的最多用的最多的Internet互联 ...
- 实时的工业以太网Ethernet Powerlink
近十年来,随着互联网技术飞速发展,以太网成为商业通信中的主导网络技术.以太网的通信速率要比目前任何工业现场总线高很多,因它是IT界标准网络技术,成千上万的公司参与开发生产有关产品,使其成本低廉,可选择 ...
- [工业互联-12]:主流的工业以太网技术简介(PROFINET、POWERLINK、ETHERNET/IP、ETHERCAT、SERCOSIII、MODBUS TCP、CC-LINK IE)
目录 前言: 1.工业通信要求 1.1 工业通信网络分层模型 1.2 工业控制的实时性要求 2. 以太网技术 2.1 协议分层 2.2 实时应用 3. 常见工业以太网技术 3.1 PROFINET通 ...
- Powerlink协议使用极简入门教程
网上关于powerlink协议的知识太少,而且都太分散太零碎,容易让人一头扎进去摸不着头绪.新手看到demo源码可能都不知道有什么用途,怎么能联动的跑起来看到效果,有种无从下手的感觉.其实Powerl ...
- POWERLINK协议源码(最新)在stm32单片机上的移植指南
最近着了powerlink的道,连续几晚十二点前没睡过觉.不得不说兴趣这东西劲太大了,让人睡不着.喜欢上研究POWERLINK,最新版的源码结构挺清晰的,移植并测试了嵌入式linux作为从站和电脑主站 ...
最新文章
- 造车行业百年未有变局之下,一个「老玩家」开始了自己的赶超
- System x迈向更多领域 国内超算步入全面发展时代
- 【转】找到 MySQL 数据库中的不良索引
- Java黑皮书课后题第10章:**10.28(实现StringBuilder类)在Java库中提供了StringBuilder类。给出你对下面方法的实现(将新类命名为MyStringBuilder2)
- Android开发之下载Apk安装的方法兼容Android7.0和8.0及以上
- maven 版本号插件_Maven内部版本号插件–用法示例
- oracle的删除的row如何,Oracle 删除大表中部分数据
- java不需要返回数据时_从Java方法返回时,BigDecimal不保持实际值
- Docker Registry 删除镜像并清理
- 算法学习之路|蒜头君的新游戏1
- Hadoop介绍及最新稳定版Hadoop 2.4.1下载地址及单节点安装
- FFmpeg入门测试
- 华为 “OSPF” 被动接口配置
- hb100 微波雷达arduino_HB100微波雷达模块无线X波段雷达探测器探头传感器模块10.525GHz...
- 腾讯云消息队列CMQ
- BinaryOperator示例
- MyBioSource 丨艾美捷抗C17ORF75抗体:兔C17ORF75多克隆抗体
- excel替换指定列的文本
- hdu 4009 Transfer water(最小树形图模板)
- RocketMQ单机环境搭建