PROFINET由PROFIBUS国际组织(PROFIBUS International,PI)推出,是新一代基于工业以太网技术的自动化总线标准。作为一项战略性的技术创新,PROFINET为自动化通信领域提 供了一个完整的网络解决方案,囊括了诸如实时以太网、运动控制、分布式自动化、故障安全以及网络安全等当前自动化领域的热点话题,并且,作为跨供应商的技 术,可以完全兼容工业以太网和现有的现场总线(如PROFIBUS)技术,保护现有投资。

  PROFINET是适用于不同需求的完整解决方案,其功能包括8个主要的模块,依次为实时通信、分布式现场设备、运动控制、分布式自动化、网络安装、IT标准和信息安全、故障安全和过程自动化。

  PROFINET主要有两种通信方式[1]:

  (1)PROFINET IO实现控制器与分布式I/O之间的实时通信;

  (2)PROFINET CBA实现分布式智能设备之间的实时通信。

  从PROFINET的角度来看,PROFINET IO是在工业以太网上实现模块化、分布式应用的通信概念。通过PROFINET IO,分布式I/O和现场设备能够集成到以太网通信中。

  1 PROFINET IO的基本概念

  1.1 PROFINET IO的工程模型

  (1)IO控制器

  IO控制器[2]一般是可编程控制器(例如PLC),它能够执行自动化程序。其功能相当于PROFIBUS类型1的主站。

  (2)IO设备

  IO设备是连接到PROFINET网络中的现场分布式I/O。

  (3)IO监视器

  IO监视器[2]是一种工程设备,通常为PC、HMI或可编程控制器,用于IO控制器和IO设备的调试和诊断,在运行期间连接IO监视器,通常只是暂时性地用于调试和故障处理。IO监视器的功能相当于PROFIBUS类型2的主站。

  1个PROFINET IO系统应该包括至少1个IO控制器和1个IO设备。

  1.2  PROFINET IO的数据流

  PROFINET IO通信站点的数据交换是通过标准通道[3](基于UDP/IP)和实时通道完成的。在这些通道里,数据使用不同的协议进行传输。例如启动时从站参数是由 主站通过UDP协议传递的,设备地址名字的分配是通过DCP协议完成的,这些都属于标准数据,也可以称为非实时(NRT)数据。而周期数据[4]、报警数 据是通过实时协议传送的,被称为实时数据。

  1.3  组态PROFINET IO及其重要概念

  1.3.1  组态PROFINET IO

  PROFINET IO组态如图1所示,主站是CPU319-3 PN/DP,从站有3个IO设备,分别为ET-200S,ET-200pro和ET-200eco,还可以继续添加IO设备,SIMATIC 产品系列的 PROFINET 设备具有PROFINET接口[5](带或不带集成交换机)。带集成交换机的 PROFINET 设备通常具有2个端口,用于网络的线性总线结构。 同时还提供有3个或更多端口的 PROFINET 设备以连接树型拓扑。由图1可见,CPU319通过双绞屏蔽线与设备3(ET-200S)连接,不同的IO设备之间通过它们自带的交换机接口进行连接。

  1.3.2  PROFINET IO中的不同时间概念

  (1)发送时钟(Send clock)[6]:IRT或RT通信中2个连续间隔之间的时间段。发送时钟是用于交换数据的可能的最短传输时间;

  (2)更新时间(Update time):更新时间=发送时钟× Factor。

  在此时间间隔之内,IO 控制器/IO 设备为 PROFINET IO 系统中的IO设备/IO 控制器提供新的数据。可以为每个IO设备单独组态发送周期,并定义将数据从 IO 控制器发送到 IO 设备(输出)的时间间隔以及将数据从 IO 设备发送到IO控制器的时间间隔(输入)。更新时间在SETP7组态中可以设置。

  (3)Factor:Fatcor是放大倍数,为2n,也称减速比(Reduction Ratio)[7]

  (4)看门狗时间 (Watchdog xime)

  通过STEP7,采用更新时间的整倍数来设置看门狗时间,该时间也可由用户修改。如果在看门狗时间内IO控制器没有为IO设备提供输入/输出数据,IO设备将出现故障并给出替换值。这种情况将作为站故障报告给IO控制器。

  2 研究PROFINET IO实时性的必要性

  首先,在运动控制系统等对实时性要求很高的领域,用户需要知道PROFINET IO数据循环的周期,以便更好地进行生产。其次,如果在STEP7工程工具中对PROFINET IO设备的更新时间和看门狗时间设置不合适,设备就会在运行时出现莫名其妙的故障。所以,对PROFINET IO实时性的研究是很有必要并且具有现实意义。

  3  PROFINET IO的实时性

  3.1  标准以太网的帧结构

  标准以太网的帧如表1所示。可以看出,一个标准以太网帧数据大小为64 B~1  500 B。快速以太网(100 Mb/s)传输1 518 B数据的时间是120 μs,传输64 B数据的时间是5 μs。

  3.2  交换机制

  SIMATIC 中的交换机通过 PROFINET 上的2个机制满足实时要求。

  (1) 存储与转发S&F(Store and Forward)[4]

  使用存储转发方法时,交换机将完整地存储消息帧,并将它们排成一个队列。 如果交换机支持国际标准 IEEE 802.1Q,则根据其在队列中的优先级存储数据。 这些消息帧随后将有选择性地转发给可访问已寻址节点的特定端口(存储转发)。

  对于存储转发,数据经过交换机时先存储进行校验,然后由交换机根据地址表再进行转发。

  (2)直通交换方式(Cut Through)[4]

  在直通交换方式过程中,并不是将整个数据包临时存储在缓冲区中,而是在目标地址和目标端口已经确定后,马上将整个数据包直接传送到目标端口。这 样通过交换机传送数据包所用的时间是最小的,且不受消息帧长度的影响。当目标段与下一个交换机的端口之间的区段已被占用时,数据将“根据优先级的存储和转 发过程”临时存储。

  根据西门子交换机SCALANCE X200手册,64 B的数据S&F延迟时间是10 μs,1 500 B数据S&F延迟时间是130 μs。

  3.3  PROFINET IO实时数据传输的延迟时间

  假设组态ET200分布式I/O模块不是很多的情况下,这样一个最小的以太网报文64 B完全可以控制I/O,那么就认为PROFINET报文的大小为64 B。根据快速以太网(100 Mb/s)传输64 B数据的时间是5 μs,经过n台交换机的传输时间约为n×5 μs。根据SCALANCE X200手册,64 B的数据S&F延迟时间是10 μs,经过n台交换机的延迟时间约为n×10 μs。那么RT数据的延迟时间为n×(10+5)μs。

  所谓反应时间是液晶显示器各像素点对输入信号反应的速度,即像素由暗转亮或由亮转暗所需要的时间(其原理是在液晶分子内施加电压,使液晶分子扭 转与回复)。常说的25ms、16ms就是指的这个反应时间,反应时间越短则使用者在看动态画面时越不会有尾影拖曳的感觉。一般将反应时间分为两个部分: 上升时间(Rise time)和下降时间(Fall time),而表示时以两者之和为准。

  根据这种分析方法,对任何的PROFINET网络拓扑结构都可以通过上述的方法确定PROFINET  IO设备的刷新时间,避免出现IO错误。

  如果使用SCANLANCE X IRT交换机串联,由于IRT交换机使用Cut Through的处理数据方式,这样数据的延迟时间会明显缩短。

  如果使用带有PN接口的ET200串联,由于集成ERTEC芯片,同样适用Cut Though的数据处理方式,这样数据的延迟时间会大大缩短。

  由交换机的机制和数据在网络介质中传输造成的延迟可以看出,距离主站组态距离不同的IO设备数据更新时间是不同的,距离主站越远的设备,IO数据更新时间越长,所以必须要设定相应的看门狗时间,以避免因为到达看门狗时间数据未更新而造成设备故障误报。

  使用IRT(等时实时)通信可以有效地减少数据在交换机上的延迟,因为IRT数据经过交换机使用的是Cut Through方式。

