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

5.2 TIA 数据记录操作

在PLC的程序中,可以通过指令RDREC和WRREC读写数据记录,在参考代码里可以看到读写操作都实现了index = 2的记录数据,并且初始化为:

#define DEMO_RECORD  "ABCDEFGH"

首先定义要写入和读出的数据块

ERTEC200P-2 PROFINET设备完全开发手册(5-2)_第1张图片

在OB1,调用RDREC和WRREC

ERTEC200P-2 PROFINET设备完全开发手册(5-2)_第2张图片 ERTEC200P-2 PROFINET设备完全开发手册(5-2)_第3张图片

ERTEC200P-2 PROFINET设备完全开发手册(5-2)_第4张图片 

 ERTEC200P-2 PROFINET设备完全开发手册(5-2)_第5张图片

在线状态时,首先置位M0.0触发RDREC功能块,可以看到:

ERTEC200P-2 PROFINET设备完全开发手册(5-2)_第6张图片 然后置位M0.2触发WRREC功能块,从串口打印可以看到写入的参数:

 

记录数据的读写操作分别对应PnUsr_cbf_rec_readPnUsr_cbf_rec_write.

读写操作是由控制器或者监控设备发起,回调的过程如下图所示:

ERTEC200P-2 PROFINET设备完全开发手册(5-2)_第7张图片

分析代码可以看出,写入参数并没有实际更新到200P的变量中,读出的参数始终为一个常数。如果感兴趣的话,可以尝试修改代码,将写入和读出的参数对应到200P的变量中。 

当检测到错误的记录数据请求后,用户程序需要返回错误码给协议栈。最终错误码会作为读写请求的响应,返回到控制器。在示例代码中,如果请求的index不存在,会返回相应的错误码,如果需要自定义错误码,可以参考这部分的实现。

ERTEC200P-2 PROFINET设备完全开发手册(5-2)_第8张图片

 在规范中定义的部分错误码如下:

ERTEC200P-2 PROFINET设备完全开发手册(5-2)_第9张图片

 

你可能感兴趣的:(Profinet设备开发,Profinet,嵌入式硬件,西门子,芯片)