腳本程序 MCGS_第1頁
腳本程序 MCGS_第2頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、腳本程序,什么是腳本程序,腳本程序是一種需要在特定的宿主程序中運(yùn)行的程序。 腳本程序的編程語法類似于Basic語言。 用戶腳本程序是由用戶編制的、用來完成特定操作和處理的程序。,腳本程序應(yīng)用場(chǎng)合,在“腳本程序”策略構(gòu)件中使用。 在“標(biāo)準(zhǔn)按鈕”的“腳本程序”中使用。 在事件響應(yīng)中使用腳本函數(shù)。 在“菜單”的“腳本程序”中使用。 在“用戶窗口”的“啟動(dòng)腳本”、“循環(huán)腳本”、“退出腳本”中使用。,腳本程序基本語句,腳本程序是為了實(shí)現(xiàn)流程的控制及對(duì)象操作處理,包括了幾種最簡(jiǎn)單的語句:賦值語句、條件語句、循環(huán)語句、退出語句和注釋語句。,賦值語句,賦值語句的形式為:數(shù)據(jù)對(duì)象 = 表達(dá)式。 賦值號(hào)左邊必須是

2、能夠讀寫的數(shù)據(jù)對(duì)象。 賦值號(hào)的右邊為表達(dá)式,表達(dá)式的類型必須與左邊數(shù)據(jù)對(duì)象值的類型相符合。 液位1=7 液位1=液位2 液位1=液位1/2,條件語句,條件語句有如下三種形式: If 表達(dá)式 Then 語句 If 表達(dá)式 Then 語句 EndIf If 表達(dá)式Then If 表達(dá)式 Then 語句 EndIf Else 語句 EndIf,條件語句允許多級(jí)嵌套,即條件語句中可以包含新的條件語句,MCGS腳本程序的條件語句最多可以有8級(jí)嵌套。 “IF”語句的表達(dá)式的值為真,條件成立,執(zhí)行“Then”后的語句,否則,條件不成立,將不執(zhí)行該條件塊中包含的語句,開始執(zhí)行該條件塊后面的語句。 值為字符型的

3、表達(dá)式不能作為“IF”語句中的表達(dá)式。,循環(huán)語句,循環(huán)語句為While和EndWhile,其結(jié)構(gòu)為: While 條件表達(dá)式 . EndWhile 當(dāng)條件表達(dá)式成立時(shí)(非零),循環(huán)執(zhí)行While和EndWhile之間的語句。直到條件表達(dá)式不成立(為零),退出。,退出語句,退出語句為“Exit”,用于中斷腳本程序的運(yùn)行,停止執(zhí)行其后面的語句。一般在條件語句中使用退出語句,以便在某種條件下,停止并退出腳本程序的執(zhí)行。,注釋語句,以單引號(hào)開頭的語句稱為注釋語句,注釋語句在腳本程序中只起到注釋說明的作用,實(shí)際運(yùn)行時(shí),系統(tǒng)不對(duì)注釋語句作任何處理。,系統(tǒng)變量,MCGS系統(tǒng)變量是MCGS建立的內(nèi)部數(shù)據(jù)對(duì)象,

4、在腳本程序中可自由使用,但只能讀不能寫。在使用內(nèi)部變量時(shí)變量的前面必須加“$”符號(hào)。 如 $Year ,$Month ,$Date,$UserName 等 。 Data= $Date,系統(tǒng)函數(shù),MCGS定義的系統(tǒng)函數(shù)是一系列用于完成MCGS內(nèi)部對(duì)象操作和常用數(shù)學(xué)運(yùn)算的函數(shù),根據(jù)功能可分為運(yùn)行環(huán)境操作函數(shù);數(shù)據(jù)對(duì)象操作函數(shù);系統(tǒng)操作函數(shù);文件操作函數(shù);數(shù)學(xué)函數(shù)等。 系統(tǒng)函數(shù)在腳本程序中可自由使用,在使用系統(tǒng)函數(shù)時(shí),函數(shù)的前面必須加“!”符號(hào),如!abs( )。,運(yùn)行環(huán)境操作函數(shù),運(yùn)行環(huán)境操作函數(shù)完成對(duì)窗口的操作。 !CloseAllWindow(WndName) 關(guān)閉指定窗口外的所有窗口 !Ge

