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

?

基于TPS-1的PROFINET耦合器設(shè)計(jì)

2021-10-15 01:47徐建明管意軍
關(guān)鍵詞:組態(tài)耦合控制器

徐建明,管意軍

(浙江工業(yè)大學(xué) 信息工程學(xué)院,浙江 杭州 310023)

隨著工業(yè)自動(dòng)化領(lǐng)域的快速發(fā)展,控制系統(tǒng)對(duì)控制設(shè)備的實(shí)時(shí)性要求越來(lái)越高,20世紀(jì)90年代發(fā)展起來(lái)的現(xiàn)場(chǎng)總線技術(shù)已經(jīng)滿足不了高速通信的需求,且現(xiàn)場(chǎng)總線種類(lèi)多、統(tǒng)一難,于是工業(yè)以太網(wǎng)應(yīng)運(yùn)而生。PROFINET是由PI國(guó)際組織提出的最新一代基于工業(yè)以太網(wǎng)技術(shù)的總線標(biāo)準(zhǔn),用于實(shí)現(xiàn)工業(yè)以太網(wǎng)的集成以及一體化的自動(dòng)控制解決方案[1]。PROFINET符合IEEE 802.3規(guī)范,能夠在最大程度上保障PROFINET設(shè)備之間以及與其他標(biāo)準(zhǔn)工業(yè)以太網(wǎng)設(shè)備之間的通信[2]。PI定義了PROFINET功能范圍和所需的服務(wù),包括IT應(yīng)用、功能安全、運(yùn)動(dòng)控制和無(wú)線通信[3]等,以滿足過(guò)程和離散制造工控領(lǐng)域所有的需求。針對(duì)不同功能的應(yīng)用依據(jù)實(shí)時(shí)性,PROFINET可劃分為T(mén)CP/IP標(biāo)準(zhǔn)通信(NRT)、實(shí)時(shí)通信(RT)[4]和等時(shí)同步實(shí)時(shí)通信(IRT)[5]3 種方式。TCP/IP標(biāo)準(zhǔn)通信(NRT)適用于對(duì)實(shí)時(shí)性能要求較低的通信,例如設(shè)備參數(shù)化、出錯(cuò)日志、信息功能和詳細(xì)診斷等[6];實(shí)時(shí)通信(RT)與NRT數(shù)據(jù)并行,響應(yīng)時(shí)間為5~10 ms,適用于對(duì)時(shí)間過(guò)程數(shù)據(jù)要求較苛刻的通信,如工廠自動(dòng)化領(lǐng)域[7];等時(shí)同步實(shí)時(shí)通信(IRT)的循環(huán)時(shí)間小于1 ms[8],適用于工業(yè)機(jī)器人[9-10]運(yùn)動(dòng)控制系統(tǒng)。

