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ù)據錯誤會經常出現(xiàn)。這種現(xiàn)象會發(fā)生,如果 在硬件配置中安全相關的參數(shù)有變化,變化的安全程序不能被編譯和沒有被裝載,或者在安全模式不使能時,安全程序已經變化,但是當時沒有被編譯和裝載,或者在標準用戶程序中有對安全數(shù)據的寫訪問。
如果在安全程序中出現(xiàn)數(shù)據損壞或者希望避免此類問題,請按以下所述操作:
當對本地數(shù)據區(qū)操作時,在一個 F-PB/F-FB/F-FC 中,第一個對本地數(shù)據的訪問必須一直是寫訪問。Flip-flop(SR, RS),Set output (S) 或者Reset output (R) 操作不能初始化本地數(shù)據位。為了初始化,本地數(shù)據需要轉換為靜態(tài)變量。請注意在 F-FB/F-FC 中,它的輸入參數(shù)只有讀訪問權限,輸出參數(shù)只有寫訪問權限。使用 in/out 參數(shù)進行讀寫訪問。
數(shù)學運算的結果使得數(shù)值范圍發(fā)生上溢或者下溢。因此應該確保在創(chuàng)建程序時,整數(shù)(16位)在允許的范圍之內。這樣可以對溢出錯誤位(狀態(tài)字的 OV 位)進行評估。
對于故障安全接收塊 F_RCVDP 的輸出參數(shù),不要使用在同一個 F_RCVDP 或者不同的 F_RCVDP 調用輸入參數(shù)中已經使用過的參數(shù)。否則由于識別出數(shù)據有沖突,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ù)據塊的寫訪問。此規(guī)則的唯一例外是當使用塊 F_ACK_OP 進行故障安全用戶確認時。
在安全程序中,如果希望從標準用戶程序(M 區(qū)或者標準 I/O 的 PII)中讀取數(shù)據,而該數(shù)據可以通過標準用戶程序或者運行著的 F 系統(tǒng)中的HMI 所改變,例如由于標準用戶程序要被更高優(yōu)先級的時間中斷處理,這就需要使用單獨的 M 區(qū)地址。在進入 F 程序運行時間之前,必須立即將數(shù)據從標準用戶程序寫入到這些 M 區(qū)中。
然后在安全程序中僅訪問這些 M 區(qū)地址就可以了。還要注意,在組態(tài) F CPU 時(在硬件配置中的 F CPU 的對象屬性對話框中),所定義的時鐘標記可以在 F 程序運行時間內改變,因為時鐘標記與 F CPU 周期運行不同步。
自動產生的程序部分不可以被更改或者刪除。在硬件配置中,不能更改或者刪除在“F parameters”的“CPU Properties”對話框中為 F CPU 保留的塊。
不要通過“監(jiān)測/控制變量”對安全程序的數(shù)據進行不合法的改變。
審核編輯:劉清
-
cpu
+關注
關注
68文章
11080瀏覽量
217088
原文標題:診斷緩沖區(qū)中出現(xiàn)“Data falsification in the safety program ...”
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
stm32f030f4p6進入stop模式再次喚醒時鐘變慢
請問stm32f072 stop模式下的WWDG怎么操作
請問STM32進入STOP模式是否只需要操作一條函數(shù)?
STM32進入STOP模式實現(xiàn)設備低功耗功能
STM32進入STOP模式調試步驟
SIMATIC S7-1500 F-CPU上載需要滿足什么條件?
APM32F030C8T6_軟件問題_進入stop模式之后無法使用按鍵喚醒

評論