您好,欢迎访问一九零五行业门户网

如何正确使用功能块SFB12和SFB13

有关使用系统功能块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 点里所述的那样。
其它类似信息

推荐信息