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

?

基于以太網(wǎng)的多儀器數(shù)據(jù)監(jiān)控系統(tǒng)

2015-12-05 02:02蔡晨曦秦會(huì)斌
電子與封裝 2015年6期
關(guān)鍵詞:機(jī)軟件以太網(wǎng)上位

蔡晨曦,秦會(huì)斌

(杭州電子科技大學(xué),杭州 310018)

1 引言

數(shù)據(jù)采集與控制系統(tǒng)是指將工業(yè)現(xiàn)場(chǎng)中測(cè)試設(shè)備采集到的數(shù)據(jù)進(jìn)行傳輸、顯示、存儲(chǔ)等操作,它廣泛應(yīng)用于測(cè)試儀器、信號(hào)檢測(cè)、信號(hào)處理等領(lǐng)域。在數(shù)據(jù)采集與控制系統(tǒng)中應(yīng)用工業(yè)以太網(wǎng)、TCP/IP網(wǎng)絡(luò)通信協(xié)議,擺脫了傳統(tǒng)模式下速率低、數(shù)據(jù)量小的特點(diǎn),使系統(tǒng)向著可靠性高、易擴(kuò)展、高速化的方向發(fā)展。將STM32單片機(jī)和儀器、儀表構(gòu)成獨(dú)立的數(shù)據(jù)采集系統(tǒng),以通用計(jì)算機(jī)平臺(tái)作為主控端通過(guò)工業(yè)以太網(wǎng)連接所有處于工作狀態(tài)的STM32單片機(jī)進(jìn)行數(shù)據(jù)交互與控制,可實(shí)現(xiàn)對(duì)多儀器、儀表的集中監(jiān)控,宏觀地反映整個(gè)生產(chǎn)過(guò)程。在STM32單片機(jī)中移植μC/OS-Ⅱ嵌入式操作系統(tǒng)和LwIP嵌入式網(wǎng)絡(luò)協(xié)議棧,可以實(shí)現(xiàn)同上位機(jī)軟件和儀器之間穩(wěn)定的并發(fā)通信[1]。

2 系統(tǒng)設(shè)計(jì)

多測(cè)試儀器數(shù)據(jù)采集與控制系統(tǒng)的體系網(wǎng)絡(luò)結(jié)構(gòu)拓?fù)淙鐖D1所示。整個(gè)系統(tǒng)包括上位機(jī)監(jiān)控軟件、STM32單片機(jī)(下位機(jī))組成的嵌入式終端和儀器儀表,上位機(jī)監(jiān)控軟件和STM32單片機(jī)之間采用TCP/IP協(xié)議作為網(wǎng)絡(luò)通信方式。工作過(guò)程中STM32單片機(jī)通過(guò)RS485總線接收各儀器發(fā)送的資源信息、工作狀態(tài)以及采集到的數(shù)據(jù),然后對(duì)數(shù)據(jù)進(jìn)行預(yù)處理、打包封裝后通過(guò)以太網(wǎng)發(fā)送給上位機(jī)軟件,同時(shí)將上位機(jī)軟件發(fā)送的指令傳遞給儀器,以此實(shí)現(xiàn)對(duì)儀器的數(shù)據(jù)采集和監(jiān)控。

STM32單片機(jī)采用STM32F103ZET6為CPU,其外設(shè)豐富、性能優(yōu)越滿足性能需求,硬件方面還主要包括了RS485模塊和ENC28J60網(wǎng)絡(luò)通信模塊等。STM32單片機(jī)的利用增加了上位機(jī)軟件所能連接的儀器數(shù)量。實(shí)驗(yàn)過(guò)程中通過(guò)RS485總線每個(gè)STM32單片機(jī)可連接15個(gè)儀器,通過(guò)以太網(wǎng)接口和交換機(jī)等中繼設(shè)備上位機(jī)軟件可同時(shí)和20個(gè)以上的STM32單片機(jī)建立網(wǎng)絡(luò)連接。這樣的雙層結(jié)構(gòu)實(shí)現(xiàn)上位機(jī)軟件同時(shí)和上百個(gè)儀器連接,大大提高了上位機(jī)的利用率[2]。

圖1 網(wǎng)絡(luò)結(jié)構(gòu)拓?fù)鋱D