浅谈PROFINET IO通信的实时性相关推荐

  1. 浅谈iOS和Android后台实时消息推送的原理和区别

    http://www.52im.net/thread-286-1-1.html 前言 iOS和Android上的实时消息推送差异很大,往小了说是技术实现的差异,往大了说是系统实现理念的不同.实时消息推 ...

  2. 西门子S7-1200PLC与FANUC机器人进行PROFINET IO通信的具体方法和步骤详解

    西门子S7-1200PLC与FANUC机器人进行PROFINET IO通信的具体方法和步骤详解 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到网站. 打开 ...

  3. 浅谈“天线和通信历史“

    学个Antenna是以天线仿真和调试为主,理论原理为辅的干货天线技术专栏,包括天线入门知识以及各类天线的原理简介.仿真软件建模.设计.调试过程及思路.如有想看到的内容或技术问题,可以在文尾写下留言. ...

  4. 48天打造你的专属 Twilio——浅谈运营商通信中台

    导读: 随着全球移动流量的持续高涨以及通信云在垂直行业不断地延伸,互联网通信云逐渐成为主流通信服务形式.新冠疫情更是激发了用户的在线需求,无论是个人生活还是企业办公,沟通交流活动从线下转移到线上已经成 ...

  5. 浅谈传统语音通信和APP语音通信音频软件开发之不同点

    本人在传统的语音通信公司做过手机和IP电话上的语音软件开发,也在移动互联网公司做过APP上的语音软件开发.现在带实时语音通信功能的APP有好多,主流的有微信语音.QQ电话.钉钉等,当然也包括我开发过的 ...

  6. 浅谈Redis与MySQL的耦合性以及利用管道完成MySQL到Redis的高效迁移

    ㈠ Redis 与 MySQL 的耦合性 在业务架构早期.我们便该"吃着碗里的看着锅里的".切莫让MySQL 有梦.而Redis 无心 毕竟.有些关系型的结构不适合放到Redis跑 ...

  7. 浅谈linux IO

    女主宣言 今天小编为大家分享linux IO相关的基础知识,希望能对大家有所帮助. PS:丰富的一线技术.多元化的表现形式,尽在"360云计算",点关注哦! 1 前言 linux ...

  8. 浅谈 Redis 与 MySQL 的耦合性以及利用管道完成 MySQL 到 Redis 的高效迁移

    http://blog.csdn.net/dba_waterbin/article/details/8996872 ㈠ Redis 与 MySQL 的耦合性               在业务架构早期 ...

  9. C语言-浅谈文件IO

    文章目录 文件IO 1.文件io的特点 2.文件io的操作步骤 2.1打开文件 2.2关闭文件 2.3 操作文件 2.4 其他函数 文件IO 1.文件io的特点 (1)文件描述符(非负的整数) (2) ...

