freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于modbus通信協(xié)議的智能儀表opc服務(wù)器的開(kāi)發(fā)畢業(yè)論文-預(yù)覽頁(yè)

 

【正文】 原理和開(kāi)發(fā)過(guò)程。 and the realization of the key technology.Key words: Communication protocol of Modbus。微電子技術(shù)和計(jì)算機(jī)技術(shù)的不斷發(fā)展,引起了儀表結(jié)構(gòu)的根本性變革,以微型計(jì)算機(jī)(單片機(jī))為主體,將計(jì)算機(jī)技術(shù)和檢測(cè)技術(shù)有機(jī)的結(jié)合,組成新一代“智能化儀表”,在測(cè)量過(guò)程自動(dòng)化、測(cè)量數(shù)據(jù)處理及功能多樣化方面與傳統(tǒng)儀表的常規(guī)測(cè)量電路相比較,取得了巨大進(jìn)展。使計(jì)算機(jī)控制系統(tǒng)成為最為方便的自動(dòng)控制方法。軟硬件開(kāi)發(fā)商只用編寫(xiě)一套接口程序就可以滿足需要,大大的節(jié)約了成本[6~8]。OPC規(guī)范定義了一個(gè)工業(yè)標(biāo)準(zhǔn)接口,這個(gè)標(biāo)準(zhǔn)使得COM技術(shù)使用于過(guò)程控制和制造自動(dòng)化等應(yīng)用領(lǐng)域。OPC保證了軟件對(duì)客戶的透明性,使得用戶完全從低層的開(kāi)發(fā)中脫離出來(lái)。不過(guò)在國(guó)內(nèi)OPC產(chǎn)品開(kāi)發(fā)目前幾乎還是空白,只有少數(shù)自動(dòng)化軟件和大型硬件廠商實(shí)現(xiàn)了OPC客戶或OPC服務(wù)器功能,市場(chǎng)開(kāi)拓還處于概念宣傳階段。首先詳細(xì)論述了Modbus協(xié)議的主要內(nèi)容、歷史和現(xiàn)場(chǎng)總線技術(shù),介紹了Modbus數(shù)據(jù)模型、地址參數(shù)表、通信結(jié)構(gòu)及兼容分類。2 Modbus總線技術(shù) 現(xiàn)場(chǎng)總線技術(shù)現(xiàn)場(chǎng)總線技術(shù)是用于過(guò)程自動(dòng)化、制造自動(dòng)化等領(lǐng)域的現(xiàn)場(chǎng)智能設(shè)備相互通信的網(wǎng)絡(luò),它作為工業(yè)數(shù)字通信網(wǎng)絡(luò)基礎(chǔ),溝通了生產(chǎn)過(guò)程現(xiàn)場(chǎng)及控制設(shè)備之間及其與更高控制管理層次之間的聯(lián)系。它有以下三點(diǎn)成功之處:(1)開(kāi)放性:用戶可以放心的免費(fèi)使用Modbus協(xié)議,不用繳納費(fèi)用,不會(huì)構(gòu)成侵權(quán);(2)支持多種電氣接口:RS232,RS42RS485等,可在雙絞線、光纜、無(wú)線射頻等介質(zhì)上傳送;(3)簡(jiǎn)單易懂:其格式幀是最為簡(jiǎn)單緊湊的協(xié)議,廠商開(kāi)發(fā)簡(jiǎn)單,用戶使用也方便。若主站未收到應(yīng)答信息或者響應(yīng)報(bào)文,會(huì)再次發(fā)送報(bào)文給從站?!白x寫(xiě)通用寄存器”功能碼定義可指定一個(gè)32位寄存器地址,用戶寄存器起始地址是十進(jìn)制數(shù)表示的1,而不是像很多其他程序一樣從0開(kāi)始。2級(jí)類代表一些特殊的功能應(yīng)用,此外還通過(guò)分類來(lái)識(shí)別一些已經(jīng)存在但不易解釋實(shí)現(xiàn)的交易。寫(xiě)多個(gè)線圈(功能15)讀文件記錄(功能20)寫(xiě)文件記錄(功能21)另外,如果過(guò)程發(fā)生狀況,則由從機(jī)返回一組例外碼,所有例外通過(guò)給請(qǐng)求的函數(shù)碼加0x80來(lái)發(fā)送信號(hào),就是將最高位置一。OPC基金會(huì)在1996年9月24日在美國(guó)達(dá)拉斯舉行了第一次理事會(huì),并在同年10月7日芝加哥的第一次全體大會(huì)上宣告成立。中國(guó)也由5家公司作為發(fā)起人于2001年12月成立了中國(guó)OPC促進(jìn)會(huì)。 COM技術(shù)COM是微軟公司倡導(dǎo)的一個(gè)制定軟件的方法,在COM的構(gòu)架下可以開(kāi)發(fā)出各式各樣的功能專一的組件,然后按照需要將他們結(jié)合起來(lái),構(gòu)成復(fù)雜的應(yīng)用系統(tǒng)。其中COM核心包括服務(wù)控制管理員、接口基、接口代理和COM庫(kù)。下面簡(jiǎn)單介紹一下COM組件、COM對(duì)象和COM接口。COM接口都是從IUnknown接口派生的,COM接口實(shí)現(xiàn)了二進(jìn)制的內(nèi)存結(jié)構(gòu)??蛻舫绦蛲ㄟ^(guò)指定的CLSID進(jìn)行對(duì)象的創(chuàng)建和初始化工作,客戶程序要使用COM對(duì)象的接口,它必須知道該接口的IID和接口成員函數(shù)。在OPC數(shù)據(jù)存取規(guī)范中,同步數(shù)據(jù)訪問(wèn)方法是用IOPCSyncIO接口來(lái)實(shí)現(xiàn),IOPCSyncIO接口有兩個(gè)函數(shù):Read和Write。當(dāng)OPC服務(wù)器完成數(shù)據(jù)訪問(wèn)時(shí),觸發(fā)OPC應(yīng)用程序異步訪問(wèn)的完成,將數(shù)據(jù)結(jié)果返回給OPC應(yīng)用程序。其結(jié)構(gòu)如下圖41所示:監(jiān)控程序和其他上層應(yīng)用程序OPC客戶端(接口)服務(wù)器對(duì)象組對(duì)象項(xiàng)對(duì)象客戶端Modbus OPC服務(wù)器現(xiàn)場(chǎng)設(shè)備PLCModbus從設(shè)備圖41 OPC服務(wù)器結(jié)構(gòu)框架從現(xiàn)場(chǎng)設(shè)備讀取回來(lái)的數(shù)據(jù)通過(guò)Modbus協(xié)議工業(yè)以太網(wǎng)以數(shù)據(jù)幀的形式傳到OPC服務(wù)器,經(jīng)過(guò)服務(wù)器的處理再通過(guò)OPC接口上傳到OPC客戶端,這樣就完成了遠(yuǎn)程監(jiān)控現(xiàn)場(chǎng)設(shè)備運(yùn)作狀態(tài)的過(guò)程。其數(shù)據(jù)點(diǎn)監(jiān)視功能使通信模塊在客戶端界面上實(shí)現(xiàn)對(duì)設(shè)備數(shù)據(jù)點(diǎn)的讀寫(xiě)。對(duì)于每一個(gè)IP地址、IP端口必須定義唯一一個(gè)通道,這樣連接到網(wǎng)絡(luò)上的設(shè)備就可以利用這些信息連接到確定的唯一的OPC服務(wù)器的物理設(shè)備。物理設(shè)備中的模擬變量是以整數(shù)或者浮點(diǎn)數(shù)的形式讀出的,可是這些值只是存儲(chǔ)區(qū)內(nèi)的一個(gè)相對(duì)量,模擬變量模塊可以將它們經(jīng)過(guò)比例變換成為有意義的物理值,還需要定義物理單位、死區(qū)、上溢下溢范圍等信息。同時(shí)需要OPC服務(wù)器支持Modbus通信協(xié)議,不需要任何額外的驅(qū)動(dòng)程序,在和Modbus從設(shè)備通信的時(shí)候不需要為每個(gè)通信設(shè)備提供不同的驅(qū)動(dòng)程序;然后OPC服務(wù)器需要提供IOPCServer、IOPCItemMgt、IOPCCGroupStateMgt、IOPCSyncIO等接口的實(shí)現(xiàn),只有實(shí)現(xiàn)了這些接口,客戶端才能夠通過(guò)該接口實(shí)現(xiàn)添加刪除服務(wù)器的組對(duì)象,對(duì)組對(duì)象進(jìn)行管理。標(biāo)簽組可以讓瀏覽標(biāo)簽的客戶端分層次的仔細(xì)查看標(biāo)簽;(4)標(biāo)簽:標(biāo)簽用于在OPC服務(wù)器中映射目標(biāo)硬件數(shù)據(jù)點(diǎn)。然后將OPC基金會(huì)網(wǎng)站上提供的相應(yīng)的頭文件添加到工程中,通過(guò)繼承這些接口派生出新的接口類實(shí)現(xiàn)每個(gè)接口的成員函數(shù)。為避免不同線程同時(shí)對(duì)數(shù)據(jù)區(qū)中的數(shù)據(jù)進(jìn)行操作,須考慮對(duì)臨界區(qū)的互斥控制;(5)界面設(shè)計(jì)。每個(gè)接口有讀、寫(xiě)兩種函數(shù)。讀設(shè)備強(qiáng)迫服務(wù)器從所連的設(shè)備讀取數(shù)據(jù)。異步函數(shù)包括讀、寫(xiě)、刷新和取消。異步寫(xiě)函數(shù)通過(guò)連接點(diǎn)返回給OPC客戶的是I/O函數(shù)操作完后的狀態(tài)。句柄是組和項(xiàng)的一個(gè)屬性。句柄是一個(gè)普通的數(shù)據(jù)結(jié)構(gòu)、一個(gè)索引或偏移量,服務(wù)器通過(guò)句柄來(lái)聯(lián)系項(xiàng)。OPC服務(wù)器與客戶端數(shù)據(jù)傳送機(jī)制是整個(gè)OPC服務(wù)器開(kāi)發(fā)過(guò)程中的關(guān)鍵技術(shù),下面對(duì)這兩種數(shù)據(jù)傳遞方式分別進(jìn)行討論。異步報(bào)有3種類型:復(fù)合文檔、數(shù)據(jù)變化和視區(qū)變化IAdviseSink的實(shí)現(xiàn)者可以根據(jù)實(shí)際需要讓IAdvieSink接收一種或多種類型的異步通報(bào),IAdvieSink的每一種方法是對(duì)應(yīng)于一種特定通報(bào)的回函數(shù)。下面簡(jiǎn)單介紹下一步操作流程:在OPC中,數(shù)據(jù)傳輸是以組為單位進(jìn)行的在實(shí)現(xiàn)異步操作前,客戶和服務(wù)器之間必須以組為單位建立連接,這個(gè)連接是由客戶調(diào)用服務(wù)器的IDataObject接口中的 DAdvise函數(shù)建立的。服務(wù)器在OPCGroup對(duì)象中保存客戶的IAdviseSink對(duì)象和數(shù)據(jù)格式;(6)客戶調(diào)用服務(wù)器IOPCASyncIO發(fā)出讀/寫(xiě)操作,服務(wù)器給相應(yīng)組和項(xiàng)做異步讀/寫(xiě)標(biāo)記;(7)服務(wù)器向通道發(fā)送命令,等待命令返回;(8)服務(wù)器接收通道的讀/寫(xiě)結(jié)果,給與通道對(duì)應(yīng)的OPC項(xiàng)置讀/寫(xiě)完成標(biāo)記;(9)服務(wù)器中建有定時(shí)器,該定時(shí)器定時(shí)掃描OPC項(xiàng)的異步操作標(biāo)記當(dāng)發(fā)現(xiàn)標(biāo)記為完成時(shí),調(diào)用IOPCDataObject中保存的客戶的IAdviseSink對(duì)象的OnDataChange函數(shù),把項(xiàng)的數(shù)據(jù)傳輸給客戶,然后給項(xiàng)的標(biāo)記復(fù)位客戶在OnDataChange 函數(shù)中,按照約定的數(shù)據(jù)格式,獲得異步操作的結(jié)果。可連接對(duì)象管理所有的出接口。服務(wù)器接著獲得輸出接口的指針。首先從OPC基金會(huì)定義的組對(duì)象接口派生出新的接口類并實(shí)現(xiàn)其成員函數(shù)的功能,然后增加指針成員變量指向這些接口類。OPC客戶程序?qū)⑼ㄟ^(guò)OPC組對(duì)象的接口函數(shù)來(lái)間接調(diào)用OPC項(xiàng)的這些成員函數(shù);(2)定義OPC數(shù)據(jù)服務(wù)器的名稱和類標(biāo)識(shí)。在COM規(guī)范中,客戶程序是通過(guò)類廠創(chuàng)建COM對(duì)象并返回其接口指針的,因此需要為CMyServer類設(shè)計(jì)相應(yīng)的類廠。5 OPC服務(wù)器的實(shí)驗(yàn)測(cè)試(1)同步實(shí)例界面,實(shí)現(xiàn)了啟動(dòng)、停止服務(wù)器,同步讀寫(xiě)操作,并回復(fù)操作結(jié)果,如圖51所示。圖52 服務(wù)器界面(3)設(shè)備屬性,可以設(shè)置具體到一臺(tái)設(shè)備的相關(guān)參數(shù),如IP地址、端口號(hào)、設(shè)備號(hào)、網(wǎng)關(guān)設(shè)備、超時(shí)時(shí)間、消息周期等等,如圖53所示。但測(cè)試中發(fā)現(xiàn)以下幾個(gè)問(wèn)題:(1)頻繁的啟動(dòng)停止服務(wù)器時(shí),偶爾出現(xiàn)不能打開(kāi)的情況;(2)在數(shù)據(jù)量過(guò)大時(shí)候轉(zhuǎn)換不出模擬量;(3)時(shí)間戳部分偶爾出現(xiàn)時(shí)間錯(cuò)誤。我對(duì)自己充滿信心。extern SETSERVERSTATE SetServerState。extern REGSERVER RegServer。extern UNREGTAG UnregTag。extern SETTAGPROPERTY SetTagProperty。extern SETWRITECALLBACKEX SetWriteCallbackEx。extern SETGROUPNOTIFY SetGroupNotify。//讀寫(xiě)回調(diào)函數(shù)類型的聲明extern void __stdcall ReadCallback(DWORD handle,VARIANT* pNewValue,WORD* Quality, FILETIME* ft, DWORD* pDeviceError)。服務(wù)器通知函數(shù)聲明extern void __stdcall ServerNotify(DWORD handle, WORD wOperate)。//定義OPC服務(wù)器的名稱const LPCSTR OPCDescr = Agilewill 。 for(I=0。 *ft=TagList[I].ft。 FILETIME ft。 for(I=0。 TagList[I].ft= ft。 break。 } else ServerCount。尤其要強(qiáng)烈感謝我的論文指導(dǎo)老師汪先兵老師,他對(duì)我進(jìn)行了無(wú)私的指導(dǎo)和幫助,不厭其煩的幫助進(jìn)行論文的修改和改進(jìn)。感謝這篇論文所涉及到的
點(diǎn)擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1