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