一種基于工業(yè)PC的軟PLC控制系統(tǒng)_第1頁(yè)
一種基于工業(yè)PC的軟PLC控制系統(tǒng)_第2頁(yè)
一種基于工業(yè)PC的軟PLC控制系統(tǒng)_第3頁(yè)
一種基于工業(yè)PC的軟PLC控制系統(tǒng)_第4頁(yè)
一種基于工業(yè)PC的軟PLC控制系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀, 繼續(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è)PC的軟PLC控制系統(tǒng)首先介紹了基于PC的控制系統(tǒng)的發(fā)展?fàn)顩r以及軟PLC技術(shù)的概念和組成結(jié)構(gòu)。然后詳細(xì)地?cái)⑹隽嘶诠I(yè)PC的軟PLC的軟、硬件實(shí)現(xiàn)方案,最后給出了應(yīng)用實(shí)例。0、引言 基于PC的控制系統(tǒng)是國(guó)際上繼PLC和DCS之后推出的工業(yè)控制系統(tǒng)。目前在工業(yè)控制領(lǐng)域,基于PC的控制系統(tǒng)得到日益廣泛的應(yīng)用。同時(shí)由于計(jì)算機(jī)軟、硬件技術(shù)的迅速發(fā)展以及工控領(lǐng)域國(guó)際編程標(biāo)準(zhǔn)-IEC 61131-3的制定和推廣應(yīng)用,在工業(yè)PC上以軟件技術(shù)實(shí)現(xiàn)PLC的功能,即軟PLC技術(shù),成為一項(xiàng)新興的技術(shù)。 1、基于PC的軟PLC控制系統(tǒng)的發(fā)展現(xiàn)狀 1.1 IEC 61131-3國(guó)際編程標(biāo)準(zhǔn)1 IEC 611

2、31國(guó)際標(biāo)準(zhǔn)的制訂是軟PLC技術(shù)發(fā)展的一個(gè)重要基礎(chǔ)。為了規(guī)范工業(yè)控制領(lǐng)域的編程語言,20世紀(jì)90年代初,IEC(國(guó)際電工委員會(huì))頒布了IEC 61131國(guó)際標(biāo)準(zhǔn)。該標(biāo)準(zhǔn)共分八個(gè)部分,依次包括:基本概念、硬件裝置和測(cè)試、編程語言標(biāo)準(zhǔn)、用戶指南、通信服務(wù)規(guī)范、現(xiàn)場(chǎng)總線通信(未公布)、模糊控制語言和編程實(shí)施方針。其中IEC 61131-3是PLC編程語言標(biāo)準(zhǔn),它詳細(xì)地說明了句法、語義和5種編程語言:指令表(Instruction),結(jié)構(gòu)化文本(Structured Text),順序功能圖(Sequential Function Diagram),梯形圖(Ladder Diagram),功能塊圖(Fu

3、nction Block Diagram)。在這五種編程語言中,指令表和結(jié)構(gòu)化文本是文本語言,易于實(shí)現(xiàn)一些復(fù)雜的算法;順序功能圖、梯形圖和功能塊圖是圖形語言,它們則擅長(zhǎng)處理邏輯控制。同時(shí)該標(biāo)準(zhǔn)還允許在同一項(xiàng)目中,使用多種語言進(jìn)行混合編程,而且支持POU(程序組織單元)的重復(fù)使用,為不同知識(shí)背景的編程人員提供了方便。 1.2 基于PC的軟PLC控制系統(tǒng)的發(fā)展現(xiàn)狀4 目前,國(guó)外許多工業(yè)控制系統(tǒng)開發(fā)商正在發(fā)展基于PC的控制系統(tǒng),推出了符合IEC 61131-3標(biāo)準(zhǔn)的產(chǎn)品。在國(guó)內(nèi)市場(chǎng)上常見的控制產(chǎn)品有:法國(guó)CJ International公司的ISaGRAF,德國(guó)KW公司的MULTIPROG,BECK

