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介绍相关推荐

  1. 主流工业以太网介绍和比较(EtherCAT、EtherNet/IP、ProfiNet、Modbus-TCP、Powerlink)

    1)EtherCAT是一个以以太网为基础的开放架构的现场总线系统,EterCAT名称中的CAT为Control Automation Technology(控制自动化技术)首字母的缩写.最初由德国倍福 ...

  2. (二)PowerLink理论知识

    (一)OSI 模型 OSI 是一个用于开放信息处理系统标准化的通信模型.这个模型将数据传输的任务分为 7 层,每层(除了最底层)建立在另一层的基础之上.本人在OSI中添加了一些注释,以便于读者掌握一个 ...

  3. 【ARM-Linux开发】【DSP开发】AM5728介绍

    AM5728 Sitara Processors 1.    介绍 1.1 AM572x概述 AM572x是高性能,Sitara器件.以28nm技术集成: 结构设计主要考虑嵌入式应用,包括工业通讯,人 ...

  4. 虹科分享 | 简单实用的CANopen介绍,看完你就明白了(1)——CANopen基础概念

    目前,CANopen通讯协议已经在工业领域得到了广泛的使用,由于其面向对象的设计思路,CANopen协议已成为欧洲等国家的自动化公司标配的通讯接口之一.在本系列文章中,我们将介绍CANopen协议的基 ...

  5. POWERLINK 工业实时以太网协议简介

    高端制造,在当前历史背景下独立自主是必经之路.先进技术是买不来的,高端制造是国之重器. 何为POWERLINK ?先来说下什么是工业以太网. 工业以太网 平常我们听的最多用的最多的Internet互联 ...

  6. 实时的工业以太网Ethernet Powerlink

    近十年来,随着互联网技术飞速发展,以太网成为商业通信中的主导网络技术.以太网的通信速率要比目前任何工业现场总线高很多,因它是IT界标准网络技术,成千上万的公司参与开发生产有关产品,使其成本低廉,可选择 ...

  7. [工业互联-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通 ...

  8. Powerlink协议使用极简入门教程

    网上关于powerlink协议的知识太少,而且都太分散太零碎,容易让人一头扎进去摸不着头绪.新手看到demo源码可能都不知道有什么用途,怎么能联动的跑起来看到效果,有种无从下手的感觉.其实Powerl ...

  9. POWERLINK协议源码(最新)在stm32单片机上的移植指南

    最近着了powerlink的道,连续几晚十二点前没睡过觉.不得不说兴趣这东西劲太大了,让人睡不着.喜欢上研究POWERLINK,最新版的源码结构挺清晰的,移植并测试了嵌入式linux作为从站和电脑主站 ...

最新文章

  1. 造车行业百年未有变局之下,一个「老玩家」开始了自己的赶超
  2. System x迈向更多领域 国内超算步入全面发展时代
  3. 【转】找到 MySQL 数据库中的不良索引
  4. Java黑皮书课后题第10章:**10.28(实现StringBuilder类)在Java库中提供了StringBuilder类。给出你对下面方法的实现(将新类命名为MyStringBuilder2)
  5. Android开发之下载Apk安装的方法兼容Android7.0和8.0及以上
  6. maven 版本号插件_Maven内部版本号插件–用法示例
  7. oracle的删除的row如何,Oracle 删除大表中部分数据
  8. java不需要返回数据时_从Java方法返回时,BigDecimal不保持实际值
  9. Docker Registry 删除镜像并清理
  10. 算法学习之路|蒜头君的新游戏1
  11. Hadoop介绍及最新稳定版Hadoop 2.4.1下载地址及单节点安装
  12. FFmpeg入门测试
  13. 华为 “OSPF” 被动接口配置
  14. hb100 微波雷达arduino_HB100微波雷达模块无线X波段雷达探测器探头传感器模块10.525GHz...
  15. 腾讯云消息队列CMQ
  16. BinaryOperator示例
  17. MyBioSource 丨艾美捷抗C17ORF75抗体:兔C17ORF75多克隆抗体
  18. excel替换指定列的文本
  19. hdu 4009 Transfer water(最小树形图模板)
  20. RocketMQ单机环境搭建

热门文章

  1. VCD(俗称影音光碟)
  2. Ubuntu10.04用Wine运行QQ2009
  3. htc x920e刷android7.0,HTC X920E (Butterfly) 刷回官方RUU固件教程
  4. 使用VB求解“华容道”问题
  5. pdf转换器绿色版使用方法
  6. Oracle -> DG主备配置
  7. ffmpeg处理HDR视频
  8. 04-如何挑选最牛的货币基金
  9. 仿iphone快速导航悬浮球
  10. STM32F405 USB HID软硬件参考设计