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

?

基于工業(yè)以太網(wǎng)的遠(yuǎn)程數(shù)據(jù)采集和控制

2021-06-18 10:50:48牛洪海
自動化儀表 2021年4期
關(guān)鍵詞:配置文件組態(tài)以太網(wǎng)

臧 峰,吳 波,牛洪海,陳 俊

(南京南瑞繼保電氣有限公司,江蘇 南京 211102)

0 引言

數(shù)據(jù)采集廣泛應(yīng)用于狀態(tài)監(jiān)控、故障診斷、誤差補(bǔ)償?shù)裙I(yè)過程控制領(lǐng)域的各個(gè)階段。伴隨中國制造2025 的提出,工業(yè)化和信息化融合進(jìn)入了全新階段[1-2]。以太網(wǎng)作為當(dāng)今局域網(wǎng)通信的通用標(biāo)準(zhǔn),得到了廣泛的應(yīng)用,并且應(yīng)用于工業(yè)控制領(lǐng)域,形成了工業(yè)以太網(wǎng)。實(shí)時(shí)工業(yè)以太網(wǎng)作為工業(yè)過程控制通信領(lǐng)域研究的熱點(diǎn)[3],具有傳輸距離長、抗干擾能力強(qiáng)、性價(jià)比高等一系列優(yōu)點(diǎn),因此廣泛應(yīng)用于工業(yè)過程控制領(lǐng)域。文獻(xiàn)[4]介紹了幾種常用的工業(yè)以太網(wǎng)及其協(xié)議接口分析。文獻(xiàn)[5]提出了工業(yè)實(shí)時(shí)以太網(wǎng)(ethernet powerlink,EPL)協(xié)議的分析,設(shè)計(jì)并實(shí)現(xiàn)了三軸電機(jī)的通信控制和實(shí)時(shí)性能測試。文獻(xiàn)[6]提出了一種基于ARM 的工業(yè)監(jiān)控系統(tǒng),并通過無線傳輸實(shí)現(xiàn)溫濕度數(shù)據(jù)的上送。以上文獻(xiàn)只考慮了本地?cái)?shù)據(jù)的采集和控制,沒有考慮當(dāng)現(xiàn)場設(shè)備距離控制器較遠(yuǎn)時(shí),無法實(shí)現(xiàn)對現(xiàn)場數(shù)據(jù)的實(shí)時(shí)采集和控制指令的輸出。因此,本文提出了一種基于工業(yè)以太網(wǎng)的遠(yuǎn)程數(shù)據(jù)采集和控制的方法,以解決遠(yuǎn)程設(shè)備的監(jiān)控問題。

1 系統(tǒng)總體方案

隨著科學(xué)技術(shù)的進(jìn)步和工業(yè)控制技術(shù)的發(fā)展,對現(xiàn)場設(shè)備進(jìn)行遠(yuǎn)程控制的需求越來越強(qiáng)烈,而現(xiàn)場的控制環(huán)境也隨之復(fù)雜化。輸入輸出(input output,I/O)模塊的應(yīng)用使得對現(xiàn)場設(shè)備的控制得以實(shí)現(xiàn)。并行冗余協(xié)議(parallet redundancy protocol,PRP)系統(tǒng)結(jié)構(gòu)如圖1 所示。

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

I/O 模塊通常包括開關(guān)量輸入(digital input,DI)、開關(guān)量輸出(digital output,DO)、模擬量輸入(analog input,AI)、模擬量輸出(analog output,AO)和串口通信(serial communication,SC)模塊,是分布式采集系統(tǒng)中的關(guān)鍵部件。通過I/O 模塊可以采集現(xiàn)場設(shè)備就地?cái)?shù)據(jù),有效提高數(shù)據(jù)采集的品質(zhì);同時(shí),通過指令輸出,實(shí)現(xiàn)對設(shè)備的現(xiàn)場控制。使用I/O 模塊對現(xiàn)場設(shè)備進(jìn)行控制和數(shù)據(jù)采集過程中,存在一定的局限性。高可用性無縫冗余協(xié)議(high availability seamless redundancy,HSR)系統(tǒng)結(jié)構(gòu)如圖2 所示。

圖2 HSR 系統(tǒng)結(jié)構(gòu)圖Fig.2 Structure of HSR system