最新文章

  1. 美团Java面试154道题分享!
  2. LeetCode 22. Generate Parentheses--Python 解法--广度优先、深度优先解法
  3. Spark版本定制第12天:Executor容错安全性
  4. Python中的startswith和endswith函数使用实例
  5. struts2 jsp跳转action 404_Struts2 学习笔记(三)
  6. python的lambda函数错误的是_Python 中的 AWS Lambda 函数错误 - AWS Lambda
  7. Docker Redis 安装
  8. 运维日常操作--linux命令
  9. 开网店,网店系统的编程语言分析
  10. Unity3D角色换装及换装编辑器
  11. .net MVC全局定时器执行作业
  12. 阿尔法蛋机器人tf卡_入手评价科大讯飞阿尔法蛋S阿尔法蛋智能机器人功能优缺点评测...
  13. java JPG等图片格式转成PGM
  14. insightface人脸识别代码记录(一)(数据前期准备)
  15. 以太网 因特网 互联网 万维网 的区别
  16. 程序员学金融-日本(2)- 高负债风险
  17. jQuery.on() 函数详解
  18. 已声明“XXX”,但从未读取其值,vscode 如何关闭ts报错
  19. ARM开发板运行执行文件,找不到库报错的解决方法
  20. 计算机组装虚拟实验室,组装计算机的虚拟实验室

热门文章

  1. [转]基于Starling移动项目开发准备工作
  2. jquery.lazyload.js详解
  3. NSString的各种用法总结(创建、截取、判断比较、转化数据类型、拼接、替换、添加、追加、读取、写入、删去、改变)
  4. 软件开发工具(第1章:绪论)
  5. 基于jsp+servlet完成的用户注册
  6. 自己整理的openresty安装步骤
  7. spring boot 扩展之AutoConfigurationImportListener
  8. Web browser的发展演变
  9. As3.0与java数据类型的比较总结
  10. 用户自定义的数据库备份(选自csdn\blog)