近些年,國(guó)內(nèi)對(duì)PROFINET的分析研究與應(yīng)用越來(lái)越多,并取得了一定的成果,如和淑芬等[11]基于西門(mén)子的設(shè)備深入解析了PROFIENT IO系統(tǒng)啟動(dòng)前的尋址過(guò)程;張國(guó)棟等[12]對(duì)PROFINET RT和IRT通信實(shí)時(shí)性進(jìn)行了詳細(xì)分析;李晉玲[13]基于PROFINET標(biāo)準(zhǔn)對(duì)多個(gè)變頻器進(jìn)行組態(tài),實(shí)現(xiàn)了對(duì)整個(gè)自動(dòng)化系統(tǒng)的控制;帶祥森等[14]將PROFINET標(biāo)準(zhǔn)運(yùn)用到了風(fēng)洞測(cè)試系統(tǒng)中;滿海波[15]設(shè)計(jì)了一種基于PROFINET的智能供水控制系統(tǒng)。雖然PROFINET在官方推廣下取得了長(zhǎng)足的發(fā)展,但在國(guó)內(nèi)PROFIENT仍處于技術(shù)研究和應(yīng)用開(kāi)發(fā)不成熟的階段[16],大多數(shù)涉及PROFINET的研究都處于應(yīng)用方面(將西門(mén)子公司帶有PROFINET接口的產(chǎn)品應(yīng)用到工業(yè)生產(chǎn)線上)。國(guó)外對(duì)PROFINET協(xié)議的研究較廣泛,很多公司推出了支持PROFINET的設(shè)備產(chǎn)品,并研究開(kāi)發(fā)了專(zhuān)用芯片,如西門(mén)子的ERTEC200P、瑞薩的TPS-1。筆者基于TPS-1設(shè)計(jì)了一種PROFINET耦合器設(shè)備,通過(guò)TPS-1芯片外接微控制器來(lái)處理PROFINET數(shù)據(jù),在設(shè)備中集成了PROFINET和RS485兩種接口,設(shè)計(jì)了GSD文件并通過(guò)STEP7軟件對(duì)硬件系統(tǒng)進(jìn)行組態(tài),最后通過(guò)實(shí)驗(yàn)對(duì)設(shè)備通信功能進(jìn)行驗(yàn)證,并以Wireshark軟件抓取PROFINET數(shù)據(jù)幀分析了PROFINET啟動(dòng)過(guò)程和設(shè)備發(fā)送周期。

1 PROFINET系統(tǒng)結(jié)構(gòu)及原理

PROFINET系統(tǒng)結(jié)構(gòu)通常包含控制器(Control)、監(jiān)視器(Supervisor)和設(shè)備(Device)3 種設(shè)備類(lèi)型[17],其結(jié)構(gòu)如圖1所示。

圖1 PROFINET系統(tǒng)結(jié)構(gòu)組成Fig.1 Structure composition of PROFINET system

控制器一般使用PLC作為主動(dòng)通信方,對(duì)所接入PROFINET網(wǎng)絡(luò)的設(shè)備進(jìn)行參數(shù)化和組態(tài),并執(zhí)行其與設(shè)備之間的數(shù)據(jù)交換;監(jiān)視器可以是控制器的編程設(shè)備、計(jì)算機(jī)以及人機(jī)界面HMI等,在系統(tǒng)中接入監(jiān)視器通常是為了對(duì)系統(tǒng)進(jìn)行調(diào)試和故障診斷,監(jiān)視器也可以臨時(shí)充當(dāng)控制器對(duì)設(shè)備進(jìn)行控制;設(shè)備中集成了PROFINET接口,能夠方便地接入PROFINET網(wǎng)絡(luò),向控制器發(fā)送過(guò)程數(shù)據(jù)并診斷報(bào)警。PROFINET系統(tǒng)中至少包含1個(gè)控制器和1個(gè)設(shè)備,控制器與每個(gè)設(shè)備之間的數(shù)據(jù)交換基于提供者消費(fèi)者模型。PROFINET現(xiàn)場(chǎng)設(shè)備包含緊湊型設(shè)備和模塊化設(shè)備:緊湊型設(shè)備無(wú)擴(kuò)展程度,模塊化設(shè)備在組態(tài)時(shí)可視情況進(jìn)行不同的擴(kuò)展。圖1中設(shè)備為一種模塊化設(shè)備,它由IO模塊和耦合器組成:其中IO模塊包括數(shù)字輸入模塊、數(shù)字輸出模塊、模擬輸入模塊和模擬輸出模塊等類(lèi)型;耦合器用來(lái)實(shí)現(xiàn)PROFINET通信、PROFINET和RS485協(xié)議轉(zhuǎn)換、RS485通信等3 種功能。

2 耦合器硬件設(shè)計(jì)

