MCGS嵌入版組態軟件腳本程序的作用是編製各種特定的流程控製程序和操作處理程序提供了方便的途徑。腳本程序被封裝在一個(ge) 功能構件裏(稱為(wei) 腳本程序功能構件),在後台由獨立的線程來運行和處理。
在MCGS嵌入版組態軟件中,腳本語言是一種語法上類似Basic的編程語言。腳本程序可以應用在運行策略中,把整個(ge) 腳本程序作為(wei) 一個(ge) 策略功能塊執行,也可以在動畫界麵的事件中執行。
腳本程序編輯環境是用戶書(shu) 寫(xie) 腳本語句的地方。腳本程序編輯環境主要由腳本程序編輯框、編輯功能按鈕、MCGS嵌入版組態軟件操作對象列表和函數列表、腳本語句和表達式4 個(ge) 部分構成。
1.腳本程序編輯框用千書(shu) 寫(xie) 腳本程序和腳本注釋,用戶必須遵照MCGS嵌入版組態軟件規定的語法結構和書(shu) 寫(xie) 規範書(shu) 寫(xie) 腳本程序,否則語法檢查不能通過。
2.編輯功能按鈕提供了文本編輯的基本操作,用戶使用這些操作可以方便操作和提高編輯速度。
3.腳本語句和表達式列出了MCGS嵌入版組態軟件使用的三種語句的書(shu) 寫(xie) 形式和MCGS嵌入版組態軟件允許的表達式類型。用鼠標單擊要選用的語句和表達式符號按鈕,在腳本編輯處光標所在的位置填上語句或表達式的標準格式。例如;用鼠標單擊if~then按鈕,則MCGS嵌入版組態軟件提供一個(ge) if … then …結構,並把輸入光標停到合適的位置上。
4.MCGS嵌入版組態軟件對象和函數列表以樹結構的形式, 列出了工程中所有的窗口、策略、設備、變暈、係統支持的 各種方法、屬性以及各種函數,以供用戶快速的查找和使用。
2腳本程序的語言要素在MCGS嵌入版組態軟件中,腳本程序使用的語言非常類似普通的Basic 語言,本節將對腳本程序的語言要素進行詳細的說明。
2.1 腳本程序的數據類型
MCGS嵌入版組態軟件腳本語言使用的數據類型隻有三種
開關(guan) 型 表示開或者關(guan) 的數據類型,通常0表示關(guan) ,非0表示開。也可以作為(wei) 整數使用;
數值型 值在3.4E±38範圍內(nei) ;
字符型 最多512個(ge) 字符組成的字符串。
2.2 腳本程序的變暈、常暈及函數
變暈 腳本程序中,用戶不能定義(yi) 子程序和子函數,其中數據對象可以看作是腳本程序中的全局變暈,所有的程序段都可共用。可以用數據對象的名稱來讀寫(xie) 數據對象的值,也可以對數據對象的屬性進行操作。
開關(guan) 型、數值型、字符型三種數據對象分別對應千腳本程序中的三種數據類型。在腳本程序中不能對組對象和事件型數據對象進行讀寫(xie) 操作, 但可以對組對象進行存盤處理。
常暈
開關(guan) 型常暈 0或非0的整數,通常0表示關(guan) ,非0表示開;
數值型常暈 帶小數點或不帶小數點的數值,如 12.45, 100
字符型常暈 雙引號內(nei) 的字符串,如 “OK”,“正常”
係統變暈 MCGS嵌入版組態軟件係統定義(yi) 的內(nei) 部數據對象作為(wei) 係統內(nei) 部變暈,在腳本程序中可自由使用,在使用係統變暈時,變暈的前麵必須 加 符$號 , 如$Date 。
係統函數 MCGS嵌入版組態軟件係統定義(yi) 的內(nei) 部函數,在腳本程序中可自由使用,在使用係統函數時,函數的前麵必須加“!”符號,如!abs( )。
屬性和方法 MCGS嵌入版組態軟件係統內(nei) 的屬性和方法都是相對於(yu) MCGS嵌入版組態軟件的對象而言的,引用對象的方法可以參見下個(ge) 部分。
表達式:由數據對象(包括設計者在實時數據庫中定義(yi) 的數據對象、係統內(nei) 部數據對象和係統函數)、括號和運算符組成的運算式稱為(wei) 表達式, 表達式的計算結果稱為(wei) 表達式的值。
當表達式中包含有邏輯運算符或比較運算符時,表達式的值隻可能為(wei) 0(條件不 成立,假)或非0(條件成立,真),這類表達式稱為(wei) 邏輯表達式;當表達式中 隻包含算術運算符,表達式的運算結果為(wei) 具體(ti) 的數值時,這類表達式稱為(wei) 算術表達式;常暈或數據對象是狹義(yi) 的表達式,這些單個(ge) 暈的值即為(wei) 表達式的值。表達式值的類型即為(wei) 表達式的類型,必須是開關(guan) 型、數值型、字符型三種類型中的一種。
表達式是構成腳本程序的最基本元素,在MCGS嵌入版組態軟件的組態過程中, 也常常需要通過表達式來建立實時數據庫對象與(yu) 其他對象的連接關(guan) 係,正確輸入和構造表達式是MCGS嵌入版組態軟件的一項重要工作。
2.3 腳本程序的運算符
1.算術運算符
八 乘方、* 乘法、/ 除法、\ 整除、+ 加法、— 減法、Mod 取模運算
2.邏輯運算符
AND 邏輯與(yu) 、NOT 邏輯非、OR 邏輯或 、XOR 邏輯異或
3.比較運算符
> 大千 、>= 大千等千 、= 等千 、<= 小千等千、< 小千 、<> 不等千
4.運算符優(you) 先級
按照優(you) 先級從(cong) 高到低的順序,各個(ge) 運算符排列如下
“( )” 、 “八” 、“ *,/ ,\,Mod 、+ ,— ” 、“ < , > ,<= ,>=,= ,<> ” 、
“NOT ” 、“AND,OR,XOR”。
3 腳本程序的基本語句由千MCGS嵌入版組態軟件腳本程序是為(wei) 了實現某些多分支流程的控製及操作處理,因此包括了幾種最簡單的語句 賦值語句、條件語句、退出語句和注釋語句,同時,為(wei) 了提供一些高級的循環和遍曆功能,還提供了循環語句。所有的腳本程序都可由這五種語句組成,當需要在一個(ge) 程序行中包含多條語句時,各條語句之間須用“ ”分開,程序行也可以是沒有任何語句的空行。大多數情況下,一個(ge) 程序行隻包含一條語句,賦值程序行中根據需要可在一行上放置多條語句。
3.1腳本程序的賦值語句
賦值語句的形式為(wei) 數據對象 = 表達式。賦值號用“=”表示,它的具體(ti) 含義(yi) 是 把“=”右邊表達式的運算值賦給左邊的數據對象。賦值號左邊必須是能夠讀寫(xie) 的數據對象。例如 開關(guan) 型數據、數值型數據以及能進行寫(xie) 操作的內(nei) 部數據對象,而組對象、事件型數據對象、隻讀的內(nei) 部數據對象、係統函數以及常 暈,均不能出現在賦值號的左邊,因為(wei) 不能對這些對象進行寫(xie) 操作。
賦值號的右邊為(wei) 一表達式,表達式的類型必須與(yu) 左邊數據對象值的類型相符合,否則係統會(hui) 提示“賦值語句類型不匹配”的錯誤信息。
3.2腳本程序的條件語句
條件語句有如下三種形式
If [表達式] Then [賦值語句或退出語句]
If [表達式] Then
[語句]
End If
If [表達式]Then
[語句]
Else
[語句]
End If
條件語句中的四個(ge) 關(guan) 鍵字“If”、“Then”、“Else”、“End if”不分大小寫(xie) 。如拚寫(xie) 不正確,檢查程序會(hui) 提示出錯信息。
3.3腳本程序的循環語句
循環語句為(wei) While和EndWhile,其結構為(wei)
While [條件表達式]
….
EndWhile
當條件表達式成立時(非零),循環執行While和EndWhile之間的語句。直到條件表達式不成立(為(wei) 零)時退出。
3.4腳本程序的退出語句
退出語句為(wei) “Exit”,用千中斷腳本程序的運行,停止執行其後麵的語句。
一般在條件語句中使用退出語句以便在某種條件下,停止並退出腳本程序的執行。
3.5腳本程序的注釋語句
以單引號“’”開頭的語句稱為(wei) 注釋語句,注釋語句在腳本程序中隻起到注
釋說明的作用,實際運行時,係統不對注釋語句作任何處理。
4腳本程序的調試腳本程序編製完成後,係統將首先對程序代碼進行檢查,以確認腳本程序的編寫(xie) 是否正確。檢查過程中,如果發現腳本程序有錯誤,則會(hui) 顯示相應的出錯信息, 以提示可能的出錯原因幫助用戶查找和排除錯誤。常見的提示信息有
1.組態設置正確,沒有錯誤。
2.未知變暈。
3.未知表達式。
4.未知的字符型變暈。
5.未知的操作符。
6.未知函數。
7.函數參數不足。
8.括號不配對。
9.IF 語句缺少ENDIF。
10.IF 語句缺少THEN。
11.ELSE 語句缺少對應的IF語句。
12.ENDIF 缺少對應的 IF 語句。
13.未知的語法錯誤。
根據係統提供的錯誤信息作出相應的改正,係統檢查通過後可以在運行環境中運行。這樣達到簡化組態過程、優(you) 化控製流程的目的。
5腳本程序的實例MCGS嵌入式組態係統內(nei) 嵌255個(ge) 係統計時器。計時器號的係統序號為(wei)
1—255,以1號計數器為(wei) 例,要求用按鈕啟動、停止1號計數器,使1號計數器複位,給1號計數器限製最大值。函數的具體(ti) 應用可以看“在線幫助”。計時器的運行效果圖如圖12-1所示。具體(ti) 製作過程操作如下
1.建立計數器所需要的變暈。
在MCGS組態軟件開發平台上,單擊“實時數據庫”,點擊“新增對象”按 鈕,新增四個(ge) 變暈 計數器1號、計數器1號工作狀態、顯示時間、計數器1號最大值。分別按照如圖12-2所示進行設置。
2. 製作用戶窗口畫麵。
在MCGS組態軟件開發平台上,單擊“用戶窗口”,再雙擊“腳本程序”窗 口,進入“動畫組態”,從(cong) “工具箱”中選中5次“標簽”,按效果圖放置,分別為(wei) 1號計數器操作演示,1號計數器計數,1號計數器時間顯示,1號計數器工作狀態,1號計數器最大值。再從(cong) “工具箱”中選中3次“標簽”,按效果圖放置,作為(wei) “1號計數器計數”、“時間顯示”、“1號計數器工作狀態顯 示”在運行時對應顯示用,從(cong) 工具箱”中選中“輸入框”,針對“1號計數器最大值”運行時進行輸入。所用到的數據變暈 計數器1號、時間顯示、計數器1號工作狀態、計數器1號最大值在變暈的屬性設置中進行設置。計 時器的運行效果圖如圖12-1所示。
圖12-1 計時器的運行效果圖
3. 用戶窗口畫麵變暈連接設置
(1)先對三個(ge) 顯示輸出框進行變暈連接,如圖12-2至12-6所示。
圖12-2 計數器的變暈設置
圖12-3 用戶窗口的窗口設置
圖12-4 計數器計數的顯示框設置
圖12-5 計數器1號時間顯示的顯示框設置
圖12-6 計數器1號工作狀態的顯示框設置
(2)計數器1號最大值的輸入框進行變暈連接設置,如圖12-7所示。
圖12-7 計數器1號最大值的輸入框設置
4.腳本程序注釋
啟動計數器的腳本程序為(wei) !TimerRun(1)
停止計數器計數的腳本程序為(wei) !TimerStop(1)
計數器複位的腳本程序為(wei) !TimerReset(1,0)
計數器最大值腳本程序為(wei) !TimerSetLimit(1,計數器1號最大值,0)
用戶窗口的腳本程序為(wei) ww w.PLCworld.cn
計數器1號=!TimerValue(1,0)
計數器1號時間顯示= $Time
計數器1號工作狀態=!TimerState(1)
對4個(ge) 標準按鈕進行屬性設置,如圖12-8至12-11所示。
圖12-8 啟動計數器標準按鈕屬性設置
圖12-9 停止計數器計數標準按鈕屬性設置
圖12-10 計數器複位標準按鈕屬性設置
圖12-11 計數器最大值標準按鈕屬性設置
5.編輯用戶窗口的腳本程序,如圖12-12所示。
圖12-12 編輯用戶窗口的腳本程序
腳本程序編寫(xie) 完成後,按“檢查”按鈕,檢查腳本程序語法正確與(yu) 否,當語法正確後按“確定”按鈕完成腳本程序的設置, 退出循環腳本編輯窗口。進入模擬運行環境時,就會(hui) 按照腳本程序編寫(xie) 的計數器的使用方式出現相應的工作狀態,計數器實例工程文件放在光盤內(nei) 可參考使用。
5.2 字符串分解實例
在實際應用過程中經常要用到字符串操作。例如 對西門子200係列PLC中的“V數據存儲(chu) 器”進行處理。下麵以字符串轉換應用工程為(wei) 例進行講述功能如下;輸入一個(ge) 0到9999的某個(ge) 數,先要把這個(ge) 數轉換為(wei) 字符串,不足四位字符時,前麵補“0”,對字符串進行分解,分解後先轉換為(wei) 相應的ASCII 碼,再用16進製表示,字符串轉換具體(ti) 製作過程下麵詳細介紹。字符串分解的運行效果圖如圖12-13所示。
圖12-13 字符串分解的運行效果圖
1.建立計數器所需要的變暈
在MCGS組態軟件開發平台上,單擊“實時數據庫”,點擊“新增對象”按鈕,新增10個(ge) 變暈 數據顯示1、數據顯示2、數據顯示3、數據顯示4、數值輸入、為(wei) 數值型的,字符串分解1、字符串分解2、字符串分解3、字符串分解4、字符串顯示為(wei) 字符串型的。窗口屬性設置如下,其中 字符串分解2、字符串分解3、字符串分解4屬性設置隻需要把“顯示輸出”中“表達式”中的“字符串分解1”改為(wei) “字符串分解2”、“字符串分解3”、“字符串分解4”;其中數據顯示2、數據顯示3、數據顯示4屬性設置隻需要把“顯示輸出”中“表達式”中的“數據顯示1” 相應地改為(wei) “數據顯示2”、“數據顯示3”、“數據顯示4”即可。分別以代表性變暈為(wei) 例參照設置,如圖12-14所示。
圖12-14 數據變暈的建立
2. 製作用戶窗口畫麵
在MCGS組態軟件開發平台上,單擊“用戶窗口”,再雙擊“腳本程序”窗 口,進入“動畫組態”,從(cong) “工具箱”中選中3次“標簽”,按效果圖放置,顯示文字分別為(wei) 字符串操作、輸入數值、字符串顯示、字符串分解、數值顯示。再從(cong) “工具箱”中選中“輸入框”,放在“輸入數值”後麵,從(cong) “工具箱” 中選中“標簽”,放在“字符串顯示”後麵,用千顯示字符串。窗口的構件設置如圖12-15至12-18所示,窗口的整體(ti) 畫麵設置為(wei) 如圖12-19所示。
圖12-15 輸入框屬性設置
圖12-16 字符串顯示輸出框屬性設置
圖12-17 字符串顯示輸出框屬性設置
圖12-18 字符串顯示輸出框屬性設置
圖12-19 字符串操作的窗口畫麵
3. 用戶窗口畫麵變暈連接設置
從(cong) “工具箱”中選中3次“標準按鈕”,分別拖放到桌麵適當位置,按鈕名分別為(wei) 數值轉變為(wei) 字符串、字符串分解為(wei) 單個(ge) 字符、字符轉為(wei) ASCII碼用16進製顯示。
4.腳本程序編寫(xie) 分別設置為(wei) 如圖12-20至12-2所示的窗口畫麵
(1) 數值轉變為(wei) 字符串的腳本程序為(wei)
字符串顯示=!right('0000'+!Str(數值輸入),4 )
(2)字符串解為(wei) 單個(ge) 字符的腳本程序為(wei)
字符串分解1=!left(字符串顯示,1w)ww.PLCworld.cn
字符串分解2=!mid(字符串顯示,2,1)
字符串分解3=!mid(字符串顯示,3,1)
字符串分解4=!right(字符串顯示,1)
(3)字符串轉為(wei) ASCCI碼用16進製顯示的腳本程序為(wei)
數據顯示1=!Val(!I2Hex(!Ascii2I(字符串分解1)))
數據顯示2=!Val(!I2Hex(!Ascii2I(字符串分解2)))
數據顯示3=!Val(!I2Hex(!Ascii2I(字符串分解3)))
數據顯示4=!Val(!I2Hex(!Ascii2I(字符串分解4)))
圖12-20 數值轉變為(wei) 字符串的按鈕設置
圖12-21 字符串解為(wei) 單個(ge) 字符的按鈕設置
圖12-22 字符串轉為(wei) ASCCI碼用16進製顯示的按鈕設置
腳本程序輸入完成後點擊檢查按鈕,確認正確後退出。用戶窗口的畫麵組態完成後,可以用“編輯條” 中的工具進行調整相應的構件的位置關(guan) 係。
腳本程序編寫(xie) 完成後按“檢查”按鈕,檢查腳本程序語法正確與(yu) 否。當語法正確後按 確定 按鈕完成腳本程序的設置,退出循環腳本編輯窗口。進入模擬運行環境時,就會(hui) 按照腳本程序編寫(xie) 的字符串分解實例進行工作字符串分解實例工程文件放在光盤內(nei) 可參考使用。
總結:介紹了MCGS嵌入版組態軟件腳本程序的屬性設置,以及腳本程序的分類和腳本程序編寫(xie) 時候的注意事項。最後通過兩(liang) 個(ge) 應用的腳本程序的實例工程進行講解使學生動手獨立完成腳本程序的實例工程。通過本章的學習(xi) 使學生能夠進一步了解MCGS嵌入版組態軟件腳本程序屬性設置的相關(guan) 功能。
(文章來源網絡,僅(jin) 供參考。評論處大家可以補充文章解釋不對或欠缺的部分)