




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
MCGS軟件與MCS51單片機(jī)多機(jī)通信的幾種方法Multi-machineSerialCommunicationMethodbetweenConfigurationSoftwareMCGSandMCS51SCMLiaoningMechanicAndElectricityProfessionTechnologyAcademyInformationlnstrumentliunaPostcode:118002[摘要]MCGS是目前較常見(jiàn)的一
種工業(yè)控制通用組態(tài)軟件,可以利用它十分方便地構(gòu)成了分布式系統(tǒng)的監(jiān)控畫面
動(dòng)態(tài)顯示控制設(shè)備的運(yùn)行狀態(tài)、實(shí)時(shí)、歷時(shí)曲線和報(bào)表、上下限報(bào)警等。在該系
統(tǒng)中對(duì)于由多個(gè)MCS51單片機(jī)控制的下位機(jī)儀表,其工作由MCMulti-machineSerialCommunicationMethodbetweenConfigurationSoftwareMCGSandMCS51SCMLiaoningMechanicAndElectricityProfessionTechnologyAcademyInformationInstrumentliunaPostcode:118002[摘要]MCGS是目前較常見(jiàn)的一種工業(yè)控制通用組態(tài)軟件,可以利用它十分方便地構(gòu)成了分布式系統(tǒng)的監(jiān)控畫面,動(dòng)態(tài)顯示控制設(shè)備的運(yùn)行狀態(tài)、實(shí)時(shí)、歷時(shí)曲線和報(bào)表、上下限報(bào)警等。在該系統(tǒng)中對(duì)于由多個(gè)MCS51單片機(jī)控制的下位機(jī)儀表,其工作由MCGS遠(yuǎn)程監(jiān)控,充分利用計(jì)算機(jī)的資源進(jìn)行各種管理。那么對(duì)于MCGS與MCS51單片機(jī)多機(jī)組成的系統(tǒng)如何設(shè)計(jì)其通信方式,本文介紹幾種工程中可用的通信方法。[abstract]MCGSisthenormalindustryconfigurationsoftware.WecanuseittoconsistapictureofDCSsystem,itcandisplaythedevice'sdynamicmovingstate,themoment、historycurvesandreportshighandlowalarm。InthesystemmoreMCS51SCMisundercontrol,theMCGSremotecontroltheSCM,themethodcanusethepc'ssourcetomanagethematter.Sohowtodesignmulti-machineserialcommunicationmethodbetweenconfigurationsoftwareMCGSandMCS51SCM,thearticleintroducesomecommunicationmethod.[keywords]ConfigurationSoftwareVBSCMmulti-machineSerialCommunicationFuctionOLE一、引言在工業(yè)控制領(lǐng)域中,分布式監(jiān)控系統(tǒng)常常采用計(jì)算機(jī)機(jī)為上位機(jī)、單片機(jī)做下位機(jī)的系統(tǒng),這是一種經(jīng)濟(jì)、可靠、真觀、合理的控制方式。組態(tài)軟件MCGS是目前較常見(jiàn)的一種工業(yè)控制通用組態(tài)軟件,是開(kāi)發(fā)工程一非常有效的上位機(jī)工具軟件,下位機(jī)采用單片機(jī)來(lái)開(kāi)發(fā)的儀表,則具有計(jì)量精度高,功耗低,穩(wěn)定可靠,成本低等特點(diǎn)。組態(tài)軟件MCGS與MCS51單片機(jī)的通迅方法一般有三種:一、單片機(jī)通過(guò)PLC采集板卡、智能模塊等設(shè)備實(shí)現(xiàn)通信;二、通過(guò)采用VB編制通信服務(wù)程序,利用串口通訊控件與單片機(jī)進(jìn)行多機(jī)通信,利用OLE功能在服務(wù)程序和MCGS之間進(jìn)行數(shù)據(jù)交換,從而實(shí)行了MCGS與單片機(jī)的多機(jī)通信。;三、通過(guò)使用MCGS嵌入版的串行口通迅函數(shù)進(jìn)行PC機(jī)與單片機(jī)多機(jī)通信。前者實(shí)現(xiàn)簡(jiǎn)單,只需對(duì)的PLC或板卡做相應(yīng)的設(shè)置即可;而后兩種經(jīng)濟(jì)實(shí)用,省去了PLC、板卡、智能模塊等設(shè)備,節(jié)約了資金,但是需要有一定的編程知識(shí)。二、通信方法PLC、板卡、智能模塊方式 本文的實(shí)例為PC上位機(jī)與一級(jí)下位機(jī)OMRON系列PLC的通信。它與計(jì)算機(jī)之間的通信采用的是串行通信。PLC是以微處理器為基礎(chǔ),綜合自動(dòng)控制技術(shù)和通信技術(shù)發(fā)展起來(lái)的一種通用的工業(yè)自動(dòng)控制裝置,它具有體積小,功能強(qiáng),程序設(shè)計(jì)簡(jiǎn)單,靈活通用,維護(hù)方便等一系列的優(yōu)點(diǎn),特別是它的高可靠性和較強(qiáng)的適應(yīng)惡劣工業(yè)環(huán)境的能力使它成為大規(guī)??刂乒こ痰睦硐胂挛粰C(jī)。OMRON系列中型PLC有SYSMACC200HX系例,擁有多種接口數(shù)字量輸入,數(shù)字量輸出,模擬量輸入,模擬輸出等,它帶有兩個(gè)RS-232接口,可通過(guò)RS-232C/RS-485轉(zhuǎn)接器,掛在RS-485總線上,上位機(jī)PC通過(guò)轉(zhuǎn)換器與總線相連,即構(gòu)成具有分布式控制系統(tǒng)的遠(yuǎn)傳數(shù)據(jù)采集網(wǎng),其它儀表設(shè)備,只要是標(biāo)準(zhǔn)串口都可以類似方式直接或間接與系統(tǒng)連接。在組態(tài)軟件MCGS中,歐姆龍PLC設(shè)備必須掛接在串口父設(shè)備下,串口父設(shè)備在“通用設(shè)備”目錄中。串口父設(shè)備用來(lái)設(shè)置通信參數(shù)和通信端口。通信參數(shù)必須設(shè)置成與PLC的設(shè)置一樣。否則就無(wú)法通信。歐姆龍PLC常用的通信參數(shù):波特率9600,2位停止位,偶校驗(yàn),7位數(shù)據(jù)位。通迅的主動(dòng)權(quán)在上位計(jì)算機(jī),通信時(shí)必須由計(jì)算機(jī)按要求向PLC的HOSTLINK發(fā)出通信命令,然后才能由HOSTLINK送回響應(yīng)信號(hào)。自制控件的OLE方式MCGS用ActiveDLL構(gòu)件的方式來(lái)實(shí)現(xiàn)設(shè)備驅(qū)動(dòng)程序,通過(guò)規(guī)范的OLE接口掛接到MCGS中,使其構(gòu)成一個(gè)整體,所以MCGS把設(shè)備驅(qū)動(dòng)程序叫做設(shè)備驅(qū)動(dòng)構(gòu)件。由于設(shè)備驅(qū)動(dòng)構(gòu)件和MCGS運(yùn)行在同一個(gè)進(jìn)程內(nèi),故設(shè)備構(gòu)件的運(yùn)行速度快,可靠性高,不存在傳統(tǒng)DDE方式連接設(shè)備驅(qū)動(dòng)時(shí)的數(shù)據(jù)流通不暢和數(shù)據(jù)傳輸速度慢等問(wèn)題。同時(shí),OLE是一個(gè)可擴(kuò)充的開(kāi)放標(biāo)準(zhǔn),用于實(shí)現(xiàn)不同軟件之間的相互操作,而不管軟件本身是使用什么編程語(yǔ)言。因此,只要遵守MCGS的接口規(guī)范,可以使用VB、VC、Delphi等語(yǔ)言來(lái)編制MCGS的設(shè)備驅(qū)動(dòng)程序。鑒于VisualBasic通用性和簡(jiǎn)單性,可以使用VB來(lái)開(kāi)發(fā)MCGS的設(shè)備驅(qū)動(dòng)程序.由于VB5.0以上版本是以二進(jìn)制碼來(lái)編譯執(zhí)行程序,其運(yùn)行速度已接近VC,完全能滿足設(shè)備驅(qū)動(dòng)構(gòu)件所需的速度要求。MCGS設(shè)備構(gòu)件的實(shí)現(xiàn)方法和原理與標(biāo)準(zhǔn)VB的ActiveDLL完全一致,但MCGS規(guī)定了一套接口規(guī)范,只有遵守這些接口規(guī)范的ActiveDLL才能用作MCGS的設(shè)備驅(qū)動(dòng)構(gòu)件。MCGS設(shè)備驅(qū)動(dòng)構(gòu)件必須具有如下5個(gè)屬性和8個(gè)方法:屬性:DevType標(biāo)識(shí)設(shè)備的類型屬性:DevStyle標(biāo)識(shí)設(shè)備的類別屬性:DevChannel標(biāo)識(shí)設(shè)備的通道個(gè)數(shù)屬性:DevBaselO標(biāo)識(shí)設(shè)備所用IO的基地址屬性:DevIONumber標(biāo)識(shí)設(shè)備所用IO地址的個(gè)數(shù)方法:GetDevName讀取設(shè)備構(gòu)件類型名稱方法:GetDevHelp調(diào)用設(shè)備構(gòu)件的在線幫助內(nèi)容方法:SetDevPage調(diào)用設(shè)備的內(nèi)部屬性頁(yè)方法:InitNewDev初試化設(shè)備的初始值方法:GetChlType讀取設(shè)備構(gòu)件各通道的數(shù)據(jù)類型和注釋方法:InitDevRun運(yùn)行時(shí)對(duì)設(shè)備進(jìn)行初始化工作方法:RunDevCommand執(zhí)行指定的設(shè)備命令方法:CollectDevDat定時(shí)操作設(shè)備,采集或輸出數(shù)據(jù)開(kāi)發(fā)MCGS設(shè)備驅(qū)動(dòng)的過(guò)程,實(shí)際上就是根據(jù)設(shè)備的特性和含義來(lái)完成8個(gè)方法功能的編程過(guò)程。編寫通訊子設(shè)備驅(qū)動(dòng)程序時(shí),主要使用的就是對(duì)串行端口進(jìn)行操作。MCGS根據(jù)驅(qū)動(dòng)程序的實(shí)現(xiàn)特點(diǎn),充分運(yùn)用32操作系統(tǒng)多任務(wù)多線程的優(yōu)勢(shì),把復(fù)雜的對(duì)串行端口的設(shè)置、初始化和讀寫操作全部封裝在MCGS提供的串行通訊父設(shè)備中,在通訊子設(shè)備驅(qū)動(dòng)程序中只需調(diào)用父設(shè)備提供的標(biāo)準(zhǔn)串口讀寫函數(shù),即可完成各種功能通訊子設(shè)備驅(qū)動(dòng)程序的開(kāi)發(fā)編程工作。常用的函數(shù)有:ComOutDat、ComAllInDat、ComOutInDat等。下面以一個(gè)5個(gè)通道的接口卡為例,接口卡的跳線設(shè)置為:?jiǎn)味溯斎搿??5V輸入量程、數(shù)碼轉(zhuǎn)換方式為單極性,要求本設(shè)備構(gòu)件能對(duì)5個(gè)通道的數(shù)據(jù)進(jìn)行采集。 利用MCGS的高級(jí)開(kāi)發(fā)向?qū)?,生成一個(gè)獨(dú)立設(shè)備驅(qū)動(dòng)設(shè)備的源程序;假定工程名設(shè)為:MYPROGRAM,類型名設(shè)為:我的工程;把屬性DevChannel中的值改為5;把接口GetChlType中的代碼改為:DimiAsLongFori=0To4Dat(i)=2msg(i)="AD輸入"+format$(I+l,"0")Nexti在接口CollectDevDat中編制如下程序代碼:DimiasLong,highasLong,lowasLongFori=0to4OutpmHandle,DevBaselO,i‘設(shè)置AD通道OutpmHandle,DevBaseIO+1,0‘啟動(dòng)AD轉(zhuǎn)換Do‘等待AD轉(zhuǎn)換結(jié)束IfInp(mHandle,DevBaseIO+2)<128ThenExitDoLoophigh=Inp(mHandle,DevBaseIO+2)And&HF‘讀高4位low=Inp(mHandle,DevBaseIO+3)‘讀低8位dd(i)=(h*256+l)*5000/4096 ‘轉(zhuǎn)換為mV數(shù)Nexti編譯工程,得到DLL文件MYPROGRAM.dll,把該文件拷貝到MCGS的program\drivers目錄下,即可完成本設(shè)備構(gòu)件的編程工作。設(shè)備只需連在相應(yīng)的串行口既可。 在MCGS組態(tài)環(huán)境中,即可在設(shè)備管理窗口中使用新開(kāi)發(fā)的設(shè)備。計(jì)算機(jī)串行口是計(jì)算機(jī)和其它設(shè)備通訊時(shí)最常用的一種通訊接口,一個(gè)串行口可以掛接多個(gè)通訊設(shè)備(如一個(gè)RS485總線上可掛接255個(gè)ADAM通訊模塊,但它們共用一個(gè)串口父設(shè)備),為適應(yīng)計(jì)算機(jī)串行口的多種操作方式,MCGS組態(tài)軟件特采用在串口通訊父設(shè)備下掛接多個(gè)通訊子設(shè)備的一種通訊設(shè)備處理機(jī)制,各個(gè)子設(shè)備繼承一些父設(shè)備的公有屬性,同時(shí)又具有自己的私有屬性。在實(shí)際操作時(shí),MCGS提供一個(gè)串口通訊父設(shè)備構(gòu)件和多個(gè)通訊子設(shè)備構(gòu)件,串口通訊父設(shè)備構(gòu)件完成對(duì)串口的基本操作和參數(shù)設(shè)置,通訊子設(shè)備構(gòu)件則為串行口實(shí)際掛接設(shè)備的驅(qū)動(dòng)程序。將下位機(jī)單片機(jī)儀表設(shè)備組成單片機(jī)主從形式的多機(jī)通迅網(wǎng)絡(luò),然后將負(fù)責(zé)采集數(shù)據(jù)的主機(jī)單片機(jī)通過(guò)RS485總線連接到上位機(jī)PC的RS232接口,通過(guò)串行口通信方式將數(shù)據(jù)遠(yuǎn)傳送到上位機(jī),這樣可以用計(jì)算機(jī)直接對(duì)遠(yuǎn)端儀表設(shè)備進(jìn)行數(shù)據(jù)采集、檢測(cè)、控制、診斷和故障調(diào)試等。硬件連線如下:該種方法與第二種比要增加一個(gè)單片機(jī)主機(jī)做數(shù)據(jù)采集的,然后與組態(tài)王軟件來(lái)通信,單片機(jī)主機(jī)和從機(jī)的程序與第二種設(shè)計(jì)有所區(qū)別。三、結(jié)束語(yǔ)用戶可以根據(jù)自己開(kāi)發(fā)工程項(xiàng)目的規(guī)模、特點(diǎn)來(lái)選擇相應(yīng)的通信方法,對(duì)于大的系統(tǒng)來(lái)說(shuō)可以前二者;如果是與少量單片機(jī)通信可以用后一種方法連接。相信隨著組態(tài)軟件MCGS的發(fā)展,還會(huì)有更多更好的單片機(jī)通信方式供用戶來(lái)選擇。[其他]:MCGS軟件與MCS51單片機(jī)多機(jī)通信的幾種方法屬性:DevType標(biāo)識(shí)設(shè)備的類型屬性:DevStyle標(biāo)識(shí)設(shè)備的類別屬性:DevChannel標(biāo)識(shí)設(shè)備的通道個(gè)數(shù)屬性:DevBaselO標(biāo)識(shí)設(shè)備所用10的基地址屬性:DevlONumber標(biāo)識(shí)設(shè)備所用10地址的個(gè)數(shù)方法:GetDevName讀取設(shè)備構(gòu)件類型名稱方法:GetDevHelp調(diào)用設(shè)備構(gòu)件的在線幫助內(nèi)容方法:SetDevPage調(diào)用設(shè)備的內(nèi)部屬性頁(yè)方法:InitNewDev初試化設(shè)備的初始值方法:GetChlType讀取設(shè)備構(gòu)件各通道的數(shù)據(jù)類型和注釋方法:InitDevRun運(yùn)行時(shí)對(duì)設(shè)備進(jìn)行初始化工作方法:RunDevCommand執(zhí)行指定的設(shè)備命令方法:CollectDevDat定時(shí)操作設(shè)備,采集或輸出數(shù)據(jù)開(kāi)發(fā)MCGS設(shè)備驅(qū)動(dòng)的過(guò)程,實(shí)際上就是根據(jù)設(shè)備的特性和含義來(lái)完成8個(gè)方法功能的編程過(guò)程。編寫通訊子設(shè)備驅(qū)動(dòng)程序時(shí),主要使用的就是對(duì)串行端口進(jìn)行操作。MCGS根據(jù)驅(qū)動(dòng)程序的實(shí)現(xiàn)特點(diǎn),充分運(yùn)用32操作系統(tǒng)多任務(wù)多線程的優(yōu)勢(shì),把復(fù)雜的對(duì)串行端口的設(shè)置、初始化和讀寫操作全部封裝在MCGS提供的串行通訊父設(shè)備中,在通訊子設(shè)備驅(qū)動(dòng)程序中只需調(diào)用父設(shè)備提供的標(biāo)準(zhǔn)串口讀寫函數(shù),即可完成各種功能通訊子設(shè)備驅(qū)動(dòng)程序的開(kāi)發(fā)編程工作。常用的函數(shù)有:ComOutDat、ComAllInDat、ComOutInDat等。下面以一個(gè)5個(gè)通道的接口卡為例,接口卡的跳線設(shè)置為:?jiǎn)味溯斎搿??5V輸入量程、數(shù)碼轉(zhuǎn)換方式為單極性,要求本設(shè)備構(gòu)件能對(duì)5個(gè)通道的數(shù)據(jù)進(jìn)行采集。利用MCGS的高級(jí)開(kāi)發(fā)向?qū)?,生成一個(gè)獨(dú)立設(shè)備驅(qū)動(dòng)設(shè)備的源程序;假定工程名設(shè)為:MYPROGRAM,類型名設(shè)為:我的工程;把屬性DevChannel中的值改為5;把接口GetChlType中的代碼改為:DimiAsLongFori=0To4Dat(i)=2msg(i)="AD輸入"+format$(l+1,”0”)Nexti在接口CollectDevDat中編制如下程序代碼:DimiasLong,highasLong,lowasLongFori=0to4OutpmHandle,DevBaselO,i‘設(shè)置AD通道OutpmHandle,DevBaseIO+1,0‘啟動(dòng)AD轉(zhuǎn)換Do‘等待AD轉(zhuǎn)換結(jié)束IfInp(mHandle,DevBaseIO+2)<128ThenExitDoLoophigh=Inp(mHandle,DevBaselO+2)And&HF‘讀高4位low=Inp(mHandle,DevBaseIO+3)‘讀低8位dd(i)=(h*256+1)*5000/4096‘轉(zhuǎn)換為mV數(shù)Nexti編譯工程,得到DLL文件MYPROGRAM.dll,把該文件拷貝到MCGS的program'drivers目錄下,即可完成本設(shè)備構(gòu)件的編程工作。設(shè)備只需連在相應(yīng)的串行口既可。在MCGS組態(tài)環(huán)境中,即可在設(shè)備管理窗口中使用新開(kāi)發(fā)的設(shè)備。在MCGS中設(shè)置如下:在設(shè)備窗口中雙擊添加的設(shè)備彈出如下對(duì)話框:3.直接進(jìn)行遠(yuǎn)端通訊計(jì)算機(jī)串行口是計(jì)算機(jī)和其它設(shè)備通訊時(shí)最常用的一種通訊接口,一個(gè)串行口可以掛接多個(gè)通訊設(shè)備(如一個(gè)RS485總線上可掛接255個(gè)ADAM通訊模塊,但它們共用一個(gè)串口父設(shè)備),為適應(yīng)計(jì)算機(jī)串行口的多種操作方式,MCGS組態(tài)軟件特采用在串口通訊父設(shè)備下掛接多個(gè)通訊子設(shè)備的一種通訊設(shè)備處理機(jī)制,各個(gè)子設(shè)備繼承一些父設(shè)備的公有屬性同時(shí)又具有自己的私有屬性。在實(shí)際操作時(shí),MCGS提供一個(gè)串口通訊父設(shè)備構(gòu)件和多個(gè)通訊子設(shè)備構(gòu)件,串口通訊父設(shè)備構(gòu)件完成對(duì)串口的基本操作和參數(shù)設(shè)置,通訊子設(shè)備構(gòu)件則為串行口實(shí)際掛接設(shè)備的驅(qū)動(dòng)程序。將下位機(jī)單片機(jī)儀表設(shè)備組成單片機(jī)主從形式的多機(jī)通迅網(wǎng)絡(luò),然后將負(fù)責(zé)采集數(shù)據(jù)的主機(jī)單片機(jī)通過(guò)RS485總線連接到上位機(jī)PC的RS232接口,通過(guò)串行口通信方式將數(shù)據(jù)遠(yuǎn)傳送到上位機(jī),這樣可以用計(jì)算機(jī)直接對(duì)遠(yuǎn)端儀表設(shè)備進(jìn)行數(shù)據(jù)采集、檢測(cè)、控制、診斷和故障調(diào)試等硬件連線如下:在MCGS中設(shè)置如下:在設(shè)備窗口中雙擊添加的設(shè)備彈出如下對(duì)話框.該種方法與第二種比要增加一個(gè)單片機(jī)主機(jī)做數(shù)據(jù)采集的,然后與組態(tài)王軟件來(lái)通信,單片
機(jī)主機(jī)和從機(jī)的程序與第二種設(shè)計(jì)有所區(qū)別。三、結(jié)束語(yǔ)用戶可以根據(jù)自己開(kāi)發(fā)工程項(xiàng)目的規(guī)模、特點(diǎn)來(lái)選擇相應(yīng)的通信方法,對(duì)于大的系統(tǒng)來(lái)說(shuō)可以前二者;如果是與少量單片機(jī)通信可以用后一種方法連接。相信隨著組態(tài)軟件MCGS的發(fā)展,還會(huì)有更多更好的單片機(jī)通信方式供用戶來(lái)選擇。Multi—machineSerialCommunicationMethodbetweenConfigurationSoftwareMCGSandMCS51SCMLiaoningMechanicAndElectricityProfessionTechnologyAcademyInformationInstrumentliunaPostcode:118002[摘要]MCGS是目前較常見(jiàn)的一種工業(yè)控製通用組態(tài)軟件,可以利用它十分方便地構(gòu)成了分布式係統(tǒng)的監(jiān)控畫麵,動(dòng)態(tài)顯示控製設(shè)備的運(yùn)行狀態(tài)、實(shí)時(shí)、曆時(shí)曲線和報(bào)表、上下限報(bào)警等。在該係統(tǒng)中對(duì)於由多個(gè)MCS51單片機(jī)控製的下位機(jī)儀表,其工作由MCGS遠(yuǎn)程監(jiān)控,充分利用計(jì)算機(jī)的資源進(jìn)行各種管理。那麼對(duì)於MCGS與MCS51單片機(jī)多機(jī)組成的係統(tǒng)如何設(shè)計(jì)其通信方式,本文介紹幾種工程中可用的通信方法。[abstract]MCGSisthenormalindustryconfigurationsoftware.WecanuseittoconsistapictureofDCSsystem,itcandisplaythedevice'sdynamicmovingstate,themoment、historycurvesandreports、highandlowalarm0InthesystemmoreMCS51SCMisundercontrol,theMCGSremotecontroltheSCM,themethodcanusethe'pcssourcetomanagethematter.Sohowtodesignmulti-machineserialcommunicationmethodbetweenconfigurationsoftwareMCGSandMCS51SCM,thearticleintroducesomecommunicationmethod.[keywords]ConfigurationSoftwareVBSCMmulti-machineSerialCommunicationFuctionOLE在工業(yè)控製領(lǐng)域中,分布式監(jiān)控係統(tǒng)常常采用計(jì)算機(jī)機(jī)為上位機(jī)、單片機(jī)做下位機(jī)的係統(tǒng),這是一種經(jīng)濟(jì)、可靠、真觀、合理的控製方式。組態(tài)軟件MCGS是目前較常見(jiàn)的一種工業(yè)控製通用組態(tài)軟件,是開(kāi)發(fā)工程一非常有效的上位機(jī)工具軟件,下位機(jī)采用單片機(jī)來(lái)開(kāi)發(fā)的儀表,則具有計(jì)量精度高,功耗低,穩(wěn)定可靠,成本低等特點(diǎn)。組態(tài)軟件MCGS與MCS51單片機(jī)的通迅方法一般有三種:一、單片機(jī)通過(guò)PLC、采集板卡、智能模塊等設(shè)備實(shí)現(xiàn)通信;二、通過(guò)采用VB編製通信服務(wù)程序,利用串口通訊控件與單片機(jī)進(jìn)行多機(jī)通信,利用OLE功能在服務(wù)程序和MCGS之間進(jìn)行數(shù)據(jù)交換,從而實(shí)行了MCGS與單片機(jī)的多機(jī)通信°;三、通過(guò)使用MCGS嵌入版的串行口通迅函數(shù)進(jìn)行PC機(jī)與單片機(jī)多機(jī)通信。前者實(shí)現(xiàn)簡(jiǎn)單,隻需對(duì)的PLC或板卡做相應(yīng)的設(shè)置即可;而後兩種經(jīng)濟(jì)實(shí)用,省去了PLC、板卡、智能模塊等設(shè)備,節(jié)約了資金,但是需要有一定的編程知識(shí)。
二、通信方法PLC、板卡、智能模塊方式本文的實(shí)例為PC上位機(jī)與一級(jí)下位機(jī)OMRON係列PLC的通信。它與計(jì)算機(jī)之間的通信采用的是串行通信。PLC是以微處理器為基礎(chǔ),綜合自動(dòng)控製技術(shù)和通信技術(shù)發(fā)展起來(lái)的一種通用的工業(yè)自動(dòng)控製裝置,它具有體積小,功能強(qiáng),程序設(shè)計(jì)簡(jiǎn)單,靈活通用,維護(hù)方便等一係列的優(yōu)點(diǎn),特別是它的高可靠性和較強(qiáng)的適應(yīng)惡劣工業(yè)環(huán)境的能力,使它成為大規(guī)??匮u工程的理想下位機(jī)。OMRON係列中型PLC有SYSMACC200HX係例,擁有多種接口數(shù)字量輸入,數(shù)字量輸出,模擬量輸入,模擬輸出等,它帶有兩個(gè)RS-232接口,可通過(guò)RS-232C/RS-485轉(zhuǎn)接器,掛在RS-485總線上,上位機(jī)PC通過(guò)轉(zhuǎn)換器與總線相連,即構(gòu)成具有分布式控製係統(tǒng)的遠(yuǎn)傳數(shù)據(jù)采集網(wǎng),其它儀表設(shè)備,隻要是標(biāo)準(zhǔn)串口都可以類似方式直接或間接與係統(tǒng)連接。在組態(tài)軟件MCGS中,歐姆龍PLC設(shè)備必須掛接在串口父設(shè)備下,串口父設(shè)備在“通用設(shè)備”目錄中。串口父設(shè)備用來(lái)設(shè)置通信參數(shù)和通信端口。通信參數(shù)必須設(shè)置成與PLC的設(shè)置一樣。否則就無(wú)法通信。歐姆龍PLC常用的通信參數(shù):波特率9600,2位停止位,偶校驗(yàn),7位數(shù)據(jù)位。通迅的主動(dòng)權(quán)在上位計(jì)算機(jī),通信時(shí)必須由計(jì)算機(jī)按要求向PLC的HOSTLINK發(fā)出通信命令,然後才能由HOSTLINK送回響應(yīng)信號(hào)。
在組態(tài)軟件中設(shè)置如下:在設(shè)備窗口中雙擊添加的設(shè)備彈出如下對(duì)話框:自製控件的OLE方式MCGS用ActiveDLL構(gòu)件的方式來(lái)實(shí)現(xiàn)設(shè)備驅(qū)動(dòng)程序,通過(guò)規(guī)範(fàn)的OLE接口掛接到MCGS中,使其構(gòu)成一個(gè)整體,所以MCGS把設(shè)備驅(qū)動(dòng)程序叫做設(shè)備驅(qū)動(dòng)構(gòu)件。由於設(shè)備驅(qū)動(dòng)構(gòu)件和MCGS運(yùn)行在同一個(gè)進(jìn)程內(nèi),故設(shè)備構(gòu)件的運(yùn)行速度快,可靠性高,不存在傳統(tǒng)DDE方式連接設(shè)備驅(qū)動(dòng)時(shí)的數(shù)據(jù)流通不暢和數(shù)據(jù)傳輸速度慢等問(wèn)題。同時(shí),OLE是一個(gè)可擴(kuò)充的開(kāi)放標(biāo)準(zhǔn),用於實(shí)現(xiàn)不同軟件之間的相互操作,而不管軟件本身是使用什麼編程語(yǔ)言。因此,隻要遵守MCGS的接口規(guī)範(fàn),可以使用VB、VC、Delphi等語(yǔ)言來(lái)編製MCGS的設(shè)備驅(qū)動(dòng)程序。
鑒於VisualBasic通用性和簡(jiǎn)單性,可以使用VB來(lái)開(kāi)發(fā)MCGS的設(shè)備驅(qū)動(dòng)程序.由於VB5.0以上版本是以二進(jìn)製碼來(lái)編譯執(zhí)行程序,其運(yùn)行速度已接近VC,完全能滿足設(shè)備驅(qū)動(dòng)構(gòu)件所需的速度要求。MCGS設(shè)備構(gòu)件的實(shí)現(xiàn)方法和原理與標(biāo)準(zhǔn)VB的ActiveDLL完全一致,但MCGS規(guī)定了一套接口規(guī)範(fàn),隻有遵守這些接口規(guī)範(fàn)的ActiveDLL才能用作MCGS的設(shè)備驅(qū)動(dòng)構(gòu)件°MCGS設(shè)備驅(qū)動(dòng)構(gòu)件必須具有如下5個(gè)屬性和8個(gè)方法:屬性:DevType標(biāo)識(shí)設(shè)備的類型屬性:DevStyle標(biāo)識(shí)設(shè)備的類別屬性:DevChannel標(biāo)識(shí)設(shè)備的通道個(gè)數(shù)屬性:DevBaselO標(biāo)識(shí)設(shè)備所用10的基地址屬性:DevIONumber標(biāo)識(shí)設(shè)備所用IO地址的個(gè)數(shù)方法:GetDevName讀取設(shè)備構(gòu)件類型名稱方法:GetDevHelp調(diào)用設(shè)備構(gòu)件的在線幫助內(nèi)容方法:SetDevPage調(diào)用設(shè)備的內(nèi)部屬性頁(yè)方法:InitNewDev初試化設(shè)備的初始值方法:GetChlType讀取設(shè)備構(gòu)件各通道的數(shù)據(jù)類型和注釋方法:InitDevRun運(yùn)行時(shí)對(duì)設(shè)備進(jìn)行初始化工作方法:RunDevCommand執(zhí)行指定的設(shè)備命令方法:CollectDevDat定時(shí)操作設(shè)備,采集或輸出數(shù)據(jù)開(kāi)發(fā)MCGS設(shè)備驅(qū)動(dòng)的過(guò)程,實(shí)際上就是根據(jù)設(shè)備的特性和含義來(lái)完成8個(gè)方法功能的編程過(guò)程。編寫通訊子設(shè)備驅(qū)動(dòng)程序時(shí),主要使用的就是對(duì)串行端口進(jìn)行操作0MCGS根據(jù)驅(qū)動(dòng)程序的實(shí)現(xiàn)特點(diǎn),充分運(yùn)用32操作係統(tǒng)多任務(wù)多線程的優(yōu)勢(shì),把複雜的對(duì)串行端口的設(shè)置、初始化和讀寫操作全部封裝在MCGS提供的串行通訊父設(shè)備中,在通訊子設(shè)備驅(qū)動(dòng)程序中隻需調(diào)用父設(shè)備提供的標(biāo)準(zhǔn)串口讀寫函數(shù),即可完成各種功能通訊子設(shè)備驅(qū)動(dòng)程序的開(kāi)發(fā)編程工作。常用的函數(shù)有:ComOutDat、ComAllInDat、ComOutInDat等。下麵以一個(gè)5個(gè)通道的接口卡為例,接口卡的跳線設(shè)置為:?jiǎn)味溯斎搿??5V輸入量程、數(shù)碼轉(zhuǎn)換方式為單極性,要求本設(shè)備構(gòu)件能對(duì)5個(gè)通道的數(shù)據(jù)進(jìn)行采集。
利用MCGS的高級(jí)開(kāi)發(fā)向?qū)?,生成一個(gè)獨(dú)立設(shè)備驅(qū)動(dòng)設(shè)備的源程序;假定工程名設(shè)為:MYPROGRAM,類型名設(shè)為:我的工程;把屬性DevChannel中的值改為5;把接口GetChlType中的代碼改為:DimiAsLongFori=0To4Dat(i)二2msg(i)=AD輸入+
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)療安全與風(fēng)險(xiǎn)管理的法規(guī)遵循與執(zhí)行
- 復(fù)雜性區(qū)域疼痛綜合征的臨床護(hù)理
- 興唐鎮(zhèn)中心小學(xué)2025年教科研工作總結(jié)模版
- 實(shí)習(xí)總結(jié)模版
- 醫(yī)療大數(shù)據(jù)挖掘與健康教育新模式
- 2025年會(huì)計(jì)基礎(chǔ)知識(shí)點(diǎn)總結(jié)模版
- 醫(yī)技新風(fēng)醫(yī)療技術(shù)與健康科學(xué)的深度融合發(fā)展探討
- 區(qū)塊鏈教育培養(yǎng)未來(lái)技術(shù)領(lǐng)導(dǎo)者
- 中藥材產(chǎn)業(yè)中質(zhì)量追溯體系的構(gòu)建與優(yōu)化-基于區(qū)塊鏈技術(shù)的研究
- 醫(yī)療信息安全的國(guó)際比較與借鑒
- 彩鋼板屋面監(jiān)理細(xì)則
- 文藝復(fù)興史學(xué)習(xí)通超星課后章節(jié)答案期末考試題庫(kù)2023年
- 《BIM技術(shù)概論》期末試卷及答案2套
- 城市設(shè)計(jì)原理-西安建筑科技大學(xué)中國(guó)大學(xué)mooc課后章節(jié)答案期末考試題庫(kù)2023年
- 初中生物理自主學(xué)習(xí)能力現(xiàn)狀的調(diào)查研究的開(kāi)題報(bào)告
- 委派合同范本
- 嵩縣天運(yùn)礦業(yè)有限責(zé)任公司石盤溝金礦礦山地質(zhì)環(huán)境保護(hù)與土地復(fù)墾方案
- 絲路神話-“一帶一路”沿線古今漫談知到章節(jié)答案智慧樹2023年黑龍江林業(yè)職業(yè)技術(shù)學(xué)院
- 鄉(xiāng)村規(guī)劃與設(shè)計(jì)教材課件
- 2023年高考-漢語(yǔ)文試卷及答案
- 【小區(qū)植物配置情況調(diào)研分析8500字(論文)】
評(píng)論
0/150
提交評(píng)論