电工之家_电工基础知识学习网站
当前位置:电工之家 > plc > 西门子plc > 正文

西门子plc功能块SFB12和SFB13使用说明

时间:2017-04-28 08:47 来源:电工之家 手机版

有关使用系统功能块SFB12的说明:
REQ参数通过输入的上升沿启动一个任务。在DONE或ERROR位还没有置位前,该作业一定不能复位和重启动。在每发送一个作业后相应会置位这个两位中的一个。之后 REQ 参数就可以再次触发下一个发送任务。为确保功能性,在系统功能块的REQ输入处至少要有一个上升沿。如果ERROR位置位,需要判断参数"STATUS",以便能检索相关出错的详细信息,从而能直接清除它。有必要的话,可对此"STATUS"作一般的判断。因为有一种情况( STATUS CODE: 11) 下,ERROR位不一定被置位。当连接建立后,"ID"参数包含了连接参数。在相互连接的两个系统(站)中, "R-ID" 必须是相同的,并且在系统中是唯一的。只有在首次调用系统功能块时,参数"SD_1" (ANY类型)的长度才被评估,并且依据它的值建立发送缓冲区。该值规定了通信数据的最大量。后续的调用中,只评估 LEN 参数并依据参数定义的数据量传输数据。
"ID" 和 "R_ID"不可动态赋值,因为它们只有在首次调用时被评估和设置。它们不可在后续的调用里被更改。有关使用系统功能块SFB13 的说明:
参数"EN_R"可永远为 1。因为此系统功能块异步工作。对于参数"ID"和 "R_ID",用于系统功能块 SFB12 的第 3 点和第 4 点同样适用于它。对于参数"RD_1"用于系统功能块SFB12的第 5 点同样适用于它。上述通信过程完成后,不是"NDR"就是"ERROR"被置位。只有在NDR位已经置位后,才能访问接收缓冲区里的数据(保证数据完整性)。只有当 ERROR 位已置位,才能评价"STATUS",就像系统功能块SFB 12的第 2 点里所述的那样。