專業的流量儀表資料網

基于RS-485的多電極電磁流量計的遠程監控2004年1月(2)

   硬件接口電路連線圖如圖4所示。

                        圖4  硬件接口電路圖

2.1  通信軟件編制

2.1.1 上位機側的軟件編制

在Windows環境下,微機完全接管了各種硬件資源,不允許用戶直接控制串行的中斷管理。因此,如何在Windows環境下開發微機的底層資源,已成為當今工業控制軟件的一大熱點及難點[5]。本設計利用VC++的MSC  omm控件進行計算機串口的通信管理。

在Windows環境下,實現串行通信一般有三種方法:匯編嵌入技術、MSComm控件、API函數。綜合考慮三種軟件的優缺點,選擇在VC++6.0開發環境中選擇MSComm控件實現串行通信。

創建一個基于基本對話框的應用程序框架OWEN,在對話框上添加MSComm控件,在Class Wizard中為新創建的通信控件定義成員對象(CMSComm mComport),通過該對象便可以對串口屬性進行設置[5]。

串口初始化程序:

mComport.SetCommPort(1);∥選定用串口1

if(!mComport.GetPortOpen()) ∥如果串口1關閉,將其打開

mComport   SetPortOpen(ture);

mComport.SetInputMode(1);∥設置從接收緩沖區讀取數據的格式為二進制格式

 mComport.SetSettings(“9600,n,8,1”);∥設置串口通信參數為波特率9600bit/s,無奇偶校驗,8個數據位,1個停止位

mComport.SetRThreshold(1);∥每當接收緩沖區有大于一個字符時則激發一個OnComm()事件

mComport.SetInputLen(0);∥每次讀取一個字符

mComport.GetInput();∥預先清空接收緩沖區

由于本設計中上下位機間的連接采用的是半雙工方式,在上位機點擊開始命令后,要求下位機把采集到的大量數據傳來,為防止整個線路被下位機的傳送工作占用而使停止命令無法傳到下位機,采用對下位機進行周期性中斷的措施,由上位機先接收后重發命令不斷控制下位機的動作。設置一個Cstring型的全局變量msend來代表開始和停止的不同標志。而在開始按鈕響應函數中發送它的初始值(如“K”),而在停止按鈕響應函數中給msend賦另外的值表示停止即可在半雙工的條件下順利完成上下位機間的信息交流。

上位機軟件編制步驟:

①創建一個基于對話框的應用程序OWEN;

②插入串口控件MSComm;

③編輯主對話框;

④在COWENDIg.h頭文件中添加自定義公有變量、函數和宏定義指令;

⑤在COWENDLg類的OnInitDialog()函數中加入初始化代碼;

⑥為“START”按鈕添加消息響應函數woid COWENDIg::OnStart(),為“STOP”按鈕添加消息響應函數void COWENDIg::OnStop();

⑦為其他控件添加消息響應函數;

⑧為MSComm控件添加OnComm事件響應函數void COWENDIg::OnOnCommMSComml(),在其中添加接收數據、調用數據還原、數據轉換和數據處理算法函數代碼。

⑨為OnComm事件響應函數中調用的數據還原、數據轉換和數據處理算法函數添加代碼。

2.1.2 PIC側的通信程序設計

設計中要實現PIC與上位機通過RS-485接口進行通信,所以PIC的串行通信接口SCI被設置成與RS-485接口進行通信的半雙工異步系統。在異步方式下,串行通信接口采用標準的不歸零(MRZ)格式,1位起始位、8位數據位和1位停止位[6]。下位機中斷服務程序如圖5所示,發送子程序如圖6所示。

                圖5 下位機中斷服務程序

                    圖6  發送子程序

2.2  通信結果

采用本文設計的通信方案,在多極電磁流量計的實際應用中,通信穩定可靠,對一定數量的控制要求(開始、停止命令)和數據傳送進行了實驗,在有效時間內數據準確到位,無誤傳,從而驗證了該通信系統的可靠性。

3  結束語

   本設計利用VC++6.0下的ActiveX控件MSComm實現了Windows環境下PC機與PIC的串行通信,從而實現了PC對多電極電磁流量計的遠距離控制和數據傳輸,適用于環境惡劣的工業現場,達到了工業運用中開發Windows工控軟件的實際要求。該方案實現簡單、通信可靠、可移植性強。由于RS-485可帶多個負載設備,只要對程序稍作須改即可實現1臺PC監控多臺多電極電磁流量計,實現多電極電磁流量計的分布式集散控制系統,有著廣闊的應用前景。


 


無錫求信流量儀表有限公司
技術論文資料平臺提供
以上資料摘錄自《自動化儀表》雜志
電磁流量計 渦街流量計 流量計 蒸汽流量計 渦輪流量計 污水流量計
提醒:轉貼請注明出處

猫 咪app 成 人 抖 音