3 下位機(jī)硬件設(shè)計(jì)

3.1 RS485總線接口電路

STM32單片機(jī)與儀器之間采用RS485總線通信架構(gòu),RS485通信抗干擾性強(qiáng)、傳輸距離遠(yuǎn)、驅(qū)動(dòng)能力強(qiáng),可最多掛載256點(diǎn)串口收發(fā)器。本系統(tǒng)的RS485接口電路由低功耗的半雙工RS485收發(fā)器MAX1487組成,符合RS485串行協(xié)議的電器規(guī)范,數(shù)據(jù)傳輸速率可達(dá)10 Mbps,其接口原理圖如圖2所示。MAX1487的pin6、pin7分別為RS485總線的A線、B線,其中pin6與STM32的USART1接收端PA9相連,pin7與STM32的USART1發(fā)送端PA10相連。PB13用于控制RS485數(shù)據(jù)通信的傳輸方向[3]。

3.2 以太網(wǎng)接口電路設(shè)計(jì)

以太網(wǎng)通信模塊硬件電路包括以太網(wǎng)控制芯片ENC28J60、復(fù)位電路、時(shí)鐘振蕩器、網(wǎng)絡(luò)變壓器等。ENC28J60是由MicroChip公司推出的符合IEEE802.3標(biāo)準(zhǔn)的以太網(wǎng)控制芯片,其僅有28個(gè)引腳且芯片價(jià)格低,為用戶提供了廉價(jià)、高效的嵌入式網(wǎng)絡(luò)通信解決方案。ENC28J60與STM32單片機(jī)連接方式如圖3所示,作為以太網(wǎng)控制芯片其主要功能包括以下幾點(diǎn):(1)集成媒體訪問介質(zhì)控制器以及10BASE-T以太網(wǎng)物理層器件,可支持全雙工和半雙工模式以太網(wǎng)標(biāo)準(zhǔn)協(xié)議通信。(2)包含Microchip的可編程模式匹配過(guò)濾器,通過(guò)編程可自動(dòng)評(píng)價(jià)、接收或拒收單播、多播和廣播數(shù)據(jù)包,防御網(wǎng)絡(luò)上的DDOS攻擊并減輕微處理器的處理壓力。(3)帶有行業(yè)標(biāo)準(zhǔn)的SPI串行外圍設(shè)備接口,最高通信速率可到10 MB/s。(4)8 kB雙端口可編程SRAM緩沖器,其數(shù)據(jù)管理機(jī)制具有實(shí)時(shí)性和可靠性,實(shí)現(xiàn)數(shù)據(jù)包的高效存儲(chǔ)、修改和檢索功能,減輕微處理器的內(nèi)存負(fù)荷。

ENC28J60工作頻率為25 MHz,時(shí)鐘振蕩電路采用25 MHz無(wú)源晶振分別接于OSC1和OSC2兩端為芯片提供一個(gè)時(shí)鐘信號(hào)。由于晶振頻率較高,在布局時(shí)盡量靠近芯片且走線盡可能短。ENC28J60連接的網(wǎng)絡(luò)變壓器是集成以太網(wǎng)隔離變壓器HR911105,該隔離變壓器攜帶貼片式LED燈,大大節(jié)省了PCB板空間[4]。

4 下位機(jī)軟件程序設(shè)計(jì)

在STM32單片機(jī)上移植μC/OS-Ⅱ嵌入式操作系統(tǒng)和LwIP網(wǎng)絡(luò)協(xié)議棧,根據(jù)功能劃分任務(wù)的方式進(jìn)行程序設(shè)計(jì),分別建立了RS485通信和以太網(wǎng)通信兩個(gè)任務(wù)。RS485通信任務(wù)負(fù)責(zé)接收儀器發(fā)送的測(cè)試數(shù)據(jù),并把上位機(jī)的控制命令返回給儀器。以太網(wǎng)通信任務(wù)主要是接收并解析上位機(jī)發(fā)送的命令返回對(duì)應(yīng)測(cè)試儀器的資源信息以及工作狀態(tài),在測(cè)試階段將RS485接收到的測(cè)試儀器數(shù)據(jù)封裝打包后定時(shí)發(fā)送到上位機(jī)軟件。采用上述基于μC/OS-Ⅱ系統(tǒng)的設(shè)計(jì)方案使兩個(gè)任務(wù)能夠并發(fā)運(yùn)行,并通過(guò)μC/OS-Ⅱ提供的互斥鎖和信號(hào)量保證兩個(gè)任務(wù)之間數(shù)據(jù)的同步[5]。

