《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 其他 > 設(shè)計(jì)應(yīng)用 > 基于DCS與MATLAB的車輛傳動(dòng)系統(tǒng)仿真平臺(tái)數(shù)據(jù)通信的實(shí)現(xiàn)
基于DCS與MATLAB的車輛傳動(dòng)系統(tǒng)仿真平臺(tái)數(shù)據(jù)通信的實(shí)現(xiàn)
摘要: 本文以履帶車輛傳動(dòng)系統(tǒng)為例,,基于國(guó)電智深的EDPF-NT系統(tǒng)和MATLAB建立車輛傳動(dòng)系統(tǒng)仿真平臺(tái),。在此平臺(tái)上,,在EDPF-NT系統(tǒng)中開發(fā)車輛傳動(dòng)系統(tǒng)電控模擬器,,控制傳動(dòng)系統(tǒng)的運(yùn)行。使用MATLAB構(gòu)建傳動(dòng)系統(tǒng)模型,模擬傳動(dòng)系統(tǒng)的運(yùn)行。該平臺(tái)可以方便的模擬傳動(dòng)系統(tǒng)的換檔過(guò)程,為優(yōu)化換擋策略,,提高傳動(dòng)系統(tǒng)的整體性能提供較好的仿真環(huán)境。
Abstract:
Key words :

  1引言

  目前,,分散控制系統(tǒng)(DCS)已廣泛用于石油,、化工、電力,、冶金等工業(yè)控制領(lǐng)域,。在DCS的實(shí)際工程應(yīng)用中,通常需要根據(jù)不同的控制對(duì)象設(shè)計(jì)出具體的控制方案,,然后在DCS上通過(guò)控制組態(tài)的方式進(jìn)行實(shí)現(xiàn),。但是由于實(shí)際工程的限制,新設(shè)計(jì)出的控制策略與算法很難有機(jī)會(huì)在現(xiàn)場(chǎng)進(jìn)行測(cè)試,。因此,,有必要設(shè)計(jì)出被控對(duì)象的仿真模型供DCS測(cè)試時(shí)使用。

  近年來(lái),,出現(xiàn)了MATLAB這種功能強(qiáng)大并在控制領(lǐng)域被廣泛應(yīng)用的軟件,,使用它可以很方便地為各種被控對(duì)象建立仿真模型。如能將DCS和MATLAB兩者相連,,由DCS完成控制運(yùn)算功能,,MATLAB提供被控對(duì)象的仿真模型。將充分發(fā)揮兩者的優(yōu)勢(shì),,同時(shí)也能為科研人員開發(fā)新的控制策略和算法給予極大的幫助,。

  本文以履帶車輛傳動(dòng)系統(tǒng)為例,基于國(guó)電智深的EDPF-NT系統(tǒng)和MATLAB建立車輛傳動(dòng)系統(tǒng)仿真平臺(tái),。在此平臺(tái)上,,在EDPF-NT系統(tǒng)中開發(fā)車輛傳動(dòng)系統(tǒng)電控模擬器,,控制傳動(dòng)系統(tǒng)的運(yùn)行。使用MATLAB構(gòu)建傳動(dòng)系統(tǒng)模型,,模擬傳動(dòng)系統(tǒng)的運(yùn)行,。該平臺(tái)可以方便的模擬傳動(dòng)系統(tǒng)的換檔過(guò)程,為優(yōu)化換擋策略,,提高傳動(dòng)系統(tǒng)的整體性能提供較好的仿真環(huán)境,。仿真平臺(tái)的總體結(jié)構(gòu)如圖1所示,。

仿真平臺(tái)的總體結(jié)構(gòu)