耦合器設(shè)備核心部件是TPS-1芯片,該芯片是瑞薩電子推出用來(lái)處理PROFINET通信的ASIC專(zhuān)用芯片,其架構(gòu)框圖如圖2所示。TPS-1在片內(nèi)集成了IRT交換機(jī)的同時(shí)也集成兩個(gè)PHY芯片,使得耦合器設(shè)備可以靈活地構(gòu)成多樣的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。由于TPS-1片內(nèi)豐富的資源配置和低空間低功耗要求,因此選用TPS-1芯片作為PROFINET通信的控制芯片。圖3為耦合器設(shè)備的硬件結(jié)構(gòu)圖,微控制器型號(hào)為STM32F103C8T6,它與TPS-1之間通過(guò)SPI進(jìn)行通信。設(shè)備主要包括電源模塊、串口通信模塊、Flash存儲(chǔ)模塊、通信過(guò)程指示模塊、PROFINET接口模塊和RS485接口模塊等。

圖2 TPS-1架構(gòu)框圖Fig.2 Tps-1 architecture block diagram

圖3 耦合器設(shè)備硬件結(jié)構(gòu)圖Fig.3 Hardware structure diagram of coupler device

2.1 電源模塊部分

設(shè)備中TPS-1芯片的供電電壓有1.0,1.5,3.3 V3 種,其他芯片為3.3 V。TPS-1內(nèi)部集成了兩個(gè)PHY芯片,PHY芯片供電電壓分別為1.5,3.3 V,其中1.5 V可由TPS-1片內(nèi)電壓調(diào)節(jié)器提供,所以只需外部提供給TPS-1芯片電壓分別為1.0,3.3 V。220 V電源輸入經(jīng)開(kāi)關(guān)電源調(diào)節(jié)后輸出5 V供給設(shè)備,在設(shè)備板內(nèi)由TLV62565降壓轉(zhuǎn)換器降至3.3,1.0 V給TPS-1和其他芯片供電。

2.2 串口通信及存儲(chǔ)模塊

串口通信模塊主要為了實(shí)現(xiàn)TPS-1與PC機(jī)的通信。在TPS-1第1次啟動(dòng)時(shí),需要在PC機(jī)設(shè)置設(shè)備商的相關(guān)信息、具體的MAC地址、TPS-1的操作模式和外接微控制器的連接方式等,然后通過(guò)串口通信方式將這些數(shù)據(jù)傳入TPS-1中完成首次啟動(dòng)。在耦合器設(shè)備與控制器通信連接的過(guò)程中,也可以通過(guò)串口將通信狀態(tài)顯示在PC機(jī)上。TPS-1以SPI與外部存儲(chǔ)器進(jìn)行連接,外部存儲(chǔ)器用來(lái)存放TPS-1固件庫(kù)、設(shè)備配置和相關(guān)MAC地址等,首次啟動(dòng)后TPS-1每次上電都需要從外部存儲(chǔ)器讀取上述數(shù)據(jù)以完成自啟動(dòng),所以外部存儲(chǔ)器需要選擇非易失性存儲(chǔ)介質(zhì)。在設(shè)備中采用型號(hào)為M25PX80的串行Flash,其支持SPI通信且大小達(dá)到8 MB,能夠與TPS-1進(jìn)行數(shù)據(jù)交互。

2.3 通信過(guò)程指示模塊

耦合器設(shè)備在通過(guò)PROFINET和RS485網(wǎng)絡(luò)分別與控制器、IO模塊進(jìn)行通信時(shí),將通過(guò)指示燈來(lái)指示通信過(guò)程的各個(gè)階段及通信的狀態(tài),如控制器與設(shè)備之間的PROFINET網(wǎng)絡(luò)是否建立、設(shè)備是否存在故障、設(shè)備與IO模塊的數(shù)據(jù)交互指示以及IO模塊故障指示等。指示模塊能夠方便設(shè)備調(diào)試,且有助于故障發(fā)生時(shí)及時(shí)找出故障點(diǎn)并解除故障。

2.4 接口模塊

