本發(fā)明屬于以太網(wǎng)技術(shù)領(lǐng)域,尤其涉及一種控制器實時以太網(wǎng)EtherCAT的主站系統(tǒng)。
背景技術(shù):
EtherCAT(Ethernet for Control and Automation Technology以太網(wǎng)控制自動化技術(shù))是于2003年由德國倍福(BECKHOFF)自動化公司提出的實時工業(yè)以太網(wǎng)技術(shù),由于其獨特的體系結(jié)構(gòu)和技術(shù)開放性、通信實時性、靈活的拓?fù)浣Y(jié)構(gòu)等特點,被越來越廣泛的應(yīng)用。EtherCAT技術(shù)采用主從介質(zhì)訪問控制方式,主站控制從站發(fā)送或接收數(shù)據(jù),主站發(fā)送數(shù)據(jù)報文,從站設(shè)備在報文經(jīng)過其節(jié)點時讀取相應(yīng)的編址數(shù)據(jù),同樣,輸入數(shù)據(jù)也在報文經(jīng)過時插入至報文中,整個過程中,報文只有幾十納秒的時間延遲。報文經(jīng)過所有從站進(jìn)行數(shù)據(jù)交換后,由EtherCAT網(wǎng)段中的末端從站將報文返回,所以EtherCAT總線的數(shù)據(jù)傳輸速率非???。在EtherCAT技術(shù)中,每個從站節(jié)點無需接收全部以太網(wǎng)數(shù)據(jù)包,無需將其解碼復(fù)制,只需要匹配對自己尋址的子報文進(jìn)行處理即可。目前,EtherCAT主站的實現(xiàn)主要是采用德國倍福公司在Windows操作系統(tǒng)下基于PC機(jī)、Linux操作系統(tǒng)或Android操作系統(tǒng)的嵌入式解決方案。但其主站若采用Windows操作系統(tǒng)、Linux操作系統(tǒng)或Android操作系統(tǒng)上的軟協(xié)議棧,其協(xié)議解析過程中必須經(jīng)操作系統(tǒng)調(diào)用,這樣實時性勢必會受到影響,而采用實時工業(yè)以太網(wǎng)EtherCAT主站系統(tǒng),其顯著特點則是響應(yīng)的實時性;實時性存在影響主要由兩部分組成:第一,Windows、Linux、或Android操作系統(tǒng)其本身就是非實時性操作系統(tǒng);第二,其協(xié)議解析過程中必須經(jīng)操作系統(tǒng)調(diào)度,而操作系統(tǒng)對每一個任務(wù)進(jìn)行調(diào)度都是有一個優(yōu)先級的,而協(xié)議解析過程這一任務(wù)的優(yōu)先級并非每次都是最高的。所帶來的問題:接收數(shù)據(jù)的時間延長,通信周期加大。
綜上所述,現(xiàn)有EtherCAT主站采用Windows、Android、Linux等操作系統(tǒng)的軟協(xié)議棧其實時性受到影響,接收數(shù)據(jù)的時間延長,通信周期加大。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于提供一種控制器實時以太網(wǎng)EtherCAT的主站系統(tǒng),旨在解決現(xiàn)有EtherCAT主站采用Windows、Android、Linux等操作系統(tǒng)的軟協(xié)議棧其實時性受到影響,接收數(shù)據(jù)的時間延長,通信周期加大的問題。
本發(fā)明是這樣實現(xiàn)的,一種控制器實時以太網(wǎng)EtherCAT的主站的實現(xiàn)方法,所述控制器實時以太網(wǎng)EtherCAT的主站的實現(xiàn)方法包括如下步驟:
步驟一,集成comX協(xié)議板卡,實現(xiàn)對comX的驅(qū)動;
步驟二,實現(xiàn)對協(xié)議棧的配置,保證EtherCAT主站正常工作;
步驟三,實現(xiàn)對從站的初始化,保證EtherCAT總線正常工作;
步驟四,實現(xiàn)周期數(shù)據(jù)的接收和發(fā)送,保證主站對從站的控制。
進(jìn)一步,所述步驟一包括:
(1)協(xié)議適配層在控制器上電后,從DPM的指定地址讀取comX狀態(tài)信息,從而獲取comX的狀態(tài);
(2)協(xié)議適配層建立comX在內(nèi)存中的實例,將comX體現(xiàn)在DPM中的所有信息映射到控制器的內(nèi)存中,從而實現(xiàn)對comX的管理、控制和維護(hù)。
進(jìn)一步,所述步驟二包括:
1)、通過PC機(jī)上組態(tài)軟件完成對EtherCAT主站和從站的工程配置;
2)、通過PC機(jī)上組態(tài)軟件編譯,生成XML格式的EtherCAT總線配置文件;
3)、通過PC機(jī)上組態(tài)軟件下裝,將EtherCAT總線配置文件下傳給實時控制模塊,實時控制模塊再將配置文件傳給協(xié)議適配層,協(xié)議適配層通過調(diào)用comX提供的API接口,再將配置文件下傳給comX;
4)、comX收到配置文件后,對配置文件進(jìn)行校驗并完成加載,從而實現(xiàn)對EtherCAT總線的配置。
進(jìn)一步,所述EtherCAT主站和從站的數(shù)據(jù)通信即協(xié)議適配層和comX通過DPM交換周期數(shù)據(jù),協(xié)議適配層通過輪詢的方式來訪問DPM,從DPM讀寫數(shù)據(jù);具體包括以下步驟:
第一步,每個周期,comX都會把從總線上收到的數(shù)據(jù)寫入DPM的輸入?yún)^(qū),并把DPM的讀權(quán)限交給協(xié)議適配層,同時產(chǎn)生中斷信號,并通知協(xié)議適配層;
第二步,協(xié)議適配層在檢測到中斷信號后,立即從DPM的輸入?yún)^(qū)獲取數(shù)據(jù)并能夠保存起來,同時將輸入?yún)^(qū)的寫權(quán)限交給comX;
第三步,協(xié)議適配層將上層更新到的數(shù)據(jù)寫入DPM的輸出區(qū),并把輸出區(qū)的讀權(quán)限交給comX;
第四步,comX從輸出區(qū)讀數(shù)據(jù)后,發(fā)送給從站,并把輸出區(qū)的寫權(quán)限交回給協(xié)議適配層。
本發(fā)明的另一目的在于提供一種所述控制器實時以太網(wǎng)EtherCAT的主站的實現(xiàn)方法的系統(tǒng),所述系統(tǒng)包括:控制器和comX協(xié)議板卡;
控制器作為主站,實現(xiàn)和支持EtherCAT現(xiàn)場總線協(xié)議的從站進(jìn)行數(shù)據(jù)通信;
comX協(xié)議板卡實現(xiàn)對EtherCAT現(xiàn)場總線協(xié)議的支持,從而使控制器具備EtherCAT主站的功能。
所述comX協(xié)議板卡集成在控制器上。
進(jìn)一步,所述控制器由實時控制模塊和協(xié)議適配層組成;
實時控制模塊實現(xiàn)將PC機(jī)上組態(tài)軟件下發(fā)的EtherCAT主、從站的相關(guān)信息下傳給控制器的協(xié)議適配層;
協(xié)議適配層實現(xiàn)對EtherCAT協(xié)議板卡comX的管理、控制和維護(hù)。
進(jìn)一步,所述comX協(xié)議板卡設(shè)置有DPM;DPM是控制器和comX之間通信的接口。
本發(fā)明的另一目的在于提供一種利用所述控制器實時以太網(wǎng)EtherCAT的主站的實現(xiàn)方法的控制器實時以太網(wǎng)EtherCAT主站結(jié)構(gòu)。
本發(fā)明提供的控制器實時以太網(wǎng)EtherCAT的主站系統(tǒng),提出一種在控制器上集成專用的EtherCAT協(xié)議板卡comX的方法,主要從硬件上提升主站的硬實時響應(yīng)時間,硬實時響應(yīng)時間,是指只要對EtherCAT總線配置成功后,comX協(xié)議板卡自身就不斷的在EtherCAT總線上進(jìn)行收發(fā)數(shù)據(jù),而這一過程并不需要操作系統(tǒng)的調(diào)度,解決了現(xiàn)有技術(shù)中主站因采用Windows、Android、Linux等操作系統(tǒng)的軟協(xié)議棧其實時性受到影響的問題。EtherCAT主站的實現(xiàn)采用Windows操作系統(tǒng)、Linux操作系統(tǒng)或Android操作系統(tǒng)上的軟協(xié)議棧,其實時性比較差,而采用一種實時工業(yè)以太網(wǎng)EtherCAT主站的實現(xiàn)方法,其實時性會得到顯著的提高;控制1000個開關(guān)量輸入和輸出的刷新時間約為30us;單個以太網(wǎng)幀最多可容納1486字節(jié)的過程數(shù)據(jù),相當(dāng)于12000位開關(guān)量數(shù)字輸入輸出,刷新時間約為300us;控制100個伺服電機(jī)的數(shù)據(jù)通信周期約為100us。
附圖說明
圖1是本發(fā)明實施例提供的控制器實時以太網(wǎng)EtherCAT的主站系統(tǒng)結(jié)構(gòu)示意圖;
圖2是本發(fā)明實施例提供的控制器實時以太網(wǎng)EtherCAT的主站系統(tǒng)的實現(xiàn)方法流程圖。
具體實施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合實施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
下面結(jié)合附圖對本發(fā)明的應(yīng)用原理作詳細(xì)的描述。
如圖1所示,本發(fā)明實施例提供的控制器實時以太網(wǎng)EtherCAT的主站系統(tǒng)包括:控制器和comX協(xié)議板卡。
所述comX協(xié)議板卡集成在控制器上。
所述控制器由實時控制模塊和協(xié)議適配層組成;實時控制模塊實現(xiàn)將PC機(jī)上組態(tài)軟件下發(fā)的EtherCAT主、從站的相關(guān)信息下傳給控制器的協(xié)議適配層,協(xié)議適配層實現(xiàn)對EtherCAT協(xié)議板卡comX的管理、控制和維護(hù)。
comX協(xié)議板卡的核心是自帶的DPM,該DPM是控制器和comX之間通信的接口,要想在EtherCAT總線上收發(fā)數(shù)據(jù),就需要對DPM相應(yīng)的數(shù)據(jù)區(qū)進(jìn)行操作。
如圖2所示,本發(fā)明實施例提供的控制器實時以太網(wǎng)EtherCAT的主站系統(tǒng)的實現(xiàn)方法包括如下步驟:
S101:集成comX協(xié)議板卡,實現(xiàn)對comX的驅(qū)動;
S102:實現(xiàn)對協(xié)議棧的配置,保證EtherCAT主站正常工作;
S103:實現(xiàn)對從站的初始化,保證EtherCAT總線正常工作;
S104:實現(xiàn)周期數(shù)據(jù)的接收和發(fā)送,保證主站對從站的控制。
所述步驟S101juice包括:
步驟a1、協(xié)議適配層在控制器上電后,從DPM的指定地址讀取comX狀態(tài)信息,從而獲取comX的狀態(tài);
步驟a2、協(xié)議適配層建立comX在內(nèi)存中的實例,將comX體現(xiàn)在DPM中的所有信息映射到控制器的內(nèi)存中,從而實現(xiàn)對comX的管理、控制和維護(hù)。
所述對協(xié)議棧的配置,具體包括以下步驟:
步驟b1、通過PC機(jī)上組態(tài)軟件完成對EtherCAT主站和從站的工程配置;
步驟b2、通過PC機(jī)上組態(tài)軟件編譯,生成XML格式的EtherCAT總線配置文件;
步驟b3、通過PC機(jī)上組態(tài)軟件下裝,將EtherCAT總線配置文件下傳給實時控制模塊,實時控制模塊再將配置文件傳給協(xié)議適配層,協(xié)議適配層通過調(diào)用comX提供的API接口,再將配置文件下傳給comX;
步驟b4、comX收到配置文件后,對配置文件進(jìn)行校驗并完成加載,從而實現(xiàn)對EtherCAT總線的配置。
當(dāng)comX正確獲取EtherCAT總線配置信息后,會自動識別并初始化EtherCAT總線上連接的各個從站,從而使comX進(jìn)入工作狀態(tài),保證EtherCAT總線正常運行。
當(dāng)comX和EtherCAT總線都進(jìn)入正常的通信后,就可進(jìn)行主站和從站的數(shù)據(jù)通信了。主站和從站的數(shù)據(jù)通信即協(xié)議適配層和comX通過DPM交換周期數(shù)據(jù),協(xié)議適配層通過輪詢的方式來訪問DPM,從DPM讀寫數(shù)據(jù)。具體包括以下步驟:
步驟d1、每個周期,comX都會把從總線上收到的數(shù)據(jù)寫入DPM的輸入?yún)^(qū),并把DPM的讀權(quán)限交給協(xié)議適配層,同時產(chǎn)生中斷信號,并通知協(xié)議適配層;
步驟d2、協(xié)議適配層在檢測到中斷信號后,立即從DPM的輸入?yún)^(qū)獲取數(shù)據(jù)并能夠保存起來,同時將輸入?yún)^(qū)的寫權(quán)限交給comX;
步驟d3、協(xié)議適配層將上層更新到的數(shù)據(jù)寫入DPM的輸出區(qū),并把輸出區(qū)的讀權(quán)限交給comX;
步驟d4、comX從輸出區(qū)讀數(shù)據(jù)后,發(fā)送給從站,并把輸出區(qū)的寫權(quán)限交回給協(xié)議適配層。
以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。