例如,當(dāng)現(xiàn)場設(shè)備距離控制器較遠(yuǎn)時(shí),無法通過控制器實(shí)現(xiàn)對現(xiàn)場設(shè)備的數(shù)據(jù)采集和輸出控制。此時(shí)需要通過遠(yuǎn)程采集和控制,以實(shí)現(xiàn)對現(xiàn)場設(shè)備的監(jiān)控。因此,本文提出一種用于遠(yuǎn)程數(shù)據(jù)采集和控制的方法。該方法通過組態(tài)工具,根據(jù)現(xiàn)場需求進(jìn)行I/O 模塊配置,能夠提供定制化的配置功能,滿足不同的現(xiàn)場控制需求。同時(shí),采用冗余以太網(wǎng)進(jìn)行遠(yuǎn)程通信,保證控制過程和數(shù)據(jù)采集過程的高效、可靠。冗余通信可根據(jù)組態(tài)工具配置實(shí)現(xiàn)PRP 或HSR。PRP/HSR 冗余網(wǎng)絡(luò)協(xié)議的特點(diǎn)是網(wǎng)絡(luò)冗余,但是應(yīng)用層只收到一份數(shù)據(jù),從而降低了嵌入式軟件應(yīng)用層處理報(bào)文的壓力[7-9]。

1.1 PRP 協(xié)議

PRP 協(xié)議的實(shí)現(xiàn)依賴于支持PRP 的網(wǎng)絡(luò)節(jié)點(diǎn)。每個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)具有2 個(gè)獨(dú)立運(yùn)行的網(wǎng)絡(luò)物理端口,并且這2 個(gè)端口連接2 個(gè)獨(dú)立的交換機(jī)[10]。如圖1 所示,網(wǎng)絡(luò)節(jié)點(diǎn)應(yīng)用層通過用戶數(shù)據(jù)報(bào)協(xié)議(user datagram protocol,UDP)或傳輸控制協(xié)議(transmission control protocol,TCP),通過2 個(gè)物理端口把數(shù)據(jù)獨(dú)立發(fā)送出去。目的節(jié)點(diǎn)把先接收到的數(shù)據(jù)發(fā)送給應(yīng)用層,后到的數(shù)據(jù)則丟棄[11]。因此,任何一個(gè)網(wǎng)絡(luò)端口發(fā)生故障,都不會導(dǎo)致網(wǎng)絡(luò)通信中斷,且應(yīng)用層只收到一份數(shù)據(jù),也不會增加系統(tǒng)處理報(bào)文的負(fù)擔(dān)。

1.2 HSR 協(xié)議

HSR 實(shí)現(xiàn)原理與PRP 基本相同,也是依靠2 個(gè)獨(dú)立運(yùn)行的網(wǎng)絡(luò)端口實(shí)現(xiàn)冗余。只不過這2 個(gè)端口是通過環(huán)形方式建立連接[12]的。如圖2 所示,支持HSR 的網(wǎng)絡(luò)冗余端口同時(shí)向環(huán)網(wǎng)發(fā)送UDP 或TCP 報(bào)文。因此,接收方根據(jù)不同情況對報(bào)文進(jìn)行處理。

①判斷接收報(bào)文是否為廣播報(bào)文或組播報(bào)文,如是,則接收此報(bào)文并通過另外一個(gè)端口轉(zhuǎn)發(fā)。

②如不是廣播報(bào)文或組播報(bào)文,判斷目的地址是不是本地地址。如果不是,通過另外一個(gè)端口轉(zhuǎn)發(fā)。如果目的地址是本地地址,則進(jìn)一步判斷此報(bào)文是否是接收到的第一幀報(bào)文:如是,則轉(zhuǎn)發(fā)給應(yīng)用層;如不是,則丟棄。

2 協(xié)議設(shè)計(jì)與實(shí)現(xiàn)

2.1 組態(tài)下發(fā)協(xié)議

組態(tài)工具根據(jù)現(xiàn)場需求進(jìn)行遠(yuǎn)程I/O 模塊的配置,包括I/O 模塊的槽位號、I/O 模塊的類型、子類型和版本號,并把此配置文件下發(fā)給控制器。控制器接收到配置文件后進(jìn)行在線解析,并與內(nèi)存中存儲的配置文件校驗(yàn)碼進(jìn)行對比。如果校驗(yàn)碼一致,說明是組態(tài)工具重復(fù)下發(fā)的配置文件,不進(jìn)行內(nèi)存更新;如果不一致,則更新控制器中的內(nèi)存信息,并把此配置文件通過冗余以太網(wǎng)轉(zhuǎn)發(fā)給遠(yuǎn)程IOLINK 模塊。