接口模塊包括PROFINET接口和RS485接口兩部分。由于TPS-1內(nèi)部集成了交換機(jī)和兩個(gè)PHY芯片,所以在設(shè)備中只需在片外添加普通以太網(wǎng)網(wǎng)口即可將設(shè)備接入PROFINET網(wǎng)絡(luò)。每個(gè)設(shè)備中采用了兩個(gè)型號(hào)為HY951180A的RJ45網(wǎng)口,這樣在多個(gè)設(shè)備需要接入PROFINET網(wǎng)絡(luò)時(shí)可以采用串聯(lián)的方式進(jìn)行連接,且不需要添加任何PROFINET交換機(jī),能夠減少硬件成本。STM32F103C8T6芯片內(nèi)部集成了豐富的外設(shè)資源,能夠方便地實(shí)現(xiàn)嵌入式應(yīng)用中的各種通信接口,該微控制器片內(nèi)集成了3個(gè)USART串口,在設(shè)計(jì)中選取USART1作為RS485的通信接口,RS485收發(fā)器采用SP3078E芯片并將其集成到設(shè)備中。

3 耦合器軟件設(shè)計(jì)

3.1 軟件流程設(shè)計(jì)

軟件設(shè)計(jì)采用Keil開(kāi)發(fā)工具,圖4為軟件整體控制流程,分成初始化IO模塊、PROFINET配置啟動(dòng)和數(shù)據(jù)交互3部分。

圖4 軟件控制流程Fig.4 Software control flow

IO模塊初始化階段初始化RS485通信接口,通過(guò)類(lèi)型來(lái)映射模塊/子模塊ID,使得在PROFINET配置啟動(dòng)過(guò)程中配置的設(shè)備模塊/子模塊ID和初始化數(shù)據(jù)與控制器下發(fā)到耦合器設(shè)備的組態(tài)信息一致。在PROFINET配置啟動(dòng)中,App_ConfigDevice()函數(shù)通過(guò)調(diào)用TPS_PlugModule()函數(shù)和TPS_PlugSubmodule()函數(shù)給設(shè)備添加相應(yīng)的模塊/子模塊。在回調(diào)函數(shù)中調(diào)用RegisterCallbackFunctions()完成控制器和設(shè)備啟動(dòng)時(shí)的交互,控制器將組態(tài)的信息下發(fā)到設(shè)備并完成一致性檢查。之后多次調(diào)用TPS_StartDevice()函數(shù)直到設(shè)備啟動(dòng)完成,設(shè)備一旦啟動(dòng)成功,便建立了控制器和設(shè)備之間的AR關(guān)系。數(shù)據(jù)交互階段包含PROFINET數(shù)據(jù)交互和RS485數(shù)據(jù)交互兩部分,在數(shù)據(jù)交互階段中耦合器設(shè)備作為中間橋梁與控制器和IO模塊進(jìn)行實(shí)時(shí)數(shù)據(jù)交互。

3.2 PROFINET接口程序設(shè)計(jì)

PROFINET數(shù)據(jù)交互的流程如圖5所示。在控制器和耦合器設(shè)備之間進(jìn)行數(shù)據(jù)交互的過(guò)程中,每個(gè)建立的AR都需要調(diào)用TPS_UpdateOutputData()函數(shù)來(lái)更新控制器到耦合器設(shè)備的輸出數(shù)據(jù),并將數(shù)據(jù)放入TPS-1內(nèi)置的RAM中,然后調(diào)用ReadOutputData()函數(shù)將RAM中的輸出數(shù)據(jù)取出,并存放在外置微控制器中的用戶處理緩沖區(qū),之后將用戶處理緩沖區(qū)的數(shù)據(jù)放入IO模塊接口存儲(chǔ)區(qū),最后通過(guò)Data_Exchange()函數(shù)將數(shù)據(jù)下發(fā)給IO模塊,期間需要通過(guò)IOPS提供者狀態(tài)來(lái)判斷控制器下發(fā)的輸出數(shù)據(jù)幀是否有效。對(duì)于實(shí)時(shí)的輸入數(shù)據(jù),首先,將IO模塊通過(guò)Data_Exchange()函數(shù)上傳到IO模塊接口存儲(chǔ)區(qū)的數(shù)據(jù)放入用戶處理緩沖區(qū);其次,調(diào)用WriteInputData()函數(shù)將輸入數(shù)據(jù)從用戶處理緩沖區(qū)轉(zhuǎn)移到RAM中并設(shè)置好消費(fèi)者狀態(tài);最后,通過(guò)TPS_UpdateInputData()函數(shù)將輸入數(shù)據(jù)發(fā)送給控制器。在實(shí)時(shí)數(shù)據(jù)傳輸時(shí),微控制器將重復(fù)調(diào)用CheckEvents()函數(shù)對(duì)每個(gè)可能發(fā)生的事件進(jìn)行檢查判斷,對(duì)于發(fā)生的事件將通過(guò)回調(diào)函數(shù)來(lái)對(duì)其進(jìn)行處理。

