999国内精品永久免费视频,色偷偷9999www,亚洲国产成人爱av在线播放,6080亚洲人久久精品,欧美超高清xxxhd

首頁 新聞 工控搜 論壇 廠商論壇 產(chǎn)品 方案 廠商 人才 文摘 下載 展覽
中華工控網(wǎng)首頁
  P L C | 變頻器與傳動 | 傳感器 | 現(xiàn)場檢測儀表 | 工控軟件 | 人機(jī)界面 | 運(yùn)動控制
  D C S | 工業(yè)以太網(wǎng) | 現(xiàn)場總線 | 顯示調(diào)節(jié)儀表 | 數(shù)據(jù)采集 | 數(shù)傳測控 | 工業(yè)安全
  電 源 | 嵌入式系統(tǒng) | PC based | 機(jī)柜箱體殼體 | 低壓電器 | 機(jī)器視覺
基于PXA270的多數(shù)據(jù)監(jiān)測系統(tǒng)設(shè)計
北京飛旭科技有限公司
收藏本文     查看收藏

摘 要:設(shè)汁了基于ARM的智能電表和空調(diào)系統(tǒng)參數(shù)的多數(shù)據(jù)監(jiān)測系統(tǒng)。系統(tǒng)由硬件和軟件兩部分組成,硬件采用博創(chuàng)公司的嵌入式微控制器PXA270平臺,軟件使用了Modbus協(xié)議讀取智能電表和空調(diào)端監(jiān)測數(shù)據(jù),上位機(jī)利用Linux Socket『艤]絡(luò)編程和c#編程實(shí)現(xiàn)監(jiān)測。該系統(tǒng)比傳統(tǒng)的數(shù)據(jù){ 測系統(tǒng)具有更好的安全性和實(shí)時性,同時硬件的體積更小,功耗更低,擴(kuò)展性更慢。

0 引 言

    在實(shí)際工業(yè)控制應(yīng)用中,經(jīng)常需要對現(xiàn)場的智能電表、空調(diào)等多種設(shè)備進(jìn)行監(jiān)測,通過采集相應(yīng)設(shè)備的運(yùn)行參數(shù)隨時了解、跟蹤設(shè)備運(yùn)行狀態(tài) ,進(jìn)而進(jìn)行分析和診斷。結(jié)合具體項(xiàng)目,本文設(shè)計了一種基于嵌入式系統(tǒng)ARM 的多數(shù)據(jù)監(jiān)測系統(tǒng),系統(tǒng)以嵌入式Linux和博創(chuàng)公司的嵌入式微控制器PXA270為核心平臺,通過將RS一485采集的數(shù)據(jù)轉(zhuǎn)換成符合RS一232標(biāo)準(zhǔn)的數(shù)據(jù),保存在嵌入式微處理器的Flash中,經(jīng)過網(wǎng)絡(luò)傳輸將數(shù)據(jù)傳給E位機(jī),完成對電表、空調(diào)的監(jiān)測任務(wù)。整個系統(tǒng)建立在嵌入式結(jié)構(gòu)上,具有更好的實(shí)時性和穩(wěn)定性,同時硬件的體積更小,功耗更低,擴(kuò)展性更強(qiáng)。

1 系統(tǒng)硬件設(shè)計

1.1 系統(tǒng)總體設(shè)計方案
    系統(tǒng)的總體設(shè)計思想是通過RS一232/485轉(zhuǎn)換器將RS一485采集的電表參數(shù)、空調(diào)參數(shù)轉(zhuǎn)換成符合RS一232標(biāo)準(zhǔn)的數(shù)據(jù),保存在嵌入式微處理器Flash中,經(jīng)Linux Socket網(wǎng)絡(luò)編程,采用TCP協(xié)議和上位機(jī)建立網(wǎng)絡(luò)連接,將數(shù)據(jù)文件發(fā)送給上位機(jī),上位機(jī)運(yùn)用C#語言編程實(shí)現(xiàn)監(jiān)測數(shù)據(jù)的實(shí)時顯示,同時建立數(shù)據(jù)庫保存監(jiān)測數(shù)據(jù),從而完成對電表、空調(diào)數(shù)據(jù)的監(jiān)測任務(wù)。其中Rs一485對電表、空調(diào)參數(shù)的讀取是通過Modbus協(xié)議發(fā)送相關(guān)的指令實(shí)現(xiàn)的。