4.1 RS485通信程序設(shè)計(jì)

完成μC/OS-Ⅱ初始化后對(duì)RS485通信寄存器USART1進(jìn)行配置并初始化,創(chuàng)建以RS485通信任務(wù)RS485_Task,其工作流程圖如圖4所示。RS485通信任務(wù)開始運(yùn)行后首先發(fā)送命令確認(rèn)1號(hào)儀器是否存在,如果RS485接收中斷返回?cái)?shù)據(jù)則確認(rèn)1號(hào)儀器連接成功,如果等待超時(shí)則表示1號(hào)儀器未連接或者連接斷開可以直接跳轉(zhuǎn)請(qǐng)求下一編號(hào)的儀器是否存在。等待超時(shí)的時(shí)間間隔由用戶預(yù)先定義,這個(gè)時(shí)間間隔要滿足任何從設(shè)備做出正常反應(yīng)。在確定1號(hào)儀器已連接之后,發(fā)送相關(guān)命令請(qǐng)求1號(hào)儀器返回儀器各類資源信息完成與1號(hào)儀器的信息初始化工作,然后繼續(xù)按照上述流程循環(huán)完成所有STM32單片機(jī)連接儀器的信息初始化工作。初始化工作完成之后,STM32單片機(jī)根據(jù)當(dāng)前已連接的儀器數(shù)量在任務(wù)中建立循環(huán),依次接收儀器發(fā)回的測(cè)試數(shù)據(jù)。

圖2 RS485總線接口原理圖

圖3 以太網(wǎng)接口原理圖

4.2 以太網(wǎng)通信程序設(shè)計(jì)

完成μC/OS-Ⅱ初始化后創(chuàng)建以太網(wǎng)通信任務(wù)Lwip_Task,其工作流程圖如圖5所示。在Lwip_Task中調(diào)用tcp_new函數(shù)創(chuàng)建一個(gè)新的tcp_pcb控制塊,并調(diào)用tcp_bind函數(shù)將預(yù)先設(shè)定的IP地址與端口號(hào)與新建的tcp_pcb控制塊綁定,隨后通過(guò)調(diào)用tcp_listen函數(shù)使指定的tcp_pcb控制塊進(jìn)入監(jiān)聽模式。調(diào)用tcp_accpet函數(shù)設(shè)置有TCP連接建立時(shí)的回調(diào)函數(shù),該回調(diào)函數(shù)用于通知LwIP一個(gè)新來(lái)的連接已經(jīng)被接收。tcp_recv函數(shù)用于指定tcp_pcb控制塊接收到數(shù)據(jù)時(shí)的回調(diào)函數(shù),當(dāng)接收到以太網(wǎng)數(shù)據(jù)時(shí)會(huì)觸發(fā)信號(hào)量或郵箱事件,將數(shù)據(jù)拷貝到用戶緩沖區(qū)pbuf并調(diào)用指定的回調(diào)函數(shù)對(duì)數(shù)據(jù)進(jìn)行處理。在回調(diào)函數(shù)中按應(yīng)用層通信協(xié)議先獲取第一位命令數(shù)據(jù)對(duì)命令進(jìn)行解析,然后根據(jù)第二位儀器編號(hào)數(shù)據(jù)發(fā)回上位機(jī)軟件需要的該編號(hào)儀器信息[6]。

5 面向儀器的設(shè)計(jì)方案

本系統(tǒng)為了能夠支持實(shí)時(shí)動(dòng)態(tài)地接入、兼容多種不同類型的儀器,在上位機(jī)軟件設(shè)計(jì)上創(chuàng)新地采用了一種面向儀器、儀表的設(shè)計(jì)思想。面向儀器、儀表的設(shè)計(jì)方案并不針對(duì)某一特定的儀器,其屏蔽了各種不同類型儀器的具體差異,對(duì)儀器的測(cè)試資源、測(cè)試序列等信息進(jìn)行了抽象的統(tǒng)一,在軟件設(shè)計(jì)上實(shí)現(xiàn)對(duì)多儀器集中數(shù)據(jù)采集與控制。

