999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

PLCopen多軸圓弧運動控制功能塊的實現

2017-03-02 05:29:34王瀚博劉知貴范玉德
自動化儀表 2017年2期
關鍵詞:設計

羅 亮, 王瀚博, 劉知貴, 范玉德

(1.中國工程物理研究院電子工程研究院,四川 綿陽 621900;2.西南科技大學信息工程學院,四川 綿陽 621010;3.西南科技大學研究生院,四川 綿陽 621010;4.中國工程物理研究院化工材料研究所,四川 綿陽 621900)

PLCopen多軸圓弧運動控制功能塊的實現

羅 亮1,2, 王瀚博2, 劉知貴3, 范玉德4

(1.中國工程物理研究院電子工程研究院,四川 綿陽 621900;2.西南科技大學信息工程學院,四川 綿陽 621010;3.西南科技大學研究生院,四川 綿陽 621010;4.中國工程物理研究院化工材料研究所,四川 綿陽 621900)

針對目前市場上運動控制器編程語言不兼容、編程方法繁瑣等問題,深入研究了基于PLCopen規(guī)范的功能塊模型設計及圓弧插補算法的工作原理。首先,在試驗室現有的“多軸運動控制器+μC/OS-Ⅲ”平臺上,選用目前工控界廣泛推廣的德國3S公司的Codesys軟件作為開發(fā)平臺,以多軸圓弧運動控制功能塊作為編程對象,采用結構化文本語言和順序功能圖,設計運動控制功能塊。其次,通過在嵌入式系統(tǒng)中移植Codesys SP內核,使硬件平臺成為符合IEC編程標準的可編程邏輯控制器,實現底層功能塊的接口設計。最后,將設計好的功能塊下載到控制器中,在Matlab中進行速度與位移曲線的仿真。仿真結果表明,功能塊可達到設計要求,能夠完成多軸運動,并可被移植到其他硬件平臺上,具有很好的兼容性與復用性。

IEC 61131-3; PLCopen; 運動控制; 編程語言;連續(xù)功能圖

0 引言

近年來,隨著PLC編程語言標準化程度的逐步提高,自動化產品的解決方案互補兼容,但運動控制產品的市場依舊各行其事,產品之間的編程語言存在差異,用戶在使用不同產品時還需重新學習[1-2]。這會造成產品安裝、維護上的不便,容易使不同運動控制設備的使用產生混亂,同時給制造商的運動控制產品集成帶來困難,工程實施也因此更為復雜[3]。

PLCopen標準定義的運動控制功能塊具有很強的移植性和通用性,其已成為工控界運動控制編程語言的首選[4]。目前,國內外對PLCopen運動控制功能塊的研究主要集中在直線運動方面,且通常是直接在編程軟件中進行設計[4],對多軸圓弧運動控制功能塊的設計相對較少。本文以試驗室的多軸運動控制器作為硬件平臺,采用實時操作系統(tǒng)μC/OS-Ⅲ,并結合Codesys SP內核,將嵌入式硬件平臺變成符合IEC國際標準的可編程邏輯器。同時,對圓弧插補運動控制原理進行研究,在軟件中實現多軸圓弧運動控制功能塊的設計。多軸運動功能塊的接口編程分為兩部分,其中Codesys軟件采用ST編程,硬件平臺采用C語言編寫。

1 系統(tǒng)結構

系統(tǒng)上層軟PLC采用德國3S公司開發(fā)的、符合IEC編程標準的可編程邏輯控制系統(tǒng)軟件開發(fā)平臺。基于Visual Studio 2010中的C語言平臺,對符合PLCopen規(guī)范的運動控制功能塊進行開發(fā)。硬件平臺采用試驗室開發(fā)的“多軸運動控制器+μC/OS-Ⅲ”。軟PLC與運動控制器之間采用串口和工業(yè)以太網進行通信,功能塊下載到運動控制器后,通過I/O模塊輸出。運動控制器系統(tǒng)的整體框架如圖1所示。

圖1 運動控制器系統(tǒng)框架示意圖

2 PLCopen功能塊的實現

2.1 功能塊模型設計

