孫 超,李 萌,董國創(chuàng)
(西安航天動(dòng)力研究所,陜西 西安 710100)
為滿足預(yù)研液體火箭發(fā)動(dòng)機(jī)測(cè)控系統(tǒng)[1-3]結(jié)構(gòu)復(fù)雜化、控制需求的高精度、高實(shí)時(shí)、控制任務(wù)及控制對(duì)象多樣化的需求,保證發(fā)動(dòng)機(jī)在研制過程的各項(xiàng)試驗(yàn)順利進(jìn)行,本文研究一種以工業(yè)控制總線控制器局域網(wǎng)(controller area network,CAN)[4-5]和應(yīng)用層協(xié)議CANopen[6-7]為基礎(chǔ)架構(gòu)的綜合測(cè)控系統(tǒng)。CAN是一種高性能、高可靠性、易開發(fā)低成本的多主總線結(jié)構(gòu),是20世紀(jì)80年代創(chuàng)立以來應(yīng)用最廣泛的工業(yè)控制總線之一,CANopen[8-10]協(xié)議是CAN-in-automation(CiA)定義的標(biāo)準(zhǔn)之一,建立在CAN總線的物理層之上,基于CANopen協(xié)議的CAN總線與以往基于RS422總線的發(fā)動(dòng)機(jī)測(cè)控系統(tǒng)相比,具備以下優(yōu)勢(shì):
1)CAN總線使用多主從方式工作,總線網(wǎng)絡(luò)中各節(jié)點(diǎn)可采用無損結(jié)構(gòu)的仲裁方式向總線中任意節(jié)點(diǎn)發(fā)送數(shù)據(jù)。RS422只能工作于單主從方式,通訊方式只能按照主節(jié)點(diǎn)輪詢的方式進(jìn)行,不利于數(shù)據(jù)通訊實(shí)時(shí)性和后期系統(tǒng)主節(jié)點(diǎn)拓展。
2)CAN總線通訊距離長,可靠性高,最多可支持110個(gè)節(jié)點(diǎn),CAN總線通訊速率與距離的關(guān)系如表1所示,RS422最大傳輸距離為1 200 m,最多只支持10個(gè)接收節(jié)點(diǎn),最大距離只支持最大100 kbps。
表1 CAN總線系統(tǒng)任意節(jié)點(diǎn)通訊距離與速率對(duì)應(yīng)表
3)采用對(duì)通信數(shù)據(jù)編碼的方式代替地址編碼,可以使不同節(jié)點(diǎn)同時(shí)接收數(shù)據(jù),使CAN總線具備通訊高實(shí)時(shí)性。
4)開發(fā)周期短,維護(hù)成本低。
本文研究的液體火箭發(fā)動(dòng)機(jī)試車綜合測(cè)控系統(tǒng)可以滿足液體火箭發(fā)動(dòng)機(jī)試車長距離、高可靠數(shù)據(jù)通訊需求,并且對(duì)于實(shí)現(xiàn)分布式伺服控制系統(tǒng)[11-13],液體火箭發(fā)動(dòng)機(jī)智能化控制[14-15]的研制具有深遠(yuǎn)的意義。
測(cè)控系統(tǒng)[16]由試驗(yàn)臺(tái)、控制器和電源模塊構(gòu)成,其中試驗(yàn)臺(tái)包括工業(yè)控制計(jì)算機(jī)、CAN通訊模塊組成;控制器包括伺服驅(qū)動(dòng)器、直流電源模塊、LVDT線性位移傳感器;電源模塊為28 V/5 A直流電源和220 V電源。測(cè)控系統(tǒng)的控制對(duì)象為滾軸絲杠機(jī)組,滾軸絲杠機(jī)組是交流永磁同步電機(jī)旋轉(zhuǎn)位移和燃?xì)夥至鏖y線性位移之間的轉(zhuǎn)換和傳動(dòng)裝置,滾軸絲杠機(jī)組的線性位移對(duì)應(yīng)燃?xì)夥至鏖y的開度位置,控制器通過改變滾軸絲杠機(jī)組的線性位置從而改變?nèi)細(xì)夥至鏖y的開度,最終調(diào)節(jié)發(fā)動(dòng)機(jī)推力大小,系統(tǒng)結(jié)構(gòu)及工作原理如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu)及工作原理圖Fig.1 System architecture and working principle diagram
本文所述的綜合測(cè)控系統(tǒng)按照系統(tǒng)功能主要分為:
1)燃?xì)夥至鏖y開度位置及速度控制功能??筛鶕?jù)用戶的控制指令控制伺服電機(jī)的位置和速度從而達(dá)到控制燃?xì)夥至鏖y開度的目的。
2)實(shí)時(shí)運(yùn)動(dòng)數(shù)據(jù)監(jiān)測(cè)及存儲(chǔ)功能??稍谌?xì)夥至鏖y動(dòng)作過程中實(shí)時(shí)上傳位置、速度、電流等重要過程數(shù)據(jù)并存儲(chǔ)。
3)伺服驅(qū)動(dòng)器參數(shù)管理功能:查詢或更新伺服驅(qū)動(dòng)器的重要參數(shù),例如電機(jī)加速度、PID參數(shù)等。
4)燃?xì)夥至鏖y開度自動(dòng)時(shí)序控制功能:主要是針對(duì)試車過程中分流閥的開度時(shí)序控制,預(yù)配置開度值與時(shí)刻的序列表,待啟動(dòng)信號(hào)觸發(fā)后自動(dòng)執(zhí)行對(duì)燃?xì)夥至鏖y的開度控制。
5)系統(tǒng)故障監(jiān)測(cè)及保護(hù)功能:監(jiān)測(cè)伺服驅(qū)動(dòng)器電壓、電流等參數(shù)信息,設(shè)置燃?xì)夥至鏖y位置及轉(zhuǎn)速超差保護(hù)功能,避免損壞控制對(duì)象機(jī)械結(jié)構(gòu)。
6)人機(jī)界面交互功能。主要指運(yùn)行與工業(yè)控制計(jì)算機(jī)中的綜合控制軟件可響應(yīng)用戶輸入的操作指令和參數(shù)值,并發(fā)送至控制器完成相應(yīng)的動(dòng)作。
2.1.1 運(yùn)動(dòng)控制子協(xié)議DSP402及其應(yīng)用
伺服驅(qū)動(dòng)器嵌入式軟件中使用了標(biāo)準(zhǔn)伺服運(yùn)動(dòng)控制子協(xié)議DSP402[17-18],該協(xié)議是工作狀態(tài)跳轉(zhuǎn)的控制流程,其運(yùn)動(dòng)控制狀態(tài)機(jī)如圖2所示。
圖2 DSP402控制狀態(tài)機(jī)Fig.2 The control state machine of DSP402
在發(fā)動(dòng)機(jī)燃?xì)夥至鏖y早期研制階段,使用綜合測(cè)控系統(tǒng)進(jìn)行分流閥開度調(diào)節(jié)時(shí)需要實(shí)時(shí)監(jiān)測(cè)分流閥開度位置,分流閥開度位置到達(dá)開度限位時(shí),需要立即控制伺服電機(jī)停止動(dòng)作,避免損壞分流閥整體機(jī)械結(jié)構(gòu),綜合測(cè)控軟件使用DSP402運(yùn)動(dòng)控制子協(xié)議控制狀態(tài)機(jī)進(jìn)行設(shè)計(jì),在驅(qū)動(dòng)器監(jiān)測(cè)到電流過流后,立即執(zhí)行“錯(cuò)誤”處理策略,驅(qū)動(dòng)器立即中斷電機(jī)控制使能信號(hào),控制電機(jī)停止轉(zhuǎn)動(dòng)。
2.1.2 CANopen協(xié)議模型及其應(yīng)用
CANopen設(shè)備包括通訊模型、對(duì)象字典、應(yīng)用程序3部分[19-20],如圖3所示。其中對(duì)象字典是設(shè)備與設(shè)備之間進(jìn)行交互的接口,提供了完全訪問應(yīng)用程序的途徑。通訊模型指CANopen網(wǎng)絡(luò)中的通訊消息(報(bào)文)的內(nèi)容和功能,主要分為:管理報(bào)文、特殊功能對(duì)象、服務(wù)數(shù)據(jù)對(duì)象SDO及過程數(shù)據(jù)對(duì)象PDO[21-23]。
圖3 CANopen設(shè)備組成Fig.3 Equipment composition of CANopen
本文所述的試車綜合測(cè)控系統(tǒng)的核心任務(wù)之一是通過長距離可靠數(shù)據(jù)通訊控制伺服電機(jī)按照既定的工況時(shí)序點(diǎn)序列(指令位置—時(shí)間)執(zhí)行動(dòng)作,從而達(dá)到調(diào)節(jié)控制燃?xì)夥至鏖y出口壓力的目的。
在完成此任務(wù)時(shí),需要保證控制指令響應(yīng)延時(shí)小于10 ms,同時(shí)需要在試驗(yàn)過程中以20 ms周期上傳電機(jī)實(shí)際位置、電機(jī)實(shí)際轉(zhuǎn)速、電機(jī)母線電流及電壓等過程數(shù)據(jù),以實(shí)現(xiàn)對(duì)試車現(xiàn)場(chǎng)被控對(duì)象的監(jiān)測(cè)及故障保護(hù)。為完成上述的過程數(shù)據(jù)的同步實(shí)時(shí)傳輸并保證控制指令實(shí)時(shí)響應(yīng),使用CANopen協(xié)議獨(dú)特的數(shù)據(jù)字典及PDO/SDO數(shù)據(jù)通訊方式可以高效完成此項(xiàng)任務(wù)。
2.1.3 數(shù)據(jù)字典的應(yīng)用
在進(jìn)行力矩特性分析試驗(yàn)過程中,由于伺服電機(jī)帶負(fù)載特性需要進(jìn)行試驗(yàn)驗(yàn)證,因此綜合測(cè)控軟件需要根據(jù)試驗(yàn)時(shí)電機(jī)負(fù)載特性實(shí)時(shí)更改伺服驅(qū)動(dòng)器的運(yùn)動(dòng)控制參數(shù)。CANopen協(xié)議的數(shù)據(jù)字典可以使用標(biāo)準(zhǔn)的伺服控制協(xié)議對(duì)伺服驅(qū)動(dòng)器的運(yùn)動(dòng)參數(shù)進(jìn)行在線下載/上傳,實(shí)現(xiàn)試驗(yàn)過程中對(duì)伺服電機(jī)轉(zhuǎn)速、加速度、母線電流保護(hù)等參數(shù)的在線更新,以滿足研制階段不斷變化的負(fù)載特性對(duì)于運(yùn)動(dòng)控制參數(shù)的要求,其使用方式如圖4所示。
圖4 數(shù)據(jù)字典在測(cè)控系統(tǒng)中的應(yīng)用Fig.4 Application of object dictionary in measurement and control system
2.1.4 SDO和PDO對(duì)象的應(yīng)用
服務(wù)數(shù)據(jù)對(duì)象SDO通過索引和子索引訪問服務(wù)器對(duì)象字典,通訊采用請(qǐng)求/應(yīng)答的方式,作為參數(shù)配置、信息查詢的方式,具體實(shí)現(xiàn)方式如圖5所示。
圖5 SDO服務(wù)數(shù)據(jù)對(duì)象報(bào)文發(fā)送/接收Fig.5 SDO service object message transmitting/receiving
過程數(shù)據(jù)對(duì)象PDO:通過索引和子索引傳輸實(shí)時(shí)數(shù)據(jù),PDO映射可以實(shí)現(xiàn)指定數(shù)據(jù)字典數(shù)據(jù)項(xiàng)發(fā)送/接收,分為TPDO和RPDO,PDO數(shù)據(jù)對(duì)象的觸發(fā)方式可分為同步觸發(fā)和異步觸發(fā)方式,PDO通道傳輸數(shù)據(jù)的內(nèi)容和傳輸方式均需要通過SDO對(duì)象進(jìn)行預(yù)配置[24-25],PDO通道配置方式如圖6所示。
圖6 PDO通道配置Fig.6 PDO channel configuration
本文所述綜合測(cè)控系統(tǒng)將試車臺(tái)和現(xiàn)場(chǎng)的CAN總線通訊數(shù)據(jù)類型分為參數(shù)類型和過程類型,參數(shù)類型數(shù)據(jù)指不需要在試驗(yàn)過程中實(shí)時(shí)下載/上傳的數(shù)據(jù),例如伺服驅(qū)動(dòng)器PID控制參數(shù)、電機(jī)極對(duì)數(shù)等參數(shù);過程類型數(shù)據(jù)指需要在試驗(yàn)過程中實(shí)時(shí)下載/上傳的數(shù)據(jù),例如電機(jī)實(shí)際位置、實(shí)際轉(zhuǎn)速、母線電壓和電流等。對(duì)于以上兩種類型的數(shù)據(jù),參數(shù)類型數(shù)據(jù)使用SDO服務(wù)數(shù)據(jù)對(duì)象進(jìn)行數(shù)據(jù)封裝和傳輸,過程類型數(shù)據(jù)使用PDO過程數(shù)據(jù)對(duì)象進(jìn)行封裝并完成周期同步傳輸,SDO和PDO在綜合測(cè)控系統(tǒng)中使用方式如圖7所示。其中:
圖7 SDO和PDO在測(cè)控系統(tǒng)中的使用方式Fig.7 SDO′s and PDO′s usage in the measurement and control system
步驟①是根據(jù)PDO通道攜帶的物理數(shù)據(jù),使用SDO對(duì)象配置PDO通道的載體數(shù)據(jù)的索引值。
步驟②使用SDO對(duì)象使能PDO通道數(shù)據(jù)的傳輸。
步驟③表示TPDO和RPDO對(duì)象傳輸?shù)臏y(cè)控系統(tǒng)物理數(shù)據(jù)。使用這種方式可以實(shí)現(xiàn)過程數(shù)據(jù)實(shí)時(shí)上傳,并且數(shù)據(jù)的替換和后期維護(hù)方便,不需要更改數(shù)據(jù)通訊協(xié)議數(shù)據(jù)區(qū)的內(nèi)容,只需要替換對(duì)象的索引,增強(qiáng)了測(cè)控系統(tǒng)軟件的維護(hù)性。
2.2.1 綜合控制軟件架構(gòu)
綜合控制軟件設(shè)計(jì)按照功能劃分為前臺(tái)程序和后臺(tái)程序,前臺(tái)程序響應(yīng)人機(jī)交互的指令和數(shù)據(jù),在發(fā)送線程中響應(yīng)用戶通過人機(jī)交互界面執(zhí)行的操作指令,進(jìn)行數(shù)據(jù)處理后按照CANopen協(xié)議要求構(gòu)建CAN數(shù)據(jù)報(bào)文放入發(fā)送數(shù)據(jù)隊(duì)列,同時(shí)在接收線程中獲取伺服驅(qū)動(dòng)器上傳的CAN報(bào)文并根據(jù)CANopen協(xié)議進(jìn)行數(shù)據(jù)包解析,獲取伺服驅(qū)動(dòng)器上傳的運(yùn)動(dòng)數(shù)據(jù)、狀態(tài)信息和參數(shù)值;后臺(tái)程序按照20 ms周期發(fā)送/接收CAN總線報(bào)文,發(fā)送與接收操作間隔10 ms,保證CAN總線數(shù)據(jù)交互穩(wěn)定性,綜合控制軟件架構(gòu)如圖8所示。
圖8 綜合控制軟件設(shè)計(jì)Fig.8 Integrated control software design
2.2.2 綜合控制軟件功能模塊
根據(jù)發(fā)動(dòng)機(jī)試車功能需求,將綜合控制軟件進(jìn)行了邏輯功能劃分,主要包括:機(jī)組找零模塊、動(dòng)作檢查模塊、試車參數(shù)模塊、試車模塊及設(shè)備參數(shù)/信息模塊。
1)機(jī)組找零模塊
該模塊實(shí)現(xiàn)滾軸絲杠機(jī)組運(yùn)動(dòng)至機(jī)械限位點(diǎn)的功能,需要向伺服驅(qū)動(dòng)器發(fā)送“找零”指令并對(duì)機(jī)組“找零”動(dòng)作過程進(jìn)行實(shí)時(shí)監(jiān)測(cè),該模塊支持找零運(yùn)動(dòng)模式(Home)參數(shù)在線配置。找零功能配置/啟動(dòng)/停止按照伺服驅(qū)動(dòng)器指令集要求進(jìn)行適配,具體方式如圖9所示。
圖9 CANopen協(xié)議實(shí)現(xiàn)找零功能Fig.9 CANopen protocol inplements "Home" function
找零模塊使用伺服驅(qū)動(dòng)器的特殊控制模式提供了試車試驗(yàn)前燃?xì)夥至鏖y自動(dòng)調(diào)節(jié)至最小開度的功能——燃?xì)夥至鏖y停留在任意開度位置時(shí),需要將燃?xì)夥至鏖y調(diào)節(jié)至最小開度。為完成此功能采用上述的電機(jī)找零控制功能,在此功能模式下電機(jī)堵轉(zhuǎn)電流門限值較小,燃?xì)夥至鏖y開度在到達(dá)最小開度位置時(shí)可以立即控制電機(jī)停止轉(zhuǎn)動(dòng),避免對(duì)機(jī)械結(jié)構(gòu)進(jìn)行損傷。
2)動(dòng)作檢查及試車模塊
動(dòng)作檢查模塊能夠按照預(yù)配置的運(yùn)動(dòng)參數(shù)(曲線類型、指令速度、指令加/減速度)控制滾軸絲杠機(jī)組運(yùn)動(dòng),并對(duì)機(jī)組運(yùn)動(dòng)過程進(jìn)行實(shí)時(shí)數(shù)據(jù)/狀態(tài)監(jiān)測(cè)。試車模塊能夠響應(yīng)觸發(fā)信號(hào)后自動(dòng)按照預(yù)配置的時(shí)間—位置序列控制機(jī)組完成指令位置運(yùn)動(dòng),并對(duì)機(jī)組運(yùn)動(dòng)過程進(jìn)行實(shí)時(shí)數(shù)據(jù)/狀態(tài)監(jiān)測(cè)。機(jī)組按照指令位置模式配置啟動(dòng)/停止按照伺服驅(qū)動(dòng)器指令集要求進(jìn)行適配,具體實(shí)現(xiàn)方式如圖10所示,試車模塊UI界面如圖11所示。
圖10 CANopen協(xié)議實(shí)現(xiàn)指令位置模式Fig.10 CANopen protocol implements command position mode
圖11 試車UI界面Fig.11 UI interface of trial
3)試車參數(shù)模塊
試車參數(shù)模塊提供發(fā)動(dòng)機(jī)試車試驗(yàn)參數(shù)管理配置接口,采用時(shí)刻—位置序列表的方式配置機(jī)組時(shí)序工況,并提供機(jī)組運(yùn)動(dòng)參數(shù)配置接口,是試車自動(dòng)時(shí)序的設(shè)定窗口。
4)設(shè)備參數(shù)/信息模塊
設(shè)備參數(shù)/信息模塊提供伺服驅(qū)動(dòng)器工作參數(shù)查看和配置模塊,包括伺服驅(qū)動(dòng)器的保護(hù)參數(shù)、伺服控制參數(shù)、設(shè)備信息參數(shù)等。
本文所研究的綜合控制系統(tǒng)實(shí)物如圖12所示,該系統(tǒng)已經(jīng)過伺服電機(jī)性能試驗(yàn)、燃?xì)夥至鏖y總裝、發(fā)動(dòng)機(jī)液流試驗(yàn)、發(fā)動(dòng)機(jī)半系統(tǒng)聯(lián)試的驗(yàn)證。系統(tǒng)重要參數(shù)配置為:
圖12 綜合測(cè)控系統(tǒng)實(shí)物圖Fig.12 Real product picture of integrated control system
1)CAN設(shè)備通信波特率[23-25]配置為250 kbps。
2)心跳周期為100 ms。
3)PDO發(fā)送/接收周期為20 ms,SDO發(fā)送/接收周期為20 ms。
4)電機(jī)控制采用位置環(huán)控制模式。以下是應(yīng)用綜合控制系統(tǒng)的試驗(yàn)結(jié)果,各控制性能指標(biāo)完全滿足系統(tǒng)要求。
綜合測(cè)控系統(tǒng)關(guān)于CAN總線通訊的重要參數(shù)如表 2所示,主要包括CAN通訊波特率、心跳周期、PDO通訊周期、SDO通訊周期等參數(shù)。根據(jù)發(fā)動(dòng)機(jī)試驗(yàn)臺(tái)環(huán)境需求,在綜合測(cè)控系統(tǒng)過程中必須使用長度150 m的電纜,CAN通訊使用500 kbps波特率出現(xiàn)總線數(shù)據(jù)阻塞,數(shù)據(jù)通訊異?,F(xiàn)象,因此將波特率配置改為250 kbps,能夠滿足發(fā)動(dòng)機(jī)試車的通訊速度需求。
表2 系統(tǒng)重要參數(shù)
根據(jù)試車試驗(yàn)數(shù)據(jù)分析,線性位移伺服機(jī)組的指令位置響應(yīng)曲線如圖13所示,實(shí)際位置曲線與指令位置曲線基本重合,指令速度響應(yīng)曲線如圖14所示,實(shí)際速度曲線與指令曲線基本重合。位置和速度誤差曲線分別如圖15和圖16所示。
圖13 位置響應(yīng)曲線Fig.13 Position response curve
圖14 速度響應(yīng)曲線Fig.14 Speed response curve
圖15 位置誤差曲線Fig.15 Error of position curve
圖16 速度誤差曲線Fig.16 Error of speed curve
位置和速度誤差如表 3所示,位置控制誤差為0.003 mm,控制精度小于1%,完全滿足位置控制的需求;速度控制誤差為0.014 mm/s,控制精度小于0.5%,完全滿足速度控制的需求。
表3 位置和速度誤差
本文詳細(xì)論述了基于CANopen協(xié)議的綜合測(cè)控系統(tǒng)工作原理、系統(tǒng)架構(gòu)及軟件設(shè)計(jì)等內(nèi)容,并且首次在發(fā)動(dòng)機(jī)測(cè)控系統(tǒng)中應(yīng)用。對(duì)于CANopen協(xié)議的研究和基于C/C++語言的CAN總線通訊及CANopen協(xié)議棧的開發(fā),其通用性和易拓展性對(duì)后續(xù)發(fā)動(dòng)機(jī)測(cè)控系統(tǒng)研發(fā)工作的推進(jìn)具有研究意義和實(shí)用價(jià)值。