在進(jìn)行上位機(jī)軟件設(shè)計(jì)時(shí)需要預(yù)先將各類儀器的測(cè)試資源信息統(tǒng)一抽象成一張格式一致的資源設(shè)定表(如圖6所示),該資源設(shè)定表分為測(cè)試設(shè)定部分和測(cè)試結(jié)果設(shè)定部分。測(cè)試設(shè)定部分主要用于設(shè)定儀器的工作模式、工作參數(shù),如測(cè)試項(xiàng)、測(cè)試持續(xù)時(shí)間、測(cè)試分類等,測(cè)試結(jié)果設(shè)定則主要用于設(shè)定測(cè)試數(shù)據(jù)的最大最小值、單位和是否對(duì)測(cè)試結(jié)果分類。每個(gè)STM32單片機(jī)根據(jù)自己所連接儀器對(duì)應(yīng)生成資源設(shè)定表并發(fā)送到上位機(jī),上位機(jī)根據(jù)資源設(shè)定表中的具體內(nèi)容就能獲得與該儀器對(duì)應(yīng)的儀器類型以及測(cè)試資源、測(cè)試序列等信息。在實(shí)際系統(tǒng)中,上位機(jī)軟件可以對(duì)表中內(nèi)容進(jìn)行靈活的設(shè)置,設(shè)置完成后返回給對(duì)應(yīng)的STM32單片機(jī),其根據(jù)返回的表對(duì)與該表對(duì)應(yīng)的儀器工作方式進(jìn)行控制。通過(guò)上述方案真正在上位機(jī)軟件中實(shí)現(xiàn)儀器信息的動(dòng)態(tài)獲取,使對(duì)儀器的控制更加靈活、更加智能[7]。

圖4 RS485通信程序流程圖

6 系統(tǒng)測(cè)試

本文設(shè)計(jì)的以太網(wǎng)多測(cè)試儀器數(shù)據(jù)采集與控制系統(tǒng)是和紹興市科盛電子有限公司合作開發(fā)的項(xiàng)目,目前主要針對(duì)科盛電子有限公司自主研發(fā)的TRR二極管測(cè)試機(jī)進(jìn)行開發(fā),因此本系統(tǒng)根據(jù)公司制定的技術(shù)指標(biāo)及性能要求進(jìn)行測(cè)試。上位機(jī)軟件一共連接15組STM32單片機(jī)系統(tǒng)進(jìn)行測(cè)試,每個(gè)STM32單片機(jī)連接15個(gè)模擬測(cè)試儀器,每個(gè)模擬測(cè)試儀器有5組測(cè)試序列。

圖5 LwIP以太網(wǎng)通信程序流程圖

圖6 資源設(shè)定表

6.1 測(cè)試方法

STM32單片機(jī)工作后通過(guò)RS485總線接收模擬儀器發(fā)送的數(shù)據(jù),測(cè)試接收是否完整。在上位機(jī)軟件開啟后所有處于工作狀態(tài)的STM32單片機(jī)都能被上位機(jī)掃描并建立TCP網(wǎng)絡(luò)連接。成功建立連接之后,每個(gè)STM32單片機(jī)每隔500 ms向上位機(jī)軟件發(fā)送一次測(cè)試數(shù)據(jù),每次發(fā)送理論上的最大數(shù)據(jù)量為2 048 B,同時(shí)測(cè)試單片機(jī)能否根據(jù)上位機(jī)軟件返回的命令對(duì)模擬儀器工作模式進(jìn)行控制[8]。

6.2 測(cè)試結(jié)果

對(duì)本系統(tǒng)進(jìn)行多次測(cè)試后的結(jié)果表明:上位機(jī)軟件能夠?qū)崿F(xiàn)對(duì)STM32單片機(jī)的主動(dòng)掃描連接,連接成功后STM32單片機(jī)能將模擬儀器測(cè)試數(shù)據(jù)及時(shí)、準(zhǔn)確地發(fā)送到上位機(jī)軟件,如圖7所示。STM32單片機(jī)同時(shí)能準(zhǔn)確解析上位機(jī)軟件發(fā)回的命令,證明該整體方案的切實(shí)可行。

