李 響,滿慶豐,夏繼強
(北京航空航天大學(xué)機械工程及自動化學(xué)院,北京 100191)
扭矩傳感器的校準一般采用實驗室校準和現(xiàn)場校準兩種方式。相比實驗室校準,現(xiàn)場校準的優(yōu)點在于:(1)現(xiàn)場校準在實際應(yīng)用的試驗臺或設(shè)備上進行,消除了工作現(xiàn)場多方面因素的影響,如傳感器的安裝誤差、傳動軸系的形變等;(2)實驗室校準需要將零部件進行拆卸并運送到校準實驗室,而現(xiàn)場校準可在工作現(xiàn)場隨時進行,提高了工作效率。所以該系統(tǒng)采用現(xiàn)場校準的方式。
TwinCAT(The Windows Control and Automation Technology)平臺是基于PC技術(shù)的控制平臺,具有開放性好,速度快,運算能力強,易擴展的特點[1]。TwinCAT支持多種現(xiàn)場總線,如PROFIBUS、CAN、EtherCAT等,使用靈活,可以針對不同應(yīng)用場合設(shè)計出不同方案。
C#是Microsoft開發(fā)的一種面向?qū)ο蟮某绦蛟O(shè)計語言[2],由C++衍生而來,綜合了VB簡單的可視化操作和C++的高運行效率,是.NET開發(fā)的首選語言。
1.1系統(tǒng)概述
扭矩傳感器校準系統(tǒng)用于對工業(yè)現(xiàn)場使用的扭矩傳感器進行校準,以修正其測量輸出值。系統(tǒng)由載荷控制、數(shù)據(jù)采集、數(shù)據(jù)處理三部分組成。其中,載荷控制部分用于根據(jù)校準工藝的要求,對機械軸進行指定多點的扭矩加載;數(shù)據(jù)采集部分用于采集在給定扭矩下,標準傳感器和被校傳感器對軸扭矩的測量值;數(shù)據(jù)處理部分用于對數(shù)據(jù)采集部分的數(shù)據(jù)進行分析處理,計算校準公式,繪制校準曲線,并保存校準參數(shù)。
1.2系統(tǒng)構(gòu)成
根據(jù)系統(tǒng)集成多種現(xiàn)場總線的工作特點,選用TwinCAT軟PLC做為中央控制單元,負責控制信號的下發(fā)和測量數(shù)據(jù)的采集。做為主控單元,TwinCAT運行于工業(yè)PC機,通過PCI總線集成PROFIBUS-DP總線卡和CANopen總線卡。現(xiàn)場設(shè)備通過總線與TwinCAT進行通訊,這樣便實現(xiàn)了扭矩加載電機的控制和傳感器信號的采集;同時,TwinCAT通過ADS(自動化設(shè)備規(guī)范)通信與C#設(shè)計編寫的HMI進行數(shù)據(jù)交互,以獲取設(shè)置的扭矩加載值并上傳采集的傳感器測量值。系統(tǒng)的總體構(gòu)成如圖1所示。
圖1 系統(tǒng)總體構(gòu)成圖
1.2.1系統(tǒng)的硬件配置
(1)工控機選用IPC-610H 1臺,根據(jù)需要配有2個PCI卡槽;
(2)PROFIBUS DP總線卡選用帶有PCI接口的PROFIBUS MASTER CIF50-PB 1個;
(3)CANopen總線卡選用帶有PCI接口的CANopen MASTER FC51xx 1個,雙通道,同時支持CANopen協(xié)議和普通CAN協(xié)議;
(4)電機驅(qū)動系統(tǒng)選用 SINAMICS S120,根據(jù)需要可靈活組態(tài);
(5)標準扭矩傳感器選用精度較高的產(chǎn)品:TB1A-5000Nm扭矩測量盤和MP30工業(yè)測量放大器1套。MP30放大器可將TB1A測量盤的扭矩測量信號轉(zhuǎn)換為CAN信號,并通過CANopen協(xié)議上傳至TwinCAT;
(6)被校扭矩傳感器選用測量精度相對較低的MANNER公司產(chǎn)品:MW-5kNm扭矩測量法蘭、A8a-PCM無線接收天線和AW-P接收單元1套。測量數(shù)據(jù)來自MW扭矩測量法蘭,通過A8a接收天線傳送至AW-P接收單元,接收單元再將處理后的測量信號通過CAN總線,采用自定義的CAN協(xié)議上傳至TwinCAT.
1.2.2系統(tǒng)的軟件配置
(1)在工控機內(nèi)安裝Windows XP或Windows 7操作系統(tǒng)做為系統(tǒng)軟件運行平臺;
(2)安裝Microsoft Visual Studio 2010做為C#語言的開發(fā)環(huán)境,用來編寫和調(diào)試程序;
(3)選用TwinCAT平臺做為運行于工控機的軟PLC,包括TwinCAT PLC Control和TwinCAT System Manager等部分。
1.3系統(tǒng)工藝和工作流程
MANNER和HMB的扭矩傳感器區(qū)別在于:MANNER的扭矩測量法蘭和接收單元是采用無線通訊的方式進行數(shù)據(jù)的傳輸,便于動態(tài)測量旋轉(zhuǎn)軸的扭矩;而HBM 的扭矩測量盤和測量放大器采用有線連接,不適宜測量動態(tài)的旋轉(zhuǎn)軸扭矩。因此扭矩的校準采用靜態(tài)校準方式,即在軸的一端連接加載電機,另外一端用銷釘或其他鎖緊裝置固定,在軸保持靜止的條件下進行扭矩的校準,如圖1下端所示。
系統(tǒng)的工作流程如圖2所示。
圖2 系統(tǒng)工作流程圖
2.1HMI的設(shè)計
系統(tǒng)的HMI采用C#語言進行設(shè)計開發(fā),可實現(xiàn)傳感器的選擇、扭矩加載值的設(shè)定、傳感器測量值的實時動態(tài)顯示、數(shù)據(jù)的分析處理等功能。HMI界面如圖3所示。
圖3 扭矩傳感器校準系統(tǒng)HMI界面
其中,設(shè)置區(qū)域用于選擇需要校準的傳感器(可多個選項);控制區(qū)域用于輸入扭矩給定值;采集區(qū)域用于實時顯示當前傳感器的測量值,包括HBM傳感器上傳的扭矩測量標準值和MANNER傳感器上傳的扭矩測量原始值;分析區(qū)域用于記錄校準數(shù)據(jù)(共10組)、計算校準公式、繪制校準曲線。校準曲線以扭矩測量原始值為X軸,以扭矩測量標準值為Y軸,采用分段曲線的形式進行繪制,相應(yīng)的校準公式格式如下:
式中:y為扭矩標準值;x為扭矩原始值;kn為第n段曲線的斜率;bn為第n段曲線的截距;x1~x10為校準表格中扭矩原始值一行的數(shù)據(jù),作為校準公式分段區(qū)間的邊界值。
在后期的數(shù)據(jù)處理過程中,軟件會把校準公式和校準數(shù)據(jù)以xml配置文件的形式寫入PC硬盤中做為備份。之后軟件每次運行時,會自動讀取xml文件中的參數(shù),調(diào)用校準公式對MANNER傳感器的測量值進行修正,實現(xiàn)了數(shù)據(jù)的記憶化存儲,避免了重復(fù)操作帶來的麻煩。
2.2C#與TwinCAT的通信
C#與TwinCAT軟PLC的通訊主要是TwinCAT.Ads動態(tài)鏈接庫的調(diào)用和數(shù)據(jù)流(datastream)技術(shù)的應(yīng)用。
ADS是Automation Device Specification的縮寫,即自動化設(shè)備規(guī)范,是TwinCAT系統(tǒng)內(nèi)部實現(xiàn)數(shù)據(jù)傳輸?shù)膮f(xié)議,主要用于管理數(shù)據(jù)交換。該協(xié)議建立在TCP/IP協(xié)議之上,可以實現(xiàn)TwinCAT內(nèi)部與接入系統(tǒng)的設(shè)備實現(xiàn)通訊,在TwinCAT外部與其他應(yīng)用程序進行數(shù)據(jù)交換[3]。
TwinCAT為.NET平臺提供的信息路由是以動態(tài)鏈接庫的形式給出的,即“TwinCAT.Ads.dll”。C#與TwinCAT通信的具體步驟為:
(1)在C#工程中引用“TwinCAT.Ads.dll”:工程->引用->添加引用->瀏覽->路徑為“安裝盤:TwinCATADS Api.NETv2.0.50727”;
(2)在C#程序命名空間處,引用“TwinCAT.Ads”和“System.IO”:
using TwinCAT.Ads;//用于ADS通信
using System.IO;//用于數(shù)據(jù)流讀寫操作
(3)定義使用的句柄及通訊端口號:
int hvar_O = new int();//定義“寫”句柄變量
TcAdsClient tcclient = new TcAdsClient();//定義通信協(xié)議
tcclient.Connect(801);//定義通訊端口號
(4)C#讀寫TwinCAT變量分為兩種形式:按變量地址或按變量名稱,這里采用后者。在C#和TwinCAT中分別定義結(jié)構(gòu)相同的Struct結(jié)構(gòu)體,用于通訊:
假設(shè)有多個扭矩傳感器需要校準。其中,變量ID用來指定當前正在進行校準操作的傳感器;變量Cmd用來傳遞扭矩加載的設(shè)定值;變量Trigger用來做為觸發(fā)變量,TwinCAT通過循環(huán)掃描Trigger來判斷是否有C#指令下發(fā)。
(5)C#向TwinCAT進行寫操作是在“加載”按鈕的點擊事件中完成:
TwinCATC#TYPEOutput:STRUCT ID:BYTE; Cmd:INT; Trigger:BOOL;END_STRUCTEND_TYPEstructoutput{ byteID; shortCmd; boolTrigger;}
{
//獲取TwinCAT中Output結(jié)構(gòu)體變量的句柄
hvar_O = tcclient.CreateVariableHandle(“.Output”);
//定義指定大小數(shù)據(jù)流,4byte = 1byte(ID)+2byte(Cmd) + 1byte(Trigger)
AdsStream datastream_out = new AdsStream(4);
//以二進制形式將C#output中的值寫入數(shù)據(jù)流
BinaryWriter bw = new BinaryWriter(datastream);
//設(shè)置數(shù)據(jù)流的當前位置
datastream.Position = 0;
//賦值
bw.Write( output.ID );
bw.Write( output.Cmd );
bw.Write( output.Trigger );
//通過句柄將數(shù)據(jù)流寫入TwinCAT的Output中
tcclient.Write( hvar_O,datastream );
//釋放句柄
tcclient.DeleteVariableHandle( hvar_O );
}
(6)C#對TwinCAT進行讀操作是在定時器響應(yīng)事件中執(zhí)行,用于不斷刷新顯示采集回的傳感器測量值。讀操作原理與寫操作相同,只要將上述的bw.Write()函數(shù)改為bw.Read()函數(shù)即可,這里不再贅述。
2.3TwinCAT與S120的通信
SINAMICS S120典型結(jié)構(gòu)如圖4所示。
圖4S120典型配置圖
主控模塊CU320是整個驅(qū)動系統(tǒng)的大腦,負責控制和協(xié)調(diào)整個驅(qū)動系統(tǒng)中的所有模塊,完成電機的控制[4];電源模塊即整流單元,它是將三相交流電整流成直流電;電機模塊即逆變單元,它是將電源模塊整流的直流電逆變?yōu)槿嘟涣麟?,用于?qū)動電機。
CU320帶有PROFIBUS-DP接口,可通過PROFIBUS總線和CIF50-PB DP總線卡與TwinCAT進行通訊,具體配置過程如下:
2.3.1S120的配置
(1)操作CU320前面板,設(shè)定PROFIBUS-DP地址。
(2)打開Starter軟件對S120進行自動組態(tài)。由于要對加載電機進行扭矩控制,因此配置過程中,需要將電機類型設(shè)置為“Vector”(矢量),將控制類型設(shè)置為扭矩控制“Torque Control(with encoder)”,如圖5所示。
圖5 Starter組態(tài)S120界面
(3)對S120報文進行設(shè)置。打開Communication->Change->設(shè)置Vector為標準報文1->設(shè)置其他模塊為自由報文[999],且長度為0,如圖6所示。
圖6 Starter配置S120報文類型界面
標準報文1(PZD2/2)原為簡單的轉(zhuǎn)速控制報文,接收方向的2個字分別為控制字STW和轉(zhuǎn)速給定字,發(fā)送方向的2個字分別為狀態(tài)字ZSW和轉(zhuǎn)速反饋字。經(jīng)過上述配置后,轉(zhuǎn)矩控制方式被激活,且接收方向第二個字由P1070-轉(zhuǎn)速給定變?yōu)镻1053-轉(zhuǎn)矩給定,如圖7所示。
圖7 Starter扭矩設(shè)定功能圖
2.3.2TwinCAT的配置
要成功與S120通訊,必須正確配置PROFIBUS-DP地址和報文格式,步驟如下:
(1)將CU320的GSD文件拷貝至“安裝盤TwinCATIoProfibus”目錄下。
(2)將設(shè)備添加至TwinCAT工程:打開TwinCAT System Manager->新建項目->右鍵單擊“I/O Devices”->選擇“Scan Devices”。系統(tǒng)會自動掃描到PC機上的DP總線卡和與總線卡連接的設(shè)備。如果S120自動掃描失敗,可采用手動添加的方式:右鍵單擊“CIF50 PB”->選擇“Append Boxes”->在Siemens AG 目錄下選擇“SINAMICS S120 V4.4”。
(3)添加PROFIBUS通信報文:右鍵單擊“Box(SINAMICS S120 V4.4)”->選擇“Append Module”->在報文目錄下選擇“Standard telegraph 1,PZD2/2”。這里需要注意,所添加報文的格式必須與S120中設(shè)置的格式保持一致。
(4)設(shè)置PROFIBUS-DP地址:左鍵單擊“Box(SINAMICS S120 V4.4)”->選擇“Profibus”標簽->修改“Station No.”的值,使之與CU320面板上的DP地址保持一致。
完成設(shè)置后的效果如圖8所示。
圖8 TwinCAT System Manager S120配置效果圖
在TwinCAT System Manager中加載一個PLC程序,把程序中的變量鏈接到標準報文中,這樣便建立了TwinCAT中的變量與S120的直接聯(lián)系。
2.4TwinCAT與傳感器的通信
TwinCAT與扭矩傳感器通過CAN總線進行通訊。HBM標準傳感器符合CANopen高層協(xié)議,MANNER被校傳感器為廠家自定義CAN協(xié)議。由于CANopen總線卡FC51xx的雙通道同時支持CANopen協(xié)議和普通CAN協(xié)議,因此可以實現(xiàn)兩種傳感器與TwinCAT的通訊。
2.4.1TwinCAT與HBM傳感器的通訊
TwinCAT與HBM CANopen設(shè)備的通訊設(shè)置如下:
(1)MP30的設(shè)置:操作HBM MP30工業(yè)放大器面板,設(shè)置CAN通訊的波特率、站地址。
(2)EDS文件的添加:將HMB MP30的EDS文件拷貝至“安裝盤TwinCATIoCANopen”目錄下。
(3)設(shè)備的掃描:如2.3節(jié)(2)部分b所述,通過自動掃描,將CANopen總線卡和MP30自動添加至TwinCAT System Manager中。
(4)CAN通信參數(shù)的設(shè)置:修改波特率和站地址,使之與MP30中的設(shè)置值保持一致。左鍵單擊“FC51xx”->選擇右側(cè)“FC51xx”標簽->修改“Baudrate”的值;左鍵單擊“Box110(MP30)”->選擇右側(cè)“CAN Node”標簽->修改“Node Id”的值。
(5)PDO參數(shù)的設(shè)置:通過CAN總線分析儀可監(jiān)聽TwinCAT與MP30通訊的CAN數(shù)據(jù)幀。通過查閱CANopen對象字典和MP30用戶手冊,分析幀數(shù)據(jù)可知,MP30規(guī)定了2個發(fā)送TxPDO和2個接收RxPDO。PDO的映射參數(shù)表明,TxPDO1幀長度為5個字節(jié),前4個字節(jié)代表扭矩的測量值,最后1個字節(jié)代表測量狀態(tài);PDO的通訊參數(shù)指定了TxPDO1的COB-ID、傳輸類型、禁止時間等參數(shù)。根據(jù)以上分析,左鍵單擊Box110(MP30)下的“TxPDO1”->選擇右側(cè)“PDO”標簽->修改“COB”(幀ID)和“Trans.Type”(PDO傳輸類型)的值,使之上述查看到的參數(shù)保持一致。如圖9所示。
圖9 TwinCAT System Manager MP30配置效果圖
同樣,將TxPDO1中的VarIn-0變量(扭矩測量值)與TwinCAT中的變量進行鏈接,便實現(xiàn)了標準傳感器測量數(shù)據(jù)的實時采集。
2.4.2TwinCAT與MANNER傳感器的通訊
TwinCAT與MANNER自定義CAN設(shè)備的通訊設(shè)置如下:
(1)AW-P接收單元的設(shè)置:通過MANNER傳感器配套軟件對CAN通訊的波特率、站地址、幀COB-ID進行設(shè)置。
(2)設(shè)備的添加:右鍵單擊“FC51xx”->選擇“Append Boxes”->在Miscellaneous 目錄下選擇“CANopen Node”。
(3)參數(shù)的設(shè)置:左鍵單擊“Box4(CANopen Node)”->選擇右側(cè)“CAN Node”標簽-> 勾選“General CAN-Node”選項,設(shè)置為普通CAN節(jié)點;根據(jù)MANNER公司自定義CAN協(xié)議,定義6個字節(jié)的CAN幀與傳感器進行通訊,并參照(1)部分設(shè)置COB-ID。其中,前2個字節(jié)代表扭矩值,中間2個字節(jié)代表轉(zhuǎn)速值;最后2個字節(jié)代表測量狀態(tài)。
同理,將TxPDO1中的前2個字節(jié)(扭矩測量值)與TwinCAT中的變量進行鏈接,便實現(xiàn)了被校傳感器測量數(shù)據(jù)的實時采集。
該扭矩傳感器校準系統(tǒng)已用于某型號直升機主減速器試驗臺工作現(xiàn)場,采用一個高精度扭矩傳感器校準試驗臺上多個普通扭矩傳感器,不但提高了試驗數(shù)據(jù)的采集精度,而且節(jié)約了成本。實踐證明,該系統(tǒng)界面友好、操作簡便,運行穩(wěn)定,數(shù)據(jù)處理智能化、記憶化,提高了工作效率。另外,系統(tǒng)中運用了多種現(xiàn)場總線技術(shù)和通訊技術(shù),如第三方PLC與西門子S120的通訊、PLC與CANopen設(shè)備的通訊、高級語言和軟PLC的通訊等,對類似工程項目的校準工作和通訊技術(shù)有一定的參考意義。
參考文獻:
[1]彭銘,鄭士富.基于TWINCAT平臺的液位模糊控制系統(tǒng)的設(shè)計.儀表技術(shù),2008(1):17-19.
[2]肯斯理-赫金斯.C#2005編程進階與參考手冊.施宏斌,譯.北京:清華大學(xué)出版社,2007.
[3]鄭青春,王文格.超高速卷接機控制系統(tǒng)實驗研究平臺構(gòu)建及上位機通訊.儀表技術(shù)與傳感器,2012(12):51-53.
[4]西門子(中國)有限公司.S120驅(qū)動器&伺服電機選型手冊.北京:西門子客戶服務(wù)部,2008.