圖1仿真平臺(tái)的總體結(jié)構(gòu)

  2仿真平臺(tái)硬件組成

  在構(gòu)建傳動(dòng)系統(tǒng)仿真平臺(tái)時(shí),,首先要解決硬件的設(shè)計(jì)問(wèn)題。它主要由EDPF-NT系統(tǒng)的工程師站,、DPU卡,、COM卡、I/O卡和上位機(jī)組成,。工程師站的功能是進(jìn)行組態(tài)及設(shè)計(jì)控制方案,,而上位機(jī)主要是運(yùn)行傳動(dòng)系統(tǒng)MATLAB模型和數(shù)據(jù)通信程序。

  3仿真平臺(tái)數(shù)據(jù)通信的實(shí)現(xiàn)

  在進(jìn)行傳動(dòng)系統(tǒng)仿真平臺(tái)構(gòu)建過(guò)程中,,實(shí)現(xiàn)平臺(tái)內(nèi)數(shù)據(jù)快速準(zhǔn)確的通信是重點(diǎn)研究的內(nèi)容,,主要解決EDPF-NT系統(tǒng)與MATLAB的數(shù)據(jù)通信。出于安全性的考慮,,EDPF-NT系統(tǒng)的數(shù)據(jù)庫(kù)只允許讀取而不允許寫入,,所以EDPF-NT系統(tǒng)與MATLAB模型的數(shù)據(jù)通信要分三部分實(shí)現(xiàn),首先是在工程師站讀取EDPF-NT系統(tǒng)實(shí)時(shí)數(shù)據(jù)并發(fā)送給上位機(jī),,其次是MATLAB模型讀取送至上位機(jī)的EDPF-NT系統(tǒng)數(shù)據(jù),,最后是在上位機(jī)中將MATLAB模型運(yùn)行后的數(shù)據(jù)通過(guò)COM卡送入EDPF-NT系統(tǒng)。

  3.1EDPF-NT系統(tǒng)數(shù)據(jù)讀取

  EDPF-NT系統(tǒng)的數(shù)據(jù)以特定的格式存儲(chǔ)于數(shù)據(jù)庫(kù)中,,不能直接讀寫,。國(guó)電智深為了方便用戶對(duì)于數(shù)據(jù)的使用,提供了可以被VC,、VB等軟件調(diào)用的NTClient.dll文件,,用戶可以通過(guò)NTClient.dll提供的函數(shù)來(lái)讀取EDPF-NT系統(tǒng)的實(shí)時(shí)數(shù)據(jù)。本文采用VB開發(fā)了讀取EDPF-NT系統(tǒng)數(shù)據(jù),,同時(shí)利用Winsock控件將讀取的數(shù)據(jù)發(fā)送到上位機(jī)的程序,。此程序分為三部分:

  1)聲明NTClient.dll提供的函數(shù);

  2)讀取EDPF-NT系統(tǒng)的數(shù)據(jù),;

  3)發(fā)送數(shù)據(jù)到上位機(jī),。

  3.2MATLAB對(duì)EDPF-NT數(shù)據(jù)的調(diào)用

  作為當(dāng)前最流行的仿真軟件,MATLAB在控制系統(tǒng)分析與設(shè)計(jì)中起著重要作用,。但是MATLAB本身不提供底層通信接口,,必須使用其它方法實(shí)現(xiàn)網(wǎng)絡(luò)上的數(shù)據(jù)通信,。所以由EDPF-NT系統(tǒng)工程師站送至上位機(jī)的數(shù)據(jù)首先使用VB編寫的程序接收,接下來(lái)通過(guò)OPC技術(shù)實(shí)現(xiàn)對(duì)這些數(shù)據(jù)的調(diào)用,。

  在不同的程序間傳遞數(shù)據(jù)時(shí)需要選擇合適的通信接口,,為此引入工控行業(yè)的軟件接口標(biāo)準(zhǔn)OPC(OLEforProcessContro1)技術(shù)。OPC技術(shù)試圖按照標(biāo)準(zhǔn)的方法解決不同程序,、設(shè)備之間的數(shù)據(jù)交換問(wèn)題,,它采用服務(wù)器/客戶端模式,只要提供了具有統(tǒng)一OPC接口的服務(wù)器,,即可按照一致的OPC客戶端接口訪問(wèn)服務(wù)器,,實(shí)現(xiàn)數(shù)據(jù)交換。

  MATLAB可以作為ActiveX自動(dòng)化控制器,,通過(guò)ActiveX自動(dòng)化控制器技術(shù),,用戶可以在MATLAB中,通過(guò)編寫M文件對(duì)ActiveX自動(dòng)化服務(wù)器進(jìn)行各種控制,。利用VB開發(fā)使用OPC自動(dòng)化接口的OPCAxtiveX控件,,在OPCAxtiveX控件中添加通信模塊,接收EDPF-NT系統(tǒng)的數(shù)據(jù),,并將這些數(shù)據(jù)賦給OPCAxtiveX控件的屬性值,,通過(guò)MATLAB獲取OPCAxtiveX控件中對(duì)應(yīng)的屬性值,就可以實(shí)現(xiàn)在OPC技術(shù)下MATLAB對(duì)EDPF-NT系統(tǒng)數(shù)據(jù)的調(diào)用,。

  首先是建立OPCAxtiveX控件,,并在內(nèi)部工作變量的初始化中設(shè)置網(wǎng)絡(luò)。其次在OPCAxtiveX程序中添加網(wǎng)絡(luò)通信代碼,,完成對(duì)EDPF-NT系統(tǒng)工程師站送到上位機(jī)的數(shù)據(jù)進(jìn)行接收,。最后將接收到的數(shù)據(jù)賦給ActiveX控件屬性值,生成OPCAxtiveX控件,,并注冊(cè),。用于數(shù)據(jù)接收的OPCAxtiveX控件就可以被MATLAB來(lái)使用了。

   在MATLAB使用一個(gè)ActiveX組件前,,必須要找到對(duì)象的名字,,即ProglD,另外還要了解對(duì)象用到的方法,、屬性和事件,。利用這些信息,通過(guò)ActiveX客戶支持就可以在MATLAB中應(yīng)用這個(gè)對(duì)象,。

 

  利用actxcontrol函數(shù)來(lái)生成一個(gè)ActiveX組件,,實(shí)現(xiàn)MATLAB和OPC之間的通信。

  在圖形窗口中生成一個(gè)ActiveX組件語(yǔ)法為:

  h=actxcontro1(progid[,position[,handle···[,callback{event1eventhander1,;···event2eventhandler2,;}]]])

  用get,、set、invoke,、propedit,、release和delete等函數(shù)可以操作OPCAxtiveX控件,最終實(shí)現(xiàn)MATLAB對(duì)EDPF-NT數(shù)據(jù)的調(diào)用。

  3.3EDPF-NT系統(tǒng)數(shù)據(jù)輸入實(shí)現(xiàn)

  在前文提到,,出于安全性的考慮,,EDPF-NT系統(tǒng)數(shù)據(jù)庫(kù)的數(shù)據(jù)只允許讀取,不能直接寫入,。所以必須使用Modbus協(xié)議通過(guò)COM卡將MATLAB模型運(yùn)行后的數(shù)據(jù)送到EDPF-NT系統(tǒng),。在VB中使用ModbusMaster通信控件,可以方便的作為Master向Modbus的Slave(COM卡)發(fā)送數(shù)據(jù),。

  在向EDPF-NT系統(tǒng)傳輸數(shù)據(jù)時(shí),,需要設(shè)置好相應(yīng)的通信參數(shù),,包括端口,、波特率、響應(yīng)超時(shí)時(shí)間,、數(shù)據(jù)位格式(RTU/ASCII),、校驗(yàn)方式、停止位以及和COM卡相關(guān)的從站地址和發(fā)送數(shù)據(jù)時(shí)COM的物理起始地址,。

  MATLAB模型每次運(yùn)行結(jié)束后,,就會(huì)自動(dòng)將數(shù)據(jù)通過(guò)Modbus網(wǎng)絡(luò)送到EDPF-NT系統(tǒng)的COM卡,EDPF-NT系統(tǒng)將讀取送至COM卡的數(shù)據(jù),。

  4數(shù)據(jù)通信測(cè)試

  在軟硬件調(diào)試完成后,,以手動(dòng)換檔為例來(lái)測(cè)試平臺(tái)的數(shù)據(jù)通信是否準(zhǔn)確可靠。首先使平臺(tái)處于運(yùn)轉(zhuǎn)狀態(tài),,在EDPF-NT系統(tǒng)開發(fā)的傳動(dòng)電控模擬器上進(jìn)行控制,。電控模擬器操作界面如圖3所示。