圖7 上位機(jī)軟件工作圖

7 結(jié)束語(yǔ)

通過(guò)STM32單片機(jī)并以工業(yè)以太網(wǎng)和RS485總線結(jié)合作為通信方式實(shí)現(xiàn)工業(yè)現(xiàn)場(chǎng)大量?jī)x器的統(tǒng)一監(jiān)控,達(dá)到了準(zhǔn)確性、實(shí)時(shí)性、高效性的設(shè)計(jì)目標(biāo),可宏觀地反映整個(gè)生產(chǎn)過(guò)程。其良好的可擴(kuò)展性和兼容性有利于系統(tǒng)的升級(jí)改造,減少開發(fā)成本。該系統(tǒng)已在生產(chǎn)過(guò)程通過(guò)測(cè)試,系統(tǒng)運(yùn)行穩(wěn)定,符合工業(yè)生產(chǎn)的要求。

[1] 王琳,商周,王學(xué)偉. 數(shù)據(jù)采集系統(tǒng)發(fā)展與應(yīng)用[J]. 電測(cè)與儀表,2004,41(8): 4-8.

[2] 彭剛,秦志強(qiáng). 基于ARM Cortex-M3的STM32系列嵌入式微控制器應(yīng)用實(shí)踐[M]. 北京:電子工業(yè)出版社,2011. 100-165.

[3] 彭剛. 基于STM32的RS485總線分布式數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[J]. 伺服控制,2011,(2): 64-66.

[4] 聊義奎. Contex-M3之STM32嵌入式系統(tǒng)設(shè)計(jì)[M]. 北京:中國(guó)電力出版社,2012. 331-338.

[5] 任哲. 嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-Ⅱ原理及應(yīng)用[M]. 北京:北京航空航天大學(xué)出版社,2009. 2272-2317.

[6] 陸旭. 基于μC/OS-Ⅱ和LwIP的嵌入式設(shè)備監(jiān)控平臺(tái)研究[D]. 重慶:重慶大學(xué),2013.

[7] 韓松. 基于Modbus/TCP協(xié)議的遠(yuǎn)程控制網(wǎng)關(guān)[J]. 儀表技術(shù)與傳感器,2014,(10): 103-105.

[8] Kevin R Fall, W Richard Stevens. TCP/IP詳解[M]. 北京:機(jī)械工業(yè)出版社,2012. 579-591.

猜你喜歡
機(jī)軟件以太網(wǎng)上位
基于1500以太網(wǎng)養(yǎng)豬場(chǎng)的智能飼喂控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
特斯拉 風(fēng)云之老阿姨上位
小水電站計(jì)算機(jī)監(jiān)控系統(tǒng)上位機(jī)軟件的開發(fā)
談實(shí)時(shí)以太網(wǎng)EtherCAT技術(shù)在變電站自動(dòng)化中的應(yīng)用
“三扶”齊上位 決戰(zhàn)必打贏
基于ZigBee和VC上位機(jī)的教室智能監(jiān)測(cè)管理系統(tǒng)
道岔監(jiān)測(cè)系統(tǒng)上位機(jī)軟件設(shè)計(jì)
以新思路促推現(xiàn)代農(nóng)業(yè)上位
淺談EPON與工業(yè)以太網(wǎng)在貴遵高速公路中的應(yīng)用
萬(wàn)兆以太網(wǎng)在連徐高速公路通信系統(tǒng)改造中的應(yīng)用
泊头市| 通许县| 澄江县| 赫章县| 沛县| 米脂县| 琼海市| 武平县| 丘北县| 新巴尔虎左旗| 尼玛县| 定州市| 龙口市| 象州县| 读书| 石林| 固安县| 澎湖县| 买车| 贺州市| 木兰县| 鹿泉市| 民和| 砚山县| 昭平县| 思南县| 尉氏县| 泽州县| 渝中区| 新野县| 湟中县| 磐安县| 易门县| 栾川县| 岐山县| 昌黎县| 凤台县| 宁都县| 新乡县| 六盘水市| 黄龙县|