PLCopen運動控制功能塊提供的標準是以IEC 61131-3功能塊概念為基礎,主要包括類型名、輸入引腳、輸出引腳、內部控制算法[5]。任意的功能塊都能構建多個實例,由用戶編程來進行設置。其中,輸入和輸出引腳本質上是運動控制模塊內部算法的接口,PLCopen標準根據運動控制算法所需要的位移、速度等運動控制參數,結合編程語言寫入控制軟件所需狀態(tài),給出輸入、輸出狀態(tài)[6]。而功能塊中的內部算法是隱藏的,通過輸入引腳來獲得使用者設定的運動參數,經過運算后,再由輸出引腳反饋至用戶編寫的控制軟件。

根據PLCopen的定義,功能塊被分為三大類:單軸、多軸和軸組[7]。本文以多軸運動為研究對象。PLCopen標準功能塊主要由管理類功能塊和運動功能塊兩部分組成。管理類功能塊主要負責電源模塊的開關使能,軸的狀態(tài)信息和運動參數的讀寫及報錯功能等;運動類功能塊主要負責與軸相關的信息運控[8]。

基于PLCopen規(guī)范中軸組的設計理念實現多軸功能塊,并建立軸組狀態(tài)圖。在軸組狀態(tài)圖中,對軸組的每個指令進行描述;軸組的狀態(tài)位于每個單軸狀態(tài)的頂部,其主要由單軸狀態(tài)圖構成。在軸組狀態(tài)中,各個單軸狀態(tài)被同時激活。軸組狀態(tài)分為:靜立狀態(tài)、運動狀態(tài)、停止狀態(tài)、靜止狀態(tài)、報錯狀態(tài)、回零狀態(tài)[9]。

2.2 圓弧插補原理

基于圓弧插補算法進行多軸圓弧運動。圓弧插補實質上是將圓弧轉換成若干小段直線,采用圓弧割線或切線來進行理論圓弧的插補,并通過每個插補點的位置來確定插補周期過程中各個軸的增量[10]。圓弧插補主要是在極坐標下完成的。

對于圓弧PsPe,圓弧圓心為O,起點坐標為Ps(xs,ys),終點坐標為Pe(xe,ye),合進給速度為V,圓心角θ=V/R,φ為插補補點角度。第一象限逆圓弧如圖2所示。

圖2 第一象限逆圓弧

圓弧插補算法的步驟如下。①進行坐標角的變換,將圓弧插補運算的初始坐標和終止坐標換算為與之對應的起始角fs和終止角fe。②計算插補運算中的合進給速度V和圓心角θ。③計算每個插補周期橫縱坐標增量dxi與dyi。④將坐標增量累計到當前插補點的坐標。⑤與終點判別條件進行對比,若滿足條件則停止,否則繼續(xù)進行圓弧插補運算[11]。

2.3 運動控制功能塊的實現

根據德國3S公司Codesys軟件的規(guī)定,用戶可以選擇不同方式進行PLCopen標準功能塊的開發(fā)。一種是在實時運行系統(tǒng)中進行設計,即外部進行開發(fā);另一種是采用IEC 61131-3標準的編程語言完成開發(fā),即內部實現。這兩種方式的實現都需要Codesys軟件中的Propertie選項。內部實現除了包括利用IEC語言實現功能塊輸入、輸出接口的定義外,還包括運動控制算法的具體代碼實現,如圖4所示。相比于外部實現,內部實現更加簡潔、易于理解。

圖4 內部功能塊開發(fā)示意圖

因此,本文選用內部實現的方式完成多軸運動控制功能塊的開發(fā)。即在不同的硬件平臺中實現Codesys SP內核的移植和功能塊的接口定義,以實現功能塊的調用。

Codesys軟件將功能塊中設計好的接口文件和源代碼文件編譯生成二進制文件,在硬件平臺啟動過程中加載到運動控制器的內存中。硬件平臺中多軸圓弧運動功能塊對應的結構體如下所示。

Typedef struct tag mc_movecircular_list_create_struct

{

Void*__VFTABLEPOINTER;

//虛擬函數指針

RTS_IEC_DBOOL Execute;

//輸入參數

RTS_IEC_DREAL Acceleration;

RTS_IEC_DREAL Deceleration;

RTS_IEC_DREAL Jerk;

RTS_IEC_DBOOL SpeedMode;

RTS_IEC_DREAL Xs;

RTS_IEC_DBOOL Done;

//輸出參數Done

RTS_IEC_DBOOL Busy;

RTS_IEC_DBOOL Error;

RTS_IEC_DWORD ErrorID;

} mc_movecircular_list_create_struct;

