智能建筑發(fā)展到現(xiàn)在,從3A系統(tǒng)發(fā)展到5A系統(tǒng),從就地控制發(fā)展到集中控制,從集中控制發(fā)展到分布控制,從單系統(tǒng)發(fā)展到多系統(tǒng)協(xié)作,從簡單控制發(fā)展到帶人工智能策略控制。這些都要求我們從系統(tǒng)和全局角度來考慮多系統(tǒng)協(xié)作,數(shù)據(jù)共享等問題。在實際工程中,采用專有的通信控制器與被集成系統(tǒng)主機以RS-232方式連接起來,使系統(tǒng)間傳遞數(shù)據(jù),這是一種常見的系統(tǒng)集成方式。串口調(diào)試工具作為一個可以接收和發(fā)送串口數(shù)據(jù)的工具,對調(diào)試串口來說作用很大。在實際工程中被廣泛的應用。
1,開發(fā)背景
從通信邏輯角度講,通信雙方交互方式分為兩種:查詢式和主動上報式。如果通信方式是查詢式,那么上層集成軟件或者專用的通信控制器要定時地向各弱電子系統(tǒng)發(fā)送查詢指令,才能獲取所需的報警信息和狀態(tài)信息。從而,上層的系統(tǒng)集成軟件能夠用這種方式控制單位內(nèi)的數(shù)據(jù)傳輸量;如果弱電子系統(tǒng)的通信方式是主動上報式,那么無需查詢,報警信息或者設備狀態(tài)信息就會上傳到上層集成系統(tǒng)。而且,有些弱電子系統(tǒng)的通信控制器在沒有報警或不需要上傳狀態(tài)信息時會發(fā)送一些數(shù)據(jù),以表示在線狀態(tài)。這些數(shù)據(jù)對上層的集成系統(tǒng)的數(shù)據(jù)分析模塊產(chǎn)生了很大的壓力。
因此,就需要使用軟件工具檢測設備的數(shù)據(jù)發(fā)送速率,從而為ASE(消防聯(lián)網(wǎng)網(wǎng)關(guān))選擇合適的數(shù)據(jù)處理算法。保證其有效地獲取而且不遺漏弱電子系統(tǒng)通過串口傳送的報警信息。同方股份有限公司開發(fā)了可檢測數(shù)據(jù)接收速率的串口測試工具—泰康Techcon串口大師。
2,泰康Techcon串口大師開發(fā)原理
2.1 Windows API串口通信編程概述
Windows環(huán)境下的串口編程與DOS環(huán)境下的串口編程有很大不同。Windows環(huán)境下的編程的最大特征之一就是設備無關(guān)性,它通過設備驅(qū)動程序?qū)indows應用程序與不同的外部設備隔離。Windows封裝了Windows 的通信機制這種方式稱為API。Windows程序員可以用Windows通信API進行編程,不用對硬件直接進行操作。這種體系稱為Windows開放式服務系統(tǒng)(WOSA ,Windows Open Services Architectures),如圖:
API函數(shù)是Windows程序開發(fā)使用的主要函數(shù)集,其中提供了十幾個專門的通信函數(shù)。目前較多的應用是在Windows95/NT 的32位開發(fā)環(huán)境下,但也存在著Windows3.x下開發(fā)的16位通信程序向32位程序的移植問題。
2.2 泰康Techcon串口大師的基本實現(xiàn)流程圖
[nextpage]
此時創(chuàng)建了一個基于對話框的程序,其中設置“啟動/關(guān)閉”“清除接收區(qū)”“清除發(fā)送區(qū)”“進制轉(zhuǎn)換”“復位”“手動發(fā)送”“自動發(fā)送”“幫助”按鈕,分別用于自動向串口發(fā)送數(shù)據(jù)、從串口接收數(shù)據(jù)等。一個復選框區(qū),可加入時間戳、保存數(shù)據(jù)、自動換行、進制顯示等。
2.3泰康Techcon串口大師核心功能實現(xiàn)
2.3.1使用多線程技術(shù)以獲得更高的數(shù)據(jù)接收效率。
2.3.2 處理數(shù)據(jù)并添加數(shù)據(jù)接收時間戳
1. 當主窗體接收到線程函數(shù)發(fā)送(SendMessage)的消息時,調(diào)用下面的函數(shù)處理數(shù)據(jù)。
[nextpage]
2.添加接收數(shù)據(jù)時間戳
每次接收到數(shù)據(jù),程序會獲取本地時間并且與接收到的數(shù)據(jù)拼接,最終顯示在軟件界面上
2.3.3 實現(xiàn)串口設備初始化
3,泰康Techcon串口大師數(shù)據(jù)測速功能在工程中的應用
3.1 記錄每次接收到數(shù)據(jù)時的時間
每當從串口接收到數(shù)據(jù)時,軟件都會記錄下精確到毫秒(ms)的時間戳。目的是能夠估計單位時間內(nèi)接收到數(shù)據(jù)的字節(jié)數(shù)。
這是一段測試數(shù)據(jù),每秒鐘(m)發(fā)送5個字節(jié)的數(shù)據(jù)(12 34 56 78 90)使用泰康Techcon串口大師接收到的數(shù)據(jù)是
從上面的數(shù)據(jù)可以看到,兩次收到“12 34 56 78 90”的實際間隔是1秒鐘, 這與發(fā)送的時間間隔吻合。說明軟件所記錄的時間是正確的。在實際工程中的使用方法也類似。 [nextpage]
3.2 記錄接收到特殊字符時的時間
如果設置了“根據(jù)字符插入時間戳”的內(nèi)容,這里設置為‘12H'。意思就是,記錄每次收到‘12H' 這個特征字節(jié)時,記錄這個時間戳。仍然以每秒鐘發(fā)送5各字節(jié)數(shù)據(jù)(12 34 56 78 90)為例。接收到如下的數(shù)據(jù):
由于這些數(shù)據(jù)都是遵循某種協(xié)議,所以串口數(shù)據(jù)包通常都有固定的數(shù)據(jù)頭標識字符。一但確定所遵循的通信規(guī)律,那么就可以輕松地計算出接收兩個有效的數(shù)據(jù)包之間的時間間隔。通過上面的數(shù)據(jù),就可以看到。以‘12H'作為數(shù)據(jù)頭的數(shù)據(jù)包,每1秒鐘就會發(fā)送一次。
3.3 發(fā)送設置
發(fā)送設置可以設置“十六進制發(fā)送”并可選擇“循環(huán)發(fā)送”和“發(fā)送間隔”例如:我們設置為十六進制發(fā)送,并且每間隔1000ms 循環(huán)發(fā)送一次
3.4 幫助設置
如對軟件有任何疑義,可點擊軟件右下角的幫助。里面會有對這款軟件簡單的介紹。
4,結(jié)束語
隨著智能建筑的發(fā)展,串口調(diào)試工具的功能需求越來越多。泰康串口大師的開發(fā)只是同方股份公司根據(jù)自身工程需要自主開發(fā)具有自身知識產(chǎn)權(quán)的產(chǎn)品。串口測試工具的時代已經(jīng)到來。