亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于RT-thread的機(jī)床物聯(lián)網(wǎng)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)*

        2014-07-18 11:56:28蘇憲利鄭一麟
        關(guān)鍵詞:指針線程中斷

        蘇憲利,鄭一麟

        (1.渤海大學(xué) 信息科學(xué)與技術(shù)學(xué)院,遼寧 錦州 121013;2.中國科學(xué)院 沈陽計(jì)算技術(shù)研究所,沈陽110068)

        基于RT-thread的機(jī)床物聯(lián)網(wǎng)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)*

        蘇憲利1,鄭一麟2

        (1.渤海大學(xué) 信息科學(xué)與技術(shù)學(xué)院,遼寧 錦州 121013;2.中國科學(xué)院 沈陽計(jì)算技術(shù)研究所,沈陽110068)

        針對機(jī)床物聯(lián)網(wǎng)系統(tǒng)中多緊急度數(shù)據(jù)調(diào)度的要求和數(shù)據(jù)通信穩(wěn)定性的要求,在機(jī)床物聯(lián)網(wǎng)系統(tǒng)中采用了RT-thread實(shí)時(shí)操作系統(tǒng),通過對mailbox進(jìn)程通信機(jī)制的改進(jìn),滿足了數(shù)據(jù)優(yōu)先級調(diào)度的需求,提高了系統(tǒng)對緊急數(shù)據(jù)優(yōu)先處理的能力。通過采用socket通信技術(shù),滿足了網(wǎng)絡(luò)重負(fù)載通信的要求,在硬件上采用了ARM Cortex-M3處理芯片和W5100網(wǎng)絡(luò)通信芯片。通過實(shí)驗(yàn)仿真,證明了本系統(tǒng)大幅度提高了機(jī)床數(shù)據(jù)處理的實(shí)時(shí)性和可調(diào)度性。

        數(shù)據(jù)調(diào)度;郵箱模型;socket

        0 引言

        機(jī)床物聯(lián)網(wǎng)系統(tǒng)是近年來發(fā)展起來的物聯(lián)網(wǎng)技術(shù)[1]在機(jī)床領(lǐng)域的綜合應(yīng)用,通過將物聯(lián)網(wǎng)設(shè)備、技術(shù)應(yīng)用于機(jī)床設(shè)備,實(shí)現(xiàn)對機(jī)床數(shù)據(jù)的采集和傳輸。機(jī)床物聯(lián)網(wǎng)系統(tǒng)是對傳統(tǒng)的機(jī)床信息采集技術(shù)的有益補(bǔ)充[2],對于不能直接通過機(jī)床控制系統(tǒng)自身獲取的機(jī)床運(yùn)行狀態(tài)參數(shù)和環(huán)境參數(shù),可以由機(jī)床物聯(lián)網(wǎng)系統(tǒng)進(jìn)行獲取,通過網(wǎng)絡(luò)傳送給診斷系統(tǒng)或CNC系統(tǒng),對診斷系統(tǒng)和CNC系統(tǒng)起到數(shù)據(jù)支持的作用。

        根據(jù)機(jī)床數(shù)據(jù)獲取的實(shí)際需求,在機(jī)床物聯(lián)網(wǎng)系統(tǒng)中數(shù)據(jù)采集通常采用溫度傳感器[3]、振動傳感器、壓力傳感器等傳感設(shè)備獲取數(shù)據(jù),數(shù)據(jù)進(jìn)行匯聚后通過匯聚節(jié)點(diǎn)傳送給診斷系統(tǒng)或CNC系統(tǒng)。在實(shí)際的機(jī)床物聯(lián)網(wǎng)系統(tǒng)運(yùn)行中出現(xiàn)了以下問題。

        (1)根據(jù)工業(yè)要求采集到的數(shù)據(jù)被分為報(bào)警數(shù)據(jù)和普通數(shù)據(jù),所以數(shù)據(jù)在系統(tǒng)中傳輸和處理時(shí)就產(chǎn)生了不同傳送和處理緊急度的要求,報(bào)警數(shù)據(jù)需要進(jìn)行優(yōu)先傳送和處理,因而產(chǎn)生了數(shù)據(jù)調(diào)度的問題。

        (2)由于傳感器設(shè)備數(shù)量的增加和采集頻率的提高,機(jī)床物聯(lián)網(wǎng)系統(tǒng)數(shù)據(jù)通信量在大幅度的上升,因此產(chǎn)生了大數(shù)據(jù)量、快速通信的要求。

        為了解決上述問題,本文提出建設(shè)一套基于RT-thread操作系統(tǒng)的機(jī)床物聯(lián)網(wǎng)系統(tǒng),實(shí)現(xiàn)數(shù)據(jù)傳送、處理的科學(xué)調(diào)度和大數(shù)據(jù)快速網(wǎng)絡(luò)通信的處理。

        1 機(jī)床物聯(lián)網(wǎng)系統(tǒng)整體結(jié)構(gòu)設(shè)計(jì)

        本系統(tǒng)的設(shè)計(jì)是為了采用物聯(lián)網(wǎng)技術(shù)完成對機(jī)床數(shù)據(jù)的采集、處理和傳輸工作,所以在系統(tǒng)結(jié)構(gòu)上設(shè)計(jì)了感知層、匯聚層和應(yīng)用層,感知層使用的主要設(shè)備有溫度傳感器、振動傳感器,感知層設(shè)備完成數(shù)據(jù)的采集和發(fā)送。匯聚層使用的主要設(shè)備為匯聚節(jié)點(diǎn),匯聚節(jié)點(diǎn)完成數(shù)據(jù)的接收、處理和轉(zhuǎn)發(fā)。應(yīng)用層完成數(shù)據(jù)分析、處理和反饋控制。系統(tǒng)整體結(jié)構(gòu)如圖1所示。

        圖1 機(jī)床物聯(lián)網(wǎng)系統(tǒng)整體結(jié)構(gòu)圖

        本系統(tǒng)中溫度(振動)傳感節(jié)點(diǎn)完成溫度(振動)數(shù)據(jù)的采集和發(fā)送,并接收來自匯聚節(jié)點(diǎn)傳來的反饋控制數(shù)據(jù)。溫度傳感節(jié)點(diǎn)采用了cc2430無線通信模塊通過zigbee協(xié)議與匯聚節(jié)點(diǎn)通信。匯聚節(jié)點(diǎn)完成傳感節(jié)點(diǎn)上傳數(shù)據(jù)的處理、調(diào)度,并轉(zhuǎn)發(fā)給診斷系統(tǒng),接收診斷系統(tǒng)發(fā)來的反饋控制命令并轉(zhuǎn)根據(jù)控制需求轉(zhuǎn)發(fā)給傳感節(jié)點(diǎn)。匯聚節(jié)點(diǎn)采用cc2430芯片和zigbee協(xié)議完成與傳感節(jié)點(diǎn)通信,采用w5100以太網(wǎng)網(wǎng)卡模塊和TCP協(xié)議通過工業(yè)以太網(wǎng)完成與診斷系統(tǒng)通信。診斷系統(tǒng)從以太網(wǎng)接收數(shù)據(jù)進(jìn)行分析處理,根據(jù)分析結(jié)果產(chǎn)生反饋控制,將控制命令通過TCP協(xié)議發(fā)送給匯聚節(jié)點(diǎn)。

        根據(jù)機(jī)床物聯(lián)網(wǎng)系統(tǒng)功能和性能的需求,本系統(tǒng)在匯聚節(jié)點(diǎn)上采用RT-thread操作系統(tǒng)實(shí)現(xiàn)數(shù)據(jù)封裝(解封)處理、數(shù)據(jù)調(diào)度、網(wǎng)絡(luò)通信和硬件設(shè)備管理功能。下面將進(jìn)行RT-thread在匯聚節(jié)點(diǎn)上應(yīng)用的討論,其中對數(shù)據(jù)調(diào)度算法的改進(jìn)是本文的重點(diǎn)。

        2 匯聚節(jié)點(diǎn)功能設(shè)計(jì)與實(shí)現(xiàn)

        根據(jù)本系統(tǒng)的總體設(shè)計(jì),匯聚節(jié)點(diǎn)在硬件結(jié)構(gòu)上設(shè)計(jì)為通過cc2430芯片采用zigbee協(xié)議與傳感節(jié)點(diǎn)通信,通過W5100芯片采用tcp協(xié)議完成與與診斷系統(tǒng)的通信。

        在功能上匯聚節(jié)點(diǎn)需要完成數(shù)據(jù)接收、處理和轉(zhuǎn)發(fā)工作,匯聚節(jié)點(diǎn)處理數(shù)據(jù)來源有兩種,一種是由多個(gè)傳感節(jié)點(diǎn)通過cc2430發(fā)來的具有不同緊急度的數(shù)據(jù),一種是由診斷系統(tǒng)通過w5100發(fā)來的反饋控制數(shù)據(jù)。因此數(shù)據(jù)接收功能需要完成zigbee通信和tcp通信管理。數(shù)據(jù)處理功能需要完成兩部分工作內(nèi)容,一部分是根據(jù)數(shù)據(jù)的緊急度完成發(fā)送順序的調(diào)整和控制,也就是數(shù)據(jù)調(diào)度。另一部分是按約定的數(shù)據(jù)通信協(xié)議對數(shù)據(jù)進(jìn)行tcp封裝和解封。

        根據(jù)對匯聚節(jié)點(diǎn)功能的分析,本系統(tǒng)設(shè)計(jì)為在RT-thread操作系統(tǒng)中采用多線程機(jī)制[4]、中斷機(jī)制和mailbox機(jī)制完成數(shù)據(jù)處理和調(diào)度,采用LWIP協(xié)議棧[5]機(jī)制完成以太網(wǎng)通信管理,采用zigbee技術(shù)完成無線通信管理。因此在RT-thread中設(shè)計(jì)了兩道線程,一道線程是轉(zhuǎn)發(fā)控制線程,完成數(shù)據(jù)從郵箱讀取和向以太網(wǎng)發(fā)送工作,該線程具有低優(yōu)先級。另一道是管理線程,完成tcp通信初始化和socket通信管理,該線程具有高優(yōu)先級。為了保證數(shù)據(jù)調(diào)度功能的優(yōu)先進(jìn)行,單獨(dú)設(shè)計(jì)了數(shù)據(jù)調(diào)度處理函數(shù),該函數(shù)在中斷處理函數(shù)中被調(diào)用執(zhí)行。匯聚節(jié)點(diǎn)工作原理如圖2所示。

        圖2 匯聚節(jié)點(diǎn)工作原理

        RT-thread系統(tǒng)開始工作時(shí)完成系統(tǒng)初始化工作[6],包括系統(tǒng)核心硬件設(shè)備驅(qū)動、系統(tǒng)參數(shù)的設(shè)定和線程的創(chuàng)建。之后由管理線程[7-8]進(jìn)行網(wǎng)絡(luò)通信設(shè)備w5100初始化和socket通信初始化,在初始化完成后該線程進(jìn)入掛起狀態(tài),當(dāng)socket監(jiān)聽有數(shù)據(jù)到來時(shí)喚醒該線程并進(jìn)行數(shù)據(jù)處理,處理后轉(zhuǎn)發(fā)控制命令給cc2430。當(dāng)cc2430接收到傳感節(jié)點(diǎn)發(fā)來的數(shù)據(jù)時(shí),產(chǎn)生中斷,進(jìn)入中斷處理程序,中斷處理程序調(diào)用數(shù)據(jù)調(diào)度函數(shù)根據(jù)數(shù)據(jù)優(yōu)先級進(jìn)行郵箱寫入,中斷返回后喚醒轉(zhuǎn)發(fā)控制線程讀取郵箱進(jìn)行數(shù)據(jù)封裝和轉(zhuǎn)發(fā)。

        3 改進(jìn)式mailbox線程通信機(jī)制設(shè)計(jì)與實(shí)現(xiàn)

        RT-thread中的mailbox是一種輕量級進(jìn)程通信機(jī)制[9],具有控制簡單、開銷低和運(yùn)行效率高的特點(diǎn),傳統(tǒng)mailbox進(jìn)程通信機(jī)制中采用了如圖3所示的控制方法。

        圖3 mailbox機(jī)制原理圖

        其中郵箱是一個(gè)順序循環(huán)操作隊(duì)列,out_offset為出口偏移位置,in_offset為入口偏移位置,entry為郵箱中當(dāng)前存放郵件的數(shù)量,size為郵箱長度即圖中n+1,每個(gè)郵件大小固定為4字節(jié),郵箱大小為size×4字節(jié),其中郵箱長度可由設(shè)計(jì)者自行設(shè)定,郵箱的寫入可以由線程或中斷程序完成,郵箱的讀取只能由線程完成。in_offset、out_offset初始時(shí)都指向郵箱0號位置,增長方向?yàn)?至n方向,entry初始值為0,郵箱寫入后in_offset增加1,向右移動,entry加1,郵件讀出后out_offset增加1,向右移動,entry減1,當(dāng)in_offset、out_offset到達(dá)郵箱右端點(diǎn)時(shí),再次發(fā)生寫入和讀取操作后in_offset、out_ffset重新指向郵箱0號位置。當(dāng)郵箱空時(shí)即entry等于0,郵箱讀取線程被掛起(當(dāng)該線程timeout設(shè)置為0時(shí)則直接返回超時(shí)錯(cuò)誤),郵箱讀取線程由郵箱寫入操作喚醒。當(dāng)郵箱滿時(shí)即entry等于size,郵箱寫入線程被掛起(當(dāng)該線程timeout設(shè)置為0時(shí)則直接返回郵箱滿錯(cuò)誤),由郵箱讀出操作喚醒。由于本系統(tǒng)設(shè)計(jì)中為了保證數(shù)據(jù)調(diào)度操作的最高優(yōu)先級采用了由中斷處理程序調(diào)用數(shù)據(jù)調(diào)度函數(shù)完成郵箱的寫入,由轉(zhuǎn)發(fā)控制線程完成數(shù)據(jù)的封裝和發(fā)送,因此本系統(tǒng)中沒有郵箱寫入線程。

        在本系統(tǒng)中,傳感器上傳的數(shù)據(jù)由傳感節(jié)點(diǎn)在上傳前根據(jù)數(shù)據(jù)閾值設(shè)定了數(shù)據(jù)的優(yōu)先級。上傳數(shù)據(jù)共具有兩種優(yōu)先級,一種是低優(yōu)先級數(shù)據(jù)即普通數(shù)據(jù),是指傳感節(jié)點(diǎn)上傳的未達(dá)到報(bào)警閾值的數(shù)據(jù)。另一種是高優(yōu)先級數(shù)據(jù)即報(bào)警數(shù)據(jù),是指傳感節(jié)點(diǎn)上傳的到達(dá)或超過報(bào)警閾值的數(shù)據(jù)。系統(tǒng)運(yùn)行的規(guī)則為,低優(yōu)先級數(shù)據(jù)到達(dá)后根據(jù)FIFO策略進(jìn)行郵箱寫入和轉(zhuǎn)發(fā),當(dāng)有高優(yōu)先級數(shù)據(jù)到達(dá)后,需立即停止低優(yōu)先級數(shù)據(jù)的傳送,改為傳送高優(yōu)先級數(shù)據(jù),而在傳統(tǒng)的mailbox機(jī)制中是數(shù)據(jù)寫入和讀取是順序循環(huán)工作進(jìn)行的,無法完成不同優(yōu)先級數(shù)據(jù)傳送順序調(diào)整和控制的要求,因此本文提出一種改進(jìn)式mailbox進(jìn)程通信機(jī)制,實(shí)現(xiàn)不同優(yōu)先級數(shù)據(jù)按需求進(jìn)行轉(zhuǎn)發(fā)控制。改進(jìn)式mailbox工作原理如圖4所示。

        圖4 改進(jìn)式mailbox工作原理

        圖4a圖是當(dāng)普通數(shù)據(jù)到達(dá)時(shí)改進(jìn)式mailbox的處理過程:

        ①當(dāng)有第k個(gè)普通數(shù)據(jù)到達(dá)時(shí),中斷程序分析該數(shù)據(jù),由于數(shù)據(jù)為低優(yōu)先級數(shù)據(jù),則判斷郵箱是否為滿,如為滿立刻執(zhí)行中斷返回,該數(shù)據(jù)丟失。否則找到in_offset指針位置,in_offset指針當(dāng)前指向第m號郵箱。

        ②將第k個(gè)普通數(shù)據(jù)復(fù)制到該位置,對in_offset進(jìn)行加1操作,in_offset指針指向第m+1號郵箱,entry加1。

        ③中斷返回后由轉(zhuǎn)發(fā)控制線程找到out_offset指針位置,當(dāng)前指向第j號郵箱,將該郵箱的內(nèi)容封裝發(fā)送,out_offset指針加1,entry減1。

        當(dāng)out_offset或in_offset指針指向郵箱最后一個(gè)位置時(shí),再次發(fā)生指針加1操作時(shí)將把該指針指向第0號郵箱位置。

        圖4b圖是當(dāng)有高優(yōu)先級數(shù)據(jù)到達(dá)時(shí)改進(jìn)式mailbox的處理過程,這是本文重點(diǎn)改進(jìn)的內(nèi)容。

        ①當(dāng)有高優(yōu)先級數(shù)據(jù)到達(dá),中斷程序分析該數(shù)據(jù),由于數(shù)據(jù)為高優(yōu)先級數(shù)據(jù),直接找到out_offset指針位置,此處不進(jìn)行郵箱滿的判斷,out_offset指針當(dāng)前指向第t號郵箱,in_offset 指針指向第i個(gè)郵箱。

        ②對out_offset進(jìn)行減1操作,out_offset指針指向第t-1號郵箱,將高優(yōu)先級數(shù)據(jù)放進(jìn)第t-1號郵箱,判斷當(dāng)entry小于size時(shí),執(zhí)行entry加1,否則執(zhí)行in_offset等于out_offset。此操作用于保證后續(xù)的低優(yōu)先級數(shù)據(jù)能寫在空郵箱位置上。

        ③中斷返回后由轉(zhuǎn)發(fā)控制線程找到out_offset指針位置第t-1號郵箱,將該郵箱的內(nèi)容封裝發(fā)送,out_offset指針加1,entry減1。繼續(xù)恢復(fù)正常發(fā)送。

        當(dāng)out_offset指針指向第0號郵箱時(shí),再次發(fā)生減1操作則將該指針指向最大編號郵箱即第n號郵箱。

        由于傳統(tǒng)mailbox機(jī)制中每個(gè)郵箱的大小為4個(gè)字節(jié),在本設(shè)計(jì)中采用郵箱存放變量地址的方法,實(shí)現(xiàn)大數(shù)據(jù)的存儲和發(fā)送。數(shù)據(jù)結(jié)構(gòu)體設(shè)計(jì)如下:

        struct datamsg

        {

        uint8_t * data_prt;

        unit8_t data_pro;

        unit32_t data_size;

        };

        其中data_prt為指向該結(jié)構(gòu)體變量的指針,data_pro為本條數(shù)據(jù)的優(yōu)先級,data_size為本條數(shù)據(jù)的長度。

        算法改進(jìn)分析:

        (1)當(dāng)高優(yōu)先級數(shù)據(jù)到達(dá)時(shí),采用了對out_offset進(jìn)行減1操作而不是操作in_offset是因?yàn)閛ut_offset指向即將被讀取郵件的位置,所以out_offset-1指向位置的數(shù)據(jù)應(yīng)該是已經(jīng)讀取完成的,對out_offset-1指向位置進(jìn)行寫入不會產(chǎn)生數(shù)據(jù)丟失。同時(shí)在中斷返回后將立刻由轉(zhuǎn)發(fā)控制程序讀取out_offset指向位置的數(shù)據(jù)(此時(shí)為高優(yōu)先級數(shù)據(jù))進(jìn)行發(fā)送,從而完成高優(yōu)先級數(shù)據(jù)的優(yōu)先發(fā)送。

        (2)當(dāng)高優(yōu)先級數(shù)據(jù)是不連續(xù)偶發(fā)性出現(xiàn)時(shí),該操作只是將out_offset進(jìn)行減1,隨后郵箱讀取線程將讀取位置郵箱的內(nèi)容發(fā)送,并進(jìn)行out_offset加1,此時(shí)out_offset恢復(fù)成為高優(yōu)先級數(shù)據(jù)到達(dá)前的值,恢復(fù)到正常數(shù)據(jù)的收發(fā)過程。

        (3)當(dāng)高優(yōu)先級數(shù)據(jù)連續(xù)到達(dá)時(shí),就會出現(xiàn)不斷的執(zhí)行out_offset減1操作,最壞的一種可能是經(jīng)過n+1個(gè)連續(xù)中斷后out_offset值比原始值小1,也就是全部郵箱都被高優(yōu)先級數(shù)據(jù)寫滿,并產(chǎn)生了高優(yōu)先級數(shù)據(jù)間覆蓋,由于本算法中中斷處理程序內(nèi)容設(shè)計(jì)為不能被阻塞,所以只要中斷有間歇,高優(yōu)先級數(shù)據(jù)就能被轉(zhuǎn)發(fā)控制線程讀出并發(fā)給診斷系統(tǒng)。達(dá)到了高優(yōu)先級數(shù)據(jù)優(yōu)先傳送的目的,根據(jù)本系統(tǒng)的實(shí)際工作情況,由于溫度和振動傳感器的采集頻率為每秒1次,cc2430發(fā)送頻率也為每秒1次,所以只要在1秒內(nèi)完成最大中斷數(shù)量的處理,本系統(tǒng)中設(shè)計(jì)負(fù)載為20個(gè)傳感器,所以最多為每秒20個(gè)中斷,就不會出現(xiàn)系統(tǒng)一直處于中斷狀態(tài)導(dǎo)致數(shù)據(jù)不能發(fā)送的情況,后續(xù)的實(shí)驗(yàn)證明該情況不會出現(xiàn)。

        (4)郵箱大小的設(shè)置,由于每個(gè)郵件長度為4個(gè)字節(jié),郵箱的大小為長度size×4,該參數(shù)將影響到嵌入式設(shè)備的內(nèi)存占用情況,郵箱長度size的設(shè)置過少將出現(xiàn)只要出現(xiàn)高優(yōu)先級數(shù)據(jù)就將把低優(yōu)先級數(shù)據(jù)覆蓋,郵箱數(shù)量設(shè)置過大內(nèi)存占用過大,影響系統(tǒng)的整體性能,所以可以根據(jù)實(shí)際傳感節(jié)點(diǎn)的并發(fā)數(shù)量進(jìn)行設(shè)定和調(diào)整,本系統(tǒng)中設(shè)定郵箱長度size值為20。

        算法實(shí)現(xiàn)核心偽代碼如下:

        轉(zhuǎn)發(fā)控制線程進(jìn)行郵件讀?。?/p>

        rt_mb_read (rt_mailbox_t mb, rt_uint32_t value, rt_int32_t timeout)

        {.......;

        *value = mb->msg_pool[mb->out_offset];

        ++ mb->out_offset;

        if (mb->out_offset >= mb->size)

        mb->out_offset = 0;

        mb->entry --;

        .......;}

        中斷處理程序調(diào)用數(shù)據(jù)調(diào)度函數(shù)進(jìn)行郵件寫入,數(shù)據(jù)調(diào)度函數(shù)內(nèi)容為:

        rt_mb_urgent(rt_mailbox_t mb, rt_uint32_t value, datamsg* msg)

        {......;

        if(msg->pro==0)//低優(yōu)先級數(shù)據(jù)

        {mb->msg_pool[mb->in_offset] = msg->value;

        ++ mb->in_offset;

        if (mb->in_offset >= mb->size)

        mb->in_offset = 0;

        mb->entry++;

        ......;}

        if(msg->pro==1)//高優(yōu)先級數(shù)據(jù)

        {if (mb->out_offset ==0)

        mb->out_offset =mb->size-1;

        else

        -- mb->out_offset;

        mb->msg_pool[mb->out_offset] = value;

        if(mb->entrysize)

        mb->entry ++;

        else

        mb->in_offset=mb->out_offset; }

        ......;}

        4 實(shí)驗(yàn)結(jié)論

        為了對改進(jìn)式mailbox算法的性能進(jìn)行分析,采用了以下條件進(jìn)行系統(tǒng)仿真測試實(shí)驗(yàn):

        (1)采用了10個(gè)溫度傳感節(jié)點(diǎn)、10個(gè)振動傳感節(jié)點(diǎn)進(jìn)行預(yù)定數(shù)據(jù)的發(fā)送。為了測試算法在并行數(shù)據(jù)到達(dá)時(shí)的實(shí)際處理能力,這20個(gè)傳感節(jié)點(diǎn)沒有實(shí)際采集數(shù)據(jù),而是由傳感節(jié)點(diǎn)中的程序按預(yù)設(shè)的條件發(fā)送報(bào)警數(shù)據(jù)和普通數(shù)據(jù)。

        (2)傳感節(jié)點(diǎn)程序中設(shè)計(jì)CC2430發(fā)送頻率為1次/秒。

        (3)為了保證實(shí)驗(yàn)的可靠性,在數(shù)據(jù)出現(xiàn)報(bào)警時(shí)提高傳感節(jié)點(diǎn)報(bào)警數(shù)據(jù)的發(fā)送次數(shù),設(shè)計(jì)為一次報(bào)警發(fā)送3次報(bào)警數(shù)據(jù)。

        (4)系統(tǒng)實(shí)驗(yàn)時(shí)間為24個(gè)小時(shí),其中每個(gè)傳感節(jié)點(diǎn)發(fā)生報(bào)警400次,其中連續(xù)報(bào)警200次即200秒完成600條報(bào)警數(shù)據(jù)的發(fā)送,且20個(gè)傳感節(jié)點(diǎn)同時(shí)發(fā)生連續(xù)報(bào)警。每個(gè)傳感節(jié)點(diǎn)間隔性報(bào)警200次,間隔時(shí)間為3秒。

        實(shí)驗(yàn)結(jié)果:匯聚節(jié)點(diǎn)成功收到報(bào)警數(shù)據(jù)24000條,普通數(shù)據(jù)1704000條,成功轉(zhuǎn)發(fā)報(bào)警數(shù)據(jù)24000條,普通數(shù)據(jù)1703992條。成功轉(zhuǎn)發(fā)數(shù)據(jù)統(tǒng)計(jì)結(jié)論如圖5所示。

        圖5 數(shù)據(jù)轉(zhuǎn)發(fā)成功率對比

        實(shí)驗(yàn)分析:在實(shí)驗(yàn)結(jié)論中轉(zhuǎn)發(fā)普通數(shù)據(jù)條數(shù)比收到的普通數(shù)據(jù)條數(shù)少了8條,這種情況是由于并發(fā)到達(dá)的中斷導(dǎo)致了高優(yōu)先級數(shù)據(jù)對普通數(shù)據(jù)的覆蓋,該現(xiàn)象可以通過增大郵箱的size來解決。通過實(shí)驗(yàn)結(jié)果證明了改進(jìn)式mailbox算法不僅具有較好的數(shù)據(jù)優(yōu)先級調(diào)度能力,同時(shí)該算法具有較小的處理開銷。

        5 結(jié)論

        本系統(tǒng)采用了RT-thread操作系統(tǒng)在匯聚節(jié)點(diǎn)上完成數(shù)據(jù)接收、調(diào)度、轉(zhuǎn)發(fā)等工作,完成了與傳感節(jié)點(diǎn)的zigbee無線通信,完成了與監(jiān)控系統(tǒng)以太網(wǎng)方式通信,重點(diǎn)對傳統(tǒng)的mailbox算法進(jìn)行了改進(jìn),通過嚴(yán)格的仿真測試實(shí)驗(yàn)證明了改進(jìn)后的算法具有較好的實(shí)時(shí)處理能力和轉(zhuǎn)發(fā)性能,保證了高優(yōu)先級數(shù)據(jù)的完全優(yōu)先轉(zhuǎn)發(fā),證明了該系統(tǒng)具有很好的實(shí)時(shí)性和適用性,因此本系統(tǒng)具有很廣泛的應(yīng)用價(jià)值和理論研究價(jià)值。

        [1] 曹成.嵌入式實(shí)時(shí)操作系統(tǒng)RT-Thread原理分析與應(yīng)用[D].青島:山東科技大學(xué),2011.

        [2] 蘇憲利,鄭一麟.基于WEB的數(shù)控機(jī)床監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].組合機(jī)床與自動化加工技,2013(6):58-61.

        [3] 鄭一麟,林滸,陶耀東,等.基于SOPC的數(shù)控系統(tǒng)EnDat2.2接口的設(shè)計(jì)與實(shí)現(xiàn)[J].小型微型計(jì)算機(jī)系統(tǒng),2012(6):1377-1380.

        [4] 方瓊瓊.嵌入式串口聯(lián)網(wǎng)服務(wù)器的設(shè)計(jì)與實(shí)現(xiàn)[D].合肥:安徽大學(xué),2012.

        [5] 尉志剛.基于RT-Thread的MODBUS從協(xié)議棧的設(shè)計(jì)與實(shí)現(xiàn)[D].合肥:安徽大學(xué),2012.

        [6] 楊志新.基于RT-Thread系統(tǒng)的網(wǎng)絡(luò)時(shí)鐘同步的實(shí)現(xiàn)與研究[D].南京:南京郵電大學(xué),2013.

        [7] 徐晨.物聯(lián)網(wǎng)與數(shù)控機(jī)床遠(yuǎn)程智能監(jiān)控系統(tǒng)[J].大連:組合機(jī)床與自動化加工技術(shù),2013(8):86-90.

        [8] 魏亞鵬,韓衛(wèi)光.工業(yè)以太網(wǎng)EtherCAT的無線網(wǎng)關(guān)設(shè)計(jì)[J].組合機(jī)床與自動化加工技術(shù),2013(8):26-29.

        [9] 王曉寅.基于實(shí)時(shí)系統(tǒng)的STM32網(wǎng)絡(luò)應(yīng)用[D].上海:華東師范大學(xué),2011.

        (編輯 趙蓉)

        Design and Implementation of Machine Things Network Based on RT-thread

        SU Xian-li1,ZHENG Yi-lin2

        (1. College of Information Science and Technology, Bohai University. Jinzhou Liaoning 121013,China;2.Shenyang Institute of Computing Technology, Chinese Academy of Sciences, Shenyang 110168,China)

        The design and implementation of the machine tools internet of things system based on RT-Thread.To meet the demand of multi-urgency data scheduling and data communication stability, RT-Thread real-time operating system is used. The improvement of mailbox thread communication model satisfies the need of data scheduling priority, enhance the system’s ability to give a priority to urgent data. The use of Socket can meet the need of network heavy load communication. Employ ARM Cortex-M3 processing chip and w5100 network communication chip in hardware. The experiment result proved that the system can largely improve the real-time and Sheduling of machine tools data processing.

        data scheduling; mailbox model; socket

        1001-2265(2014)06-0069-04

        10.13462/j.cnki.mmtamt.2014.06.019

        2014-03-03;

        2014-04-01

        "高檔數(shù)控機(jī)床與基礎(chǔ)制造裝備"國家科技重大專項(xiàng)-開放式數(shù)控系統(tǒng)支撐技術(shù)創(chuàng)新平臺建設(shè)(2011ZX04016-071)

        蘇憲利(1980—),男,遼寧錦州人,渤海大學(xué)講師,研究方向?yàn)閷?shí)時(shí)控制,( E-mail)xianlis@sina.com.cn。

        TH166;TG506

        A

        猜你喜歡
        指針線程中斷
        偷指針的人
        為什么表的指針都按照順時(shí)針方向轉(zhuǎn)動
        跟蹤導(dǎo)練(二)(5)
        千里移防,衛(wèi)勤保障不中斷
        解放軍健康(2017年5期)2017-08-01 06:27:44
        淺談linux多線程協(xié)作
        基于改進(jìn)Hough變換和BP網(wǎng)絡(luò)的指針儀表識別
        電測與儀表(2015年5期)2015-04-09 11:30:42
        ARM Cortex—MO/MO+單片機(jī)的指針變量替換方法
        AT89C51與中斷有關(guān)的寄存器功能表解
        Linux線程實(shí)現(xiàn)技術(shù)研究
        FPGA內(nèi)嵌PowerPC的中斷響應(yīng)分析
        麻豆久久91精品国产| 久久精品无码一区二区三区不| 日韩AV无码中文无码AV| 亚洲天堂av高清在线| 无码精品国产一区二区三区免费| 国产 字幕 制服 中文 在线| 中文字幕一区二区三区乱码不卡| 精品国产一区二区三区男人吃奶| 极品粉嫩小仙女高潮喷水操av| 亚洲精品无码久久久久av老牛| 国产黄页网站在线观看免费视频| 久久久久久人妻一区二区无码Av| 丝袜美腿国产一区二区| 美女网站免费福利视频| 日韩AV不卡一区二区三区无码| 一区二区三区婷婷中文字幕| 在线观看国产激情视频| 亚洲国产日韩精品一区二区三区| 在线播放人成午夜免费视频| 在线播放中文字幕一区二区三区 | 午夜少妇高潮在线观看| av午夜久久蜜桃传媒软件| 久久国产亚洲精品超碰热| 国产成人久久精品二区三区| 四虎影在永久在线观看 | 黑人巨大精品欧美| 真人直播 免费视频| 欧美1区二区三区公司| 亚洲成人激情深爱影院在线| 人妻少妇精品视频三区二区一区 | 亚洲精品天堂av免费看| 久久国产精品色av免费看| 久久99国产综合精品| 老熟女毛茸茸浓毛| 男子把美女裙子脱了摸她内裤| 日本一二三区在线观看视频| 黑人巨茎大战欧美白妇| 久久青青草原国产精品最新片| 久久亚洲网站中文字幕| 免费成人在线电影| 久久国产亚洲高清观看5388|