新聞中心

EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計(jì)應(yīng)用 > 智能滅火機(jī)器人無線串行通訊及組態(tài)化監(jiān)控

智能滅火機(jī)器人無線串行通訊及組態(tài)化監(jiān)控

作者: 時(shí)間:2010-08-11 來源:網(wǎng)絡(luò) 收藏

本設(shè)計(jì)的整體結(jié)構(gòu)如圖1所示。

本文引用地址:http://m.butianyuan.cn/article/157214.htm

圖1 系統(tǒng)整體結(jié)構(gòu)
1.PC機(jī)軟件的設(shè)計(jì)
1)首先完成王和VBDDE對話。
動(dòng)態(tài)數(shù)據(jù)交換(DDE)Windows平臺下的一個(gè)完整的協(xié)議,它使應(yīng)用程序間能彼此交換數(shù)據(jù)和發(fā)送指令。要實(shí)現(xiàn)DDE對話需進(jìn)行如下幾步的工作:①設(shè)計(jì)VB控制界面,包括采集數(shù)據(jù)、開關(guān)狀態(tài)等文本框。編寫VBDDE對話上的程序。并生成tx1.exe文件。②用王設(shè)計(jì)用戶界面,包括菜單、封面、監(jiān)視控制、報(bào)警等。在王中新建一個(gè)DDE設(shè)備,命名為tx1,服務(wù)器的名稱為VB程序窗體的名稱,建立一系列需要與VB進(jìn)行數(shù)據(jù)交換的I/O變量,其設(shè)備為tx1,寄存器類型為VB程序中對應(yīng)文本框的名稱。③系統(tǒng)要求以組態(tài)王進(jìn)行,VB程序隱藏于后臺執(zhí)行,將VB應(yīng)用程序窗體的Visible屬性設(shè)為False,在編寫組態(tài)王的啟動(dòng)時(shí)應(yīng)用程序命令語言,用StartApp函數(shù)啟動(dòng)VB程序,在用RebuildDDE函數(shù)重新建立DDE對話。
到此完成了DDE對話,而面向操作人員的只是組態(tài)王設(shè)計(jì)的畫面,如圖2所示。
圖2 監(jiān)視控制界面
(2)其次完成組態(tài)王數(shù)據(jù)庫的訪問。本設(shè)計(jì)采用Access數(shù)據(jù)庫,建立“my.mdb”數(shù)據(jù)庫,并在計(jì)算機(jī)上配置好數(shù)據(jù)源。該數(shù)據(jù)庫存放的是火情報(bào)警的歷史記錄。此系統(tǒng)在數(shù)據(jù)庫上有以下功能:①系統(tǒng)啟動(dòng)時(shí),可自行建立表格。②實(shí)時(shí)記錄報(bào)警。在報(bào)警出現(xiàn)時(shí)使用組態(tài)王提供的函數(shù),將數(shù)據(jù)寫入所連接的數(shù)據(jù)庫中指定的表格。③按照選擇日期條件顯示符合日期的歷史報(bào)警數(shù)據(jù)。為了方便使用,系統(tǒng)中使用組態(tài)王提供的KVDBGrid控件,設(shè)置好該控件的屬性,就可以實(shí)時(shí)顯示所連接的數(shù)據(jù)庫的數(shù)據(jù)情況。查詢所使用的控件是組態(tài)王提供的日期控件。在進(jìn)行歷史數(shù)據(jù)查詢時(shí),可以根據(jù)所選擇的日期條件顯示出對應(yīng)的歷史數(shù)據(jù)。
2.1串口通信的實(shí)現(xiàn)

(1)首先制作RS-232電平和TTL電平的雙向轉(zhuǎn)換電路。由于PC機(jī)使用

圖3 MAX232電平轉(zhuǎn)換電路
表1 PC機(jī)→串口通信協(xié)議
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
0XAB
0XCD
手動(dòng)或自動(dòng)
車是否向前
車是否后退
車是否向左轉(zhuǎn)
車是否向右轉(zhuǎn)
PID參數(shù)(K)
PID參數(shù)(Ti)
PID參數(shù)(Td)
SUM CHECK(低字節(jié)在先)
out_Send[7]
表2 →PC機(jī)串口通信協(xié)議
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
0XAB
0XCD
左輪脈沖計(jì)數(shù)(低字節(jié))
左輪脈沖計(jì)數(shù)(高字節(jié))
右輪脈沖計(jì)數(shù)(低字節(jié))
右輪脈沖計(jì)數(shù)(高字節(jié))
指南針與車所成角度
SUM CHECK(低字節(jié)在先)


評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