> 文章列表 > ERTEC200P-2 PROFINET设备完全开发手册(8-2)

ERTEC200P-2 PROFINET设备完全开发手册(8-2)

ERTEC200P-2 PROFINET设备完全开发手册(8-2)

8.2 IRT通讯原理及API

PROFINET RT通讯的特点:

典型的PROFINET网络如下图所示。

 

其中:

T1: 采样输入

T2: IO背板周期 

T3: Profinet I/O 通讯周期 

T4: CPU组织块OB1执行周期 

T5: Profinet I/O 通讯周期 

T6: IO背板周期 

T7: 建立输出

在PROFINET RT的系统下,Profinet I/O 通讯是以准确的时间间隔(IO更新时间)进行周期通讯。但是每个设备都有各自时钟,每个设备按照自己的周期采样输入或者建立输出。这样 T1-T7没有任何的同步对应关系。这样系统的响应时间(输入到输出)在最好的情况下为: (T1+T2+T3+T4+T5+T6+T7),在最坏的情况下为2X(T1+T2+T3+T4+T5+T6+T7)

PROFINET IRT通讯的特点:

在同步的应用下,所有一个同步域内的IO设备都通过PTCP报文会获得PLC的主时钟(master clock 或者 send clock),并且将自己的时钟同步到PLC的时钟上。目前 CPU1518 + ERTEC200P-2可以做到最小125 µs。

这样一个同步域内的所有设备会有一个全局的时钟基准。在全局的时钟基础上,组态软件(TIA)会给同步域内的所有IO设备规划统一的采样输入时刻Ti和建立输出时刻To。这样所有IO设备在同一时刻采样输入、建立输出。相对应,PLC需要定义专用的、优先级高的同步组织块("synchronous cycle" OB6x),统一读取同步输入数据;进行逻辑运算;统一更新同步输出数据。

 为了保证Ti、To、同步组织块的时序关系。IO数据通讯需要在准确的时间开始和结束,因此IRT通讯技术采用时间分片的模型:

 每个通讯周期被分割为时间片 ,通讯周期开始时刻的时间片预留给优先级最高的IRT报文(RT_Class3),剩余的时间片分配给RT, TCP/UDP,..。在IRT通讯时间片内,PN网络所有交换机和设备不允许转发和发送非IRT数据。这样,相当于为IRT通讯预留了快车道:

 因此我们常说IRT应用是指IRT通讯+同步应用

RT

IRT

同步

  • 实时通讯
  • IO更新周期 >=250µs
  • 带有预留带宽和同步周期的实时通讯
  • IO更新周期 >=125µs
  • 需要特殊硬件(CC-C,IRT交换机)支持
  • 由同步组织块(e.g. OB61)处理的IRT通讯
  • 用户程序、采样输入、建立输出同步到统一的周期上
  • 典型应用:运动控制精确测量

在我们TIA中设定IRT带宽预留(图中1),和查看实际使用的带宽(图中2)

 开启等时同步模式后,IO通讯周期Tdc (Time of Data Cycle)=发送时钟。如果同步组织块(e.g. OB61)在一个Tdc内无法完成计算任务,可以调整应用周期的时间为发送周期的整数倍,相当于多个通讯周期更新一次输出数据。这个整数倍被定义为Tcacf(control application cycle factor)。这样Tdc、Ti、To和Tcacf定义了IRT等式同步的基本时间参数。PLC在与设备建立连接时,会将这些参数通过索引号为0x8030数据记录写入到设备。如下图,左侧是协议栈打印输出的0x8030数据,右侧是TIA的等时同步配置。

PN设备需要在同步事件Ti、To更新输入、建立输出。200P既可以中断的形式响应同步事件,也可以将GPIO1-7设置为同步输出(PN-PLL)。协议栈已默认将GPIO0关联到Tdc。

同步GPIO输出初始化函数为:PNIO_IsoActivateGpioObj,即在发送周期开始时延时指定的时刻在GPIO上产生上升或下降沿触发信号。同步事件中断初始化函数为PNIO_IsoActivateIsrObj,即在发送周期开始时延时指定的时刻回调中断处理函数。

 在参考代码中,PLC通过0x8030写入Ti、To

 将GPIO7设置为Ti同步输出

 将GPIO5设置为To同步输出

 从示波器查看GPIO0,GPIO5,GPIO7可以看到输出脉冲

IRT通讯支持两种特殊的模式

1)快速转发模式(Fast Forwarding)

多口设备转发延时的时间可以从1440ns减少的320ns

 2)动态组包(DFP - Dynamic Frame Packing)

就是我们常说的火车模式,这样可以极大的提高IRT通讯的效率。

 目前,ERTEC200P-2对于上述两种增强模式提供了很好的支持。