遠(yuǎn)程IOLINK 模塊接收到控制器通過冗余網(wǎng)絡(luò)下發(fā)的組態(tài)文件后,也進(jìn)行在線解析配置文件,并與本地內(nèi)存保存的配置文件校驗(yàn)碼進(jìn)行比較。如果校驗(yàn)碼一致,說明是控制器重復(fù)下發(fā)的配置文件,不進(jìn)行內(nèi)存更新;如果不一致,則更新遠(yuǎn)程IOLINK 中的內(nèi)存信息。遠(yuǎn)程IOLINK 在數(shù)據(jù)交互報(bào)文中周期性地上傳本地存儲的配置文件校驗(yàn)碼信息,以防止因配置文件丟失而導(dǎo)致的控制器與遠(yuǎn)程IOLINK 中信息不匹配的問題。

2.2 數(shù)據(jù)交互協(xié)議

數(shù)據(jù)交互協(xié)議包括兩層協(xié)議:①控制器與遠(yuǎn)程IOLINK 模塊之間的數(shù)據(jù)交互;②遠(yuǎn)程IOLINK 模塊與I/O 模塊之間的數(shù)據(jù)交互。

控制器與遠(yuǎn)程IOLINK 模塊之間的數(shù)據(jù)交互包括周期性數(shù)據(jù)交互和非周期性數(shù)據(jù)交互。周期性數(shù)據(jù)交互是指控制器周期性下發(fā)給遠(yuǎn)程IOLINK 模塊的查詢數(shù)據(jù)指令和控制輸出指令。遠(yuǎn)程IOLINK 接收到控制器下發(fā)的指令后,進(jìn)行數(shù)據(jù)報(bào)文的解析,并把控制指令存儲在本地內(nèi)存中;同時(shí),把本地內(nèi)存中采集的I/O 模塊數(shù)據(jù)組包反饋給控制器。非周期性數(shù)據(jù)交互是指一些突發(fā)性的數(shù)據(jù)交互。例如:當(dāng)遠(yuǎn)程IOLINK 模塊采集到DI 的事故序列(sequence of event,SOE)時(shí),遠(yuǎn)程IOLINK 模塊在周期性反饋報(bào)文中置標(biāo)記位通知控制器有SOE 數(shù)據(jù)??刂破鹘邮盏酱藰?biāo)志位后會下發(fā)一幀非周期性查詢報(bào)文,以采集遠(yuǎn)程IOLINK 模塊中存儲的SOE 信息。

遠(yuǎn)程IOLINK 模塊與I/O 模塊之間的數(shù)據(jù)交互也包括周期性和非周期性數(shù)據(jù)。遠(yuǎn)程IOLINK 與I/O 模塊之間通信的實(shí)時(shí)性和可靠性,主要取決于物理層的通信速率和數(shù)據(jù)鏈路層的調(diào)度策略。應(yīng)用層實(shí)現(xiàn)了I/O 模塊實(shí)時(shí)數(shù)據(jù)或非實(shí)時(shí)數(shù)據(jù)的解析,數(shù)據(jù)鏈路層實(shí)現(xiàn)了數(shù)據(jù)的循環(huán)冗余校驗(yàn)(cyclic redundant check,CRC),物理層實(shí)現(xiàn)了串口數(shù)據(jù)的編解碼功能。遠(yuǎn)程IOLINK 模塊周期性地下發(fā)控制指令和查詢指令,I/O模塊接收到此指令后進(jìn)行解析并反饋數(shù)據(jù)。組態(tài)工具可以直接與遠(yuǎn)程IOLINK 模塊進(jìn)行交互,發(fā)送查詢I/O模塊內(nèi)存、設(shè)置I/O 模塊變量等非周期性數(shù)據(jù)。I/O模塊包括一個(gè)微控制器(micro control unit,MCU),通過DMA 實(shí)現(xiàn)了數(shù)據(jù)的采集和傳輸。詳細(xì)設(shè)計(jì)可參考文獻(xiàn)[13]。

