在工业自动化应用中,对时间要求苛刻的数据通常是周期性地传输。于是,实时通信就包含两个方面内容,首先是在很短的周期内快速响应,其次是抖动,就是指每次刷新时间会有细微的差别。实时性对于通信周期和抖动的要求根据应用场合不同而不同,对于过程仪表来说通信周期大于100ms也算实时(抖动甚至有几十毫秒),对于工厂自动化来说,实时就要求通信周期在1~10ms(抖动小于1ms),而运动控制则要通信求周期小于1ms(抖动小于1us)。
正所谓众口难调,比如说温度控制,通信周期在秒级就够了,太快了完全没有必要;而工业机器人就不行了,通信周期得在微秒级别,慢了的话这个机器手臂动起来就别扭了,比如说周期是1秒,你会看到哪怕是做一个自由度的动作,机器手都是一顿一顿,像迈克尔·杰克逊在跳“太空舞步”。
没困难要做,有困难克服困难也要做!为了解决“众口难调”的困难,PROFINET IO在实时通信的基础上再定量地区分出四种实时等级,用户可以根据工业自动化应用领域的不同,选择满足现场实时等级要求的设备。所表中所示,PROFINET IO系统四种实时等级的特点和要求是不同的,其中RT_CLASS_UDP是一个可选等级,可以看成是周期性的UDP通信。
在PI组织的教程资料中,大多会介绍以上四种实时等级,其实在德国有PROFINET的专著,其中还将RT_CLASS_2根据报文传输是同步还是非同步再细分成两种,非同步的RT_CLASS_2类似于RT_CLASS_1,只是总线周期短一些。个人感觉这RT_CLASS_2挺“较真儿”的,还真像德国人做事情的态度。而实时通信之间的详细比较如下表所示。