使用系統函數和運行系統腳本
運行系統腳本 (Panels, RT Advanced, RT Professional)
運行系統腳本
指代用戶自定義函數和局部腳本中所有活動的通用術語。
函數
指代系統函數和用戶自定義函數的通用術語。
系統函數
系統函數是所有隨 WinCC 一同提供的函數。系統函數可應用在函數列表、用戶自定義函數或局部腳本中。
用戶自定義函數
用戶自定義函數是指在“腳本”編輯器中編寫的函數。為了更準確的加以說明,本文檔中使用術語“用戶自定義 VB 函數”和“用戶自定義 C 函數”。
局部腳本
局部腳本是指在使用的位置直接創建的腳本(例如對象屬性),并且具有周期性或非周期性觸發器。為了更準確的加以說明,本文檔中使用術語“局部 VB 腳本”和“局部 C 腳本”。
VBS/VBScript
Visual Basic Script 的縮寫形式
應用運行系統腳本
下圖可作為應對編程任務的決策指南:
WinCC RT Advanced 和面板不支持局部腳本。
自定義函數或局部腳本?
使用用戶自定義的函數或者使用局部腳本完成編程任務,這取決于應用目的并最終取決于用戶自定義函數或局部腳本的數量。
局部腳本可用于各種后臺活動,例如日常打印或記錄、變量的監視或者計算的執行。
通過自定義函數,只需創建一次就可以在項目中重復使用代碼。需要時,只需調用相應的自定義函數即可,而無需多次輸入代碼。這樣代碼將更加清晰并易于維護。
系統函數
● 函數列表
發生特定事件時,可通過函數列表來執行組態的系統函數。
● 用戶自定義函數
如果 HMI 設備支持用戶自定義函數,可以將系統函數與用戶自定義函數代碼中的指令和條件結合使用。這樣,便可以根據特定的系統狀態來執行自定義函數。此外,還可以計算系統函數的返回值。利用返回值可以執行測試函數,繼而影響函數流。
● 函數列表
組態函數列表時,從按類別排序的選擇列表中選擇系統函數:
● 用戶自定義函數
如果在用戶自定義函數中使用系統函數,可以在選擇列表中進行選擇。要打開選擇列表,請使用快捷鍵或單擊? 。
用戶定義的函數 (Panels, RT Advanced, RT Professional)
自定義函數可用于以下情況:
● 組態函數列表
在自定義函數中,自定義函數和系統函數可以按一定的條件來執行,還可以重復執
行。然后將該用戶自定義函數添加到函數列表中。
● 編寫新函數
自定義函數僅在定義它們的項目中有效。對于用戶自定義函數,可定義傳送參數和返回
值以實現數值的轉換。
在函數列表中只能使用屬于同一種編程語言的用戶自定義函數。選擇的首個用戶自定義函
數將決定隨后在該函數列表中可選擇的是 VB 函數還是 C 函數。
自定義函數的組織
通過“腳本”編輯器創建自定義函數。更多信息,請參見““腳本”編輯器 (頁 7082)”。自定義函數保存在項目中。要保護用戶自定義函數,請設置專有技術保護。
● 項目樹
用戶自定義函數顯示在項目樹的“VB 腳本”(VB scripts) 或“C 腳本”(C scripts) 下。
● 函數列表
用戶自定義函數顯示在函數列表的“VB 函數”(VB functions) 或“C 函數”(C functions) 下。
● 用戶自定義函數
如果在用戶自定義函數中使用系統函數,可以在選擇列表中進行選擇。要打開選擇列
表,請使用快捷鍵或單擊? 。
局部腳本 (RT Professional)
可將局部腳本用于以下操作:
● 動態化對象
可使用局部腳本確定運行系統中某對象屬性的值。例如,通過此方法可根據變量值更改
顏色。
● 在任意時間點執行任務。
可使用局部腳本規劃工作,例如在每天換班交接時打印輸出日志。
局部腳本的屬性
在使用的位置直接創建局部腳本。局部腳本具有以下屬性:
● 預定義名稱
● 預定義參數
● 預定義返回值(可選)
● 只能在使用的位置進行更改
● 不具有觸發器
● 調用自定義函數、系統函數
觸發器
在運行系統中執行局部腳本時需要使用觸發器。觸發器可以在創建局部腳本時自動確定,也可以由項目經理指定。
WinCC 支持以下觸發器:
● 非周期性觸發器,例如,規劃單次終止運行系統以進行維護工作。
● 周期性觸發器,例如,規劃一項啟動日常日志打印的作業。
● 事件,例如,單擊按鈕時。
下表列出了不同類型的觸發器:
觸發器可用于以下編輯器:
● 調度程序
首先需要在調度程序中組態觸發器。然后將該觸發器連接到局部腳本或函數列表。
● 畫面
要對對象屬性做動態化處理,首先應在相應畫面的屬性列表中組態局部腳本。
在創建局部腳本時會自動確定觸發器。可更改該觸發器,例如可更改為變量觸發器。
關于函數列表的基礎知識
原理
針對對象(例如畫面對象或任務等)的事件來組態函數列表。可以將函數列表精確地組態到每個事件上??捎檬录Q于所選擇的對象和HMI設備。
組態函數列表
通過從下拉列表中選擇系統函數和自定義函數來組態函數列表。系統函數根據類別排列在選擇列表中。
在函數列表中只能使用屬于同一種編程語言的自定義函數。選擇的首個用戶自定義函數將決定隨后在該函數列表中可選擇的是用戶自定義 VB 函數還是用戶自定義 C 函數。哪些編程語言可用取決于所選的 HMI 設備。
步驟
要組態函數列表,請按如下步驟進行操作:
1. 打開對象所在的編輯器。
2. 選擇對象。
3. 在巡視窗口中單擊“屬性 > 事件”(Properties> Events)。選擇要對其組態函數列表的事件。
4. 在巡視窗口的下拉列表中標記“<添加函數>”() 條目。
5. 從選擇列表中選擇所需的系統函數或用戶自定義函數。也可輸入該系統函數或用戶自定義函數的名稱。
系統函數或自定義函數已輸入到函數列表中。
6. 如果該系統函數或自定義函數具有參數,則為參數選擇合適的值。
7. 如果要向函數列表中添加其它系統函數或用戶自定義函數,請重復步驟 4) 到步驟 6)。
函數列表組態已經完成。除了組態的事件,函數列表的狀態也顯示在巡視窗口中。在運行系統中發生組態的事件時,函數列表從上至下執行一遍。
更改系統函數或自定義函數的順序
1. 在函數列表中選擇所需的系統函數或自定義函數。
2. 然后在巡視窗口中單擊相應的方向箭頭,直到該系統函數或自定義函數移動到所需位置。
“腳本”編輯器 (Panels, RT Advanced, RT Professional)
“腳本”編輯器具有諸如自動完成和語法突出顯示等功能,有助于用戶自定義函數的創建。
可以使用“指令”(Instructions) 任務卡插入頻繁使用的指令的代碼模板。
訪問 HMI 變量 (Panels, RT Advanced, RT Professional)
通過 VBS 或 C,可訪問項目中已創建的 HMI 變量??稍谶\行系統中通過用戶自定義函數更改或讀取 HMI 變量的值。
還可創建局部變量,作為計數器或緩沖器。每個局部變量都必須經過初始化,以防止由于錯誤寫入局部變量而導致的錯誤。
HMI 變量
● WinCC Runtime Advanced 和面板
在變量映像中創建的變量值將保存在用戶自定義函數中。然后,會將變量值更新為設置周期時間。用戶自定義函數首先會訪問上一個周期中讀取的變量值。
如果變量名稱與項目中 VBS 的命名約定匹配,則可按如下方式在用戶自定義函數中使用該變量。
'VBS_Example_03
If BeltDriveOilTemperature > 100 Then [instruction]
如果項目中的變量名稱與 VBS 命名約定不匹配,則必須通過“SmartTags”列表引用該變量。在以下示例中,變量名稱包含“&”字符,其不符合 VBS 的命名約定。
'VBS_Example_04
SmartTags("Test&Trial")= 2005
● WinCC Runtime Professional
訪問功能與在 HMI 設備中使用 WinCC Runtime Advanced 和面板進行訪問相同。還可以以異步方式訪問變量值。PLC 中的變量值以異步訪問方式直接訪問。在局部腳本或用戶自定義 C 函數中按如下方式訪問變量值:
– SmartTags 列表 (VBS)
– 帶有 Read-/Write 方法的 Tags 列表 (VBS)
– GetTag 函數 (C)
– SetTag 函數 (C)
當調用方法或用戶自定義函數時,立即讀取 PLC 中的變量值。變量值并不定期更新,這與從變量映像中讀取的情況不同。
運行系統腳本
PLC 數組元素的索引可以任何數字開頭。但在 WinCC 中,始終從 0 開始索引。例如,PLC 變量“Array [1..3] of Int”映射到 WinCC 中的“Array [0..2] of Int”。在腳本中訪問數組時,須注意正確的索引順序。
訪問帶有動態名稱的 HMI 變量(WinCC Runtime Advanced 和面板)
用戶自定義 VB 函數通過變量名稱訪問變量值。可以以這樣一種方式來指定變量名稱,即變量名稱在用戶自定義函數運行時構成。
如果只是在畫面中調用用戶自定義 VB 函數且其中的 HMI 變量還用在其它位置,例如,在 I/O 字段中使用,則出于性能方面的原因,應將該 HMI 變量組態為“操作時循環”采集模式。
如果訪問用戶自定義 VB 函數且當前顯示的畫面中未使用 HMI 變量,則將 HMI 變量組態為“循環連續”采集模式。這樣可確保該變量的當前值始終可用。
示例:更換在 HMI 設備上當前顯示的操作模式。
在本示例中,使用系統函數“SetDeviceMode”在 HMI 設備上切換“在線”和“離線”模式。也可在 HMI 設備上顯示當前設置的操作模式。
已經創建一個畫面。
在該示例中需要一個 HMI 變量和一個文本列表以及下列設置:
HMI 變量:
OperatingMode 無 Bool
文本列表:
ShowOperatingMode Bit (0/1) 1: 操作模式:“在線”0: 操作模式:“離線”
步驟
1.創建上面所示的“OperatingMode”HMI 變量。
2.創建上面所示的“ShowOperatingMode”文本列表。
3. 打開畫面并插入一個可將操作模式改為“在線”的按鈕。
4. 在巡視窗口中單擊“屬性 > 事件”(Properties> Events)。選擇“按下”事件。
5. 對“按下”事件組態系統函數“SetDeviceMode”。該系統函數可在“設置”下的選擇列表中找到。
6. 為“模式”參數選擇“在線”條目。
7. 對“按下”事件組態系統函數“SetBit”。該系統函數可在“位處理”下的選擇列表中找到。
8. 從選擇列表中為參數“變量”選擇 HMI 變量“操作模式”。
9. 在過程畫面中添加一個可將操作模式改為“離線”的按鈕。
10.重復步驟 4 至 7。為“模式”參數選擇“離線”條目。組態系統函數“ResetBit”代替系統函數“SetBit”。
中間結果
在運行系統中可使用這兩個按鈕切換 HMI 設備的操作模式。
想要在 HMI 設備的輸出域中顯示當前設置的操作模式。
步驟
1. 在過程映像中創建“符號 I/O 域”。在巡視窗口中單擊“屬性 > 屬性”(Properties>
Properties)。
2. 在“常規”(General) 組中進行如下設置:
– 選擇“輸出”作為“模式”。
– 選擇文本列表“顯示操作模式”作為“文本列表”。
– 選擇“操作模式”作為“變量”。
結果
使用按鈕更改操作模式時,始終顯示 HMI 設備上當前設置的操作模式。
-
編程
+關注
關注
88文章
3615瀏覽量
93732 -
觸發器
+關注
關注
14文章
2000瀏覽量
61153 -
函數
+關注
關注
3文章
4331瀏覽量
62610 -
腳本
+關注
關注
1文章
389瀏覽量
14864
原文標題:WINCC 使用系統函數和運行系統腳本
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論