控制器和遠(yuǎn)程IOLINK 模塊使用了Xilinx 公司的Zynq 芯片。此芯片具有2 個(gè)ARM 芯片和一個(gè)現(xiàn)場可編輯邏輯門陣列(field programmable gate array,FPGA)。ARM 芯片運(yùn)行QNX 實(shí)時(shí)操作系統(tǒng),并通過FPGA 擴(kuò)展6 路冗余I/O 總線。每路總線都實(shí)現(xiàn)了5 Mbit/s 的高速串口通信[14]。

3 軟件設(shè)計(jì)

為了實(shí)現(xiàn)上述功能,需要對各個(gè)功能進(jìn)行詳細(xì)分析,并進(jìn)行軟件設(shè)計(jì)。組態(tài)工具與控制器時(shí)序如圖3所示。

圖3 組態(tài)工具與控制器時(shí)序圖Fig.3 Time sequence diagram of configuration tool and controller

通過組態(tài)工具進(jìn)行I/O 模塊配置,并將配置文件下發(fā)給控制器。組態(tài)工具是用于可視化生成I/O 模塊配置文件的工具。通過組態(tài)工具,可以根據(jù)現(xiàn)場的實(shí)際需求進(jìn)行I/O 模塊的可視化配置,并生成對應(yīng)的配置文件。控制器對接收的配置文件進(jìn)行在線解析并生成內(nèi)存鏡像數(shù)據(jù)??刂破鹘邮盏脚渲梦募?根據(jù)自定義格式進(jìn)行解析,并生成I/O 模塊的類型、輸入數(shù)據(jù)和輸出數(shù)據(jù)的內(nèi)存鏡像??刂破鬟€可以將接收的配置文件存儲在本地存儲器(例如FLASH)中,以便控制器重啟后進(jìn)行重新解析。此外,控制器還可以根據(jù)配置文件對本地文件進(jìn)行更新。當(dāng)經(jīng)過CRC 發(fā)現(xiàn)接收到的配置文件與本地存儲的文件不一致時(shí),對本地配置文件進(jìn)行更新??刂破髟谑盏竭h(yuǎn)程IOLINK 反饋的采集數(shù)據(jù)后,將其存儲至控制器內(nèi)存鏡像。

控制器與遠(yuǎn)程IOLINK 時(shí)序如圖4 所示。

圖4 控制器與遠(yuǎn)程IOLINK 時(shí)序圖Fig.4 Time sequcnce diagram of controller and remote IOLINK

控制器收到組態(tài)工具下發(fā)的配置文件后,將接收的配置文件下發(fā)給在線的遠(yuǎn)程IOLINK 模塊。控制器首先對遠(yuǎn)程IOLINK 模塊進(jìn)行在線監(jiān)測,通過在線監(jiān)測確定遠(yuǎn)程IOLINK 模塊是否在線。具體方案如下。

控制器定期向遠(yuǎn)程IOLINK 模塊發(fā)送數(shù)據(jù)包進(jìn)行在線監(jiān)測。例如,可以間隔1 s 進(jìn)行一次??刂破魇盏竭h(yuǎn)程IOLINK 模塊的響應(yīng)報(bào)文后,將遠(yuǎn)程IOLINK 模塊標(biāo)志為在線。遠(yuǎn)程IOLINK 模塊對接收的配置文件進(jìn)行在線解析并生成遠(yuǎn)程IOLINK 的內(nèi)存鏡像。當(dāng)遠(yuǎn)程IOLINK 模塊接收到控制器下發(fā)的配置文件后,首先進(jìn)行在線解析,生成I/O 模塊在遠(yuǎn)程IOLINK 中的內(nèi)存鏡像,包括輸入數(shù)據(jù)、輸出數(shù)據(jù)和參數(shù)。與控制器的內(nèi)存鏡像相比,遠(yuǎn)程IOLINK 內(nèi)存鏡像中多了參數(shù)項(xiàng)。其原因是遠(yuǎn)程IOLINK 模塊需要把參數(shù)數(shù)據(jù)下發(fā)給I/O 模塊,以便I/O 模塊根據(jù)參數(shù)進(jìn)行配置和運(yùn)行。遠(yuǎn)程IOLINK 模塊周期性地與其所管轄的I/O 模塊進(jìn)行高速(例如20 ms)串口通信,實(shí)時(shí)采集I/O 模塊的數(shù)據(jù),并把控制器下發(fā)的控制指令下發(fā)給I/O 模塊。

