通過組態消息可使我們對生產過程中發生的故障狀態及報警事件進行快速監測、定位與處置。西門子自動化系統(SIMATIC S7 300/400及HMI)實現基于應用的、用戶可組態的消息的方法主要包括位消息(Bit Messaging)方法和消息號(Message Numbering)方法兩種,二者就其特點、性能、應用范圍及實現機理等方面各有不同。
位消息方法通過在S7-300/400 PLC中編程置位消息位、操作屏循環查詢消息位狀態來觸發消息的方法實現,消息的全部組態〔如消息觸發、消息文本等〕均在操作屏的組態軟件〔WinCC/WinCC flexible/ProTool〕中實現。顯然這是HMI系統主動查詢并產生消息的方法,而且這也是大多數HMI系統實現消息功能所采用的方法。西門子自動化系統還提供了消息功能實現的另一種方法,即消息號方法,它是在S7-300/400 PLC的組態軟件STEP 7中對消息進行組態,在STEP 7中編程觸發消息的產生并調用系統功能發送消息,而且消息文本等的消息組態也在STEP 7中進行,因此這是一種S7-300/400 PLC主動發送消息并在操作屏接收和顯示的方法。
就二者的性能比較而言,位消息方法實現的消息是與過程控制異步的,也就是說它在消息中提供的信息只能來自消息在操作屏中產生時的操作屏中的信息,如消息的時間標簽及附加的過程值等,而且其采用的通過通訊循環查詢消息位狀態產生消息的機理,加重了通訊系統的負荷,降低了通訊系統的效率,使控制系統的總體性能受到影響。而消息號方法實現的消息可以與過程控制程序執行相同步,即消息可以由S7-300/400 PLC實時產生,這樣消息的相關屬性也就可以具有實時性,如消息的時間標簽能更精確的反映出消息的真實發生時間,而且通過組態過程值還可獲得消息發生時刻的過程狀態值。而且顯然消息號方法通過通訊實現消息顯示的通訊效率高,通訊負荷低,從而可以確保和提升系統的總體性能。
由此也可看出上述實現消息功能的兩種方法的應用范圍,對于消息的實時性要求不高且實現消息而對通訊的影響能滿足系統要求的可以采用消息的位消息方法實現,反之則應采用消息的消息號方法來實現。
消息號方法進一步又分為三類:即基于塊的消息號方法、基于符號的消息號方法和自定義診斷消息號方法。其中,基于塊的消息號方法用于實現與程序同步的消息,需調用相應的消息塊,適用于S7-300/400及WinCC/WinCC flexible/ProTool組態的項目,其中對WinCC需要AS-OS連接組態,對WinCC flexible/ProTool只能用ALARM_S消息塊來實現。基于符號的消息號方法用于實現與程序異步的消息,通過符號表(定義屬性通過SDB下載方式)而無需調用消息塊,僅適用于S7-400及WinCC組態的項目,其中對WinCC需要AS-OS連接組態。自定義診斷消息號方法用于將用戶自定義的診斷消息顯示在PLC中的診斷緩沖器中,它與程序執行同步并需調用WR_USMSG系統功能,實現與程序同步的消息,需調用相應的消息塊,適用于S7-300/400,該消息并不給操作屏傳輸,而只顯示在PG的診斷緩沖器中。
SIMATIC S7 300/400提供了實現基于塊的消息號方法所需的各種功能塊,本文將以其中的ALARM_S消息塊為例來介紹。其中ALARM_S消息塊按確認方式分為SFC17 ALARM_SQ(需確認)與SFC18 ALARM_S(無需確認),均只有一個通道(即調用一次消息塊只觸發一個消息),并只可附加一個過程值。
下面將描述基于ProTool組態的操作屏采用ALARM_S消息塊實現的消息號方法。
假定本系統由一套S7-300PLC及TP270通過MPI連接構成。
2.STEP7 的編程與組態步驟
2.1 首先完成SIMATIC S7 300站的硬件組態,包括S7-300與TP270通訊用的MPI網絡參數組態,并編譯下載。

2.2 ALARM_S消息塊的實現要基于功能塊FB并需對FB做相應的參數設定。
創建功能塊FB1,打開該FB1,在變量聲明區新建一input變量(如aa),其Data Type選擇為雙字并修改其Attributes如下圖。從而可以在FB塊中的背景數據塊中產生一報警消息類別。


2.3 對FB1進行編程:在本例中調用SFC17 ALARM_SQ,假定MW10作為實際過程值,當MW10大于50時,觸發M0.2產生報警,即觸發SFC17傳輸消息。其中SFC17形參"ID"為固定值W#16#EEEE,"EV_ID"即上面生成的"aa"變量,"SD"即附加的過程值源。

2.4 對OB1進行編程:在OB塊中調用FB1,并為FB1自動建立一背景數據塊DB1。其中FB1的形參變量"aa"值(即消息序列號)由STEP7自動生成。

2.5 組態消息文本:
右鍵點擊DB1,點擊Special Object properties,選擇Message,

組態消息文本:

如需附加過程值,應在消息文本中插入"塊",其結構為: @<過程值的通道號><元素類型><格式代碼>@。其中"過程值的通道號"對ALARM_S塊只能為1,元素類型及格式代碼參見下表。



注: 格式代碼中[i]為選項,可用于指定附加值的顯示長度(如選擇,應去掉[])
在本例中,假定過程值MW10為整數,插入塊"@1i-@"則在報警信息中顯示過程值,顯示其中兩位:

3.操作屏的組態。
3.1 只有Protool與Step7進行集成組態時,才能實現ALARM_S消息功能。故應首先創建一個與Step7集成的Protool項目。

3.2 可在STEP7中為每個消息分配不同的顯示等級,這樣當在Protool中組態時,可以為操作單元選擇特定的顯示等級,用戶可用這種方法在不同的操作設備之間有選擇的分配消息。
為此,可從菜單中選擇“系統”>“消息”>“設置,進行下述組態:

3.3. 組態一畫面,設置一消息視圖用于顯示消息:

3.4 對項目保存、編譯、下載
4.項目運行結果測試:
如設定MW10為80,從而觸發消息,在操作屏上該消息被顯示:

5.總結:
西門子自動化系統為消息功能的實現提供了各種可能的實現方案,用戶可以根據工程項目對消息系統的性能要求以及相應消息功能的不同實現方法對系統的不同影響等因素綜合考慮來選擇和確定具體的方案。其中本文介紹的西門子自動化系統基于消息號的消息功能的實現方法,提供了對消息系統有高實時性能要求的應用解決方案。