国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

軟PLC開(kāi)發(fā)平臺(tái)與EtherMAC接口技術(shù)研究*

2015-11-02 11:10孫好春張承瑞胡天亮
關(guān)鍵詞:繞線編程語(yǔ)言主站

孫好春,張承瑞,胡天亮

(山東大學(xué)a.機(jī)械工程學(xué)院;b.高效與潔凈機(jī)械制造教育部重點(diǎn)實(shí)驗(yàn)室,濟(jì)南 250061)

軟PLC開(kāi)發(fā)平臺(tái)與EtherMAC接口技術(shù)研究*

孫好春a,b,張承瑞a,b,胡天亮a,b

(山東大學(xué)a.機(jī)械工程學(xué)院;b.高效與潔凈機(jī)械制造教育部重點(diǎn)實(shí)驗(yàn)室,濟(jì)南 250061)

為提升基于EtherMAC工業(yè)實(shí)時(shí)以太網(wǎng)平臺(tái)的運(yùn)動(dòng)控制系統(tǒng)開(kāi)發(fā)效率,提出了一種可使用IEC 61131-3編程語(yǔ)言在該平臺(tái)下開(kāi)發(fā)運(yùn)動(dòng)控制系統(tǒng)的方法。通過(guò)研究開(kāi)放式軟PLC開(kāi)發(fā)平臺(tái)CoDeSys在Windows CE 6操作系統(tǒng)下的二次開(kāi)發(fā)技術(shù),結(jié)合EtherMAC的從站首節(jié)點(diǎn)定時(shí)觸發(fā)機(jī)制,設(shè)計(jì)一種以外部事件機(jī)制和內(nèi)核對(duì)象事件機(jī)制實(shí)現(xiàn)程序同步的EtherMAC組件。并以開(kāi)發(fā)數(shù)控繞線機(jī)的控制系統(tǒng)為例,對(duì)該組件的可行性和性能進(jìn)行驗(yàn)證,結(jié)果表明其能夠滿足控制系統(tǒng)的功能要求,并有效地提高開(kāi)發(fā)效率。

軟PLC;EtherMAC;工業(yè)以太網(wǎng);運(yùn)動(dòng)控制;CoDeSys;IEC 61131

0 引言

由PLCopen組織推行的IEC 61131-3編程語(yǔ)言以其功能標(biāo)準(zhǔn)化,開(kāi)發(fā)效率高等特點(diǎn)成為工業(yè)控制系統(tǒng)開(kāi)發(fā)領(lǐng)域的事實(shí)標(biāo)準(zhǔn)語(yǔ)言[1]。相比于傳統(tǒng)的PLC編程語(yǔ)言,IEC 61131-3提高了程序復(fù)用性并拓寬了編程語(yǔ)言的應(yīng)用范圍,可滿足運(yùn)動(dòng)控制等領(lǐng)域的功能需求[2]。軟PLC是用純軟件實(shí)現(xiàn)PLC的功能,不限于特定的硬件平臺(tái),因此具有良好的拓展性,以IEC 61131-3作為編程語(yǔ)言[3-4]。EtherMAC(Ethernet for Manufacture Automation Control)是山東大學(xué)數(shù)控技術(shù)研究中心針對(duì)運(yùn)動(dòng)控制應(yīng)用,自主研發(fā)的工業(yè)實(shí)時(shí)以太網(wǎng)[5-6]。為能夠使用IEC 61131-3語(yǔ)言開(kāi)發(fā)采用EtherMAC作為運(yùn)動(dòng)控制總線的運(yùn)動(dòng)控制系統(tǒng),通過(guò)研究軟PLC開(kāi)發(fā)平臺(tái)CoDeSys在Windows CE 6下的二次開(kāi)發(fā)技術(shù),設(shè)計(jì)了EtherMAC組件實(shí)現(xiàn)CoDeSys與EtherMAC之間的數(shù)據(jù)交互。然后以數(shù)控繞線機(jī)控制系統(tǒng)的開(kāi)發(fā)過(guò)程為例,對(duì)該組件的功能進(jìn)行驗(yàn)證。

1 軟PLC開(kāi)發(fā)平臺(tái)