4、HOFF公司的TWinCAT以及SOFTPLC公司的SoftPLC等。作為典型的基于PC的控制系統(tǒng),西門子公司的WinAC在國(guó)內(nèi)得到了廣泛的應(yīng)用。 1.3 基于PC的軟PLC控制系統(tǒng)的優(yōu)點(diǎn) 軟PLC基于PC機(jī),建立在PC機(jī)的軟、硬件平臺(tái)之上,因此具有PC機(jī)的優(yōu)點(diǎn)和PLC的特性。 具有良好的開放性。全面支持Windows、Linux等操作系統(tǒng),通過OPC或DDE等通信方式易于與第三方的產(chǎn)品集成運(yùn)行。其硬件結(jié)構(gòu)不再封閉,用戶可以選擇不同的I/O模塊來滿足自己的要求。 具有廣泛的兼容性。軟PLC的技術(shù)是基于IEC 61131-3標(biāo)準(zhǔn)的,用戶在掌握了標(biāo)準(zhǔn)語言后,開發(fā)比較容易。由于該標(biāo)準(zhǔn)繼承了傳統(tǒng)PLC

5、的編程方式,因此不同知識(shí)背景的工程人員容易接受和使用。 可以節(jié)省投資。與傳統(tǒng)的PLC解決方案相比,基于PC的軟PLC由于其良好的開放性和兼容性,可以大大減少設(shè)備投資和系統(tǒng)的集成費(fèi)用。 性價(jià)比日益提高。PC處理器的速度日益提高,充分利用CPU的超強(qiáng)速度容易實(shí)現(xiàn)數(shù)據(jù)處理、多回路調(diào)節(jié)和多任務(wù)。 基于以上原因,許多學(xué)者就軟PLC控制系統(tǒng)的實(shí)現(xiàn)方案作了相應(yīng)的探討,在此,筆者設(shè)計(jì)了一種基于工業(yè)PC的軟PLC控制系統(tǒng)。 2、基于工業(yè)PC的軟PLC控制系統(tǒng)的實(shí)現(xiàn) 2.1 系統(tǒng)的硬件結(jié)構(gòu)搭建 該軟PLC控制系統(tǒng)的硬件平臺(tái)選用的是凌華PACK-610工業(yè)計(jì)算機(jī),I/O板卡分別選用的是研華公司的PCI-1710,P

6、CL-720和中泰公司的PC6311。在工業(yè)PC中可以驅(qū)動(dòng)多塊板卡,根據(jù)被控對(duì)象而定。系統(tǒng)結(jié)構(gòu)如圖1。圖1 系統(tǒng)結(jié)構(gòu)圖 2.2 軟PLC系統(tǒng)的軟件實(shí)現(xiàn) 該軟PLC系統(tǒng)由編程系統(tǒng)和運(yùn)行系統(tǒng)構(gòu)成。編程系統(tǒng)用來完成PLC應(yīng)用程序的開發(fā),運(yùn)行系統(tǒng)負(fù)責(zé)對(duì)整個(gè)系統(tǒng)的管理和對(duì)應(yīng)用程序的執(zhí)行。由于編程系統(tǒng)和運(yùn)行系統(tǒng)運(yùn)行于同一臺(tái)工控機(jī),所以兩者之間的通信采用了動(dòng)態(tài)連接庫(kù)(DLL)函數(shù)的方法實(shí)現(xiàn)數(shù)據(jù)交換。系統(tǒng)整體框圖如圖2。圖2 軟PLC系統(tǒng)框圖 (1)編程系統(tǒng) 按照IEC 61131-3的標(biāo)準(zhǔn),編程系統(tǒng)中提供了對(duì)整個(gè)工程的管理、資源配置和POU(程序組織單元)的編輯調(diào)試功能。POU包括程序、功能塊和函數(shù),其中程

