基于RS-485總線的水輪機溫度監測系統
1.3 系統通信協議約定
作為基于RS-485總線通信的分布式溫度監測系統,需要擬定于自身的軟件通信協議,對通信過程加以控制。考慮到與其他監控系統的數據共享,對其他軟件系統預留通信接口。規定如下通信協議。
1.3.1 協議格式
協議格式為

地址、功能碼為1個字節,數據長度為2個字節,數據為n個字節,采用CRC累加校驗,高位溢出。下發命令和指令返回都為此協議格式。主機PC和TCD-48溫度巡檢儀波特率均設置為9600 bit/s,初始狀態為串口中斷方式。PC主機定時發送召喚數據命令。溫度巡檢儀收到主機發送的命令時,先判斷召喚地址是否與自身相同:如果不同則不響應;如果相同則應答,根據功能碼上送主機需要的數據。
PC主機控制通信過程,主機接收到溫度巡檢儀上送數據后,結束本次通信過程;如果沒有收到應答,則繼續發送,如果3次不響應則視為線路故障。
1.3.2命令功能碼定義
功能碼主要包括溫度巡檢儀參數讀取、設置;校正零點、滿點、線性點;讀取通道溫度數據:設置告警、溫度上下限等。
1.3.3 舉例
設告警(以下為16進制):發送指令03 06 000731 0064 00C8 1014 7E。
指令中,03為地址,06為設告警功能碼,0007為數據長度,3l為對所有通道,0064為設置告警。上限為100℃,00C8為設置告警上上限為200℃,1014為設置告警下限為-20℃。7E為校驗和。設置成功后返回碼為00 06 0007 31 0064 00C8 1014 7E。
2在線監測程序設計
2.1程序開發環境和功能模塊
PC主機開發環境采用Visual Studio 2008,開發語言為C++。Visual Studio 2008構建了許多開發、調試和代碼測試工具。并針對微軟基礎類庫MFC(Microsoft Foundation Class library)界面開發增加了觸模板(Ribbons)組件,大幅提高了開發效率和維護便捷性。本文使用MFC完成界面設計。并調用串行通信控件(MScomm)組件完成串口通信的控制。
程序的主要功能包括通信流程的控制、數據的存貯與轉發、數據顯示與處理分析。系統的服務與功能模塊如圖3所示。

圖3系統的服務與功能模塊
2.2溫度數據存貯與轉發接口
監測系統的溫度數據存貯使用開源的MySQL數據庫。MySQL是一個真正的多用戶、多線程SQL數據庫服務器。MySQL是一個客戶機/服務器結構的實現,它由一個服務器守護程序mysqld和許多不同的客戶程序以及庫組成。MySQL提供了一套通信應用程序接口(CAPI)函數。它由一組函數以及一組用于函數的數據類型組成,這些函數與MySQL服務器進行通信并訪問數據庫,可以直接操控數據庫。使用其提供的函數連接MySQL數據庫代碼為

考慮到各個系統之間信息的互通性,尤其是和DCS的數據共享。特增加了數據轉發接口。設立監聽端口2404,雙方約定使用excel建立溫度測點表。遵循IEC60870-5-104規約,利用主機網口進行通信。










評論