圖5 PROFINET數(shù)據(jù)交互流程Fig.5 PROFINET data interaction flow

3.3 RS485接口程序設(shè)計(jì)

耦合器設(shè)備和IO模塊之間通過(guò)RS485進(jìn)行的數(shù)據(jù)交互分為3 個(gè)步驟:建立地址、獲取類(lèi)型和數(shù)據(jù)收發(fā)。首先,耦合器設(shè)備會(huì)對(duì)所插入的IO模塊進(jìn)行數(shù)量統(tǒng)計(jì),并按順序給每個(gè)IO模塊分配一個(gè)地址,再為每個(gè)IO模塊以結(jié)構(gòu)體形式分配一塊存儲(chǔ)區(qū);其次,通過(guò)地址獲取每個(gè)IO模塊的類(lèi)型,并將地址和類(lèi)型都存放到各自的存儲(chǔ)區(qū);最后,根據(jù)存儲(chǔ)的地址和類(lèi)型精確定位到每個(gè)IO模塊,并進(jìn)行數(shù)據(jù)收發(fā)。數(shù)據(jù)收發(fā)以輪詢的方式進(jìn)行,每個(gè)IO模塊按插入的順序依次與耦合器設(shè)備進(jìn)行數(shù)據(jù)交互。IO模塊在被判斷為輸出模塊后,耦合器設(shè)備將調(diào)用Module_Output()函數(shù)將地址、類(lèi)型和數(shù)據(jù)復(fù)制給發(fā)送buffer,之后通過(guò)RS485下發(fā)給IO模塊,具有此地址的輸出IO模塊收到數(shù)據(jù)后將自身地址上傳給耦合器設(shè)備以進(jìn)行交互確認(rèn),若地址一致則清除接收buffer并地址遞增。若為輸入IO模塊,耦合器設(shè)備將只下發(fā)地址,之后具有此地址的輸入IO模塊將上傳自身地址、類(lèi)型和數(shù)據(jù),地址匹配后耦合器設(shè)備將調(diào)用Module_Input()函數(shù)接收buffer中的數(shù)據(jù)并復(fù)制到相應(yīng)存儲(chǔ)區(qū),然后清除接收buffer地址遞增。RS485數(shù)據(jù)交互流程如圖6所示。

圖6 RS485數(shù)據(jù)交互流程Fig.6 RS485 data interaction flow

4 GSD描述文件的設(shè)計(jì)

