劉飛飛,伍伊軍,古帥奇,高堂盼
(1.江西理工大學(xué) 電氣工程學(xué)院,贛州341000;2.江西理工大學(xué) 機(jī)電工程學(xué)院)
基于開(kāi)源倍福控制系統(tǒng)的機(jī)器人控制系統(tǒng)設(shè)計(jì)*
劉飛飛1,伍伊軍1,古帥奇2,高堂盼2
(1.江西理工大學(xué) 電氣工程學(xué)院,贛州341000;2.江西理工大學(xué) 機(jī)電工程學(xué)院)
為了給機(jī)器人控制系統(tǒng)構(gòu)建高精度超高速控制解決方案,采用開(kāi)放式自動(dòng)化Beckhoff控制系統(tǒng)的XFC技術(shù),以TwinCAT作為軟件平臺(tái),采用高性能ARM9S3C2440為SoC,超高速開(kāi)放式 EtherCAT 為通信系統(tǒng),并通過(guò)分布式 EtherCAT 時(shí)鐘進(jìn)行同步,提升了系統(tǒng)高動(dòng)態(tài)處理運(yùn)行性能,確保所有子流程的延遲降低,為機(jī)器人多樣化運(yùn)動(dòng)控制提供了新的思路和解決方案。
倍福控制系統(tǒng);機(jī)器人;TwinCAT
激烈的全球化競(jìng)爭(zhēng)中的核心是高性能的生產(chǎn)技術(shù),只有靈活的自動(dòng)化解決方案在面對(duì)產(chǎn)品種類型號(hào)不斷更迭和技術(shù)創(chuàng)新周期頻繁加快的局面才能游刃有余。生產(chǎn)條件不可能一成不變,為了保證系統(tǒng)靈活可靠,采用可重配置組件模塊的平臺(tái),構(gòu)架一個(gè)高精度超高速通用機(jī)器人控制系統(tǒng)顯得尤為必要。控制領(lǐng)域中西門子PLC與ABB機(jī)器人均有不開(kāi)放的相關(guān)系統(tǒng)出現(xiàn),但單元成本高,上層軟件平臺(tái)更新困難。
采用基于PC 的Beckhoff控制技術(shù),不但可以控制生產(chǎn)線運(yùn)行加工還可以監(jiān)視各所有工藝流程。以符合EMC低壓指示工業(yè) PC 作為硬件平臺(tái),并以 TwinCAT 作為軟件平臺(tái)。使用安全的 I/O 組件和集成在驅(qū)動(dòng)中的安全功能通過(guò)安全通信協(xié)議連接到安全邏輯端子模塊中,保證了系統(tǒng)的安全運(yùn)行。而基于工業(yè)PC的控制技術(shù)為傳統(tǒng)的控制任務(wù)提供了良好的可升級(jí)性和靈活性,因此基于PC的控制技術(shù)也逐漸替代了硬件PLC和類似產(chǎn)品,并在實(shí)際生產(chǎn)過(guò)程中得到廣泛應(yīng)用。
倍福控制系統(tǒng)是德國(guó)信福自動(dòng)化有限公司(Beckhoff)推出的工業(yè)PC、現(xiàn)場(chǎng)總線模塊、驅(qū)動(dòng)產(chǎn)品和TwinCAT自動(dòng)化軟件構(gòu)成了一套完整的、相互兼容的控制系統(tǒng),可為各個(gè)工控領(lǐng)域提供開(kāi)放式自動(dòng)化系統(tǒng)和完整的解決方案。
本文控制系統(tǒng)采用基于Beckhoff控制系統(tǒng)組件模塊和自行設(shè)計(jì)的嵌入式控制器。
1.1 總體規(guī)劃設(shè)計(jì)
根據(jù)動(dòng)態(tài)性能等級(jí)、成本預(yù)算和控制任務(wù)的復(fù)雜性,本文設(shè)計(jì)的控制面板采用CP-Link4標(biāo)準(zhǔn)的CAT6A電纜與工業(yè)PC機(jī)進(jìn)行安全快速的信息交流,嵌入式控制器自帶DVI/USB接口并裝有Linux與控制面板連接,同時(shí)工業(yè)PC機(jī)采用的EtherCAT與嵌入式控制器連接。而嵌入式控制器同樣采用EtherCAT通信系統(tǒng)控制伺服驅(qū)動(dòng)器。為了方便與各種I/O模塊整合在一起,采用結(jié)構(gòu)緊湊的DIN導(dǎo)軌安裝控制器構(gòu)成一個(gè)完整的方便安裝在控制柜內(nèi)的工業(yè)控制系統(tǒng),提高了空間使用率。選擇Beckhoff 控制系統(tǒng)能夠根據(jù)具體的任務(wù)插接在一起,構(gòu)成一個(gè)模塊化控制系統(tǒng)。因此不同的應(yīng)用程序可在相同的硬件上實(shí)現(xiàn),降低了開(kāi)發(fā)難度,提升了使用的靈活性。總體規(guī)劃設(shè)計(jì)如圖1所示。