7、序可以調(diào)用程序、功能塊和函數(shù);功能塊可以調(diào)用功能塊和函數(shù);函數(shù)可以互相調(diào)用。 工程管理功能提供了整個(gè)工程所需文件的管理,在這個(gè)工程中可以同時(shí)用五種語言編程來實(shí)現(xiàn)控制功能。POU編輯功能包含兩個(gè)窗口:一個(gè)是變量定義窗口,在此用戶可以聲明POU所需的元素,這些變量包含局部變量、外部變量,而且用戶還可以聲明相應(yīng)的功能塊和函數(shù)的名稱。另外一個(gè)窗口則是程序的編輯窗口,用戶在此可以編輯圖形語言的程序和文本語言的程序。此外,在編程系統(tǒng)中還可以嵌入復(fù)雜的控制算法,如智能PID算法等。 調(diào)試工具欄包含編譯和調(diào)試功能:編譯功能是將用戶創(chuàng)建的圖形或者文本程序編譯成運(yùn)行系統(tǒng)可以執(zhí)行的目標(biāo)代碼,同時(shí)也提供了語法語義的檢

8、查功能。就調(diào)試功能而言,用戶可以下載程序,而且可以在線仿真和調(diào)試。 (2)運(yùn)行系統(tǒng) 運(yùn)行系統(tǒng)的主要功能有三個(gè):與編程系統(tǒng)的通信、目標(biāo)代碼的執(zhí)行和各種I/O硬件的驅(qū)動(dòng)。 為了便于軟件的日后維護(hù)和升級(jí),將運(yùn)行系統(tǒng)和編程系統(tǒng)分開,以便于移植到不同的硬件平臺(tái)。兩者的通信依靠動(dòng)態(tài)連接庫(kù)提供的函數(shù),以下是動(dòng)態(tài)連接庫(kù)提供的函數(shù): PlcNetInitialize(); / 通信初始化 PlcNetShutDown(); / 關(guān)閉通信 PlcNetSendData();/ 接收數(shù)據(jù) PlcNetRecData();/ 發(fā)送數(shù)據(jù) PlcNetGetRxStatus();/ 得到通信就緒信號(hào) 在運(yùn)行系統(tǒng)的工程中加

9、入動(dòng)態(tài)連接庫(kù)的導(dǎo)入庫(kù)文件IPCDrv.lib,這樣就可以在運(yùn)行系統(tǒng)中調(diào)用這些庫(kù)函數(shù)了。當(dāng)程序運(yùn)行時(shí),即可啟動(dòng)編程系統(tǒng)和運(yùn)行系統(tǒng)的數(shù)據(jù)交換軟PLC運(yùn)行系統(tǒng)虛擬機(jī)是運(yùn)行系統(tǒng)的核心,也是整個(gè)軟PLC系統(tǒng)的核心。它一方面負(fù)責(zé)處理操作系統(tǒng)的服務(wù)請(qǐng)求,另一方面對(duì)應(yīng)用程序進(jìn)行管理和執(zhí)行。程序執(zhí)行時(shí),首先為應(yīng)用程序分配內(nèi)存,將程序加載到分配好的內(nèi)存里,然后在虛擬機(jī)中解釋并執(zhí)行編程系統(tǒng)下載的目標(biāo)代碼。該運(yùn)行系統(tǒng)虛擬機(jī)支持IEC 61131-3標(biāo)準(zhǔn)規(guī)定的100余種函數(shù)、功能塊和操作符。使用虛擬機(jī)技術(shù),可以方便地將運(yùn)行系統(tǒng)移植到不同的硬件平臺(tái)。 運(yùn)行系統(tǒng)的I/O驅(qū)動(dòng)模塊直接驅(qū)動(dòng)具體的硬件。為了完成與I/O模塊的數(shù)據(jù)

