引言
PLC控制系統(tǒng)以其可靠穩(wěn)定、通用性強(qiáng)、操作簡便的優(yōu)勢,成為在工業(yè)控制領(lǐng)域使用最廣泛的控制系統(tǒng)之一。PLC產(chǎn)品均支持符合IEC 61131-3標(biāo)準(zhǔn)的編程語言,包括梯形圖(LD)、功能塊圖(FBD)、順序功能圖(SFC)、指令表(IL)、結(jié)構(gòu)化文本語言(ST)等。IEC61131-3標(biāo)準(zhǔn)極大地改進(jìn)了PLC的編程軟件質(zhì)量及提高了軟件開發(fā)效率,但在實(shí)際使用中仍存在一些問題。
1)編程環(huán)境的功能弱:PLC用戶程序的編程環(huán)境大都集成在配套組態(tài)軟件中,與專業(yè)編程軟件相比,編寫、調(diào)試、驗(yàn)證各環(huán)節(jié)在易用性、功能豐富程度等方面均有明顯差距。
2)復(fù)雜系統(tǒng)的程序?qū)崿F(xiàn)困難:上述編程語言仍采用結(jié)構(gòu)化的編程方式,編寫時需要由設(shè)計(jì)人員將控制過程抽象為具體的執(zhí)行步驟。在實(shí)現(xiàn)復(fù)雜的程序時,還需要將其分解為不同的子程序,并清晰地定義各子程序的接口。這對設(shè)計(jì)人員提出了很高的要求。另一方面,隨著計(jì)算機(jī)仿真技術(shù)的飛速發(fā)展,
出現(xiàn)了以Simulink為代表的交互式仿真平臺,擁有可視化的建模仿真環(huán)境和各種功能的專業(yè)工具包,在系統(tǒng)建模的過程就可以完成程序編程、調(diào)試、驗(yàn)證等工作。如果能夠?qū)⑼ㄟ^Simulink仿真的算法直接應(yīng)用于PLC系統(tǒng),那么工程人員就能擺脫繁瑣的控制邏輯調(diào)試和驗(yàn)證工作,從而大幅度提高工作效率。
本文以一個三環(huán)控制的交流伺服系統(tǒng)作為實(shí)例,研究使用Simulink平臺進(jìn)行仿真并完成PID參數(shù)整定,通過Simulink PLC Coder生成符合IEC 61131-3標(biāo)準(zhǔn)的結(jié)構(gòu)化文本,最終應(yīng)用于PLC系統(tǒng)的實(shí)現(xiàn)方法。本文涉及到的開發(fā)環(huán)境如下:
· Matlab R2011b
· 中控G5控制系統(tǒng)
· 中控GCSContrix組態(tài)軟件
1 交流伺服系統(tǒng)
伺服來自英文單詞Servo,指系統(tǒng)跟隨外部指令進(jìn)行人們所期望的運(yùn)動,運(yùn)動要素包括位置、速度和力矩。三環(huán)控制的交流伺服系統(tǒng),是在轉(zhuǎn)速、電流雙閉環(huán)調(diào)速系統(tǒng)的基礎(chǔ)上,再增加一個位置環(huán),具有跟隨性好、響應(yīng)快速、抗擾性強(qiáng)的優(yōu)點(diǎn),廣泛地應(yīng)用于數(shù)控機(jī)床、食品包裝、紡織、電子半導(dǎo)體、機(jī)械人等制造業(yè)。其結(jié)構(gòu)框圖如圖1所示,包括伺服電機(jī)、反饋裝置和控制器等,從內(nèi)到外分別組成電流環(huán)、速度環(huán)、位置環(huán),這樣就形成了三環(huán)控制的交流伺服系統(tǒng)。
圖 1 交流伺服系統(tǒng)結(jié)構(gòu)框圖
2 模型建立和參數(shù)計(jì)算
交流伺服系統(tǒng)的控制原理圖如圖2所示,其中ACR、ASR和APR分別為電流調(diào)試器、速度調(diào)節(jié)器和位置調(diào)節(jié)器。在工程實(shí)踐中,一般電流環(huán)和速度環(huán)采用PI調(diào)節(jié)器,位置環(huán)采用P調(diào)節(jié)器,這樣可以使系統(tǒng)取得較好的動態(tài)跟隨性和抗干擾性。
圖 2 交流伺服系統(tǒng)控制原理圖
3 Simulink仿真并生成PLC代碼
根據(jù)上面對交流伺服系統(tǒng)的建模和參數(shù)計(jì)算結(jié)果,在Simulink中構(gòu)建系統(tǒng)原理圖如圖3所示。首先通過Simulink仿真來確定位置環(huán)比例調(diào)節(jié)器系數(shù)Kp,即把Kp由小到大逐步仿真,直至系統(tǒng)發(fā)散,然后把Kp減小至系統(tǒng)無超調(diào),最后得到整定值0.49。之后按下述步驟即可生成PLC代碼。
圖 3 仿真模型
(1)仿真模型離散化
由于Simulink PLC Coder只能轉(zhuǎn)換離散模型,而上述模型為連續(xù)模型,因此在生成PLC代碼還需進(jìn)行離散化。在菜單欄選擇Tools→Control Design→ModelDiscretizer,調(diào)出Simulink Model Discretizer工具將所有環(huán)節(jié)離散化,轉(zhuǎn)換方式為Tustin,采樣時間選為0.1s。
。2)創(chuàng)建子模塊
之后將模型中除Step和Scope外的部分全部框選,創(chuàng)建為1個子模塊,并在其參數(shù)選項(xiàng)中選中“Treat as atomic unit”。為將子模塊的輸入輸出參數(shù)更清楚直觀,在子模塊內(nèi)將輸入?yún)?shù)名In1、In2改為Order、LOAd,Out1、Out2、Out3改為Current、Speed、Position,把子模塊名改為Servo。
(3)生成PLC代碼
右鍵點(diǎn)擊創(chuàng)建的子模塊,在右鍵菜單中選擇PLCCode Generation→Generate Code for Subsystem,生成PLC代碼并保存為獨(dú)立的文件。
4 PLC系統(tǒng)的應(yīng)用及效果
在完成上述步驟后,就可以將Simulink生成的PLC代碼載入到PLC控制器中運(yùn)行,這里以浙江中控的G5系列PLC系統(tǒng)為例進(jìn)行說明。打開配套的組態(tài)軟件GCSContrix,創(chuàng)建新工程,之后在主菜單欄上選擇“導(dǎo)入ST文件”,將Simulink生成的PLC代碼文件載入,這樣就在工程內(nèi)自動生成了一個名為“Servo”的自定義功能塊。該自定義功能塊有3個輸入引腳、3個輸出引腳,其中5個引腳分別名為Order、Load、Current、Speed、Position與之前Simulink中子模塊的輸入輸出參數(shù)對應(yīng),均為LREAL型變量(雙精度浮點(diǎn)型變量);另一個輸入引腳名為“ssMethodType”,為SINT型變量(短整型變量),該引腳輸入0時,該功能塊的內(nèi)部變量全部初始化為0,輸入1時該功能塊運(yùn)行。
為驗(yàn)證該功能塊的運(yùn)行效果,可以在上述工程中新建一個周期為100ms的周期性任務(wù),之后在這個任務(wù)下新建一幅功能塊圖程序;添加自定義變量并連接到功能塊的引腳,自定義變量的默認(rèn)值設(shè)為0,如圖4所示。
圖 4 功能塊程序示意圖
將工程編譯并下載到GCS控制器后,進(jìn)入控制器調(diào)試模式,依次將TAG_Order和TAG_Type的值改為1,獲得3個輸出變量的階躍響應(yīng)曲線,如圖5右側(cè)所示。并與在Simulink仿真獲得的階躍響應(yīng)曲線進(jìn)行對比,如圖5左側(cè)所示,可以發(fā)現(xiàn)PLC實(shí)際控制效果符合Simulink仿真的預(yù)期結(jié)果。
圖 5 Simulink和PLC運(yùn)行單位階躍響應(yīng)曲線對比
5 結(jié)束語
本文介紹了三環(huán)控制的交流伺服系統(tǒng)在Simulink平臺下進(jìn)行建模仿真,將控制算法通過Simulink PLCCoder自動生成了符合IEC61131-3標(biāo)準(zhǔn)的結(jié)構(gòu)化文本,繼而導(dǎo)入PLC系統(tǒng)編譯為控制程序。這種基于建模仿真的PLC控制程序設(shè)計(jì)方法,通過自動化生成PLC代碼的方式,使工程人員能夠通過仿真環(huán)節(jié)檢驗(yàn)控制算法的正確性,可以大幅調(diào)減少系統(tǒng)調(diào)試時間和工程實(shí)施周期,是一種高效的PLC復(fù)雜控制算法實(shí)現(xiàn)方法。
核心關(guān)注:拓步ERP系統(tǒng)平臺是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊(yùn)涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標(biāo)題:Simulink應(yīng)用于PLC運(yùn)動控制系統(tǒng)初探
本文網(wǎng)址:http://www.ezxoed.cn/html/support/11121516641.html