如果F-CPU进入STOP模式,并且在诊断缓冲区中出现“Data falsification in the safety program ...”消息时,应该怎么办
描述:
F-CPU进入STOP模式,在诊断缓冲区出现“Data corruption in the
safety program before output to F I/O”消息或者“Data corruption in the
safety program before output to partner F CPU”消息。
如果在安全程序中出现数据损坏或者希望避免此类问题,请按以下所述操作:
当对本地数据区操作时,在一个F-PB/F-FB/F-FC中,**个对本地数据的访问必须一直是写访问。Flip-flop(SR,
RS),Set output (S) 或者Reset output
(R)操作不能初始化本地数据位。为了初始化,本地数据需要转换为静态变量。
请注意在F-FB/F-FC中,它的输入参数只有读访问权限,输出参数只有写访问权限。使用in/out参数进行读写访问。
数学运算的结果使得数值范围发生上溢或者下溢。因此应该确保在创建程序时,整数(16位)在允许的范围之内。这样可以对溢出错误位(状态字的OV位)进行评估。
对于故障安全接收块F_RCVDP的输出参数,不要使用在同一个F_RCVDP或者不同的F_RCVDP调用输入参数中已经使用过的参数。否则由于识别出数据有冲突,F CPU将进入STOP模式,或者会得到错误消息:“F_Receive Block xxx can only be called at the beginning of the F program block”。
可以通过过程映像区(PII)使用来自标准用户程序的M区或者来自标准I/O的信号实现标准程序和F程序间的通信。禁止从标准程序到故障安全程序的数据块的写访问。此规则的一例外是当使用块F_ACK_OP进行故障安全用户确认时。
在安全程序中,如果希望从标准用户程序(M区或者标准I/O的PII)中读取数据,而该数据可以通过标准用户程序或者运行着的F系统中的HMI所改变,例如由于标准用户程序要被高**级的时间中断处理,这就需要使用单独的M区地址。在进入F程序运行时间之前,必须立即将数据从标准用户程序写入到这些M区中。然后在安全程序中仅访问这些M区地址就可以了。
还要注意,在组态F CPU时(在硬件配置中的F CPU的对象属性对话框中),所定义的时钟标记可以在F程序运行时间内改变,因为时钟标记与F CPU周期运行不同步。
自动产生的程序部分不可以被改或者删除。在硬件配置中,不能改或者删除在“F parameters”的“CPU Properties”对话框中为F CPU保留的块。
不要通过“监测/控制变量”对安全程序的数据进行不合法的改变。
删除所有从块容器中自动生成的F-FB,F-DB和所有的背景数据库,并重新生成安全程序。
重庆索利亚电气设备有限公司专注于西门子代理,西门子模块,西门子PLC,西门子变频器,西门子电缆,西门子触摸屏,西门子DP电缆,西门子代理商,重庆西门子代理商,西门子总线电缆代理商,西门子触摸屏代理商,西门子变频器代理商,上海西门子代理商等