劉飛飛,伍伊軍,古帥奇,高堂盼
(1.江西理工大學(xué) 電氣工程學(xué)院,贛州341000;2.江西理工大學(xué) 機電工程學(xué)院)
基于開源倍福控制系統(tǒng)的機器人控制系統(tǒng)設(shè)計*
劉飛飛1,伍伊軍1,古帥奇2,高堂盼2
(1.江西理工大學(xué) 電氣工程學(xué)院,贛州341000;2.江西理工大學(xué) 機電工程學(xué)院)
為了給機器人控制系統(tǒng)構(gòu)建高精度超高速控制解決方案,采用開放式自動化Beckhoff控制系統(tǒng)的XFC技術(shù),以TwinCAT作為軟件平臺,采用高性能ARM9S3C2440為SoC,超高速開放式 EtherCAT 為通信系統(tǒng),并通過分布式 EtherCAT 時鐘進行同步,提升了系統(tǒng)高動態(tài)處理運行性能,確保所有子流程的延遲降低,為機器人多樣化運動控制提供了新的思路和解決方案。
倍??刂葡到y(tǒng);機器人;TwinCAT
激烈的全球化競爭中的核心是高性能的生產(chǎn)技術(shù),只有靈活的自動化解決方案在面對產(chǎn)品種類型號不斷更迭和技術(shù)創(chuàng)新周期頻繁加快的局面才能游刃有余。生產(chǎn)條件不可能一成不變,為了保證系統(tǒng)靈活可靠,采用可重配置組件模塊的平臺,構(gòu)架一個高精度超高速通用機器人控制系統(tǒng)顯得尤為必要??刂祁I(lǐng)域中西門子PLC與ABB機器人均有不開放的相關(guān)系統(tǒng)出現(xiàn),但單元成本高,上層軟件平臺更新困難。
采用基于PC 的Beckhoff控制技術(shù),不但可以控制生產(chǎn)線運行加工還可以監(jiān)視各所有工藝流程。以符合EMC低壓指示工業(yè) PC 作為硬件平臺,并以 TwinCAT 作為軟件平臺。使用安全的 I/O 組件和集成在驅(qū)動中的安全功能通過安全通信協(xié)議連接到安全邏輯端子模塊中,保證了系統(tǒng)的安全運行。而基于工業(yè)PC的控制技術(shù)為傳統(tǒng)的控制任務(wù)提供了良好的可升級性和靈活性,因此基于PC的控制技術(shù)也逐漸替代了硬件PLC和類似產(chǎn)品,并在實際生產(chǎn)過程中得到廣泛應(yīng)用。
倍福控制系統(tǒng)是德國信福自動化有限公司(Beckhoff)推出的工業(yè)PC、現(xiàn)場總線模塊、驅(qū)動產(chǎn)品和TwinCAT自動化軟件構(gòu)成了一套完整的、相互兼容的控制系統(tǒng),可為各個工控領(lǐng)域提供開放式自動化系統(tǒng)和完整的解決方案。
本文控制系統(tǒng)采用基于Beckhoff控制系統(tǒng)組件模塊和自行設(shè)計的嵌入式控制器。
1.1 總體規(guī)劃設(shè)計
根據(jù)動態(tài)性能等級、成本預(yù)算和控制任務(wù)的復(fù)雜性,本文設(shè)計的控制面板采用CP-Link4標準的CAT6A電纜與工業(yè)PC機進行安全快速的信息交流,嵌入式控制器自帶DVI/USB接口并裝有Linux與控制面板連接,同時工業(yè)PC機采用的EtherCAT與嵌入式控制器連接。而嵌入式控制器同樣采用EtherCAT通信系統(tǒng)控制伺服驅(qū)動器。為了方便與各種I/O模塊整合在一起,采用結(jié)構(gòu)緊湊的DIN導(dǎo)軌安裝控制器構(gòu)成一個完整的方便安裝在控制柜內(nèi)的工業(yè)控制系統(tǒng),提高了空間使用率。選擇Beckhoff 控制系統(tǒng)能夠根據(jù)具體的任務(wù)插接在一起,構(gòu)成一個模塊化控制系統(tǒng)。因此不同的應(yīng)用程序可在相同的硬件上實現(xiàn),降低了開發(fā)難度,提升了使用的靈活性??傮w規(guī)劃設(shè)計如圖1所示。
圖1 總體規(guī)劃設(shè)計
圖3 嵌入式SoC片上芯片板開發(fā)流程
1.2 嵌入式多軸運動控制器
主電源漏電斷路器將電源分配給過電流保護裝置配線斷路器(MCCB),之后串聯(lián)噪音濾波器(NF)防止外部噪音和驅(qū)動器的耦合。設(shè)置線圈浪涌吸收器后接通電磁接觸器(NF),采用電抗器(L)降低電源的高次諧波電流連接到端子模塊,STM32F429芯片組與電源模塊CX1100-0002連接,同時UPS不間斷電源模塊CX1100-0920為突然斷電情況下系統(tǒng)數(shù)據(jù)的及時保存做補充。I/O端口模塊外接EM7004多軸接口端子參與伺服控制器的控制,F(xiàn)C2001 Lightbus PCI 接口模塊、CX1500-M520 DeviceNet現(xiàn)場總線主站接口模塊、M6310 Lightbus 控制模塊作為數(shù)據(jù)交互的有力支撐。KL9020 系統(tǒng)端子模塊獨立于具體的現(xiàn)場總線和端子排設(shè)計。標準型模塊化組件的規(guī)劃在于在使用上層Beckhoff TwinCAT自動化軟件時,系統(tǒng)管理器可以方便地對I/O接口進行集成和參數(shù)化。 多軸運動控制器設(shè)計如圖2所示。
圖2 嵌入式多軸運動控制器
本節(jié)介紹嵌入式SoC片上芯片板的開發(fā)流程和規(guī)劃設(shè)計要點。
2.1 嵌入式SoC片上芯片板設(shè)計流程
嵌入式SoC片上芯片板開發(fā)采用軟硬件協(xié)同的設(shè)計方法,分為底層硬件設(shè)計、驅(qū)動開發(fā)、倍福控制系統(tǒng)、工業(yè)PC編程4個層次,重點在于與倍??刂葡到y(tǒng)對接的驅(qū)動接口層開發(fā)。驅(qū)動開發(fā)采用層次劃分結(jié)構(gòu)加子系統(tǒng)的模式,借鑒Linux內(nèi)核分層思想對各個功能模塊在縱向上有一個劃分歸屬,對層與層之間的接口進行規(guī)劃,橫向上對于具體的層來說,可以預(yù)留新的子系統(tǒng)的模塊規(guī)范,便于后續(xù)驅(qū)動的升級和維護。驅(qū)動開發(fā)的載體為基于搭載Linux系統(tǒng)的SoC芯片板。芯片板開發(fā)流程如圖3所示。
2.2 嵌入式SoC片上芯片板設(shè)計規(guī)劃
ARM9S3C2440芯片采用外部供電芯片AMS1117提供3.3 V穩(wěn)壓電源,為了便于算法和系統(tǒng)驅(qū)動程序順利運行外擴FLASH(型號為SST39VF1601)和SRAM(型號為HY57V561620FTP)進行補充,使用兼容性EtherCAT配合通信系統(tǒng),并采用LAN8720A工業(yè)以太網(wǎng)通信作為補充,相對應(yīng)的 EtherCAT 端子模塊都可使用本地現(xiàn)場總線主/從端子模塊快速集成到EtherCAT 系統(tǒng),無需在 PC 的 PCI 插槽上增加現(xiàn)場總線主站卡。采用CH340芯片進行上位機和ARM9進行串口通信。為了保證信息交互的有效性,采用沉金工藝的四層板設(shè)計PCB。芯片板設(shè)計規(guī)劃如圖4所示。
圖4 嵌入式SoC片上芯片板設(shè)計規(guī)劃
2.3 EtherCAT 通信系統(tǒng)運行原理
一般實時以太網(wǎng)通信使用專用交換機并采用時間控制方式分配以太網(wǎng)報文,或通過較高級協(xié)議層禁止CSMA/CD存取過程用輪詢技術(shù)或時間分片來取代它,雖然可行但是帶寬的利用率低,而且伴隨通信總線傳輸?shù)难舆t。將過程數(shù)據(jù)直接傳送到以太網(wǎng)幀,以太網(wǎng)幀包含若干個用于特定存儲區(qū)域的EtherCAT報文,數(shù)據(jù)鏈獨立于網(wǎng)絡(luò)中EtherCAT端子模塊的物理順序,EtherCAT 從站控制器讀取數(shù)據(jù)通過硬件實現(xiàn)。因此數(shù)據(jù)流中幀傳遞僅被延遲幾位,采用EtherCAT 通信系統(tǒng)分布式 EtherCAT時鐘進行同步后,1個分布式 I/O 數(shù)據(jù)的刷新時間僅為 0.03 μs。
驅(qū)動板的軟件設(shè)計基于系統(tǒng)平臺Linux 2.6.32.2,開源免費,便于維護和升級。
3.1 底層平臺Linux系統(tǒng)規(guī)劃
底層驅(qū)動平臺整體上分為應(yīng)用空間和內(nèi)核空間,引導(dǎo)程序是U-boot。在內(nèi)核空間里,外圍器件驅(qū)動調(diào)用驅(qū)動支撐層,片上外設(shè)和內(nèi)核庫構(gòu)成可加載文件(.ko)。在應(yīng)用空間里,應(yīng)用程序調(diào)用驅(qū)動接口層函數(shù)、底層庫函數(shù)、Linux運行支撐系統(tǒng)完成相應(yīng)的驅(qū)動實現(xiàn)。系統(tǒng)規(guī)劃如圖5所示。
圖5 底層平臺Linux系統(tǒng)規(guī)劃
3.2 嵌入底層驅(qū)動任務(wù)設(shè)計
得益于開源Linux系統(tǒng)平臺的“一切皆文件”的思想,在模塊化編程中大部分都做好了只需要編輯和修改不多的一部分。驅(qū)動代碼文件會被編譯成相應(yīng)的.o文件,內(nèi)核將分析生成的文件和附屬信息保存在.mod.c中,之后調(diào)用genksym生成函數(shù)校驗、版本信息。調(diào)用modpost分析可用符號和未解決符號,將.o文件鏈接成.ko模塊文件。底層驅(qū)動任務(wù)設(shè)計如圖6所示。
圖6 嵌入底層驅(qū)動任務(wù)設(shè)計
本文采用倍福控制系統(tǒng)提供的TwinCAT3 control 作為上層用戶運動控制程序的開發(fā)環(huán)境。通過XFC便于高精度檢測和發(fā)送信號,以達到實現(xiàn)多樣化高速運動控制。
4.1 XFC控制技術(shù)運行原理
XFC是基于高效控制和通信架構(gòu)的高速控制技術(shù),硬件上為所有的EtherCAT設(shè)備都搭載本地同步時鐘,用于補償信息傳遞時間差,且數(shù)據(jù)傳輸時在用戶數(shù)據(jù)外加有時間戳提供了高精度時間信息。在同步時鐘的控制下,I/O口從物理輸入觸發(fā)到輸出響應(yīng)的整個過程小于等于100 μs,從而縮短了通信周期,加快了數(shù)據(jù)采樣頻率。
4.2 TwinCAT3運行環(huán)境建立
TwinCAT3軟件系統(tǒng)用于程序編輯、錯誤診斷和系統(tǒng)配置,由實時環(huán)境和在開發(fā)環(huán)境中執(zhí)行控制程序的實時系統(tǒng)組成。建立工程項目后,在I/O Configuration(組態(tài)配置)中的I/O Devices中開始掃描設(shè)備選擇EtherCAT,在NC-Configuration(運動配置)選擇添加相應(yīng)電機和參數(shù),在TwinCAT下找到Activate Configuration(激活配置),在運動配置界面進入Axes(軸)下信息的Online,運行后便可獲得TwinCAT系統(tǒng)通過檢測獲得的當(dāng)前運動信息。對運動軸輸入正弦波,再利用MATLAB軟件進行數(shù)據(jù)采集分析,如圖7、圖8所示。
圖7 基于正弦速度跟蹤
圖8 基于正弦位置跟蹤
采用Beckhoff 控制系統(tǒng)構(gòu)成了完整驅(qū)動系統(tǒng)。利用支持IEC61131-3 編程語言的TwinCAT提供基于嵌入式PC的控制程序編寫和設(shè)計便于升級維護,降低了單元
[1] 顧強.基于SoC 的多軸運動控制系統(tǒng)及其同步控制研究[D].武漢:華中科技大學(xué),2015.
[2] 張守娟.隨動系統(tǒng)的多電機同步控制方法研究[D].哈爾濱:哈爾濱工業(yè)大學(xué)工學(xué),2013.
[3] 柏淑紅.采用伺服電機的電子凸輪控制系統(tǒng)設(shè)計[J].機電工程,2012(6):689-692.
[4] Jark.W.Beckhoff embeds PC in I/O block[J].Control Engineering Europe,2002.
[5] BECKHOFF Automation LLC.Beckhoff Automation's EtherCAT P Technology[J].Design News,2016.
[6] Burkhard Beckhoff.Reinhold Klockenk?mper and Alex von Bohlen:Total-reflection X-ray fluorescence analysis and related methods, 2nd ed[J].Analytical and Bioanalytical Chemistry,2016.
[7] Berg-Beckhoff.Prevalence and predictors of musculoskeletal pain among Danish fishermen-results from a cross-sectional survey[J].Journal of Occupational Medicine and Toxicology,2016.
[8] Heinze,Ronald.Beckhoff opens new markets looks to expand technology[J].Process and Control Engineering,2007.
劉飛飛(教授),主要研究方向為智能裝備及其自動化、特種裝備機器人、檢測技術(shù)。
(責(zé)任編輯:薛士然 收修改稿日期:2017-01-11)
[2] Wittig R D,Chow P.OneChip:an FPGA processor with reconfigurable logic[J].IEEE Symposium on Fpgas for Custom Computing Machines,1998:126-135.
[3] 綦聲波,馬秀明.FPGA的在應(yīng)用編程技術(shù)研究[J].單片機與嵌入式系統(tǒng)應(yīng)用,2009(1):8-11.
[4] Thanh T,Vu T H,Cuong N V,et al.A Protocol for Secure Remote Update of Run-time Partially Reconfigurable Systems Based on FPGA[C]//Control, Automation and Information Sciences(ICCAIS),2013 International Conference on. IEEE,2013:295-299.
[5] 楊釗,顏浩洋.基于EPCS Flash配置的Altera SOPC啟動及更新研究[J].中國西部科技,2009,8(1):1-3.
[6] 文華武.基于以太網(wǎng)的FPGA遠程程序升級系統(tǒng)的設(shè)計與應(yīng)用[D].重慶:重慶大學(xué),2012.
[7] 黃蕊.利用Altera增強型配置片實現(xiàn)FPGA動態(tài)配置[J].電子設(shè)計工程,2007(3):16-20.
[8] Grieve R,Macdonald A M,Schriel J M.Implementing a microprocessor boot configuration prom within an FPGA:US,US7487344[P].2009.
羅明華(副研究員),主要研究方向為煤礦自動化。
Robot Control System Based on Open Source Beckhoff Control System
Liu Feifei1,Wu Yijun1,Gu Shuaiqi2,Gao Tangpan2
(1.School of Electrical Engineering and Automation,Jiangxi University of Science and Technology,Ganzhou 341000,China; 2.School of Mechanical and Electrical Engineering,Jiangxi University of Science and Technology)
In order to build a robot control system of high precision ultra-high speed control solution,the XFC technology of open Beckhoff automation control system is used,and the TwinCAT is used as the software platform,the high performance chip ARM9S3C2440 is used as SoC,and the ultra-high speed open EtherCAT is used as the communication system.The distributed EtherCAT clock is used for clock synchronization.The solution improves the dynamic processing performance.The latency of all subprocesses are reduced,thus it provides new ideas and solutions for the diversification of robot motion control.
Beckhoff control system;robot;TwinCAT
基于嵌入式系統(tǒng)的機器人通用多軸控制器開發(fā)(xs2016130)。
TP23
A
?士然
2017-01-16)