999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Delphi開發平臺的分布式數據采集系統

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

蔣秀姣

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

【關鍵詞】串行通訊 Delphi RS485 分布式數據采集

串行通訊因其線路簡單,開發相對比較容易,所以經常應用于各種監控、測試和自動化設備中。而RS485串行總線接口采用平衡發送和差分接收的方式進行數據通訊,較RS232提高了抗共模干擾能力和傳輸距離,其在適當的波特率下通訊距離可以達到1千米以上。RS485總線可用于多個帶有RS485接口設備的互連,以實現數據高速遠距離傳送,其連線十分方便,鑒于以上優點,RS485總線在工業控制現場得到了廣泛的應用。

一、系統設計

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

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

系統通過從模塊中采集到的數據,顯示在軟件中,通過軟件的開發,可以對數據進行保存,分析等自動化操作。

二、通訊協議

本系統采用半雙工異步通訊,下位機以串行中斷方式接收。

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

在分布式模塊中,上位機會根據實際需求向模塊發出指令,上位機在發送指令后如接收到下位機的應答則認為指令發送成功,可以發送下一個指令,否則重新發送此指令。模塊在接收到正確的指令后送回執行結果,這個被傳送回來的字符串由以下5個部分組成,如圖3。

三、軟件設計

采集軟件的設計是完成整個系統的關鍵,我們使用mscomm控件作為串口的操作控件,通過下面4個簡單步驟完成系統功能的設計。

1.通訊端口的打開

Begin

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

MSComm1.Settings=“9600,N,8,1” //波特率的設定,校驗方式,數據位,停止位

MSComm1.PortOpen=True//打開串口

End

2.指令送出

Begin

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

End

3.數據接收

Begin

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

End

4.結束系統

Begin

Close;

End

以上是單個功能的設計,實際設計中要復雜得多,下面是本人在設計使用的一個過程函數

procedure TFormADAMComm.MSCommAComm(Sender: TObject);

var

sss:ansistring; //串口數據

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

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

begin

if not MSCommA.PortOpen then exit;

if intADAMCly<1 then exit;

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

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

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

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

//讀串口數據

sss:=MScommA.Input;

MScommA.InBufferCount :=0;//清接收緩沖區

//數據和接收顯示

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數據轉換、顯示

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

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

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

end;

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

四、結語

本文闡述的系統結構和通訊方法已在廣西工學院汽車工程系中得到實際應用,取得了良好的效果,具有很好的實用性。

參考文獻:

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

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

主站蜘蛛池模板: 黄色一级视频欧美| 国产AV无码专区亚洲A∨毛片| 国产综合日韩另类一区二区| 欧美不卡视频在线| 视频二区国产精品职场同事| 国产精品无码久久久久久| 国产乱论视频| 亚洲三级成人| 国产丝袜无码一区二区视频| 久久国产精品影院| 亚洲精品午夜天堂网页| 亚洲黄网在线| 亚洲一区二区三区麻豆| 无码'专区第一页| 亚洲免费三区| 欧美19综合中文字幕| Aⅴ无码专区在线观看| 久久综合色视频| 国产精女同一区二区三区久| 亚洲三级视频在线观看| 在线a视频免费观看| 无码日韩人妻精品久久蜜桃| 国产麻豆91网在线看| 97se亚洲综合在线韩国专区福利| 国产美女精品一区二区| 大陆国产精品视频| 亚洲一区毛片| 国产成人综合在线观看| 久久九九热视频| 老司机aⅴ在线精品导航| 97在线国产视频| 精品无码国产自产野外拍在线| 综1合AV在线播放| 日本亚洲欧美在线| 午夜一区二区三区| 欧美精品色视频| 日韩乱码免费一区二区三区| 日韩精品毛片| 亚洲视频免费播放| 亚洲国产天堂久久综合| 亚洲va在线观看| 在线中文字幕网| 亚洲精品va| 一边摸一边做爽的视频17国产| 国产第一页第二页| 久久久亚洲国产美女国产盗摄| 亚洲有码在线播放| 六月婷婷激情综合| 人妻无码中文字幕第一区| 亚洲国产精品国自产拍A| 亚洲综合色婷婷中文字幕| 美臀人妻中出中文字幕在线| 亚洲视频免费在线看| 亚洲视频在线青青| 亚洲伊人久久精品影院| 91精品日韩人妻无码久久| 成人国产精品网站在线看| 亚洲三级视频在线观看| 91精品国产一区自在线拍| 成人午夜免费观看| 国产欧美日韩va| 国产成人三级| 日本在线亚洲| 2021天堂在线亚洲精品专区 | 欧美不卡视频在线观看| 最新日本中文字幕| 97成人在线视频| 国产熟睡乱子伦视频网站| 四虎精品黑人视频| 欧美一级专区免费大片| 蜜芽国产尤物av尤物在线看| 色老二精品视频在线观看| 中文无码精品a∨在线观看| 丁香综合在线| 日韩天堂在线观看| 亚洲欧洲日韩综合| 伊人91在线| 色播五月婷婷| 国产黄在线观看| 欧美在线综合视频| 国产视频你懂得| 国产99在线观看|