我們知道,PLC中其實運行著兩類程序:操作系統(tǒng)和用戶程序。操作系統(tǒng)預(yù)留各種接口,通過這些接口來調(diào)用用戶程序。對于西門子PLC而言,這些接口被稱為組織塊(Organization Block),簡稱為OB。組織塊有很多類型,大體上可以分為兩個大類:程序循環(huán)組織塊和中斷組織塊(后者又包括循環(huán)中斷、硬件中斷、日期時間中斷等等)。組織塊具有不同的優(yōu)先級,程序循環(huán)組織塊的優(yōu)先級最低。
對于西門子標(biāo)準(zhǔn)型CPU模塊,它的用戶程序被稱為標(biāo)準(zhǔn)程序。標(biāo)準(zhǔn)程序的稱謂是為了與故障安全型程序進行區(qū)別。用戶為了處理標(biāo)準(zhǔn)模塊的信號(通信等)而編寫的程序都屬于標(biāo)準(zhǔn)程序。標(biāo)準(zhǔn)程序必須直接或間接的被程序循環(huán)組織塊調(diào)用才能被執(zhí)行(中斷程序除外)。
對于S7-300/400系列CPU,程序循環(huán)組織塊就是指OB1;對于S7-1200/1500系列CPU,除了OB1外,用戶可以根據(jù)需要添加多個程序循環(huán)組織塊,操作系統(tǒng)會根據(jù)程序循環(huán)組織塊的編號從小到大依次調(diào)用。再說一遍,程序循環(huán)組織塊是一種優(yōu)先級最低的組織塊,其它組織塊可以中斷它并優(yōu)先執(zhí)行。
故障安全程序是為了處理故障安全信號而編寫的程序,只有故障安全型CPU才能執(zhí)行故障安全程序。換句話說,西門子故障安全型CPU既可以執(zhí)行標(biāo)準(zhǔn)程序,也可以執(zhí)行故障安全程序。通常(注意是通常),用戶編寫的故障安全型程序是在另一種組織塊——循環(huán)中斷組織塊(Cyclic Interrupt OB)中調(diào)用的。雖然官方稱為“循環(huán)中斷組織塊”,但我覺得稱為“周期性中斷組織塊”更恰當(dāng)一些。這種組織塊可以產(chǎn)生周期性中斷,中斷的周期可以根據(jù)需要自己設(shè)置。
在博途開發(fā)環(huán)境中,當(dāng)你組態(tài)了故障安全型CPU時,默認情況下,左側(cè)項目樹中會有一個“安全管理(Safety Administration)”的選項,并自動添加了三個模塊:FOB_RTG1[OB123]、Main_Safety_RTG1[FB1]和Main_Safety_RTG1_DB[DB1],如下圖所示:
安全管理可以查看安全程序的狀態(tài)、安全簽名、安全功能塊、數(shù)據(jù)類型、Flexible F-Link通信等,不過最重要的功能是設(shè)置安全運行組,如下圖所示:
安全運行組(F-runtime group)由安全組織塊(F-OB)、主安全程序塊(Main F-Block)和主安全程序塊的背景數(shù)據(jù)塊構(gòu)成,如下圖所示:
對于S7-1200的F-CPU,安全組織塊為循環(huán)中斷組織塊,可以根據(jù)需要設(shè)置其中斷時間及優(yōu)先級。對于S7-1500的F-CPU,安全組織塊可以為循環(huán)中斷組織塊(默認)、程序循環(huán)組織塊或者等時同步中斷組織塊。默認情況下,等時同步中斷組織塊的優(yōu)先級最高,其次是循環(huán)中斷組織塊。如果有必須可以修改其優(yōu)先級,但不允許它們的優(yōu)先級比程序循環(huán)組織塊低或相同。
安全組織塊調(diào)用主安全程序塊,用戶編寫的安全程序需要在主安全程序塊中調(diào)用才能被執(zhí)行。
S7-1200的F-CPU只支持一個安全運行組,S7-1500的F-CPU最多支持兩個安全運行組。F-CPU通過F-OB調(diào)用主安全程序塊,再通過主安全程序塊調(diào)用用戶編寫的其它安全程序是西門子故障安全程序的基本架構(gòu)。
審核編輯:劉清
-
plc
+關(guān)注
關(guān)注
5012文章
13314瀏覽量
463768 -
硬件中斷
+關(guān)注
關(guān)注
0文章
11瀏覽量
6865 -
S7-1200
+關(guān)注
關(guān)注
11文章
331瀏覽量
18000
原文標(biāo)題:西門子故障安全系統(tǒng)的程序架構(gòu)
文章出處:【微信號:方正智芯,微信公眾號:方正智芯】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論