圖1 總體規(guī)劃設(shè)計(jì)

圖3 嵌入式SoC片上芯片板開(kāi)發(fā)流程
1.2 嵌入式多軸運(yùn)動(dòng)控制器
主電源漏電斷路器將電源分配給過(guò)電流保護(hù)裝置配線斷路器(MCCB),之后串聯(lián)噪音濾波器(NF)防止外部噪音和驅(qū)動(dòng)器的耦合。設(shè)置線圈浪涌吸收器后接通電磁接觸器(NF),采用電抗器(L)降低電源的高次諧波電流連接到端子模塊,STM32F429芯片組與電源模塊CX1100-0002連接,同時(shí)UPS不間斷電源模塊CX1100-0920為突然斷電情況下系統(tǒng)數(shù)據(jù)的及時(shí)保存做補(bǔ)充。I/O端口模塊外接EM7004多軸接口端子參與伺服控制器的控制,F(xiàn)C2001 Lightbus PCI 接口模塊、CX1500-M520 DeviceNet現(xiàn)場(chǎng)總線主站接口模塊、M6310 Lightbus 控制模塊作為數(shù)據(jù)交互的有力支撐。KL9020 系統(tǒng)端子模塊獨(dú)立于具體的現(xiàn)場(chǎng)總線和端子排設(shè)計(jì)。標(biāo)準(zhǔn)型模塊化組件的規(guī)劃在于在使用上層Beckhoff TwinCAT自動(dòng)化軟件時(shí),系統(tǒng)管理器可以方便地對(duì)I/O接口進(jìn)行集成和參數(shù)化。 多軸運(yùn)動(dòng)控制器設(shè)計(jì)如圖2所示。

圖2 嵌入式多軸運(yùn)動(dòng)控制器
本節(jié)介紹嵌入式SoC片上芯片板的開(kāi)發(fā)流程和規(guī)劃設(shè)計(jì)要點(diǎn)。
2.1 嵌入式SoC片上芯片板設(shè)計(jì)流程
嵌入式SoC片上芯片板開(kāi)發(fā)采用軟硬件協(xié)同的設(shè)計(jì)方法,分為底層硬件設(shè)計(jì)、驅(qū)動(dòng)開(kāi)發(fā)、倍福控制系統(tǒng)、工業(yè)PC編程4個(gè)層次,重點(diǎn)在于與倍福控制系統(tǒng)對(duì)接的驅(qū)動(dòng)接口層開(kāi)發(fā)。驅(qū)動(dòng)開(kāi)發(fā)采用層次劃分結(jié)構(gòu)加子系統(tǒng)的模式,借鑒Linux內(nèi)核分層思想對(duì)各個(gè)功能模塊在縱向上有一個(gè)劃分歸屬,對(duì)層與層之間的接口進(jìn)行規(guī)劃,橫向上對(duì)于具體的層來(lái)說(shuō),可以預(yù)留新的子系統(tǒng)的模塊規(guī)范,便于后續(xù)驅(qū)動(dòng)的升級(jí)和維護(hù)。驅(qū)動(dòng)開(kāi)發(fā)的載體為基于搭載Linux系統(tǒng)的SoC芯片板。芯片板開(kāi)發(fā)流程如圖3所示。
2.2 嵌入式SoC片上芯片板設(shè)計(jì)規(guī)劃
ARM9S3C2440芯片采用外部供電芯片AMS1117提供3.3 V穩(wěn)壓電源,為了便于算法和系統(tǒng)驅(qū)動(dòng)程序順利運(yùn)行外擴(kuò)FLASH(型號(hào)為SST39VF1601)和SRAM(型號(hào)為HY57V561620FTP)進(jìn)行補(bǔ)充,使用兼容性EtherCAT配合通信系統(tǒng),并采用LAN8720A工業(yè)以太網(wǎng)通信作為補(bǔ)充,相對(duì)應(yīng)的 EtherCAT 端子模塊都可使用本地現(xiàn)場(chǎng)總線主/從端子模塊快速集成到EtherCAT 系統(tǒng),無(wú)需在 PC 的 PCI 插槽上增加現(xiàn)場(chǎng)總線主站卡。采用CH340芯片進(jìn)行上位機(jī)和ARM9進(jìn)行串口通信。為了保證信息交互的有效性,采用沉金工藝的四層板設(shè)計(jì)PCB。芯片板設(shè)計(jì)規(guī)劃如圖4所示。