開(kāi)放式的軟PLC開(kāi)發(fā)平臺(tái),由Runtime和用于PLC程序開(kāi)發(fā)的IDE(Integrated Development Environment,集成開(kāi)發(fā)環(huán)境)和兩部分組成。Runtime為可運(yùn)行在多種實(shí)時(shí)系統(tǒng)上的軟件模塊,通過(guò)執(zhí)行IDE生成的PLC任務(wù)文件實(shí)現(xiàn)控制功能。

1.1 CoDeSys簡(jiǎn)介

CoDeSys是德國(guó)3S公司的開(kāi)放式軟PLC開(kāi)發(fā)平臺(tái),支持IEC61131-3的五種編程語(yǔ)言:順序功能圖(SFC)、功能塊圖(FBD)、梯形圖(LD)、結(jié)構(gòu)化文本(ST)和指令表(IL)[4]。此外CoDeSys還內(nèi)置有符合PLCopen標(biāo)準(zhǔn)規(guī)范的運(yùn)動(dòng)控制功能塊庫(kù)。

CoDeSys的IDE名稱也為CoDeSys,它和運(yùn)行于目標(biāo)機(jī)的Runtime組成一個(gè)完整的開(kāi)放式PLC開(kāi)發(fā)平臺(tái)。Windows CE下的Runtime本質(zhì)為一個(gè)應(yīng)用程序,可通過(guò)底層驅(qū)動(dòng)程序訪問(wèn)底層硬件和外部總線,運(yùn)行原理如圖1所示。將CoDeSys生成的界面文件和任務(wù)文件下載到目標(biāo)機(jī)之后,Runtime即可通過(guò)解析這些文件實(shí)現(xiàn)控制功能。

1.2 CoDeSys的OEM組件二次開(kāi)發(fā)

CoDeSys的OEM組件是一種面向設(shè)備制造商的二次開(kāi)發(fā)模塊,其開(kāi)發(fā)過(guò)程如圖2所示。首先使用CoDeSys的IDE定制新的OEM組件接口生成Library文件和M4文件。CoDeSys的IDE可通過(guò)加載Library文件使用該OEM組件。M4解析器將M4文件解析生成文件名分別以DEF和ITF結(jié)尾的C語(yǔ)言頭文件,其中包含該組件的待實(shí)現(xiàn)函數(shù)接口及其之間的依賴關(guān)系,然后可使用Visual Studio編程實(shí)現(xiàn)接口的具體功能并生成相應(yīng)的程序模塊。在Windows CE下這種程序模塊以DLL(Dynamic Link Library,動(dòng)態(tài)鏈接庫(kù))的形式存在。這樣Runtime在解析由CoDeSys調(diào)用新組件的Library生成的任務(wù)文件時(shí),會(huì)調(diào)用相應(yīng)的DLL程序模塊實(shí)現(xiàn)相應(yīng)的具體功能。

圖2 CoDeSys的OEM組件二次開(kāi)發(fā)流程圖

2 EtherMAC組件設(shè)計(jì)

2.1 EtherMAC簡(jiǎn)介

EtherMAC工業(yè)以太網(wǎng)的定時(shí)和同步機(jī)制均由從站實(shí)現(xiàn),這種機(jī)制不要求主站具有高精度實(shí)時(shí)定時(shí)器。主站只需在下一個(gè)總線同步周期到來(lái)之前向從站下發(fā)新的通信數(shù)據(jù),即可保證通信的實(shí)時(shí)性和準(zhǔn)確性[7-8]。

2.2 組件的接口設(shè)計(jì)

一般現(xiàn)場(chǎng)總線的通信周期和同步機(jī)制由主站即控制器進(jìn)行控制,因此在CoDeSys上開(kāi)發(fā)這類總線的組件,通常使用高精度周期性任務(wù)控制總線數(shù)據(jù)的周期性收發(fā)。而對(duì)于EtherMAC,如果主站也采用高精度周期性任務(wù)控制數(shù)據(jù)收發(fā),那么這種不關(guān)聯(lián)的主從站雙定時(shí)機(jī)制會(huì)帶來(lái)增大數(shù)據(jù)處理延遲的問(wèn)題。具體分析如圖3所示。

圖3 雙定時(shí)機(jī)制產(chǎn)生的延遲時(shí)間分析圖

