引言
在很多情況下,遠程監控和工業自動化領域常見的通信編程多為串口通信編程。對于小型項目,若能將串行接口和編程簡單化,則會大大縮短項
目的開發周期。本文以單片機控制的分布式注塑機系統為對象,介紹PC機在windows環境下對整個分布式注塑機系統實現監控的方法。其中包括VB的串行通信,操作界面的方式,數據庫的運用以及監控系統的運行。
1 串口通信
在Windows下實現串口通信主要有2種方法:
a. 直接調用Windows API(Application Program Interface);
b. 利用微軟提供的ActiveX控件MSComm(Microsoft Comm Control)。
第一種方法不僅要聲明和調用大量的API函數,還涉及到進程調度問題,十分繁瑣,僅適用于VC開發環境。第2種方法實際上是通過MSComm控件間接調用了API,而用控件使程序實現簡便,并能滿足多數情況下的工控要求。充分利用已有的ActiveX控件實現快速開發正是VB的優點之一。
2 用VB實現的分布式監控系統
本系統是由32臺注塑機和單片機,以及一臺PC機組成的小型集散控制系統,利用RS485作為現場通訊總線,完成一臺上位機對多臺注塑機設備的監測控制。監控系統上位PC機的主要功能是
(1) 設置各注塑機的生產計劃。
(2) 采集每臺注塑機的實際生產量,不良品量和累計差額等,進行工藝過程監測和報警。
(3) 利用數據庫實現多臺注塑機生產情況的實時存儲、分析報表及打印輸出。
(4) 可以監測到下位機的故障信息,通知維修人員進行維修,并將此信息
存入數據庫中。
上位機系統控制和數據采集使用VB編寫,將整個工作狀態動態顯示出來,數據的存儲和管理采用Access數據庫。為實現PC機對整個分布式系統的監控,在下位機的控制中,運用了89C51單片機參與控制。在裝置內部,單片機通過A\D變換器采集注塑機中的各項參數,并顯示在外部接口的數碼管上。在裝置外部,下位機在接收到上位機發來的發送指令之后,開始向上位機發送數據。VB為串行通信提供了串行通信控件MSComm,包含使用RS232協議來進行數據通信的所有功能。從上位機向下位機傳送的代碼以二進制形式發送,發送和接收均以字節形式,高字節在前,低字節在后。單片機與上位機的數據通訊以“幀”為單位進行,“F0”為起始位。上位機向下位機發送命令有兩種發送方式,即手動方式和自動方式,自動方式是由定時器來完成的。整個系統的結構框圖如圖1所示。
圖1
發送時,先要將發送的字符串(傳送文本格式時)或單字節數組(傳送二進制格式時)賦