5、tWindowName(Index) !GetWindowState(WndName) 返回0:用戶窗口處于關(guān)閉狀態(tài);返回1:用戶窗口處于打開狀態(tài);返回2:用戶窗口處于隱藏狀態(tài)。 !SetWindow(WndName,Op) 1打開窗口并使其可見;2打開窗口并使其不可見;3關(guān)閉窗口;4打印窗口;5:刷新窗口。 !SysWindow(),用戶窗口操作,完成對(duì)運(yùn)行策略的操作 !ChangeLoopStgy(StgyName,n) !EnableStgy(StgyName,n) 打開或關(guān)閉某個(gè)策略;n:1打開此策略,0關(guān)閉此策略 !GetStgyName(Index) !SetStgy(StgyNa

6、me),完成對(duì)設(shè)備構(gòu)件的操作 !GetDeviceName(Index) !GetDeviceState(DevName) -1調(diào)用不正常;1 設(shè)備處于正常的工作狀態(tài);2 設(shè)備正在工作,但設(shè)備不正常;3 設(shè)備處于停止工作狀態(tài),且設(shè)備正常;4 設(shè)備處于停止?fàn)顟B(tài),且設(shè)備有錯(cuò)。 !SetDevice(DevName,DevOp,CmdStr) 1啟動(dòng)設(shè)備開始工作;2停止設(shè)備的工作使其處于停止?fàn)顟B(tài);3測(cè)試設(shè)備的工作狀態(tài);4啟動(dòng)設(shè)備工作一次;5改變?cè)O(shè)備的工作周期CmdStr中包含新的工作周期,單位為ms;6執(zhí)行指定的設(shè)備命令,CmdStr中包含指定命令的格式。 !SetDevice(SimensPLC,

7、6,“Write(Q0.1=1)”),設(shè)備操作,MCGS對(duì)象,MCGS數(shù)據(jù)對(duì)象。 MCGS操作對(duì)象包括工程中用戶窗口、動(dòng)畫構(gòu)件和設(shè)備構(gòu)件等。,屬性 事件 方法,屬性可以視為對(duì)象的特性,方法可以視為對(duì)象的操作,事件可以視為對(duì)象的響應(yīng)。,數(shù)據(jù)對(duì)象方法 SaveData 保存數(shù)據(jù)對(duì)象。 SaveDataInitValue 保存數(shù)據(jù)對(duì)象的當(dāng)前值為初始值 SaveDataOnTime(參數(shù)1,參數(shù)2) 按照指定時(shí)間保存數(shù)據(jù)對(duì)象的值 AnswerAlm 應(yīng)答當(dāng)前報(bào)警。,在MCGS組態(tài)軟件系統(tǒng)中,每個(gè)對(duì)象都是由系統(tǒng)的屬性和方法構(gòu)成。使用操作符“.”,可以在腳本程序或使用表達(dá)式的地方,調(diào)用對(duì)象相應(yīng)的屬性和方法

8、。例如:液位.Value可以取得的當(dāng)前值;液位.SaveData( )可以實(shí)現(xiàn)數(shù)據(jù)對(duì)象的存盤。,PID算法,按偏差的比例、積分和微分進(jìn)行控制的調(diào)節(jié)器簡(jiǎn)稱為PID( Proportional - Integral - Differential )調(diào)節(jié)器。 PID調(diào)節(jié)是連續(xù)系統(tǒng)中技術(shù)最成熟、應(yīng)用最廣泛的一種調(diào)節(jié)方式,其調(diào)節(jié)的實(shí)質(zhì)是根據(jù)輸入的偏差值,按比例、積分、微分的函數(shù)關(guān)系進(jìn)行運(yùn)算,其運(yùn)算結(jié)果用于輸出控制。,PID控制實(shí)現(xiàn)的控制方式 模擬方式:用電子電路調(diào)節(jié)器,在調(diào)節(jié)器中,將被測(cè)信號(hào)與給定值比較,然后把比較出的差值經(jīng)PID電路運(yùn)算后送到執(zhí)行機(jī)構(gòu),改變給進(jìn)量,達(dá)到調(diào)節(jié)之目的。 數(shù)字方式:用計(jì)算機(jī)進(jìn)

9、行PID運(yùn)算,將計(jì)算結(jié)果轉(zhuǎn)換成模擬量,輸出去控制執(zhí)行機(jī)構(gòu)。, 比例積分微分調(diào)節(jié)器,數(shù)字PID控制算法 用數(shù)值逼近的方法實(shí)現(xiàn)PID控制規(guī)律 數(shù)值逼近的方法:用求和代替積分、用后向差分代替微分,使模擬PID離散化為差分方程 兩種形式:位置式、增量式, 位置式PID控制算法,位置式控制算法提供執(zhí)行機(jī)構(gòu)的位置uk,需要累計(jì)ek,增量式PID控制算法,增量式控制算法提供執(zhí)行機(jī)構(gòu)的增量uk ,只需要保持 現(xiàn)時(shí)以前3個(gè)時(shí)刻的偏差值即可,對(duì)應(yīng)的腳本程序如下: 偏差2=偏差1 上上次偏差 偏差1=偏差 上次偏差 偏差=設(shè)定值測(cè)量值 本次偏差 比例=比例系數(shù)*(偏差偏差1) 比例作用 if 積分時(shí)間=0 then

10、 積分作用 積分=0 else 積分=比例系數(shù)*采樣周期 *偏差/積分時(shí)間 endif 微分=比例系數(shù)*微分時(shí)間*(偏差2*偏差1+偏差2)/采樣周期 微分作用 增量=比例+積分+微分 增量輸出 位置=前次位置+增量 位置輸出 if 位置=位置最大值then 位置=位置最大值 超出位置最大值,位置位置最大值 if 位置=位置最小值then 位置=位置最小值 超出位置最小值,位置位置最小值 前次位置=位置 為下循環(huán)準(zhǔn)備,偏差,偏差1,偏差2,比例系數(shù),微分時(shí)間,積分時(shí)間,比例,微分,積分,增量,位置,前次位置,帶死區(qū)的PID控制,在控制系統(tǒng)中為了避免控制動(dòng)作過于頻繁,設(shè)置一個(gè)可調(diào)的參數(shù)e0,當(dāng)系統(tǒng)偏差 時(shí),控制量的增量 ,即此時(shí)控制系統(tǒng)維持原

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論