GSD文件用來(lái)描述PROFINET設(shè)備的功能,它是一種基于GSDML(通用站描述標(biāo)記語(yǔ)言)的XML[18]文件,在組態(tài)時(shí)需要將GSD文件安裝到組態(tài)軟件中以對(duì)設(shè)備進(jìn)行描述。本設(shè)計(jì)中IO模塊以可插拔的形式自由集成到耦合器中,組態(tài)信息與耦合器中所創(chuàng)建的模塊/子模塊一致才能成功組態(tài)控制器和設(shè)備,IO模塊信息主要通過(guò)GSD文件中模塊列表來(lái)描述。圖7為一種1 字節(jié)輸入1 字節(jié)輸出IO模塊所對(duì)應(yīng)的描述,虛擬子模塊列表為子模塊列表中的一個(gè)子集且所有可用的子模塊在虛擬子模塊列表中定義。ID=Module_01和ModuleIdentNumber=0x00000002聲明一個(gè)模塊,Module_01將在外部文本列表中賦值,ModuleIdentNumber為模塊ID,此模塊ID設(shè)置為2;中為模塊名字和模塊信息,其內(nèi)容都將在外部文本列表中賦值并在STEP7軟件中顯示;包含模塊的輸入輸出數(shù)據(jù)和記錄數(shù)據(jù),Example_DIDO在外部文本列表中賦值,SubmoduleIdentNumber為子模塊ID;中定義輸入輸出數(shù)據(jù)長(zhǎng)度,DataType=OcterString和Length=1表示數(shù)據(jù)長(zhǎng)度為1個(gè)字節(jié);中定義了子模塊的參數(shù),通過(guò)Index可以索引到指定IO模塊進(jìn)行NRT數(shù)據(jù)的讀寫(xiě),Length=2表示參數(shù)長(zhǎng)度為2 個(gè)字節(jié),0x12,0x34為用戶定義的參數(shù);中定義了同步模式所涉及的一些參數(shù),PROFINET RT通信未使用;圖7中所有的TextId都將在GSD的外部文本列表中被賦值。上述為一種IO模塊主要的描述,不同類(lèi)型的IO模塊需要設(shè)計(jì)不同來(lái)描述,且模塊/子模塊ID要設(shè)置成不同,以便通過(guò)IO模塊類(lèi)型和GSD中模塊/子模塊ID的對(duì)應(yīng)來(lái)建立AR關(guān)系。

圖7 IO模塊對(duì)應(yīng)的GSD描述Fig.7 Description of GSD corresponding to IO module

5 通信測(cè)試及分析

5.1 跨網(wǎng)通信測(cè)試

測(cè)試平臺(tái)由1 臺(tái)型號(hào)為CPU315-2PN/DP的西門(mén)子S7-300PLC、1 臺(tái)裝載STEP7軟件的電腦、2 個(gè)PROFINET耦合器以及若干IO模塊組成,硬件實(shí)物如圖8所示。先根據(jù)耦合器設(shè)備個(gè)數(shù)及實(shí)際所帶IO模塊的數(shù)量類(lèi)型通過(guò)STEP7軟件進(jìn)行組態(tài),組態(tài)前STEP7需要下載安裝設(shè)計(jì)好的GSD文件;然后在PROFINET網(wǎng)絡(luò)中組態(tài)了兩個(gè)耦合器設(shè)備Remote1和Remote2,每個(gè)設(shè)備各帶了4 個(gè)IO模塊(兩個(gè)單字節(jié)數(shù)字輸出模塊和兩個(gè)單字節(jié)數(shù)字輸入模塊),并將QB0-QB3分別分配給各個(gè)輸出模塊,IB0-IB3分別分配給各個(gè)輸入模塊,組態(tài)界面如圖9所示。

圖8 硬件實(shí)物Fig.8 Hardware object

圖9 STEP7組態(tài)界面Fig.9 STEP7 configuration interface

硬件組態(tài)好后編寫(xiě)測(cè)試程序,圖10為使用LAD梯形圖語(yǔ)言編寫(xiě)的跨網(wǎng)通信測(cè)試程序,將字節(jié)QB0-QB3用MOVE指令分別寫(xiě)入0x12,0x34,0x56,0x78,并將QB0-QB3對(duì)應(yīng)的4 個(gè)輸出模塊分別連接至IB0-IB3對(duì)應(yīng)的4 個(gè)輸入模塊。如圖11所示,在每個(gè)耦合器設(shè)備連接的IO模塊端,最左側(cè)為電源模塊,其后第1,2 個(gè)IO模塊為輸出模塊,第3,4 個(gè)IO模塊為輸入模塊。每個(gè)IO模塊有8 個(gè)指示燈,從左上到右下對(duì)應(yīng)字節(jié)數(shù)據(jù)從低位到高位。