圖4 嵌入式SoC片上芯片板設(shè)計(jì)規(guī)劃
2.3 EtherCAT 通信系統(tǒng)運(yùn)行原理
一般實(shí)時(shí)以太網(wǎng)通信使用專用交換機(jī)并采用時(shí)間控制方式分配以太網(wǎng)報(bào)文,或通過(guò)較高級(jí)協(xié)議層禁止CSMA/CD存取過(guò)程用輪詢技術(shù)或時(shí)間分片來(lái)取代它,雖然可行但是帶寬的利用率低,而且伴隨通信總線傳輸?shù)难舆t。將過(guò)程數(shù)據(jù)直接傳送到以太網(wǎng)幀,以太網(wǎng)幀包含若干個(gè)用于特定存儲(chǔ)區(qū)域的EtherCAT報(bào)文,數(shù)據(jù)鏈獨(dú)立于網(wǎng)絡(luò)中EtherCAT端子模塊的物理順序,EtherCAT 從站控制器讀取數(shù)據(jù)通過(guò)硬件實(shí)現(xiàn)。因此數(shù)據(jù)流中幀傳遞僅被延遲幾位,采用EtherCAT 通信系統(tǒng)分布式 EtherCAT時(shí)鐘進(jìn)行同步后,1個(gè)分布式 I/O 數(shù)據(jù)的刷新時(shí)間僅為 0.03 μs。
驅(qū)動(dòng)板的軟件設(shè)計(jì)基于系統(tǒng)平臺(tái)Linux 2.6.32.2,開(kāi)源免費(fèi),便于維護(hù)和升級(jí)。
3.1 底層平臺(tái)Linux系統(tǒng)規(guī)劃
底層驅(qū)動(dòng)平臺(tái)整體上分為應(yīng)用空間和內(nèi)核空間,引導(dǎo)程序是U-boot。在內(nèi)核空間里,外圍器件驅(qū)動(dòng)調(diào)用驅(qū)動(dòng)支撐層,片上外設(shè)和內(nèi)核庫(kù)構(gòu)成可加載文件(.ko)。在應(yīng)用空間里,應(yīng)用程序調(diào)用驅(qū)動(dòng)接口層函數(shù)、底層庫(kù)函數(shù)、Linux運(yùn)行支撐系統(tǒng)完成相應(yīng)的驅(qū)動(dòng)實(shí)現(xiàn)。系統(tǒng)規(guī)劃如圖5所示。

圖5 底層平臺(tái)Linux系統(tǒng)規(guī)劃
3.2 嵌入底層驅(qū)動(dòng)任務(wù)設(shè)計(jì)
得益于開(kāi)源Linux系統(tǒng)平臺(tái)的“一切皆文件”的思想,在模塊化編程中大部分都做好了只需要編輯和修改不多的一部分。驅(qū)動(dòng)代碼文件會(huì)被編譯成相應(yīng)的.o文件,內(nèi)核將分析生成的文件和附屬信息保存在.mod.c中,之后調(diào)用genksym生成函數(shù)校驗(yàn)、版本信息。調(diào)用modpost分析可用符號(hào)和未解決符號(hào),將.o文件鏈接成.ko模塊文件。底層驅(qū)動(dòng)任務(wù)設(shè)計(jì)如圖6所示。

