利用MCGS的高級開發向導,生成一個獨立設備驅動設備的源程序;假定工程名設為:MYPROGRAM,類型名設為:我的工程;把屬性DevChannel中的值改為5;把接口GetChlType
中的代碼改為:
Dim i As Long
For i = 0 To 4
Dat(i) = 2
msg(i) = AD輸入+format$(I+1,”0”)
Next i
在接口CollectDevDat中編製如下程序代碼:
Dim i as Long, high as Long, l ow as Long
For i=0 to 4
Outp mHandle, DevBaseIO, i ‘設置AD通道
Outp mHandle, DevBaseIO+1, 0 ‘啟動AD轉換
Do ‘等待AD轉換結束
If Inp(mHandle, DevBaseIO + 2) < 128 Then Exit Do
Loop
high = Inp(mHandle, DevBaseIO + 2) And &HF ‘讀高4位
low = Inp(mHandle, DevBaseIO + 3) ‘讀低8位
dd(i) =( h * 256 + l)*5000/4096 ‘轉換為mV數
Next i
編譯工程,得到DLL文件MYPROGRAM.dll,把該文件拷貝到MCGS的program/drivers
目錄下,即可完成本設備構件的編程工作。設備隻需連在相應的串行口既可。
在MCGS組態環境中,即可在設備管理窗口中使用新開發的設備。
在MCGS中設置如下:
在設備窗口中雙擊添加的設備彈出如下對話框:
3. 直接進行遠端通訊
計算機串行口是計算機和其它設備通訊時最常用的一種通訊接口,一個串行口可以掛接多個通訊設備(如一個RS485總線上可掛接255個ADAM通訊模塊,但它們共用一個串口父設備),為適應計算機串行口的多種操作方式,MCGS組態軟件特采用在串口通訊父設備下掛接多個通訊子設備的一種通訊設備處理機製,各個子設備繼承一些父設備的公有屬性,同時又具有自己的私有屬性。在實際操作時,MCGS提供一個串口通訊父設備構件和多個通訊子設備構件,串口通訊父設備構件完成對串口的基本操作和參數設置,通訊子設備構件則
為串行口實際掛接設備的驅動程序。
將下位機單片機儀表設備組成單片機主從形式的多機通迅網絡,然後將負責采集數據的主機單片機通過RS485總線連接到上位機PC的RS232接口,通過串行口通信方式將數據遠傳送到上位機,這樣可以用計算機直接對遠端儀表設備進行數據采集、檢測、控製、診
斷和故障調試等。硬件連線如下:
在MCGS中設置如下:
在設備窗口中雙擊添加的設備彈出如下對話框:
該種方法與第二種比要增加一個單片機主機做數據采集的,然後與組態王軟件來通信,
單片機主機和從機的程序與第二種設計有所區別。
三、結束語
用戶可以根據自己開發工程項目的規模、特點來選擇相應的通信方法,對於大的係統來說可以前二者;如果是與少量單片機通信可以用後一種方法連接。相信隨著組態軟件
MCGS的發展,還會有更多更好的單片機通信方式供用戶來選擇。