圖10 測(cè)試程序Fig.10 The test program

圖11 跨網(wǎng)通信測(cè)試實(shí)物圖Fig.11 Physical diagram of cross-network communication test

由IO模塊指示燈可知每個(gè)IO模塊的數(shù)據(jù)(表1),4 個(gè)輸出模塊的輸出數(shù)據(jù)分別為0x12,0x34,0x56,0x78,與測(cè)試程序?qū)懭肟刂破鞯臄?shù)據(jù)一致,控制器到IO模塊的輸出數(shù)據(jù)無(wú)誤,設(shè)備能夠?qū)崿F(xiàn)數(shù)據(jù)跨網(wǎng)輸出功能;4 個(gè)輸入模塊的數(shù)據(jù)分別為0x12,0x34,0x56,0x78,此時(shí)在STEP7中通過(guò)變量表監(jiān)視控制器的相關(guān)變量,變量監(jiān)視表如圖12所示,可知控制器端數(shù)據(jù)IB0-IB3與IO端輸入數(shù)據(jù)一致,設(shè)備能夠?qū)崿F(xiàn)數(shù)據(jù)跨網(wǎng)輸入功能。

表1 IO端輸出輸入數(shù)據(jù)表Table 1 Output and input data table of IO side

5.2 PROFINET啟動(dòng)數(shù)據(jù)幀分析

在上述搭建的平臺(tái)系統(tǒng)中,接入ALLBUS-TAP抓包工具,TAP有3 個(gè)網(wǎng)口,將控制器PLC接入其中一個(gè)報(bào)文轉(zhuǎn)發(fā)網(wǎng)口,另一個(gè)報(bào)文轉(zhuǎn)發(fā)網(wǎng)口接至耦合器設(shè)備,最后一個(gè)網(wǎng)口連接PC電腦,通過(guò)Wireshark軟件即可抓取所有PROFINET數(shù)據(jù)幀。系統(tǒng)示意圖如圖13所示,其中:PN為耦合器設(shè)備;IO為IO模塊。圖14為經(jīng)過(guò)Wireshark過(guò)濾命令“pn_io && !pn_rt”得到的PROFINET啟動(dòng)過(guò)程的數(shù)據(jù)幀。此時(shí)控制器及耦合器設(shè)備均已設(shè)置好組態(tài)規(guī)定的IP,其中192.168.16.15為控制器IP,192.168.16.210,192.168.16.209分別為耦合器設(shè)備1和耦合器設(shè)備2的IP,啟動(dòng)過(guò)程將通過(guò)IP以NRT非實(shí)時(shí)通信完成初始化數(shù)據(jù)的傳輸和最終AR關(guān)系的建立,圖中的數(shù)據(jù)幀顯示經(jīng)過(guò)了connect幀、write幀和control幀而建立起AR關(guān)系。如從Connect.req幀中可獲取一系列數(shù)據(jù),其中較為重要的有設(shè)備發(fā)送時(shí)鐘因子(SendClockFactor)、減速比(ReductionRatio)和看門(mén)狗時(shí)間因子(WatchdogFactor),由此3 項(xiàng)數(shù)據(jù)可計(jì)算出時(shí)段時(shí)長(zhǎng)、設(shè)備發(fā)送周期和看門(mén)狗時(shí)間,其計(jì)算式為

圖13 數(shù)據(jù)幀抓取實(shí)驗(yàn)系統(tǒng)示意圖Fig.13 Schematic diagram of data frame capture experimental system

圖14 PROFINET啟動(dòng)數(shù)據(jù)幀F(xiàn)ig.14 PROFINET startup data frames

PhaseTime=SendClockFactor×31.25 μs

(1)

SendCycle=ReductionRatio×PhaseTime

(2)

WatchdogTime=SendCycle×WatchdogFactor

(3)

5.3 設(shè)備發(fā)送周期及抖動(dòng)分析