假設(shè)主站和從站之間以時(shí)間T進(jìn)行周期性數(shù)據(jù)交互,那么兩者的定時(shí)周期也都為T,相鄰兩個(gè)定時(shí)周期開(kāi)始時(shí)間為t1和t2,從站首節(jié)點(diǎn)向主站發(fā)送數(shù)據(jù)之后,主站并不是立即處理數(shù)據(jù),而是延遲一段時(shí)間Δt之后,在主站新的定時(shí)周期開(kāi)始時(shí)才從硬件緩存中讀取數(shù)據(jù)包進(jìn)行處理。

圖4 EtherMAC組件的程序同步機(jī)制順序圖

Δt的大小由公式1確定。其中tu是微小的網(wǎng)絡(luò)數(shù)據(jù)傳輸時(shí)間,在數(shù)據(jù)傳輸速率、數(shù)據(jù)量和網(wǎng)線長(zhǎng)度一定時(shí)該值為固定值。因此Δt時(shí)間主要取決于t1和t2之間的時(shí)間差值,最大值可接近定時(shí)周期T。主站在Δt時(shí)間內(nèi)并沒(méi)有進(jìn)行有效的工作,而t1和t2為不確定的隨機(jī)時(shí)間,因此Δt的大小也具有隨機(jī)性的。

用事件觸發(fā)機(jī)制代替主站定時(shí)機(jī)制可消除Δt,即主站在接收到從站反饋數(shù)據(jù)之后,立刻觸發(fā)CoDeSys的Runtime中的任務(wù)進(jìn)行數(shù)據(jù)處理。EtherMAC組件正是基于該原理設(shè)計(jì)的,其利用CoDeSys的OEM組件二次開(kāi)發(fā)技術(shù)實(shí)現(xiàn),具體的同步原理如圖4所示。

EtherMAC驅(qū)動(dòng)是一個(gè)運(yùn)行在NDIS(Network Driver Interface Specification)中間層和協(xié)議層的驅(qū)動(dòng)。中間層部分可以直接操作以太網(wǎng)卡的數(shù)據(jù)收發(fā),保證數(shù)據(jù)收發(fā)的實(shí)時(shí)性和可靠性。協(xié)議層向外部提供操作接口,并按照EtherMAC協(xié)議實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)數(shù)據(jù)封裝和解析。Ether-MAC組件內(nèi)運(yùn)行EtherMAC主站線程,而Runtime內(nèi)運(yùn)行普通任務(wù)和外部事件任務(wù)。運(yùn)行之前需要注冊(cè)一個(gè)CoDeSys外部事件EVENT_EtherMAC和一個(gè)Windows CE內(nèi)核對(duì)象事件EVENT_TASK_FINISH。

Runtime啟動(dòng)時(shí),首先對(duì)EtherMAC組件和驅(qū)動(dòng)進(jìn)行初始化。之后從站進(jìn)入運(yùn)行狀態(tài),并周期性地向主站發(fā)送數(shù)據(jù)。EtherMAC主站線程被反饋數(shù)據(jù)激活后,根據(jù)接收到的數(shù)據(jù)更新各個(gè)子模塊的接收數(shù)據(jù)區(qū)并觸發(fā)EVENT_EtherMAC。由于外部事件任務(wù)優(yōu)先級(jí)被設(shè)置為最高,此時(shí)Runtime將切換到外部事件任務(wù)中執(zhí)行。在外部事件任務(wù)中可以加入開(kāi)發(fā)者設(shè)計(jì)的子程序,實(shí)現(xiàn)運(yùn)動(dòng)控制、邏輯控制等功能。外部事件完成任務(wù)之后更新EtherMAC組件內(nèi)各子模塊的發(fā)送數(shù)據(jù)區(qū),并觸發(fā)事件EVENT_TASK_FINISH通知EtherMAC主站線程繼續(xù)執(zhí)行,此時(shí)Runtime切換到普通任務(wù)中運(yùn)行。然后EtherMAC主站線程采集各個(gè)子模塊中的發(fā)送數(shù)據(jù)區(qū)的數(shù)據(jù),通過(guò)EtherMAC驅(qū)動(dòng)向從站發(fā)送控制數(shù)據(jù)。至此一個(gè)通信周期完成,EthermMAC驅(qū)動(dòng)繼續(xù)等待下一個(gè)周期從站數(shù)據(jù)的到來(lái)。

3 實(shí)例驗(yàn)證

