F-CPU 進入 STOP 模式,在診斷緩沖區(qū)出現(xiàn) “Data corruption in the safety program before output to F I/O” 消息或者 “Data corruption in the safety program before output to partner F CPU” 消息。
由于不一致的安全程序存在,安全程序中的數(shù)據(jù)錯誤會經(jīng)常出現(xiàn)。這種現(xiàn)象會發(fā)生,如果 在硬件配置中安全相關的參數(shù)有變化,變化的安全程序不能被編譯和沒有被裝載,或者在安全模式不使能時,安全程序已經(jīng)變化,但是當時沒有被編譯和裝載,或者在標準用戶程序中有對安全數(shù)據(jù)的寫訪問。
如果在安全程序中出現(xiàn)數(shù)據(jù)損壞或者希望避免此類問題,請按以下所述操作:
當對本地數(shù)據(jù)區(qū)操作時,在一個 F-PB/F-FB/F-FC 中,第一個對本地數(shù)據(jù)的訪問必須一直是寫訪問。Flip-flop(SR, RS),Set output (S) 或者Reset output (R) 操作不能初始化本地數(shù)據(jù)位。為了初始化,本地數(shù)據(jù)需要轉(zhuǎn)換為靜態(tài)變量。請注意在 F-FB/F-FC 中,它的輸入?yún)?shù)只有讀訪問權(quán)限,輸出參數(shù)只有寫訪問權(quán)限。使用 in/out 參數(shù)進行讀寫訪問。
數(shù)學運算的結(jié)果使得數(shù)值范圍發(fā)生上溢或者下溢。因此應該確保在創(chuàng)建程序時,整數(shù)(16位)在允許的范圍之內(nèi)。這樣可以對溢出錯誤位(狀態(tài)字的 OV 位)進行評估。
對于故障安全接收塊 F_RCVDP 的輸出參數(shù),不要使用在同一個 F_RCVDP 或者不同的 F_RCVDP 調(diào)用輸入?yún)?shù)中已經(jīng)使用過的參數(shù)。否則由于識別出數(shù)據(jù)有沖突,F(xiàn) CPU 將進入 STOP 模式,或者會得到錯誤消息:“F_Receive Block xxx can only be called at the beginning of the F program block”。
可以通過過程映像區(qū)(PII)使用來自標準用戶程序的 M 區(qū)或者來自標準 I/O 的信號實現(xiàn)標準程序和 F 程序間的通信。
禁止從標準程序到故障安全程序的數(shù)據(jù)塊的寫訪問。此規(guī)則的唯一例外是當使用塊 F_ACK_OP 進行故障安全用戶確認時。
在安全程序中,如果希望從標準用戶程序(M 區(qū)或者標準 I/O 的 PII)中讀取數(shù)據(jù),而該數(shù)據(jù)可以通過標準用戶程序或者運行著的 F 系統(tǒng)中的HMI 所改變,例如由于標準用戶程序要被更高優(yōu)先級的時間中斷處理,這就需要使用單獨的 M 區(qū)地址。在進入 F 程序運行時間之前,必須立即將數(shù)據(jù)從標準用戶程序?qū)懭氲竭@些 M 區(qū)中。
然后在安全程序中僅訪問這些 M 區(qū)地址就可以了。還要注意,在組態(tài) F CPU 時(在硬件配置中的 F CPU 的對象屬性對話框中),所定義的時鐘標記可以在 F 程序運行時間內(nèi)改變,因為時鐘標記與 F CPU 周期運行不同步。
自動產(chǎn)生的程序部分不可以被更改或者刪除。在硬件配置中,不能更改或者刪除在“F parameters”的“CPU Properties”對話框中為 F CPU 保留的塊。
不要通過“監(jiān)測/控制變量”對安全程序的數(shù)據(jù)進行不合法的改變。
審核編輯:劉清
-
cpu
+關注
關注
68文章
10879瀏覽量
212196
原文標題:診斷緩沖區(qū)中出現(xiàn)“Data falsification in the safety program ...”
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論