上述結構體是多軸運動功能在底層的存在方式,實時操作系統(tǒng)中通過對結構體的調用來完成對輸入、輸出接口的定義和操作。

2.4 運動控制功能塊的開發(fā)

在Codesys軟件中新建程序組織單元(program organization unit, POU),采用IEC 61131-3標準中的結構化語句程序設計語言ST來實現功能塊的內部算法。新建功能塊Center_Offside,在變量定義界面對圓心偏移功能塊中的輸入、輸出變量進行聲明,定義輸入變量的初始坐標為(xs,ys),終點坐標為(xe,ye),圓心為(x0,y0)。輸出變量為經過圓心偏移算法計算后的偏移圓心坐標。調用ST編程語言中的平方根指令(SQRT)與冪指令(EXPT),計算起點與圓心距離L和理論圓半徑R,通過IF語句來判斷L和R的值,進行圓心偏移計算。部分代碼如下所示。

L:=SQRT(EXPT((Xe-Xo),2)+EXPT((Ye-Yo),2));

D:=SQRT(EXPT(Xo,2)+EXPT(Yo,2));

L1:=SQRT(EXPT(Xe,2)+EXPT(Ye,2));

Yo1:=(EXPT(L1,2)*Ye+SQRT(EXPT(L1,4)*EXPT(Ye,2)-EXPT(L1,2)*

(EXPT(L1,4)-4*EXPT(Xe,2)*EXPT(D,2))))/(2*EXPT(L1,2));

Yo2:=(EXPT(L1,2)*Ye-SQRT(EXPT(L1,4)*EXPT(Ye,2)-EXPT(L1,2)*

(EXPT(L1,4)-4*EXPT(Xe,2)*EXPT(D,2))))/(2*EXPT(L1,2));

Xo1:=(EXPT(L1,2)-2*Ye*Yo1)/(2*Xe);

Xo2:=(EXPT(L1,2)-2*Ye*Yo2)/(2*Xe);

(1)

當Fi<0時,插補點M在圓弧的內側,則:

(2)

部分圓弧插補代碼如下所示。

E:=ABS(Xe-Xs)+ABS(Ye-Ys);

Xi:=Xs;

Yi:=Ys;

Fi:=EXPT(Xi,2)+EXPT(Yi,2)-EXPT(Xs,2)-EXPT(Ys,2);

WHILE E>0 DO

IF Fi>=0 THEN Xii:=Xi; Yii:=Yi-1; Fii:=Fi-2*Yi+1; E:=E-1;

ELSE

Xii:=Xi+1;

Yii:=Yi;

Fii:=Fi+2*Xi+1;

E:=E-1;

END_IF

END_WHILE

完成圓心偏移判別模塊與圓弧插補模塊的設計后,在Codesys軟件中新建組織程序單元,編程語言采用連續(xù)功能圖(continuous function charts,CFC)設計語言進行多軸圓弧插補功能塊的程序設計。CFC編程主要基于功能塊來實現,通過功能塊的軟連接,完成運算或控制。聲明多軸圓弧插補模塊的名稱為MC_MoveCircular2DRelative,將上述設計的圓心偏移判別模塊和圓弧插補模塊實例化,如POU1: Center_Offside;POU2:yuanhuchabu;圓心偏移模塊的輸出引腳與圓弧插補模塊的圓心輸入引腳相連接,聲明指令速度、加速度和減速度變量。調用SoftMotion功能包中符合IEC 61131-3標準的功能塊MC_MoveRelative。將圓弧插補模塊的輸出變量與MC_MoveRelative模塊的Distance引腳進行連接,作為各軸運動的終點坐標。最后,將MC_MoveRelative模塊的輸出引腳通過邏輯與運算塊進行邏輯運算,從而結束圓弧插補運算。

3 功能塊的執(zhí)行驗證

采用Codesys軟件,對MC_MoveCircular2DRelative功能塊進行驗證。將Codesys軟件中設計好的運動功能塊編程后下載至硬件平臺中。輸入參數設置如表1所示。

表1 參數設置表

將基于Codesys SP內核的μC/OS-Ⅲ操作系統(tǒng)移植到 “OMAPl138+μC/OS-Ⅲ”開發(fā)板上,調用開發(fā)板的PWM驅動進行脈沖控制,修改I/O驅動代碼,以在硬件平臺中進行運動控制。在此,以脈沖p作為I/O口的計量單位。