1.2 系統(tǒng)硬件電路
    該設(shè)計主要硬件電路包括數(shù)據(jù)采集模塊、PXA270處理器、外圍接口電路、電源及復(fù)位電路等幾個部分。系統(tǒng)總體結(jié)構(gòu)如圖1所示。

     ARM 處理系統(tǒng)采用博創(chuàng)公司的Xscale PXA270處理器,其主頻為520 MHz,加入了Intel SpeedStep動態(tài)電源管理技術(shù),在保證CPU性能的情況下可最大限度地降低設(shè)備功耗,采用網(wǎng)絡(luò)接口實(shí)現(xiàn)了數(shù)據(jù)信息的網(wǎng)絡(luò)化管理。操作系統(tǒng)采用Linux,使用的是Linux 2.6.9內(nèi)核。系統(tǒng)的根文件采用針對Flash無緩沖機(jī)制的JFFS2文件系統(tǒng)。

    為了利用PC上現(xiàn)有的RS一232接口,通常使用RS一232/485轉(zhuǎn)換器。該轉(zhuǎn)換器一般通過邏輯門電路控制RxD、TxD和GND信號,自動對半雙工的RS一485串口進(jìn)行控制。通過該轉(zhuǎn)換器,就可以像開發(fā)通用的RS一232串口一樣來快速開發(fā)基于RS一485串口的通信軟件。

2 系統(tǒng)軟件設(shè)計

    軟件部分包括系統(tǒng)引導(dǎo)驅(qū)動程序otLoad—er、嵌入式操作系統(tǒng)ARM—Linux的移植、文件系統(tǒng)、用戶應(yīng)用程序4個部分,其中核心部分是用戶應(yīng)用程序的編寫和調(diào)試。用戶應(yīng)用程序包括通過Modbus協(xié)議對采集得到的電表參數(shù)、空調(diào)參數(shù)的讀取和保存,Linux Socket編程實(shí)現(xiàn)文件的發(fā)送,以及上位機(jī)監(jiān)測端圖形化界面的C}≠語言編程實(shí)現(xiàn)。

2.1 采集數(shù)據(jù)的讀取和保存
    該部分實(shí)現(xiàn)電表和空調(diào)數(shù)據(jù)的讀取,并保存在嵌入式微處理器Flash中。數(shù)據(jù)的讀取通過Modbus協(xié)議向電表和空調(diào)發(fā)送相關(guān)指令獲得,得到的數(shù)據(jù)通過調(diào)用fwrite()函數(shù)寫入定義在嵌入式微處理器Flash的文件中。主要包括串口屬性設(shè)置,CRC(Cyclic Redundancy Check)校驗(yàn)碼實(shí)現(xiàn)方法,采用Modbus協(xié)議獲得需要的數(shù)據(jù),并寫入嵌入式微處理器Flash的文件中。

2.1.1 設(shè)置串口屬性
    串口設(shè)置主要是設(shè)置struct termios結(jié)構(gòu)體成員值。通過對Cwcflag的賦值,可以設(shè)置波特率、字符大小、數(shù)據(jù)位、停止位、奇偶校驗(yàn)位和硬件流控等。
系統(tǒng)對于串口屬性的設(shè)置如下:
(1)打開串El fd= open(“/dev/ttySO”,0一RDWR I O~ NOCTFY I O— NDELAY)。
(2)為安全起見和以后調(diào)試程序方便,先保存原先串口的配置:tcgetattr(fd,&newtio)。
(3)設(shè)置波特率為9 600 baud/s。一般情況下,用戶需要將輸入輸出函數(shù)的波特率設(shè)置成相同。函數(shù)在成功時返回“0”,失敗時返回“一1”。
(4)設(shè)置字符大小。沒有現(xiàn)成可用函數(shù),需要位掩碼。一般先去除數(shù)據(jù)位中的位掩碼,再重新按要求設(shè)置。
(5)設(shè)置奇偶校驗(yàn)位。先激活c—cflag中的校驗(yàn)位使能標(biāo)志PARENB和判斷是否要進(jìn)行偶校驗(yàn),同時還要激活c_iflag中的奇偶校驗(yàn)使能。
(6)設(shè)置停止位。通過激活c_cflag中的cS.TOPB實(shí)現(xiàn)。
(7)設(shè)置最少字符和等待時間。在對接收字符和等待時間沒有特殊要求的情況下,可以將其設(shè)置為“0”。
(8) 激活配置。利用tcsetattr(fd,TC—SANOW,&newtio)函數(shù)。這里newtio是termios類型的變量,SANOW 表示改變的配置立即生效。