通過(guò)EtherMAC組件,即可在CoDeSys上使用IEC 61131-3語(yǔ)言開(kāi)發(fā)基于EtherMAC的控制系統(tǒng),本文以數(shù)控繞線機(jī)的開(kāi)發(fā)為例驗(yàn)證該組件帶來(lái)的優(yōu)勢(shì)。數(shù)控繞線機(jī)是一種用于電機(jī)線圈繞線的自動(dòng)化設(shè)備,由繞線系統(tǒng)和機(jī)械手兩部分組成。繞線系統(tǒng)通過(guò)控制3個(gè)交流伺服電機(jī)實(shí)現(xiàn)繞線功能;機(jī)械手通過(guò)I/O開(kāi)關(guān)量控制氣缸、剪切裝置和離合器,實(shí)現(xiàn)送線、剪線和更換模具等功能。如基于EtherMAC開(kāi)發(fā)該控制系統(tǒng),則從站系統(tǒng)可由3個(gè)用于電機(jī)控制的Elink從站模塊和6個(gè)具有8個(gè)開(kāi)關(guān)量輸入點(diǎn)和8個(gè)開(kāi)關(guān)量輸出點(diǎn)的IO8從站模塊組成,主站控制器采用支持觸控的Windows CE 6工控機(jī),其上運(yùn)行CoDeSys的Runtime和EtherMAC組件,結(jié)構(gòu)如圖5所示。

圖5 繞線機(jī)控制系統(tǒng)結(jié)構(gòu)圖

原有控制系統(tǒng)由觸摸屏與PLC或獨(dú)立運(yùn)動(dòng)控制器兩部分組成,兩者之間通過(guò)串口實(shí)現(xiàn)數(shù)據(jù)交互,開(kāi)發(fā)者需要根據(jù)串口通信約定在不同的軟件開(kāi)發(fā)環(huán)境下實(shí)現(xiàn)人機(jī)交互功能和電機(jī)繞線功能。對(duì)于基于Ether-MAC工業(yè)實(shí)時(shí)以太網(wǎng)平臺(tái)的運(yùn)動(dòng)控制系統(tǒng)開(kāi)發(fā),在沒(méi)有EtherMAC組件時(shí),只能使用C/C++等高級(jí)語(yǔ)言完成開(kāi)發(fā)該系統(tǒng),這樣就不能復(fù)用原有的PLC程序代碼,因此全部代碼需要重新編寫。而使用EtherMAC組件之后,機(jī)械手控制部分可以復(fù)用已有的功能成熟的PLC部分代碼,而繞線系統(tǒng)的控制部分可使用CoD-eSys內(nèi)部的符合PLCopen標(biāo)準(zhǔn)規(guī)范的運(yùn)動(dòng)控制功能塊庫(kù)完成開(kāi)發(fā),同時(shí)人機(jī)交互功能也可在同一個(gè)開(kāi)發(fā)環(huán)境CoDeSys中實(shí)現(xiàn),免去了串口通信。由此可見(jiàn),EtherMAC組件可提高程序代碼的復(fù)用率,簡(jiǎn)化開(kāi)發(fā)過(guò)程并有效提升基于EtherMAC工業(yè)實(shí)時(shí)以太網(wǎng)平臺(tái)的運(yùn)動(dòng)控制系統(tǒng)開(kāi)發(fā)效率。

4 結(jié)論

本文利用CoDeSys的OEM組件提供的二次開(kāi)發(fā)技術(shù),設(shè)計(jì)了針對(duì)EtherMAC工業(yè)實(shí)時(shí)以太網(wǎng)的Ether-MAC組件。在該組件的幫助下,開(kāi)發(fā)者可以使用IEC 61131-3語(yǔ)言開(kāi)發(fā)基于EtherMAC的運(yùn)動(dòng)控制系統(tǒng)。由于IEC 61131-3語(yǔ)言與傳統(tǒng)的PLC編程語(yǔ)言具有較大的兼容性,因此可以復(fù)用已有的PLC程序代碼,也使原來(lái)PLC開(kāi)發(fā)工程師也有能力開(kāi)發(fā)基于EtherMAC的運(yùn)動(dòng)控制系統(tǒng)。經(jīng)過(guò)實(shí)例測(cè)試驗(yàn)證,該組件的性能滿足控制系統(tǒng)的應(yīng)用,并顯著提高運(yùn)動(dòng)控制系統(tǒng)的開(kāi)發(fā)效率。

[1]黃延延,林躍,于海斌.軟PLC技術(shù)研究及實(shí)現(xiàn)[J].計(jì)算機(jī)工程,2004(1):165-167.