采用Maltab和Codesys對多軸運動控制功能塊中各個軸的速度以及位移進行聯(lián)合仿真,通過Codesys軟件中的追蹤功能,在Matlab中實現數據曲線繪制,以插補周期S為計量單位,其運動曲線及運動空間曲線分別如圖5、圖6所示。

由圖5、圖6可知,圓弧運動功能塊速度平滑,無明顯突變現象,符合S形速度柔性控制要求,且圓弧插補算法能夠準確到達指定位置。

圖5 圓弧運動控制模塊的運動曲線圖

圖6 功能塊的運動空間曲線圖

4 結束語

本文基于分模塊的結構設計了多軸運動功能塊模型;通過對硬件平臺驅動代碼的修改,根據上層Codesys軟件的統(tǒng)一功能塊接口編寫程序,并在“OMAPL138 +μC/OS-Ⅲ” 控制板中得到了實現。驗證表明,以Codesys為平臺所設計的多軸運動控制功能塊符合PLCopen標準中對于功能塊的要求。多軸運動功能塊能夠在不同的平臺中運行,可以解決PLC不同平臺編程語言不兼容的問題。

[1] 吳琳,譚營,唐建.運動控制技術發(fā)展與展望[J].機床與液壓,2007,35(7):231-233.

[2] 鞏向信,葛益軍.IEC61131-3編程語言的現狀[J].控制工程, 2007,14(1):100-101.

[3] 王晨升,徐新國,朱廷劭.IEC61131-3的通用工業(yè)組態(tài)軟件系統(tǒng)設計研究[J].控制工程, 2010, 17(1):132-133.

[4] 曹蘇雷.基于IEC6113103標準功能塊組態(tài)軟件設計與實現[D].大連:大連理工大學,2007.

[5] 童建林.CoDeSys在開放式PLC系統(tǒng)中的應用[J].電工技術,2013(7):38-39.

[6] 金麗娟,嚴義,劉罡.基于IEC61131-3的運動控制模塊設計[J].機電工程,2013,30(6):759-763.

[7] 申華,盧健康,畢玉慶.LMC20型運動控制器的多軸直線聯(lián)動程序設計[J].自動化儀表, 2009, 30(3):19-21.

[8] 徐杰.伺服電機多軸聯(lián)動系統(tǒng)設計[D].杭州:浙江理工大學,2015.

[9] 鄭仲謙.基于PLCopen的開放式運動控制器研究與實現[D].廣州: 華南理工大學, 2014.

[10]申超.基于嵌入式PLC運動控制器開發(fā)及其風機控制應用[D].湘潭:湘潭大學,2013.

[11]吳玉香,周東霞,林錦赟.嵌入式軟PLC系統(tǒng)的研究和實現[J].計算機工程,2009,35(10):235-237.

[12]張廷坤.基于CoDeSys平臺的嵌入式軟PLC研究[D].青島:山東科技大學,2012.

Realization of the Multi-Axis Arc Motion Control Function Block Based on PLCopen

LUO Liang1,2, WANG Hanbo2, LIU Zhigui3, FAN Yude4

(1.Institute of Electronic Engineering,China Academy of Engineering Physics, Mianyang 621900,China;2. School of Information Engineering, Southwest University of Science and Technology, Mianyang 621010,China;3.Graduate School, Southwest University of Science and Technology, Mianyang 621010,China;4.Institute of Chemical Materials,China Academy of Engineering Physics, Mianyang 621900,China)

At present, the programming languages for commercial available motion controllers are not compatible and the programming methods are cumbersome; aiming at these problems, the model design of function module based on specification of PLCopen and the operational principle of arc interpolation algorithm are researched in-depth.Firstly, on the existing “multi-axis motion controller+ μC/OS-Ⅲ” platform in the laboratory, selecting the Codesys software of German 3S Gmbh, that is widely promoted currently in industrial control industry as the development platform, with the multi-axis arc motion control function block as the programming object, using structured text language and sequence function diagram, the motion control function block is designed. Then through transplanting the Codesys SP kernel provided into the embedded system, this makes the hardware platform use as programmable logic controller conforming to IEC programming standards, thus the design of interface for bottom layer function block is realized.Finally, the function block designed is downloaded into controller;then the simulation of speed curve and displacement curve are conducted in Matlab.The simulation results indicate that the function block can meet the design requirements, can complete multi-axis motion, and can be transplanted to other hardware platforms; it has the very good compatibility and reusability.