2.1.2 CRC校驗(yàn)碼的實(shí)現(xiàn)方法
    CRC利用生成多項(xiàng)式產(chǎn)生校驗(yàn)位進(jìn)行編碼。CRC運(yùn)算時,首先將一個16 bit的寄存器預(yù)置為全1,然后連續(xù)把數(shù)據(jù)幀中的每個字節(jié)中的8 bit與寄存器的當(dāng)前值進(jìn)行運(yùn)算,僅每個字節(jié)的8個數(shù)據(jù)位參與生成CRC,起始位和終止位以及可能使用的奇偶位都不影響CRC。在生成CRC時,每個字節(jié)的8 bit與寄存器中的內(nèi)容進(jìn)行“異或”運(yùn)算,然后將結(jié)果向低位移位,高位則用“0”補(bǔ)充,最低位(LSB)移出并檢測。如果是1,該寄存器就與一個預(yù)設(shè)固定值(0A001H)進(jìn)行一次“異或”運(yùn)算;如果最低位為0,不作任何處理。上述處理重復(fù)進(jìn)行,直到執(zhí)行完8次移位操作。當(dāng)最后一位(第8位)移完后,下一個8 bit與寄存器的當(dāng)前值進(jìn)行異或運(yùn)算,同樣進(jìn)行上述的另一個8次移位異或操作。當(dāng)數(shù)據(jù)幀中的所有字節(jié)都作了處理,生成的最終值為CRC值。

 2.1.3 通過RS一485通信采集數(shù)據(jù)

    系統(tǒng)采用Modbus.RTU ,通信應(yīng)用格式如表1所示。Modbus協(xié)議詳細(xì)定義了數(shù)據(jù)序列和校驗(yàn)碼,這些都是特定數(shù)據(jù)交換的必要內(nèi)容。

 

 

    以電表數(shù)據(jù)的監(jiān)測進(jìn)行說明。該系統(tǒng)需要獲得與儀表工作相關(guān)的系統(tǒng)參數(shù) ,包括PT 低字(0104H)、FF 高字(0105H)、PT2(0106H)、CT(0107H)、CT (0108H)等;監(jiān)測參數(shù),包括絕對值和有功電能E。 (010CH與OIDH)、絕對值和無功電能E l(010EH與010FH)、A相電壓U。(0110H)、B相電壓u2(0111H)、C相電壓u3(0112H)、線電壓U 2(0113H)、線電壓U2(O114H)、線電壓u (0115H)、相(線)電流I(0116H)、相(線)電流I (0117H)、相(線)電流I(0118H)、相電壓均值U (0119H)、線電壓均值U (011AH)、電流均值I (011BH)、系統(tǒng)有功功率P(011CH)、系統(tǒng)無功功率Q(011DH)、系統(tǒng)視在功率S(011EH)。按照Modbus.RTU協(xié)議通信應(yīng)用格式,采用03號功能碼(獲得一個或多個寄存器的當(dāng)前二進(jìn)制值),可定義如下數(shù)組分別讀取上面兩組對應(yīng)數(shù)據(jù):
unsigned char txBufl[]={0xl1,0x03,OxO1,0x04,0x00,0x05,0x16,0xa0};
unsigned char txBuf2[]={0xl1,0x03,0x01,0x0c,0x00,0x19,0xf,0xff};

2.1.4 采集數(shù)據(jù)的存儲
    該系統(tǒng)對監(jiān)測數(shù)據(jù)進(jìn)行循環(huán)采集,并將數(shù)據(jù)實(shí)時保存。通過調(diào)用定義的子函數(shù)void sent—re.ceive(char txBuf[],char Bum)讀取數(shù)據(jù),打開建立在Flash中的record文件,通過fwrite函數(shù)將讀取的數(shù)據(jù)寫入文件中。在保存數(shù)據(jù)的同時需要將讀取數(shù)據(jù)的時間localtime(&timep)一起記錄。

2.2 數(shù)據(jù)文件的發(fā)送
    將保存在微處理器Flash中的數(shù)據(jù)文件通過socket編程建立TCP連接 I,發(fā)送給上位機(jī)。數(shù)據(jù)文件發(fā)送流程圖如圖2所示。

 

 

 

涉及的主要過程描述如下:
(1)首先調(diào)用系統(tǒng)函數(shù)socket(int family,int type,int protoco1)創(chuàng)建TCP套接字。系統(tǒng)選用流式套接字SOCK—STREAM,它提供了一種面向連接的服務(wù)。
(2)bind將socket與本機(jī)上的一個端口相關(guān)聯(lián),可以在該端口監(jiān)聽服務(wù)請求,listen()函數(shù)使socket處于被動的監(jiān)聽模式,并為該socket建立一個輸入數(shù)據(jù)隊列,將到達(dá)的服務(wù)請求保存在此隊列中,直到程序處理它們。
(3)accept()函數(shù)讓服務(wù)器接收客戶的連接請求。在建立好輸入隊列后,服務(wù)器就調(diào)用ac—cept()函數(shù),然后睡眠并等待客戶的連接請求。
(4)初次建立連接,需要完成電表記錄時間與上位機(jī)時間的同步。具體實(shí)現(xiàn)方法是:以PXA270微處理器為核心的終端,通過sendto()給上位機(jī)發(fā)送事先約定好的保存在S指向的數(shù)組中的字符串,上位機(jī)在收到字符串后給終端發(fā)送時間,終端接收時間,調(diào)用函數(shù)mktime()和set—timeo~ay()完成時間同步。
(5)調(diào)用open()函數(shù)打開保存在終端Flash的電表數(shù)據(jù)記錄文件,并利用sendto()函數(shù)進(jìn)行發(fā)送,每次發(fā)送完成都調(diào)用remove()函數(shù)將已經(jīng)發(fā)送的記錄數(shù)據(jù)清空。
(6)關(guān)閉socket套接字close(sock~)。

