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的发展,还会有更多更好的单片机通信方式供用户来选择。
Multi-machine Serial Communication Method between Configuration Software MCGS and MCS51 SCM
Liaoning Mechanic And Electricity Profession Technology Academy Information Instrument liuna Postcode:118002
[摘要] MCGS是目前較常見的一種工業控製通用組態軟件,可以利用它十分方便地構成了分布式係統的監控畫麵,動態顯示控製設備的運行狀態、實時、曆時曲線和報表、上下限報警等。在該係統中對於由多個MCS51單片機控製的下位機儀表,其工作由MCGS遠程監控,充分利用計算機的資源進行各種管理。那麼對於MCGS與MCS51單片機多機組成的係統如何設計其通信方式,本文介紹幾種工程中可用的通信方法。
[abstract] MCGS is the normal industry configuration software. We can use it to consist apicture of DCS system , it can display the device’s dynamic moving state, the moment 、history curves and reports、high and low alarm。In the system more MCS51 SCM is under control, the MCGS remote control the SCM, the method can use the pc’s source to manage the matter. So how to design multi-machine serial communication method between configuration software MCGS and MCS51 SCM, the article introduce some communication method.
[keywords] Configuration Software VB SCM multi –machine Serial Communication Fuction OLE
一、引言
在工業控製領域中,分布式監控係統常常采用計算機機為上位機、單片機做下位機的係統,這是一種經濟、可靠、真觀、合理的控製方式。組態軟件MCGS是目前較常見的一種工業控製通用組態軟件,是開發工程一非常有效的上位機工具軟件,下位機采用單片機來開發的儀表,則具有計量精度高,功耗低,穩定可靠,成本低等特點。
組態軟件MCGS與MCS51單片機的通迅方法一般有三種:一、單片機通過PLC、采集板卡、智能模塊等設備實現通信;二、通過采用VB編製通信服務程序,利用串口通訊控件與單片機進行多機通信, 利用OLE功能在服務程序和MCGS之間進行數據交換,從而實行了MCGS與單片機的多機通信。;三、通過使用MCGS嵌入版的串行口通迅函數進行PC機與單片機多機通信。前者實現簡單,隻需對的PLC或板卡做相應的設置即可;而後兩種經濟實用,省去了PLC、板卡、智能模塊等設備,節約了資金,但是需要有一定的編程知識。
二、通信方法
1. PLC、板卡、智能模塊方式
本文的實例為PC上位機與一級下位機OMRON係列PLC的通信。它與計算機之間的通信采用的是串行通信。
PLC是以微處理器為基礎,綜合自動控製技術和通信技術發展起來的一種通用的工業自動控製裝置,它具有體積小,功能強,程序設計簡單,靈活通用,維護方便等一係列的優點,特別是它的高可靠性和較強的適應惡劣工業環境的能力,使它成為大規模控製工程的理想下位機。
OMRON係列中型PLC有SYSMAC C200HX係例,擁有多種接口數字量輸入,數字量輸出,模擬量輸入,模擬輸出等,它帶有兩個RS-232接口,可通過RS-232C /RS-485轉接器,掛在RS-485總線上,上位機PC通過轉換器與總線相連,即構成具有分布式控製係統的遠傳數據采集網,其它儀表設備,隻要是標準串口都可以類似方式直接或間接與係統連接。
在組態軟件MCGS中,歐姆龍PLC設備必須掛接在串口父設備下,串口父設備在“通用設備”目錄中。串口父設備用來設置通信參數和通信端口。通信參數必須設置成與PLC的設置一樣。否則就無法通信。歐姆龍PLC常用的通信參數:波特率9600,2位停止位,偶校驗,7位數據位。
通迅的主動權在上位計算機,通信時必須由計算機按要求向PLC的HOST LINK 發出通信命令,然後才能由HOST LINK送回響應信號。
在組態軟件中設置如下:
在設備窗口中雙擊添加的設備彈出如下對話框:
2. 自製控件的OLE方式
MCGS用Active DLL構件的方式來實現設備驅動程序,通過規範的OLE接口掛接到MCGS中,使其構成一個整體,所以MCGS把設備驅動程序叫做設備驅動構件。由於設備驅動構件和MCGS運行在同一個進程內,故設備構件的運行速度快,可靠性高,不存在傳統DDE方式連接設備驅動時的數據流通不暢和數據傳輸速度慢等問題。同時,OLE是一個可擴充的開放標準,用於實現不同軟件之間的相互操作,而不管軟件本身是使用什麼編程語言。因此,隻要遵守MCGS的接口規範,可以使用VB、VC、Delphi等語言來編製MCGS的設備驅動程序。
鑒於Visual Basic通用性和簡單性,可以使用VB來開發MCGS的設備驅動程序.由於VB5.0以上版本是以二進製碼來編譯執行程序,其運行速度已接近VC,完全能滿足設備驅動構件
所需的速度要求。
MCGS設備構件的實現方法和原理與標準VB的ActiveDLL完全一致,但MCGS規定了一套接口規範,隻有遵守這些接口規範的ActiveDLL才能用作MCGS的設備驅動構件。MCGS
設備驅動構件必須具有如下5個屬性和8個方法:
屬性:DevType 標識設備的類型
屬性:DevStyle 標識設備的類別
屬性:DevChannel 標識設備的通道個數
屬性:DevBaseIO 標識設備所用IO的基地址
屬性:DevIONumber 標識設備所用IO地址的個數
方法:GetDevName 讀取設備構件類型名稱
方法:GetDevHelp 調用設備構件的在線幫助內容
方法:SetDevPage 調用設備的內部屬性頁
方法:InitNewDev 初試化設備的初始值
方法:GetChlType 讀取設備構件各通道的數據類型和注釋
方法:InitDevRun 運行時對設備進行初始化工作
方法:RunDevCommand 執行指定的設備命令
方法:CollectDevDat 定時操作設備,采集或輸出數據
開發MCGS設備驅動的過程,實際上就是根據設備的特性和含義來完成8個方法功能的編程過程。編寫通訊子設備驅動程序時,主要使用的就是對串行端口進行操作。MCGS根據驅動程序的實現特點,充分運用32操作係統多任務多線程的優勢,把複雜的對串行端口的設置、初始化和讀寫操作全部封裝在MCGS提供的串行通訊父設備中,在通訊子設備驅動程序中隻需調用父設備提供的標準串口讀寫函數,即可完成各種功能通訊子設備驅動程序
的開發編程工作。常用的函數有:ComOutDat、ComAllInDat、ComOutInDat等。
下麵以一個5個通道的接口卡為例,接口卡的跳線設置為:單端輸入、0~5V輸入
量程、數碼轉換方式為單極性,要求本設備構件能對5個通道的數據進行采集。