4 功能測試

針對上述設(shè)計(jì)的功能,進(jìn)行在線更新遠(yuǎn)程I/O 模塊、冗余網(wǎng)絡(luò)、數(shù)據(jù)傳輸功能測試。

4.1 在線更新遠(yuǎn)程I/O 模塊

通過組態(tài)工具,對在線修改遠(yuǎn)程I/O 模塊類型、增加I/O 模塊、刪除I/O 模塊的功能進(jìn)行測試,并通過組態(tài)工具實(shí)時(shí)監(jiān)測修改功能是否起效。通過測試發(fā)現(xiàn),I/O 模塊配置文件的在線更新功能正常。

4.2 冗余網(wǎng)絡(luò)

通過組態(tài)工具將系統(tǒng)網(wǎng)絡(luò)設(shè)置為PRP 或HSR 模式,并按照圖1 或圖2 進(jìn)行網(wǎng)絡(luò)架構(gòu)鏈接。在遠(yuǎn)程I/O 模塊數(shù)據(jù)正常采集的情況下,拔掉任一端口的網(wǎng)絡(luò),測試發(fā)現(xiàn)I/O 模塊數(shù)據(jù)能夠正常刷新,表明冗余網(wǎng)絡(luò)可以在網(wǎng)絡(luò)單點(diǎn)故障的情況下正常工作。通過網(wǎng)絡(luò)抓包工具wireshark 抓包分析可知,不管是在PRP 模式還是HSR 模式,發(fā)送側(cè)通過2 個(gè)端口同時(shí)發(fā)出數(shù)據(jù)報(bào)文。

4.3 數(shù)據(jù)傳輸

通過上述2 個(gè)測試,已對周期性數(shù)據(jù)傳輸功能進(jìn)行了測試。因此只需要進(jìn)行非周期性數(shù)據(jù)的測試。通過DI 模塊進(jìn)行SOE 功能測試以及wireshark 抓包發(fā)現(xiàn),在DI 進(jìn)行SOE 功能測試時(shí),遠(yuǎn)程IOLINK 上傳了標(biāo)志位,并且控制器下發(fā)了查詢報(bào)文。

5 結(jié)論

本文設(shè)計(jì)并實(shí)現(xiàn)了一種基于工業(yè)以太網(wǎng)的遠(yuǎn)程數(shù)據(jù)采集和控制方法。該方法實(shí)現(xiàn)了遠(yuǎn)程I/O 模塊數(shù)據(jù)的實(shí)時(shí)采集和控制,擴(kuò)展了控制器的應(yīng)用場景。通過對現(xiàn)場數(shù)據(jù)的實(shí)時(shí)采集和持久化存儲操作,有利于現(xiàn)場設(shè)備數(shù)據(jù)的分析和優(yōu)化。

猜你喜歡
配置文件組態(tài)以太網(wǎng)
提示用戶配置文件錯(cuò)誤 這樣解決
基于1500以太網(wǎng)養(yǎng)豬場的智能飼喂控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
基于PLC及組態(tài)技術(shù)的恒溫控制系統(tǒng)開發(fā)探討
搭建簡單的Kubernetes集群
互不干涉混用Chromium Edge
忘記ESXi主機(jī)root密碼怎么辦
基于PLC和組態(tài)的智能電動擰緊系統(tǒng)
談實(shí)時(shí)以太網(wǎng)EtherCAT技術(shù)在變電站自動化中的應(yīng)用
電子制作(2017年24期)2017-02-02 07:14:44
PLC組態(tài)控制在水箱控制系統(tǒng)的應(yīng)用
鑄造行業(yè)三維組態(tài)軟件的應(yīng)用
淅川县| 安图县| 错那县| 威信县| 龙口市| 阿勒泰市| 景洪市| 芜湖县| 伊宁县| 定远县| 安陆市| 宜兰县| 津南区| 杨浦区| 肥西县| 聊城市| 上虞市| 新河县| 东乡| 九龙城区| 台南县| 潼关县| 宣汉县| 郴州市| 无锡市| 台中县| 金沙县| 松溪县| 平凉市| 中方县| 新巴尔虎右旗| 陈巴尔虎旗| 麦盖提县| 宁德市| 习水县| 平泉县| 塔河县| 靖西县| 韶山市| 邵阳市| 义马市|