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

        ?

        基于Delphi開發(fā)平臺的分布式數(shù)據(jù)采集系統(tǒng)

        2009-09-23 04:55:36蔣秀姣
        商情 2009年19期

        蔣秀姣

        【摘要】用RS485串行通訊構(gòu)成的總線型的分布式數(shù)據(jù)采集系統(tǒng),數(shù)據(jù)采集模塊可以進(jìn)行單獨(dú)采集測量,但采集結(jié)果需由上位機(jī)進(jìn)行數(shù)據(jù)顯示,保存,分析處理等操作,系統(tǒng)上層軟件基于delphi開發(fā)平臺,采用簡單的非重疊I/O模式,通過合理的設(shè)置,有效地解決了I/O讀寫阻塞問題,增強(qiáng)了系統(tǒng)運(yùn)行可靠性;由于采用分布式I/O采集模塊,整個(gè)系統(tǒng)具備良好的擴(kuò)展性。

        【關(guān)鍵詞】串行通訊 Delphi RS485 分布式數(shù)據(jù)采集

        串行通訊因其線路簡單,開發(fā)相對比較容易,所以經(jīng)常應(yīng)用于各種監(jiān)控、測試和自動化設(shè)備中。而RS485串行總線接口采用平衡發(fā)送和差分接收的方式進(jìn)行數(shù)據(jù)通訊,較RS232提高了抗共模干擾能力和傳輸距離,其在適當(dāng)?shù)牟ㄌ芈氏峦ㄓ嵕嚯x可以達(dá)到1千米以上。RS485總線可用于多個(gè)帶有RS485接口設(shè)備的互連,以實(shí)現(xiàn)數(shù)據(jù)高速遠(yuǎn)距離傳送,其連線十分方便,鑒于以上優(yōu)點(diǎn),RS485總線在工業(yè)控制現(xiàn)場得到了廣泛的應(yīng)用。

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

        本系統(tǒng)采用一臺PC作為上位機(jī),采集系統(tǒng)通過若干塊研華Adam4000系列I/O模塊完成,系統(tǒng)原理圖如圖1所示。

        上位機(jī)的RS232串行口通過ADAM4520 RS232/RS485轉(zhuǎn)換器轉(zhuǎn)換為RS485總線,ADAM4000系列通過ADAM4520跟上位機(jī)(PC)進(jìn)行通訊。各個(gè)采集模塊設(shè)有自己惟一的地址,且各個(gè)模塊之間不進(jìn)行信息交換,一切通訊受上位機(jī)控制。開始時(shí),所有下位機(jī)都處于監(jiān)聽狀態(tài),等待上位機(jī)發(fā)出指令。當(dāng)上位機(jī)發(fā)出指令時(shí),所有的采集模塊都接收并且將其中的地址幀與自己的地址比較, 如果相同則繼續(xù)接收后面的指令或數(shù)據(jù),若不同則不予理睬。

        系統(tǒng)通過從模塊中采集到的數(shù)據(jù),顯示在軟件中,通過軟件的開發(fā),可以對數(shù)據(jù)進(jìn)行保存,分析等自動化操作。

        二、通訊協(xié)議

        本系統(tǒng)采用半雙工異步通訊,下位機(jī)以串行中斷方式接收。

        ADAM4520模塊已經(jīng)幫我們把RS232的字符串信號轉(zhuǎn)換成RS485的信號后,此信號就可以在RS485網(wǎng)絡(luò)上傳送了。而一個(gè)串行通訊進(jìn)行之前必須先就傳輸?shù)臓顟B(tài)條件進(jìn)行設(shè)置,ADAM4000系列的分布式模塊所使用的校驗(yàn)位檢查方式是None,數(shù)據(jù)位長度是8,停止位長度是1,模塊的速度可以有多種選擇,最高可以達(dá)到115200bps。分布式模塊的命令格式被分成送出與響應(yīng)兩個(gè)部分,其中送出部分由計(jì)算機(jī)下達(dá)命令給分布式模塊,由5個(gè)片段組成,如圖2。

        在分布式模塊中,上位機(jī)會根據(jù)實(shí)際需求向模塊發(fā)出指令,上位機(jī)在發(fā)送指令后如接收到下位機(jī)的應(yīng)答則認(rèn)為指令發(fā)送成功,可以發(fā)送下一個(gè)指令,否則重新發(fā)送此指令。模塊在接收到正確的指令后送回執(zhí)行結(jié)果,這個(gè)被傳送回來的字符串由以下5個(gè)部分組成,如圖3。

        三、軟件設(shè)計(jì)

        采集軟件的設(shè)計(jì)是完成整個(gè)系統(tǒng)的關(guān)鍵,我們使用mscomm控件作為串口的操作控件,通過下面4個(gè)簡單步驟完成系統(tǒng)功能的設(shè)計(jì)。

        1.通訊端口的打開

        Begin

        MSComm1.CommPort=1 //確定串口號

        MSComm1.Settings=“9600,N,8,1” //波特率的設(shè)定,校驗(yàn)方式,數(shù)據(jù)位,停止位

        MSComm1.PortOpen=True//打開串口

        End

        2.指令送出

        Begin

        MSComm1.Output:=$01+chr(13) //讀取地址為01的模塊數(shù)據(jù)

        End

        3.數(shù)據(jù)接收

        Begin

        Edit1.txt:=MSComm1.input //把接收的數(shù)據(jù)顯示在Edit1控件上

        End

        4.結(jié)束系統(tǒng)

        Begin

        Close;

        End

        以上是單個(gè)功能的設(shè)計(jì),實(shí)際設(shè)計(jì)中要復(fù)雜得多,下面是本人在設(shè)計(jì)使用的一個(gè)過程函數(shù)

        procedure TFormADAMComm.MSCommAComm(Sender: TObject);

        var

        sss:ansistring; //串口數(shù)據(jù)

        ci:byte; //DI,DO模塊判斷

        qii:integer;//串口故障對比

        begin

        if not MSCommA.PortOpen then exit;

        if intADAMCly<1 then exit;

        qii:=MSCommA.CommEvent;//讀串口故障號(1004-幀錯(cuò)誤)

        if qii=1008 then MScommA.InBufferCount :=0; //接收溢出

        if qii=1010 then MScommA.OutBufferCount :=0;//發(fā)送溢出

        //if qii<>2 then exit;//=2接收到預(yù)定數(shù)的字,中斷時(shí)用此句

        //讀串口數(shù)據(jù)

        sss:=MScommA.Input;

        MScommA.InBufferCount :=0;//清接收緩沖區(qū)

        //數(shù)據(jù)和接收顯示

        ci:=intADAMCly;//模塊號

        EditData.Text :=sss;

        ADAMGrid.Cells[13,ci]:=sss;//顯示

        if length(sss)<2 then exit;

        labelRead.Tag :=labelRead.Tag+1;

        if labelRead.Tag mod 2=1 then labelRead.Color :=clOlive

        else labelRead.Color :=clLime;

        //AD、DI數(shù)據(jù)轉(zhuǎn)換、顯示

        if (ci<1) or (ci>CONS_ModnAD+CONS_ModnDI) or (sss='') then exit;

        if sss[1]='!' then pADAMDataChange_DI(ci,sss);//DI數(shù)字量

        if sss[1]='>' then pADAMDataChange_AD(ci,sss);//AD模擬量

        end;

        系統(tǒng)的上位機(jī)軟件采用Delphi開發(fā)平臺,移植微軟的MSCOMM控件,利用它可以方便地對串口操作,加快了開發(fā)進(jìn)度。在設(shè)計(jì)上位機(jī)軟件時(shí)需要考慮到PC機(jī)速度比單片機(jī)速度快的因素,在傳送數(shù)據(jù)時(shí)要適當(dāng)加入延時(shí),以確保系統(tǒng)的正常運(yùn)行。

        四、結(jié)語

        本文闡述的系統(tǒng)結(jié)構(gòu)和通訊方法已在廣西工學(xué)院汽車工程系中得到實(shí)際應(yīng)用,取得了良好的效果,具有很好的實(shí)用性。

        參考文獻(xiàn):

        [1]范逸之,陳立元.Delphi與RS-232串行通訊控制.清華大學(xué)出版社.

        [2]ADAM4000系列說明書.臺灣研華工控.

        无码国产午夜福利片在线观看| 久久久精品国产av麻豆樱花| 女同视频一区二区在线观看 | 欧美va免费精品高清在线| 国产美女三级视频网站| 成人一区二区三区国产| 大地资源网高清在线播放| 区二区欧美性插b在线视频网站 | 久久久久人妻精品一区二区三区| 东北妇女xx做爰视频| 国产片AV在线永久免费观看| 日本女优中文字幕有码| 亚洲av日韩av激情亚洲| 国外亚洲成av人片在线观看| 亚洲成a人片在线观看导航| 午夜视频在线观看日本| 高h小月被几个老头调教| 欧美疯狂性xxxxxbbbbb| 午夜亚洲国产精品福利| 亚洲福利二区三区四区| 制服丝袜中文字幕在线| 一级一片内射在线播放| 精品综合久久88少妇激情| 国产色在线 | 日韩| 亚洲av第一成肉网| 亚洲国产免费公开在线视频| 国内嫩模自拍偷拍视频| 国产精品久久人妻无码| 中文字幕不卡在线播放| 国产午夜福利av在线麻豆| 亚洲av成人无码久久精品老人| 色婷婷综合中文久久一本| 香蕉亚洲欧洲在线一区| 日韩精品一区二区三区乱码| 人妻少妇精品中文字幕av| 人妻少妇精品无码专区二| 黄色大片国产精品久久| 亚洲人精品午夜射精日韩| 日韩精品一区二区三区视频| 国产av乳头久久一区| 亚洲精品在线国产精品|