圖6 嵌入底層驅(qū)動(dòng)任務(wù)設(shè)計(jì)
本文采用倍福控制系統(tǒng)提供的TwinCAT3 control 作為上層用戶運(yùn)動(dòng)控制程序的開(kāi)發(fā)環(huán)境。通過(guò)XFC便于高精度檢測(cè)和發(fā)送信號(hào),以達(dá)到實(shí)現(xiàn)多樣化高速運(yùn)動(dòng)控制。
4.1 XFC控制技術(shù)運(yùn)行原理
XFC是基于高效控制和通信架構(gòu)的高速控制技術(shù),硬件上為所有的EtherCAT設(shè)備都搭載本地同步時(shí)鐘,用于補(bǔ)償信息傳遞時(shí)間差,且數(shù)據(jù)傳輸時(shí)在用戶數(shù)據(jù)外加有時(shí)間戳提供了高精度時(shí)間信息。在同步時(shí)鐘的控制下,I/O口從物理輸入觸發(fā)到輸出響應(yīng)的整個(gè)過(guò)程小于等于100 μs,從而縮短了通信周期,加快了數(shù)據(jù)采樣頻率。
4.2 TwinCAT3運(yùn)行環(huán)境建立
TwinCAT3軟件系統(tǒng)用于程序編輯、錯(cuò)誤診斷和系統(tǒng)配置,由實(shí)時(shí)環(huán)境和在開(kāi)發(fā)環(huán)境中執(zhí)行控制程序的實(shí)時(shí)系統(tǒng)組成。建立工程項(xiàng)目后,在I/O Configuration(組態(tài)配置)中的I/O Devices中開(kāi)始掃描設(shè)備選擇EtherCAT,在NC-Configuration(運(yùn)動(dòng)配置)選擇添加相應(yīng)電機(jī)和參數(shù),在TwinCAT下找到Activate Configuration(激活配置),在運(yùn)動(dòng)配置界面進(jìn)入Axes(軸)下信息的Online,運(yùn)行后便可獲得TwinCAT系統(tǒng)通過(guò)檢測(cè)獲得的當(dāng)前運(yùn)動(dòng)信息。對(duì)運(yùn)動(dòng)軸輸入正弦波,再利用MATLAB軟件進(jìn)行數(shù)據(jù)采集分析,如圖7、圖8所示。

圖7 基于正弦速度跟蹤

圖8 基于正弦位置跟蹤
采用Beckhoff 控制系統(tǒng)構(gòu)成了完整驅(qū)動(dòng)系統(tǒng)。利用支持IEC61131-3 編程語(yǔ)言的TwinCAT提供基于嵌入式PC的控制程序編寫和設(shè)計(jì)便于升級(jí)維護(hù),降低了單元

[1] 顧強(qiáng).基于SoC 的多軸運(yùn)動(dòng)控制系統(tǒng)及其同步控制研究[D].武漢:華中科技大學(xué),2015.
[2] 張守娟.隨動(dòng)系統(tǒng)的多電機(jī)同步控制方法研究[D].哈爾濱:哈爾濱工業(yè)大學(xué)工學(xué),2013.
[3] 柏淑紅.采用伺服電機(jī)的電子凸輪控制系統(tǒng)設(shè)計(jì)[J].機(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.
劉飛飛(教授),主要研究方向?yàn)橹悄苎b備及其自動(dòng)化、特種裝備機(jī)器人、檢測(cè)技術(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].單片機(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啟動(dòng)及更新研究[J].中國(guó)西部科技,2009,8(1):1-3.
[6] 文華武.基于以太網(wǎng)的FPGA遠(yuǎn)程程序升級(jí)系統(tǒng)的設(shè)計(jì)與應(yīng)用[D].重慶:重慶大學(xué),2012.
[7] 黃蕊.利用Altera增強(qiáng)型配置片實(shí)現(xiàn)FPGA動(dòng)態(tài)配置[J].電子設(shè)計(jì)工程,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.
羅明華(副研究員),主要研究方向?yàn)槊旱V自動(dòng)化。
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)的機(jī)器人通用多軸控制器開(kāi)發(fā)(xs2016130)。
TP23
A
?士然
2017-01-16)