基于RS-485總線的水輪機(jī)溫度監(jiān)測系統(tǒng)
1.3 系統(tǒng)通信協(xié)議約定
作為基于RS-485總線通信的分布式溫度監(jiān)測系統(tǒng),需要擬定于自身的軟件通信協(xié)議,對(duì)通信過程加以控制??紤]到與其他監(jiān)控系統(tǒng)的數(shù)據(jù)共享,對(duì)其他軟件系統(tǒng)預(yù)留通信接口。規(guī)定如下通信協(xié)議。
1.3.1 協(xié)議格式
協(xié)議格式為
地址、功能碼為1個(gè)字節(jié),數(shù)據(jù)長度為2個(gè)字節(jié),數(shù)據(jù)為n個(gè)字節(jié),采用CRC累加校驗(yàn),高位溢出。下發(fā)命令和指令返回都為此協(xié)議格式。主機(jī)PC和TCD-48溫度巡檢儀波特率均設(shè)置為9600 bit/s,初始狀態(tài)為串口中斷方式。PC主機(jī)定時(shí)發(fā)送召喚數(shù)據(jù)命令。溫度巡檢儀收到主機(jī)發(fā)送的命令時(shí),先判斷召喚地址是否與自身相同:如果不同則不響應(yīng);如果相同則應(yīng)答,根據(jù)功能碼上送主機(jī)需要的數(shù)據(jù)。
PC主機(jī)控制通信過程,主機(jī)接收到溫度巡檢儀上送數(shù)據(jù)后,結(jié)束本次通信過程;如果沒有收到應(yīng)答,則繼續(xù)發(fā)送,如果3次不響應(yīng)則視為線路故障。
1.3.2命令功能碼定義
功能碼主要包括溫度巡檢儀參數(shù)讀取、設(shè)置;校正零點(diǎn)、滿點(diǎn)、線性點(diǎn);讀取通道溫度數(shù)據(jù):設(shè)置告警、溫度上下限等。
1.3.3 舉例
設(shè)告警(以下為16進(jìn)制):發(fā)送指令03 06 000731 0064 00C8 1014 7E。
指令中,03為地址,06為設(shè)告警功能碼,0007為數(shù)據(jù)長度,3l為對(duì)所有通道,0064為設(shè)置告警。上限為100℃,00C8為設(shè)置告警上上限為200℃,1014為設(shè)置告警下限為-20℃。7E為校驗(yàn)和。設(shè)置成功后返回碼為00 06 0007 31 0064 00C8 1014 7E。
2在線監(jiān)測程序設(shè)計(jì)
2.1程序開發(fā)環(huán)境和功能模塊
PC主機(jī)開發(fā)環(huán)境采用Visual Studio 2008,開發(fā)語言為C++。Visual Studio 2008構(gòu)建了許多開發(fā)、調(diào)試和代碼測試工具。并針對(duì)微軟基礎(chǔ)類庫MFC(Microsoft Foundation Class library)界面開發(fā)增加了觸模板(Ribbons)組件,大幅提高了開發(fā)效率和維護(hù)便捷性。本文使用MFC完成界面設(shè)計(jì)。并調(diào)用串行通信控件(MScomm)組件完成串口通信的控制。
程序的主要功能包括通信流程的控制、數(shù)據(jù)的存貯與轉(zhuǎn)發(fā)、數(shù)據(jù)顯示與處理分析。系統(tǒng)的服務(wù)與功能模塊如圖3所示。
圖3系統(tǒng)的服務(wù)與功能模塊
2.2溫度數(shù)據(jù)存貯與轉(zhuǎn)發(fā)接口
監(jiān)測系統(tǒng)的溫度數(shù)據(jù)存貯使用開源的MySQL數(shù)據(jù)庫。MySQL是一個(gè)真正的多用戶、多線程SQL數(shù)據(jù)庫服務(wù)器。MySQL是一個(gè)客戶機(jī)/服務(wù)器結(jié)構(gòu)的實(shí)現(xiàn),它由一個(gè)服務(wù)器守護(hù)程序mysqld和許多不同的客戶程序以及庫組成。MySQL提供了一套通信應(yīng)用程序接口(CAPI)函數(shù)。它由一組函數(shù)以及一組用于函數(shù)的數(shù)據(jù)類型組成,這些函數(shù)與MySQL服務(wù)器進(jìn)行通信并訪問數(shù)據(jù)庫,可以直接操控?cái)?shù)據(jù)庫。使用其提供的函數(shù)連接MySQL數(shù)據(jù)庫代碼為
考慮到各個(gè)系統(tǒng)之間信息的互通性,尤其是和DCS的數(shù)據(jù)共享。特增加了數(shù)據(jù)轉(zhuǎn)發(fā)接口。設(shè)立監(jiān)聽端口2404,雙方約定使用excel建立溫度測點(diǎn)表。遵循IEC60870-5-104規(guī)約,利用主機(jī)網(wǎng)口進(jìn)行通信。
評(píng)論