安全程序的塊
安全程序的結(jié)構(gòu)與運(yùn)行
在VASS標(biāo)準(zhǔn)中沒(méi)有使用OB35作為安全中斷調(diào)用塊,采用OB1調(diào)用將CPU的循環(huán)時(shí)間設(shè)置為50MS:
F-控制器的用戶程序結(jié)構(gòu):
標(biāo)準(zhǔn)程序,(F-程序:塊由分布式安全生成), (F-程序:塊由用戶創(chuàng)建,也可以是庫(kù)塊), (F-程序:
塊由分布式安全生成).
創(chuàng)建F-FC / F-FB /故障安全程序塊(F-PB):
創(chuàng)建F-FC/F-FB 故障安全程序的功能(FC)或者函數(shù)塊(FB) 的創(chuàng)建方法與標(biāo)準(zhǔn)程序完全相同。當(dāng)選擇了安全相關(guān)創(chuàng)建語(yǔ)言之后,將會(huì)自動(dòng)地將塊創(chuàng)建為安全相關(guān)塊。
F – CALL 的創(chuàng)建與調(diào)用:
創(chuàng)建F-CALL :使用編程語(yǔ)言“F-CALL”,用戶可以完成運(yùn)行組的“F-CALL”的插入操作并將其作為 FC,但是,用戶不得編輯它。此后,在編譯安全程序時(shí),分布式安全將會(huì)生成F-Call 或者內(nèi)部F-Call 程序。
調(diào)用F-CALL :為了保證以固定的時(shí)間間隔、連續(xù)地運(yùn)行安全程序,必須把安全程序或者運(yùn)行組內(nèi)的F-CALL 編制在循環(huán)中斷組織塊(例如OB35)之內(nèi)。編程調(diào)用與標(biāo)準(zhǔn)塊的調(diào)用完全相同。在循環(huán)中斷組織塊內(nèi),除了F-CALL 之外,也可以調(diào)用其它的標(biāo)準(zhǔn)塊。
編輯安全程序:運(yùn)行組
創(chuàng)建運(yùn)行組 :
一旦完成了某個(gè)運(yùn)行組所有含“F-Call”和程序塊的安全相關(guān)塊創(chuàng)建工作之后,使用“編輯安全程序”對(duì)話框,最多可以創(chuàng)建兩個(gè)運(yùn)行組。此后,可以完成安全程序的編譯工作,并將它下載至 CPU 內(nèi)。
F-Call 塊:
如果安全程序包含有兩個(gè)運(yùn)行組,則可以在該對(duì)話框內(nèi),為新建的運(yùn)行組選擇作為F-Call 的塊。
安全程序塊:
如果安全程序包含有兩個(gè)運(yùn)行組,則可以在此處選擇運(yùn)行組內(nèi)用作程序塊(FB)的 F-FC 或者 F-FB。生成F-Call 時(shí),分布式安全會(huì)將所指定的安全程序塊調(diào)用集成在F-Call 程序之內(nèi)。
安全程序塊I-DB :如果已經(jīng)選擇了某個(gè)F-FB 作為安全程序塊,此時(shí),必須為該F-FB 指定數(shù)據(jù)塊,以用作該F-FB 的實(shí)例數(shù)據(jù)塊。實(shí)例中,由于已經(jīng)有一個(gè) F-FC (此處中的FC111) 已經(jīng)被用作程序塊,因此,無(wú)需指定實(shí)例數(shù)據(jù)塊(I-DB).
F-運(yùn)行組的最大:
該參數(shù)為F-運(yùn)行組兩次調(diào)用之間的最大間隔時(shí)間,計(jì)數(shù)單位為毫秒(最大值為2 min,即 120000ms)。循環(huán)時(shí)間單位:ms 設(shè)置該時(shí)間時(shí),其值必須大于在 HW-Config 內(nèi)CPU 屬性中為時(shí)間中斷組織塊(此處為OB35)所設(shè)定的調(diào)用間隔時(shí)間,在該間隔時(shí)間之內(nèi),將會(huì)調(diào)用該運(yùn)行組內(nèi)的F-Call。
運(yùn)行組通信用數(shù)據(jù)塊的編號(hào):
如果安全程序由兩個(gè)運(yùn)行組組成,則這兩個(gè)組之間可以彼此交換數(shù)據(jù)。數(shù)據(jù)交換通過(guò)安全相關(guān)的數(shù)據(jù)塊(F-DB)實(shí)現(xiàn),在該處,必須指定數(shù)據(jù)塊的編號(hào)。
編輯安全程序:編譯
編譯:
運(yùn)行組創(chuàng)建之后,還必須使用菜單命令“Compile”(編譯)進(jìn)行編譯。該過(guò)程中,分布式安全會(huì)根據(jù)用戶安全程序的要求,生成其它形式為F-FB 的系統(tǒng)塊。對(duì)安全相關(guān)塊進(jìn)行每一次更改,或者更改了安全模塊與安全有關(guān)的參數(shù)之后,必須對(duì)安全程序進(jìn)行編譯操作。安全程序成功地完成編譯之后,會(huì)獲得一個(gè)新的簽名,并可以下載至CPU。
檢查來(lái)自標(biāo)準(zhǔn)用戶程序的存取操作:
該功能支持對(duì)來(lái)自標(biāo)準(zhǔn)用戶程序的安全數(shù)據(jù)非法寫(xiě)訪問(wèn)的定位功能(故障安全數(shù)據(jù)塊和故障安全輸入/輸出),(對(duì)于標(biāo)準(zhǔn)用戶程序來(lái)說(shuō),僅允許對(duì)故障安全數(shù)據(jù)執(zhí)行讀取操作)。
全部安全塊的集體簽名:
如果編譯過(guò)程中未出現(xiàn)任何錯(cuò)誤,則“Collective signature of all F-Blocks with F-attributes for the blockcontainer”(全部安全塊與塊容器的故障安全屬性的集體簽名)將與“Collective signature of the safety program”(安全程序的集體簽名)相一致。此時(shí),安全程序才具備一致性,并可以下載至 CPU.
安全程序的集體簽名:
集體簽名可以惟一性地區(qū)別安全程序的具體狀態(tài)。如果在上次編譯完成之后,對(duì)安全程序進(jìn)行了更改,此時(shí),兩個(gè)簽名不一致,則表明無(wú)法保證安全程序的完整性。對(duì)于工廠驗(yàn)收來(lái)說(shuō),程序的打印輸出材料中也必須包含安全程序的集體簽名,以供驗(yàn)收使用。
當(dāng)前編譯:
安全程序最新一次編譯的時(shí)間戳。
下載安全程序:
所有的更改或者完整的安全程序都可以下載至 CPU。但是,該功能僅在CPU 處于停機(jī)模式時(shí)才可以使用。
安全模式:
將某個(gè)具備一致性的安全程序下載至 CPU,并隨后執(zhí)行了熱重啟之后,將會(huì)激活CPU 的安全模式。這種情況下,CPU 的所有錯(cuò)誤抑制措施均會(huì)處于激活狀態(tài)。如果因測(cè)試而需要將單個(gè)的、已經(jīng)更改的故障安全塊從SIMATIC 管理器下載至CPU 內(nèi),系統(tǒng)會(huì)自動(dòng)彈出對(duì)話框(禁用CPU 安全模式),此時(shí),用戶必須同意該操作。這時(shí)候,CPU 可以繼續(xù)工作于運(yùn)行模式,且完成安全程序的運(yùn)行。然而,如果對(duì)安全程序進(jìn)行了更改,且沒(méi)有重新編譯,則安全程序不再具備一致性,且所有的錯(cuò)誤抑制措施將不再處于活躍狀態(tài)。
當(dāng)前模式:
顯示CPU 是否工作于安全模式(僅可以聯(lián)機(jī)訪問(wèn)CPU 時(shí)才能使用該功能).
責(zé)任編輯:lq
-
控制器
+關(guān)注
關(guān)注
112文章
16416瀏覽量
178765 -
cpu
+關(guān)注
關(guān)注
68文章
10889瀏覽量
212394 -
程序
+關(guān)注
關(guān)注
117文章
3793瀏覽量
81220
原文標(biāo)題:F-CPU 的用戶程序:PROFISAFE實(shí)用淺談
文章出處:【微信號(hào):gh_a8b121171b08,微信公眾號(hào):機(jī)器人及PLC自動(dòng)化應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論