IEC61131-3; PLCopen; Motion control; Programming language; Continuous function charts(CFC)

資金項目:四川省教育廳科技項目(16ZB0145)、四川省研究生教育改革創(chuàng)新項目(14JGCX01)

羅亮(1977—),男,博士,講師,主要從事嵌入式系統(tǒng)的研究與裝備控制器的研發(fā)。E-mail: luoliang@swust.edu.cn。 王瀚博(通信作者),男,在讀碩士研究生,主要從事嵌入式軟PLC技術的研究。E-mail: 490707648@qq.com。

TH-39;TP311

A

10.16086/j.cnki.issn 1000-0380.201702003

修改稿收到日期:2016-06-13

猜你喜歡
設計
二十四節(jié)氣在平面廣告設計中的應用
河北畫報(2020年8期)2020-10-27 02:54:06
何為設計的守護之道?
現代裝飾(2020年7期)2020-07-27 01:27:42
《豐收的喜悅展示設計》
流行色(2020年1期)2020-04-28 11:16:38
基于PWM的伺服控制系統(tǒng)設計
電子制作(2019年19期)2019-11-23 08:41:36
基于89C52的32只三色LED搖搖棒設計
電子制作(2019年15期)2019-08-27 01:11:50
基于ICL8038的波形發(fā)生器仿真設計
電子制作(2019年7期)2019-04-25 13:18:16
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
從平面設計到“設計健康”
商周刊(2017年26期)2017-04-25 08:13:04
主站蜘蛛池模板: 国产又爽又黄无遮挡免费观看| 国产精品网址你懂的| 欧美日韩一区二区在线免费观看| 91免费国产高清观看| 中美日韩在线网免费毛片视频| 99激情网| 欧美精品啪啪| 欧美亚洲一二三区| 欧美精品亚洲日韩a| 四虎国产精品永久在线网址| 毛片久久网站小视频| 无码中文字幕乱码免费2| 久久婷婷五月综合97色| 性色生活片在线观看| 亚洲无码视频一区二区三区| 69视频国产| 波多野结衣一级毛片| 国产尤物视频网址导航| 日韩美一区二区| 国产swag在线观看| аv天堂最新中文在线| 久久鸭综合久久国产| 55夜色66夜色国产精品视频| 日韩人妻无码制服丝袜视频| 欧洲日本亚洲中文字幕| 国产另类乱子伦精品免费女| 久久综合丝袜长腿丝袜| 一本一本大道香蕉久在线播放| 亚洲狼网站狼狼鲁亚洲下载| 毛片视频网| 午夜福利视频一区| 亚洲天堂久久久| 久久99精品久久久久纯品| 欧美性精品不卡在线观看| av天堂最新版在线| 亚洲一道AV无码午夜福利| 四虎永久在线视频| 国产女人18水真多毛片18精品| 国产成熟女人性满足视频| 五月天综合婷婷| 国产精品部在线观看| 91青草视频| 熟女视频91| 伊人五月丁香综合AⅤ| 在线va视频| 中文字幕天无码久久精品视频免费 | 中文字幕亚洲另类天堂| 国产精品视频猛进猛出| 色老头综合网| 国产成人精品一区二区| 欧美一区二区三区欧美日韩亚洲| 97成人在线观看| 最新无码专区超级碰碰碰| 亚洲swag精品自拍一区| 内射人妻无套中出无码| 99精品视频九九精品| 国产在线观看91精品| 欧美三级不卡在线观看视频| 亚洲91在线精品| 2021亚洲精品不卡a| 亚洲男人在线| 无码一区二区波多野结衣播放搜索| 欧美激情成人网| 欧美亚洲第一页| 亚洲美女久久| aⅴ免费在线观看| 人妻21p大胆| 东京热高清无码精品| 久久精品无码专区免费| 亚洲日韩欧美在线观看| 亚洲乱码精品久久久久..| 欧美一区二区自偷自拍视频| 亚洲成aⅴ人在线观看| 亚洲欧美日韩视频一区| 人妻丝袜无码视频| 无码精品国产dvd在线观看9久| 国产交换配偶在线视频| 亚洲精品中文字幕午夜| 国产精品自在线拍国产电影| 欧美福利在线播放| 欧美三级自拍| 精品综合久久久久久97超人|