電控模擬器操作界面

圖3電控模擬器操作界面

  EDPF-NT系統(tǒng)的控制信號(hào)可以迅速地發(fā)送給上位機(jī)中的傳動(dòng)系統(tǒng)模型,,控制模型的運(yùn)行,,同時(shí)上位機(jī)又將模型運(yùn)行后得到的數(shù)據(jù)發(fā)回EDPF-NT系統(tǒng),并在電控模擬器的界面上顯示,。

  測(cè)試時(shí),,在電控模擬器上進(jìn)行操作,從一檔逐次換到四檔,。位于上位機(jī)中的傳動(dòng)系統(tǒng)模型接收換檔控制信號(hào)后,,按照所給的檔位運(yùn)行,運(yùn)行后得到的傳動(dòng)系統(tǒng)變速箱輸出轉(zhuǎn)速曲線如圖4所示,。

傳動(dòng)系統(tǒng)變速箱輸出轉(zhuǎn)速曲線

  通過(guò)測(cè)試可以看到,,仿真平臺(tái)內(nèi)的數(shù)據(jù)通信迅速,、準(zhǔn)確、可靠,,能夠滿足仿真實(shí)驗(yàn)的要求,。

  5結(jié)論

  本文針對(duì)基于國(guó)電智深EDPF-NT系統(tǒng)和MATLAB的車輛傳動(dòng)系統(tǒng)仿真平臺(tái)中不同設(shè)備、軟件間數(shù)據(jù)不能共享的問(wèn)題,,提供了比較完善的解決方法,,實(shí)現(xiàn)了整個(gè)平臺(tái)內(nèi)的數(shù)據(jù)通信,運(yùn)行表明整個(gè)仿真平臺(tái)運(yùn)行良好,,數(shù)據(jù)通信準(zhǔn)確迅速,,為車輛傳動(dòng)系統(tǒng)的研究提供了的幫助。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。