[2]周峰,王新華,李劍峰,等.軟PLC技術(shù)的發(fā)展現(xiàn)狀及應(yīng)用前景[J].計(jì)算機(jī)工程與應(yīng)用,2004(24):57-60.

[3]Yan Yi,Hangping Zhang.Compiling Ladder Diagram into Instruction List to comply with IEC 61131-3[J].Computers in Industry,2010,61(5):448-462.

[4]王麗麗,康存鋒,馬春敏,等.基于CoDeSys的嵌入式軟PLC系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代制造工程,2007(3):54-56.

[5]KeWang,Chengrui Zhang,Xinzhong Dingetal.A new realtime Ethernet for numeric control[J].2010 8th World Congress on Intelligent Control and Automation,2010:4137-4141.

[6]Felser M.Real-time ethernet-industry prospective[J].Proceedings of the IEEE,2005,93(6):1118-1129.

[7]孫好春,張承瑞,胡天亮.基于SMP的總線式軟運(yùn)動(dòng)控制引擎設(shè)計(jì)[J].農(nóng)業(yè)機(jī)械學(xué)報(bào),2014(3):288-292.

[8]Hu Tianliangetal.Design and application of a real-time industrial Ethernet protocol under Linux using RTAI[J].International Journal of Computer Integrated Manufacturing,2013,26(5):429-439.

[9]Boling.D.Windows CE6.0開(kāi)發(fā)者參考[M].北京:機(jī)械工業(yè)出版社,2009.

[10]Iustinus Tim Avery.CoDeSys[M].Saarland:Cel Publishing,2012.

(編輯 李秀敏)

Research about Interface between Soft PLC Development Platform and EtherMAC

SUN Hao-chuna,b,ZHANG Cheng-ruia,b,HU Tian-lianga,b
(a.School of Mechanical Engineering;b.Key Laboratory of High Efficiency and Clean Mechanical Manufacturing,Shandong University,Jinan 250061,China)

In order to advance the efficiency of developing motion control system,which is based on motion controller using the EtherMAC industrial ethernet,a method is designed to realise using IEC 61131-3 programming languages to develop motion control system using this motion controller.The secondary development technique of open development platform for soft PLC CoDeSys in Windows CE 6 is researched,combined with the timing trigger mechanism decided by the first slave node in EtherMAC,a method about program synchronization is designed to establish the component for EtherMAC,whose mechanism is based on an external event and a kernel object event.Take the development of the control system of numerical control winding machine for example,to verify the feasibility and performance with this component.The result is showed that the functional requirement of the control system can be met,and development efficiency is improved much.

soft PLC;EtherMAC;industry ethernet;motion control;CoDeSys;IEC 61131

TH165;TG65

A

1001-2265(2015)03-0083-03 DOI:10.13462/j.cnki.mmtamt.2015.03.022

2014-06-17;

2014-07-22

國(guó)家重大科技專項(xiàng)資助項(xiàng)目(2012ZX04010-021-002-005)

孫好春(1986—),男,山東平度人,山東大學(xué)博士研究生,研究方向?yàn)檫\(yùn)動(dòng)控制技術(shù),(E-mail)sunvhao@163.com。

猜你喜歡
繞線編程語(yǔ)言主站
基于JavaScript編程語(yǔ)言之 閉包技術(shù)在焦點(diǎn)輪播上的應(yīng)用
磁阻輔助式繞線轉(zhuǎn)子無(wú)刷雙饋電機(jī)的結(jié)構(gòu)優(yōu)化
1000kV接地線收放裝置的設(shè)計(jì)
次級(jí)線圈繞線錐度對(duì)LVDT靜態(tài)特性的影響
計(jì)算機(jī)軟件開(kāi)發(fā)的JAVA編程語(yǔ)言及其實(shí)際應(yīng)用分析
基于S7-1200 PLC的DP總線通信技術(shù)在馬里古伊那水電站泄洪沖沙孔門機(jī)上的應(yīng)用
淺談不同編程語(yǔ)言對(duì)計(jì)算機(jī)軟件開(kāi)發(fā)的影響
馬達(dá)繞線參數(shù)對(duì)其功能的影響研究
EtherCAT主站與主站通信協(xié)議的研究與實(shí)現(xiàn)*
多表遠(yuǎn)程集抄主站系統(tǒng)