10、交換,運(yùn)行系統(tǒng)在內(nèi)存中開辟了一個(gè)段表,稱為I/O映象區(qū)域。這個(gè)I/O映象區(qū)域在編程系統(tǒng)和運(yùn)行系統(tǒng)之間起一個(gè)橋梁的作用,其作用是將編程系統(tǒng)定義的某一個(gè)地址的物理變量直接映射到段表的某一個(gè)地址,并根據(jù)這個(gè)地址的偏移量來操作具體的硬件。 這個(gè)段表分成四段,依次為:段頭(header),輸入?yún)^(qū)(input),輸出區(qū)(output)和標(biāo)志區(qū)(maker)。段表的段頭占用6個(gè)字節(jié)(byte),從0到5,定義了整個(gè)段的長(zhǎng)度,輸入和輸出各占用的字節(jié)數(shù)等。輸入?yún)^(qū)從6開始,也就是輸入?yún)^(qū)的偏移量(offset)是6,如果將輸入的變量值放在輸入?yún)^(qū)的第1個(gè)字節(jié)(byte),則該變量的地址是7。如果輸入?yún)^(qū)的長(zhǎng)度占有2個(gè)字

11、節(jié)數(shù),則輸出區(qū)的偏移量是8,這樣輸出變量的地址應(yīng)該加上偏移量8。標(biāo)志區(qū)(maker)則用來存放中間變量。原理如圖3所示。圖3 I/O映象原理圖 I/O驅(qū)動(dòng)模塊中提供了四個(gè)函數(shù),依次為: LzsEnvInitialize (void);/ 初始化過程 LzsEnvShutDown (void);/ 關(guān)閉過程 LzsEnvWriteProcImg ();/ 寫過程映象 LzsEnvReadProcImg ();/ 讀過程映象 按照上面的原理,以研華板卡PCI-1710為例,為了讀寫編程系統(tǒng)中定義的三個(gè)變量(地址分別為%IX0.5、%IX1.6、%QX0.7)其主要代碼如下: LzsEnvReadP

12、rocImg() ptDioReadBit.port = 0; /讀輸入?yún)^(qū)的第零個(gè)字節(jié) ptDioReadBit.bit = 6; /讀輸入?yún)^(qū)第零個(gè)字節(jié)的第六位,編程系統(tǒng)中的地址為%IX0.5 ptDioReadBit.state = &usState; / 返回值 dwErrCde = DRV_DioReadBit(lDriverHandle, (LPT_DioReadBit)&ptDioReadBit); *(LZSBYTE*)pProcImgSeg_p+0) = usState; 寫過程映象,也按照上面的方法。整個(gè)系統(tǒng)在Visual C+6.0環(huán)境下開發(fā),目前,已對(duì)多個(gè)試驗(yàn)對(duì)象實(shí)現(xiàn)成功控

13、制。 3、應(yīng)用實(shí)例 按照以上的系統(tǒng)構(gòu)建方案,控制對(duì)象既有開關(guān)量又有模擬量,分別為五層電梯模型和三容液位水槽。 (1)對(duì)于電梯模型的控制而言,主要涉及到開關(guān)量信號(hào),故采用梯形圖編程語言。以研華公司的PCL-720板卡為I/O硬件,PCL-785B繼電器板卡將信號(hào)放大,已對(duì)五層電梯模型實(shí)現(xiàn)控制。部分梯形圖程序如圖4。圖4 電梯控制梯形圖 (2)三容液位水槽是一個(gè)強(qiáng)耦合、變結(jié)構(gòu)的復(fù)雜被控對(duì)象,在此采用了PID算法。由于結(jié)構(gòu)化文本是一種類pascal語言,擅長(zhǎng)一些復(fù)雜算法和模擬信號(hào)的控制,故采用結(jié)構(gòu)化文本語言,以中泰公司的PC6311板卡作為I/O硬件,應(yīng)用PID算法對(duì)三容液位水槽實(shí)現(xiàn)成功控制。部分代

14、碼如下: VAR t : ton; t_in,t_out : bool; aoutport0_1 :REAL AT %QX2.0; ain_1 :REAL AT %IX6.0; END_VAR /以上聲明了中間變量和輸入輸出變量 if now_f 2.0 then now_control := 4.96; aoutport0_1 := now_control; else if now_f 2.64 then now_control := k_p * now_e; aoutport0_1 := now_control + 1.01; else control_error_p := k_p * (now_e - past_e); control_error_i := k_i * now_e; control_error_d := k_d * (now_e - 2.0 * past_e + pp

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論