組態(tài)時(shí),在STEP7中可以設(shè)置設(shè)備的更新時(shí)間,圖15顯示了搭建的平臺(tái)中兩個(gè)設(shè)備的發(fā)送周期分別為2,4 ms。由圖14可知:設(shè)備Remote2的SendClockFactor為16,ReductionRatio為8,根據(jù)式(1,2)也可計(jì)算出設(shè)備Remote2的時(shí)段時(shí)長(zhǎng)為0.5 ms,更新時(shí)間(設(shè)備發(fā)送周期)為4 ms。

圖15 設(shè)備更新時(shí)間設(shè)置Fig.15 Device update time settings

在Wireshark中,使用過(guò)濾命令“eth.src==00:a0:45:00:00:00 && pn_rt”篩選出設(shè)備發(fā)送給控制器的RT數(shù)據(jù)幀,再將篩選出的數(shù)據(jù)幀導(dǎo)出為CSV模式后經(jīng)過(guò)Excel處理計(jì)算相鄰兩個(gè)數(shù)據(jù)幀的發(fā)送時(shí)間差值并繪制出折線圖。如圖16所示,其中Phoenixc_00:00:00為設(shè)備Remote2,SiemensA_cd:b4:a7為控制器,折線圖表明設(shè)備Remote2發(fā)送周期為4 ms,數(shù)據(jù)幀更新時(shí)間最大的抖動(dòng)值不超過(guò)150 ns。通過(guò)以上分析可知:筆者設(shè)計(jì)的耦合器設(shè)備能夠滿足PROFINET RT的實(shí)時(shí)性要求。

圖16 設(shè)備Remote2的發(fā)送周期及抖動(dòng)Fig.16 Sending cycle and jitter of device Remote2

6 結(jié) 論

筆者設(shè)計(jì)了一種PROFINET耦合器設(shè)備,該設(shè)備集成了PROFINET接口和RS485接口,通過(guò)微控制器完成協(xié)議轉(zhuǎn)換,設(shè)計(jì)相應(yīng)的GSD文件,解決了耦合器設(shè)備中任意配置不同數(shù)量類(lèi)型IO模塊的問(wèn)題?;谠O(shè)計(jì)的耦合器設(shè)備搭建了一套測(cè)試系統(tǒng)并完成硬件組態(tài),實(shí)現(xiàn)了PROFINET RT和NRT通信以及PROFINET和RS485跨網(wǎng)通信的功能。通過(guò)Wireshark軟件對(duì)系統(tǒng)通信過(guò)程進(jìn)行數(shù)據(jù)幀抓取,根據(jù)數(shù)據(jù)幀分析了PROFINET啟動(dòng)過(guò)程和設(shè)備發(fā)送周期及抖動(dòng)。測(cè)試驗(yàn)證了設(shè)備的實(shí)時(shí)性及可靠性,該設(shè)備在自動(dòng)化生產(chǎn)控制中具有廣泛的應(yīng)用前景。

猜你喜歡
組態(tài)耦合控制器
基于增強(qiáng)注意力的耦合協(xié)同過(guò)濾推薦方法
淺談力控ForceControl V7.2組態(tài)軟件在自動(dòng)化控制工程中的應(yīng)用
工商業(yè)IC卡控制器改造為物聯(lián)網(wǎng)控制器實(shí)踐
擎動(dòng)灣區(qū)制高點(diǎn),耦合前海價(jià)值圈!
復(fù)雜線束在雙BCI耦合下的終端響應(yīng)機(jī)理
PLC可編程控制器相關(guān)外置的選擇計(jì)算研究
基于磁耦合的高效水下非接觸式通信方法研究
Rh XIII—Cd XVI 離子4s24p3—4s4p4 能級(jí)與躍遷的理論計(jì)算*
組態(tài)軟件技術(shù)現(xiàn)狀與發(fā)展
高職“工業(yè)組態(tài)技術(shù)”課程建設(shè)探析