相關(guān)鏈接: 中國(guó)安全網(wǎng) 中國(guó)質(zhì)量網(wǎng) 中國(guó)論文網(wǎng) 中國(guó)資訊網(wǎng)
邢民強(qiáng),李東升,王明明,金朝海
(北京航空航天大學(xué)機(jī)械工程及自動(dòng)化學(xué)院,北京 100191)
摘要:結(jié)合目標(biāo)特性測(cè)試使用的支撐結(jié)構(gòu)控制系統(tǒng),介紹了Twin CAT與C#混合編程的優(yōu)勢(shì)。利用C#用戶(hù)界面開(kāi)發(fā)功能強(qiáng)大、運(yùn)行效率高等優(yōu)點(diǎn),借助基于PC的Twin CAT工控軟件,利用其動(dòng)態(tài)鏈接庫(kù),實(shí)現(xiàn)與C#的連接。采用Twin CAT軟PLC,結(jié)合工控機(jī)和Ether CAT端子,開(kāi)發(fā)出純PC型控制系統(tǒng),并且在目標(biāo)支撐系統(tǒng)中得到成功運(yùn)用。該混合編程數(shù)控系統(tǒng)相對(duì)于基于運(yùn)動(dòng)制卡的PC解決方案和傳統(tǒng)PLC控制技術(shù)方案具有顯著的優(yōu)越性,日后有望在數(shù)控系統(tǒng)開(kāi)發(fā)中得到廣泛應(yīng)用。
關(guān)鍵詞:Twin CAT;軟PLC; C#;混合編程;數(shù)控系統(tǒng)中圖分類(lèi)號(hào):TP273
0引言
目標(biāo)特性測(cè)試是利用雷達(dá)所接收到的目標(biāo)回波進(jìn)行對(duì)比測(cè)試而獲得目標(biāo)的雷達(dá)截面積,要提高裝備的隱身性能,就需要對(duì)其目標(biāo)特性進(jìn)行測(cè)量研究。目標(biāo)支撐系統(tǒng)是該特性測(cè)試系統(tǒng)中用于支撐待測(cè)目標(biāo)的機(jī)構(gòu),該機(jī)構(gòu)具有5根軸,用于完成檢測(cè)時(shí)所需要的升降、俯仰、旋轉(zhuǎn)等一系列方位運(yùn)動(dòng)。其中旋轉(zhuǎn)運(yùn)動(dòng)為伺服電機(jī)帶動(dòng)精密轉(zhuǎn)臺(tái)來(lái)完成;升降運(yùn)動(dòng)和俯仰運(yùn)動(dòng)均為多軸聯(lián)動(dòng),需要多軸協(xié)調(diào)完成。
1目標(biāo)支撐控制系統(tǒng)總體方案設(shè)計(jì)
目標(biāo)支撐控制系統(tǒng)組成框圖如圖1所示。
目標(biāo)支撐系統(tǒng)的控制程序主要分為兩部分:①通過(guò)Visual Studio 2008使用C#語(yǔ)言編寫(xiě)的可視化界面程序;②使用Twin CAT編寫(xiě)的底層控制程序。C#語(yǔ)言通過(guò)在引用中添加.d11(Dynamic Link Library)動(dòng)態(tài)鏈接庫(kù)文件,可以方便地實(shí)現(xiàn)對(duì)Twin CAT的調(diào)用,實(shí)現(xiàn)混合編程。通過(guò)應(yīng)用Twin CAT中的NC PTP(Numerical Control Point To Point)運(yùn)動(dòng)控制技術(shù),對(duì)底層電機(jī)進(jìn)行控制。PC與總線端子及執(zhí)行設(shè)備之間的通信和控制是通過(guò)以太網(wǎng)TCP/IP通信協(xié)議以及現(xiàn)場(chǎng)總線的方式實(shí)現(xiàn)的,同時(shí),增加通信模塊,可以將目標(biāo)支撐系統(tǒng)的運(yùn)動(dòng)控制集成到上位緊縮場(chǎng)目標(biāo)特性測(cè)試平臺(tái)中。
2 目標(biāo)支撐控制系統(tǒng)硬件設(shè)計(jì)
工控機(jī)采用倍福C6640控制柜式工業(yè)PC。總線采用倍福公司開(kāi)發(fā)的Ether CAT總線,用于IPC和伺服驅(qū)動(dòng)器、總線端子模塊之間的通信。Ether CAT具有性能優(yōu)異、拓?fù)浣Y(jié)構(gòu)靈活和組態(tài)簡(jiǎn)單等特點(diǎn)。得益于以太網(wǎng)和互連網(wǎng)技術(shù)的使用,Ether CAT可在30μs內(nèi)處理1000個(gè)分布式I/O,擁有幾乎無(wú)限大的網(wǎng)絡(luò)規(guī)模,可實(shí)現(xiàn)高度縱向集成。
總線耦合器采用倍福EK1100。Ether CAT總線通過(guò)總線耦合器將來(lái)自以太網(wǎng)的傳遞報(bào)文轉(zhuǎn)換為E-bus信號(hào),然后連接至Ether CAT端子(EL系列模塊)。一個(gè)總線耦合器、數(shù)個(gè)Ether CAT端子和一個(gè)總線末端端子構(gòu)成一個(gè)從站。
驅(qū)動(dòng)器選用倍福AX5000系列伺服驅(qū)動(dòng)器。這種全新系列的驅(qū)動(dòng)器分為單通道和雙通道兩種,在經(jīng)濟(jì)性和性能方面都有很大提升。其支持多種總線接口,為基于PC的控制技術(shù)提供了一個(gè)理想的平臺(tái)。
3 Twin CAT軟件的配置與使用
3.1 軟PLC程序編寫(xiě)
Twin CAT PLC基于PC機(jī),利用軟件實(shí)現(xiàn)傳統(tǒng)PLC的基本功能,與傳統(tǒng)PLC相比,其體系結(jié)構(gòu)更加開(kāi)放,網(wǎng)絡(luò)通訊能力和數(shù)據(jù)處理能力更強(qiáng)大?偟膩(lái)說(shuō),軟PLC融合了傳統(tǒng)PLC的功能和PC環(huán)境在數(shù)據(jù)、通信上的各種優(yōu)點(diǎn),它遵循IEC61131-3標(biāo)準(zhǔn),可以采用IL(指令列表)、ST(機(jī)構(gòu)文本)、FBD(功能塊)、LD(梯形圖)和SFC(順序流程圖)5種格式語(yǔ)言進(jìn)行編程。
本軟PLC程序主要采用ST和FBD組合編程。Twin CAT PLC提供了豐富的功能庫(kù),針對(duì)本系統(tǒng)所需的運(yùn)動(dòng),選取運(yùn)動(dòng)功能庫(kù)TcMc2,同時(shí)將PLC的NC控制周期設(shè)置為2 ms。根據(jù)目標(biāo)支撐系統(tǒng)實(shí)際需要的運(yùn)動(dòng)功能編寫(xiě)PLC控制程序時(shí),將之分為8個(gè)功能塊。PLC程序功能塊具體分組如圖2所示。
在本控制程序中,升降運(yùn)動(dòng)是由3個(gè)電機(jī)同步運(yùn)動(dòng)來(lái)實(shí)現(xiàn)的。通過(guò)使用定時(shí)中斷程序,每個(gè)PLC周期(2 ms)循環(huán)一次,根據(jù)軸1的編碼器位置反饋增量控制軸2和軸3的運(yùn)動(dòng),進(jìn)而實(shí)現(xiàn)多軸的同步運(yùn)動(dòng)。目標(biāo)支撐系統(tǒng)使用的倍福AM3000系列伺服電機(jī)的響應(yīng)時(shí)間在5ms左右,使用循環(huán)周期為2 ms的定時(shí)中斷能滿足控制要求。
目標(biāo)支撐系統(tǒng)的俯仰運(yùn)動(dòng)是由3個(gè)電機(jī)協(xié)調(diào)運(yùn)動(dòng)來(lái)完成,其中2個(gè)電機(jī)實(shí)現(xiàn)同步運(yùn)動(dòng),同時(shí)與第三個(gè)電機(jī)按照指定的軌跡進(jìn)行運(yùn)動(dòng)。由于兩個(gè)方向上的運(yùn)動(dòng)不是相互獨(dú)立的,因此該運(yùn)動(dòng)需要對(duì)運(yùn)動(dòng)軌跡進(jìn)行插補(bǔ)。此處,調(diào)用Twin CAT PLC的外部設(shè)定值發(fā)生器,由用戶(hù)按照自己的插補(bǔ)算法來(lái)給定每個(gè)NC周期(2 ms)的目標(biāo)位置數(shù)據(jù),并發(fā)送給伺服驅(qū)動(dòng)器,驅(qū)動(dòng)伺服電機(jī)以設(shè)定的速度、加速度完成在此時(shí)間間隔內(nèi)的位移。在此,需要用到的PLC功能塊有:MC—ExtSetPointGenEnable(使能外部發(fā)生器)、MC—ExtSetPointGenDisable(終止外部發(fā)生器)、MC—ExtSetPoint GenFeed(給定位置發(fā)生器的目標(biāo)位置)。
為保障目標(biāo)支撐系統(tǒng)的安全,需要在PLC程序中添加安全監(jiān)測(cè)模塊,讀取外部傳感器和行程開(kāi)關(guān)的信號(hào)。本文以行程開(kāi)關(guān)為例,介紹PLC讀取外部信號(hào)的方法。行程開(kāi)關(guān)連接到端子模塊EL1018(8路數(shù)字I/O輸入模塊,與總線耦合器EK1100相連),PLC程序通過(guò)EL1018的數(shù)字輸入量來(lái)判斷運(yùn)動(dòng)部件是否觸碰行程開(kāi)關(guān)。在PLC中定義一個(gè)輸入變量(如Travel
Switchl AT %I*:BOOL),并在Twin CAT System Manger中與掃描到的模塊建立邏輯一物理連接(涉及系統(tǒng)組態(tài),具體見(jiàn)下一節(jié)),便可在PLC程序中讀出開(kāi)關(guān)量信號(hào)。當(dāng)行程開(kāi)關(guān)閉合時(shí),中斷PLC程序,保證運(yùn)動(dòng)部件不超出行程,避免發(fā)生安全事故。
3.2Twin CAT System Manger的配置
Twin CAT System Manger(系統(tǒng)管理器)負(fù)責(zé)系統(tǒng)設(shè)置和I/O硬件配置。配置軟件共分為4部分:System-Configuration、NC-Configuration、PLC-Configuration、I/O-Configuration。在System-Configuration中進(jìn)行軟件的系統(tǒng)設(shè)置;在NC-Configuration中進(jìn)行NC任務(wù)的設(shè)置,包括軸參數(shù)、通道等,并且需要在此對(duì)實(shí)際NC軸和PLC中定義的軸建立物理一邏輯連接;在PLC- Configuration中添加PI_C任務(wù),即之前生成的*.t p y文件;在I/O-Configuration中掃描Ether CAT 總線上安裝的所有I/()設(shè)備,給其分配IP通訊地址,亦可在此更改I/O設(shè)備的參數(shù)。
當(dāng)進(jìn)行緊縮場(chǎng)目標(biāo)特性測(cè)量時(shí),對(duì)支撐系統(tǒng)旋轉(zhuǎn){運(yùn)動(dòng)的精度要求非常高,因此需要對(duì)其進(jìn)行全閉環(huán)設(shè)計(jì)。全閉環(huán)控制使用機(jī)械設(shè)備上安裝的編碼器作為位置反饋,而不是電機(jī)軸上的編碼器,需要在System Manger中對(duì)位置反饋進(jìn)行重新設(shè)置。本支撐系統(tǒng)的檢測(cè)元件選用海德漢RCN5380編碼器,精度為5”。在I/O-Configuration的position feedback中添加外
部反饋,如圖3所示。此時(shí),整個(gè)系統(tǒng)的位置環(huán)由Twin CAT NC完成,使用外部反饋,而速度環(huán)由驅(qū)動(dòng)器完成,使用電機(jī)軸端反饋。
4 HMI人機(jī)控制界面開(kāi)發(fā)
C#是一種面向?qū)ο蟮木幊坦ぞ,是被人們普遍使用的?jì)算機(jī)編程語(yǔ)言。以.NET Frame類(lèi)庫(kù)作為基礎(chǔ),可以簡(jiǎn)單快捷地實(shí)現(xiàn)數(shù)據(jù)采集、實(shí)時(shí)控制以及對(duì)端口的操作。
4.1 C#與Twin CAT接口的實(shí)現(xiàn)
Twin CAT工控軟件專(zhuān)門(mén)提供了動(dòng)態(tài)鏈接庫(kù)組件(Twin CAT. Ads. d11)與C#進(jìn)行連接,具體實(shí)現(xiàn)步驟如下:
(1)在Twin CAT PLC程序里定義了變量,必須在C#程序中也定義與之同類(lèi)型的變量。例如,在Twin CAT PLC中定義如下變量:
(4)C#讀寫(xiě)Twin CAT PLC數(shù)據(jù)時(shí)一般用到如下3個(gè)函數(shù):
4.2 目標(biāo)支撐系統(tǒng)控制界面
對(duì)控制系統(tǒng)進(jìn)行需求分析,按照所需的各項(xiàng)功能編制出方便操作的控制界面,如圖4所示。
5結(jié)論
基于Twin CAT與C#混合編程的數(shù)控系統(tǒng)是純PC型數(shù)控系統(tǒng),它最大限度地利用了現(xiàn)有軟件開(kāi)發(fā)平臺(tái),在同一個(gè)PC平臺(tái)上高度集成了控制、人機(jī)界面、通信等功能。與其他控制解決方案相比,其結(jié)構(gòu)更加簡(jiǎn)單、靈活、開(kāi)放,能有效縮短開(kāi)發(fā)周期,同時(shí)能很好地降低成本。這種純PC型數(shù)控技術(shù)日后有望成為主流解決方案,推動(dòng)數(shù)控技術(shù)不斷向前發(fā)展。