2.3 上位機(jī)監(jiān)測端
    利用C精言通過Socket建立TCP連接,上位機(jī)在收到監(jiān)測終端初次連接時事先約定好的保存在S指向的數(shù)組中的字符串后,發(fā)送系統(tǒng)時問給終端,進(jìn)行時間同步,應(yīng)用SQL Se~er 2000建立數(shù)據(jù)庫,之后不斷間隔性接收終端發(fā)送來的監(jiān)測數(shù)據(jù)并存人數(shù)據(jù)庫,供分析使用。編寫圖形化界面,顯示最新的監(jiān)測數(shù)據(jù)。上位機(jī)編程流程圖如圖3所示。實(shí)時監(jiān)測圖形化界面如圖4所示。

 

 

3 結(jié) 語
     該系統(tǒng)實(shí)現(xiàn)了智能電表、空調(diào)參數(shù)多數(shù)據(jù)量的監(jiān)測,主要完成了
嵌入式操作系統(tǒng)ARM·Linu的移植,通過Modbus協(xié)議獲得終端監(jiān)測數(shù)據(jù),并保存在嵌入式微處理器Flash中,實(shí)現(xiàn)數(shù)據(jù)文件的發(fā)送以及上位機(jī)對數(shù)據(jù)的處理顯示。經(jīng)試驗(yàn),系統(tǒng)最終正常運(yùn)行。

    與傳統(tǒng)的數(shù)據(jù)監(jiān)i貝0系統(tǒng)相比,該系統(tǒng)具有更好的安全性和實(shí)時性,同時硬件的體積更小,功耗更低,擴(kuò)展性更強(qiáng)。對系統(tǒng)稍加修改,可以同時實(shí)現(xiàn)I//O設(shè)備、UPS等更多數(shù)據(jù)量的實(shí)時監(jiān)測,因此具有很強(qiáng)的實(shí)用意義。


 

狀 態(tài): 離線

公司簡介
產(chǎn)品目錄

公司名稱: 北京飛旭科技有限公司
聯(lián) 系 人: 劉菲
電  話: 010-65277170-804
傳  真: 010-65250797
地  址: 北京市海淀區(qū)中關(guān)村南大街甲6號鑄誠大廈1716
郵  編: 100083
主  頁:
 
該廠商相關(guān)技術(shù)文摘:
基于ARM嵌入式系統(tǒng)的設(shè)計及其應(yīng)用
基于 ARM處理器的 PC/1 04處理器模塊的開發(fā)
ARM 在變電站監(jiān)控系統(tǒng)前端控制器中的應(yīng)用
嵌入式系統(tǒng)在工程地震儀的應(yīng)用研究
嵌入式ARM9系統(tǒng)在無線發(fā)射臺智能化監(jiān)控系統(tǒng)中的應(yīng)用
基于ARM 的等精度測頻技術(shù)在機(jī)組轉(zhuǎn)速測控中的應(yīng)用
基于ARM 的傳感器數(shù)據(jù)采集與網(wǎng)絡(luò)傳輸系統(tǒng)
基于μC/OS-Ⅱ的線控轉(zhuǎn)向FlexRay通信控制
基于ARM 和DSP的地震加速度信號處理系統(tǒng)設(shè)計
一種基于ARM 的FPGA可重構(gòu)配置方法的實(shí)現(xiàn)及應(yīng)用
基于ARM 和DSP的竹節(jié)紗控制系統(tǒng)伺服控制器設(shè)計與應(yīng)用
更多文摘...
立即發(fā)送詢問信息在線聯(lián)系該技術(shù)文摘廠商:
用戶名: 密碼: 免費(fèi)注冊為中華工控網(wǎng)會員
請留下您的有效聯(lián)系方式,以方便我們及時與您聯(lián)絡(luò)

關(guān)于我們 | 聯(lián)系我們 | 廣告服務(wù) | 本站動態(tài) | 友情鏈接 | 法律聲明 | 不良信息舉報
工控網(wǎng)客服熱線:0755-86369299
版權(quán)所有 中華工控網(wǎng) Copyright©2022 Gkong.com, All Rights Reserved