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

正文內(nèi)容

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

2025-08-10 15:04 上一頁面

下一頁面
  

【正文】 在此向幫助和指導(dǎo)過我的各位老師表示最 衷 心的感謝 。 } 服務(wù)器通知函數(shù) void __stdcall ServerNotify(DWORD Handle, WORD wOperate) { if(wOperate==0) { ServerCount++。 TagList[I].lQuality=186。 } } } void __stdcall WriteCallback(DWORD handle,VARIANT pNewValue,DWORD* pDeviceError) { long I。 *pDeviceError=1。 extern BOOL FreeOPCDef()。 extern SETSERVERNOTIFY SetServerNotify。 extern ADDTAGPROPERTYEX AddTagPropertyEx。 extern SHUTDOWN shutDown。我想,通過這次畢業(yè)設(shè)計(jì),到了工作單位后,我將能夠更快的適應(yīng)工作崗位和工作要求。 測試中成功將數(shù)據(jù)轉(zhuǎn)換為模擬量 TAG_I0TAG_I9,它們分別對應(yīng)了不同的數(shù)值但擁有相同的質(zhì)量 如圖 52 所示 。然后根據(jù)規(guī)范對各個接口 ID 進(jìn)行定義 ; ( 3) 實(shí)現(xiàn) OPC 數(shù)據(jù)服務(wù) 器類廠對象。實(shí)施步驟分為以下幾個部分: ( 1) 繼承 OPC 規(guī)范中定義的 OPCServer 類 OPCGroup 類和 OPCItem 類 , 實(shí)現(xiàn)其接口成員函數(shù)。如果一個 COM 對象支持一個或者多個出接口,我們就稱這樣的對象為可連接對象。 DAdvise 函數(shù)用于建立雙向通信機(jī)制 , 客戶程序調(diào)用此函數(shù) ,以便在客戶程序的通報接收器和對象之間建立一個通報連接 , 以后當(dāng)對象中的據(jù)發(fā)生變化時 , 它可以通知客戶程序的接收器 DUnadvise 函數(shù)用于取消通報連接。其中異步數(shù)據(jù)通報方式應(yīng)用于符合 OPC 規(guī)范 版本要求的服務(wù)器中,連接點(diǎn)方式用于符合 OPC 規(guī)范 版本要求的服務(wù)器中。 句 柄是組和項(xiàng)的一個屬性。異步函數(shù)包括讀、寫、刷新和取消。每個接口有讀、寫兩種函數(shù)。然后將 OPC 基金會網(wǎng)站上提供的相應(yīng)的頭文件添加到工程中 , 通過繼承這些接口派生出新的接口類實(shí)現(xiàn)每個接口的成員函數(shù)。同時需要 OPC 服務(wù)器支持 Modbus 通信協(xié)議,不需要任何額外的驅(qū)動程序,在和 Modbus 從設(shè)備通信的時候不需要為每個通信設(shè)備提供不同的驅(qū)動程序; 然后 OPC 服務(wù)器需要提供 IOPCServer、IOPCItemMgt、 IOPCCGroupStateMgt、 IOPCSyncIO 等接口的實(shí)現(xiàn),只有實(shí)現(xiàn)了這些接口,客戶端才能夠通過該接口實(shí)現(xiàn)添加刪除服務(wù)器的組對象,對組對象進(jìn)行管理。對于 每一個 IP 地址 、 IP 端口必須定義唯一一個通道,這樣連接到網(wǎng)絡(luò)上的設(shè)備就可以利用這些信息連接到確定的唯一的 OPC 服務(wù)器的物理設(shè)備。其結(jié)構(gòu)如下圖 41 所示 : 方法調(diào)用開始 方法調(diào)用結(jié)束 調(diào)用異步訪問方法 等待狀態(tài) 事件發(fā)生 事件處理結(jié)果 異步訪問完成事件 通信 空閑 空閑 OPC 應(yīng)用程序 時間 時間 OPC 服務(wù)器 處理調(diào)用 滁州學(xué)院本科畢業(yè)設(shè)計(jì) 10 圖 41 OPC 服務(wù)器結(jié)構(gòu)框架 從現(xiàn)場設(shè)備讀取回來的數(shù)據(jù)通過 Modbus 協(xié)議工業(yè)以太網(wǎng)以數(shù)據(jù)幀的形式傳到 OPC 服務(wù)器,經(jīng)過服務(wù)器的處理再通過 OPC 接口上傳到 OPC 客戶端,這樣就完成了遠(yuǎn)程監(jiān)控現(xiàn)場設(shè)備運(yùn)作狀態(tài)的過程。在 OPC 數(shù)據(jù)存取規(guī)范中,同步數(shù)據(jù)訪問方法是用 IOPCSyncIO 接口來實(shí)現(xiàn), IOPCSyncIO 接口有兩個函數(shù): Read 和 Write。 COM 接口都是從 IUnknown 接口派生的, COM 接口實(shí)現(xiàn)了二進(jìn)制的內(nèi)存結(jié)構(gòu)。其中 COM 核心包括服務(wù)控制管理員、接口基、接口代理和 COM 庫。中國也由 5 家公司作為發(fā)起人于 20xx 年 12 月成立了中國 OPC 促進(jìn)會。 寫多個線圈(功能 15) 讀文件記錄(功能 20) 寫文件記錄(功能 21) 另外,如果過程發(fā)生狀況,則由從機(jī)返回一組例外碼,所有例外通過給請求的函數(shù)碼加 0x80 來發(fā)送信號, 就是將最高位置一?!白x寫通用寄存器”功能碼定義可指定一個 32 位寄存器地址,用戶寄存器起始地址是十進(jìn)制數(shù)表示的 1,而不是像很多其他程序一樣從 0 開始。它有以下三點(diǎn)成功之處: ( 1) 開放性:用戶可以放心的免費(fèi)使用 Modbus 協(xié)議,不用繳納費(fèi)用,不會構(gòu)成侵權(quán); ( 2) 支持多種電氣接口: RS232, RS42 RS485 等, 可 在雙絞線、光纜、無線射頻等介質(zhì)上傳送; ( 3) 簡單易懂:其格式幀是最為簡單緊湊的協(xié)議,廠商開發(fā)簡單,用戶使用也方便。首先詳細(xì)論述了 Modbus 協(xié)議的主要內(nèi)容、歷史和現(xiàn)場總線技術(shù),介紹了 Modbus 數(shù)據(jù)模型、地址參數(shù)表、通信結(jié)構(gòu)及兼容分類。 OPC保證了軟件對客戶的 透明性,使得用戶完全從低層的開發(fā)中脫離出來。軟硬件開發(fā)商 只用編寫一套接口程序就可以滿足需要,大大的節(jié)約了成本 [6~8]。 微電子技術(shù)和計(jì)算機(jī)技術(shù)的不斷發(fā)展,引起了儀表結(jié)構(gòu)的根本性變革,以微型計(jì)算機(jī)(單片機(jī))為主體,將計(jì)算機(jī)技術(shù)和檢測技術(shù)有機(jī)的結(jié)合,組成新一代“智能化儀表”,在測量過程自動化、測量數(shù)據(jù)處理及功能多樣化方面與傳統(tǒng)儀表的常規(guī)測量電路相比較,取得了巨大進(jìn)展。 本課題 在 Modbus 協(xié)議和 OPC 規(guī)范基礎(chǔ)上,詳細(xì)介紹了基于 Modbus 通信協(xié)議的 OPC 服務(wù)器的原理和開發(fā)過程。具體論述了 OPC 技術(shù)優(yōu)點(diǎn); OPC 傳輸?shù)娜N方法 同步訪問 、 異步訪問、訂閱實(shí)現(xiàn)過程中的關(guān)鍵技術(shù);以及 服務(wù)器實(shí)現(xiàn)過程中的關(guān)鍵技術(shù)。智能儀表不僅能解決傳統(tǒng)儀表不易或不能解決 的問題,還能簡化儀表電路,提高儀表的可靠性,更容易實(shí)現(xiàn)高精度、高性能、多功能的目的。因此, OPC 技術(shù)在幾年內(nèi)飛速發(fā)展并 得到國際自動化領(lǐng)域廠商的廣泛支持,各種 OPC 相關(guān)的產(chǎn)品也研發(fā)了出來,而設(shè)計(jì)一款基于 Modbus 通信協(xié)議的 OPC 服務(wù)器這個課題也就應(yīng)運(yùn)而生。不管過程中采用什么軟件或設(shè)備, OPC為它們提供了公共的接口和以下多種訪問機(jī)制: ( 1) 客戶端和服務(wù)器位于同一臺計(jì)算機(jī)上; ( 2) 客戶端和服務(wù)器位于不同的計(jì)算機(jī)上; ( 3) 單個客戶端和多個服務(wù)器通信; ( 4) 多個客戶端和單個服務(wù)器通信; ( 5) 多個客戶端和多個服務(wù)器通信 [11]。接著分析了 OPC 的發(fā)展現(xiàn)狀、 COM 技術(shù)、接口技術(shù),討論了 OPC 服務(wù)器的同步數(shù)據(jù)訪問和異步數(shù)據(jù)訪問方式,在此基礎(chǔ)上對基于 Modbus 的 OPC 服務(wù)器的開發(fā)進(jìn)行了深入的研究。 Modbus 通信協(xié)議 Modbus 是電子控制器應(yīng)用上的通用語言,通過此協(xié)議控制器之 間、控制器通過網(wǎng)絡(luò)和其他控制器之間可以通信。 Modbus 的數(shù)據(jù)模型主要基于以下四個表: 輸入開關(guān)量 單個位,由 I/O 系統(tǒng)提供 ?? 只讀; 輸出開關(guān)量 單個位,通過應(yīng)用程序可變 ?? 讀寫; 輸入寄存器 16 位量,由 I/O 體統(tǒng)提供 ?? 只讀; 輸出寄存器 16 位量,通過應(yīng)用程序可變 ?? 讀寫。例外響應(yīng)包括不合法的函數(shù),不合法的數(shù)據(jù)值,不合法的數(shù)據(jù)地址,不合法的響應(yīng)長度,從機(jī)設(shè)備忙,無用的確認(rèn),存儲奇偶錯誤,網(wǎng)關(guān)路徑難以獲得,網(wǎng)關(guān)目標(biāo)設(shè)備不能響應(yīng)等。 OPC 技術(shù)規(guī)范 OPC 基金會制定了各種 OPC 規(guī)范,并且不斷地進(jìn)行升級和更新以便于適應(yīng)日益變化發(fā)展的工業(yè)自動化領(lǐng)域。其定 義了 COM 對象與客戶如何通過二進(jìn)制標(biāo)準(zhǔn)接口進(jìn)行交互的標(biāo)準(zhǔn)??蛻舫绦蛴弥赶蚪涌跀?shù)據(jù)結(jié)構(gòu)的指針來調(diào)用接口函數(shù),接 口指針又指向另一個指針,這個指針指向虛函數(shù)表 ,虛函數(shù)表里面 一項(xiàng)由 4 個字節(jié)長的函數(shù)指針組成,每一個接口的 vtable 是確定的, COM 接口 vtable 的前三個指針是 QueryInterface、 AddRef、 Release 函數(shù)實(shí)現(xiàn)的地址,函數(shù)指針和對象的具體實(shí)現(xiàn)連接。根據(jù) OPC 數(shù)據(jù)訪問標(biāo)準(zhǔn),不同的數(shù)據(jù)讀取方式所需要的數(shù)據(jù)源有兩種:從服務(wù)器數(shù)據(jù)緩沖區(qū)讀取;二是從硬件設(shè)備直接讀取。 現(xiàn)在簡介一下 OPC 服務(wù)器關(guān)鍵模塊管理模塊的設(shè)計(jì)理念。 Modbus 從設(shè)備映射模塊主要功能是將物理設(shè)備的信息 映射到 相應(yīng)的邏輯設(shè)備和通道之中。而且無論是本機(jī)還是遠(yuǎn)程客戶端都能訪問服務(wù)器,支持了遠(yuǎn)程啟動,即使服務(wù)器不在運(yùn)行狀態(tài),只要有客戶端訪問服務(wù)器,服務(wù)器能夠自行啟動。在 OPCServer 和 OPCGroup 類中增加指向相應(yīng)接口類的指針成員變量 , 接著修改接口查詢函數(shù)。同步函數(shù)在執(zhí)行 I/O 操作時 , 會阻塞當(dāng)前進(jìn)程。像同步讀寫函數(shù)一樣 , 異步讀寫函數(shù)也可以操作多個項(xiàng)不同的是異步函數(shù)請求動作 , 并且立即返回。組和項(xiàng)都有客戶句柄和服務(wù)器句柄 , 客戶句柄被 OPC 客戶分配與一個對象關(guān)聯(lián) , 服務(wù)器在相關(guān)操作中返回這個句柄 , 通過句柄來識別這個對象。 OPC 服務(wù)器與客戶端數(shù)據(jù)傳送機(jī)制是整個 OPC服務(wù)器開發(fā)過程中的關(guān)鍵技術(shù),下面對這兩種數(shù)據(jù)傳遞方式分別進(jìn)行討論。 下面簡單介紹下一步操作流程:在 OPC 中 , 數(shù)據(jù)傳輸是以組為單位進(jìn)行的在實(shí)現(xiàn)異步操作前 ,客戶和服務(wù)器之間必須以組為單位建立連 接 , 這個連接是由客戶調(diào)用服務(wù)器的 IDataObject 接口中的 DAdvise 函數(shù)建立的??蛇B接對象管理所有的出接口。首先從 OPC 基金 會定義的組對象接口派生出新的接口類并實(shí)現(xiàn)其成員函數(shù)的功能 , 然后增加指針成員變量指向這些接口類。在 COM 規(guī)范中 , 客戶程序是通過類廠創(chuàng)建 COM 對象并返回其接口指針的 , 因此需要為 CMyServer 類設(shè)計(jì)相應(yīng)的類廠。 圖 52 服務(wù)器界面 ( 3) 設(shè)備屬性,可以設(shè)置 具體到一臺設(shè)備的 相關(guān)參數(shù) ,如 IP 地址、端口號、設(shè)備號、網(wǎng)關(guān)設(shè)備、超時時間、消息周期等等 ,如圖 53 所示。我對自己充滿信心 。 extern REGSERVER RegServer。 extern SETTAGPROPERTY SetTagProperty。 extern SETGROUPNOTIFY SetGroupNotify。 服務(wù)器通知函數(shù)聲明 extern void __stdcall ServerNotify(DWORD handle, WORD wOperate)。 for(I=0。 FILETIME ft。 TagList[I].ft= ft。 } else ServerCount。 感謝這篇論文所涉及到的各位學(xué)者。 同時也要感謝 機(jī)電學(xué)院 S512 實(shí)驗(yàn)室的實(shí)驗(yàn)員老師,盡最大的努力為我們的實(shí)驗(yàn)提供了必要器材。 } else return true。I++) { if(TagList[I].hHWND==handle) { TagList[I].vValue=pNewValue。 break。) 在程序文件 中,添加代碼定義如下函數(shù):讀寫回調(diào)函數(shù) void __stdcall ReadCallback(DWORD handle,VARIANT* pNew Value,WORD* Quality, FILETIME* ft, DWORD* pDeviceError) { long I。 //初始化和反初始化設(shè)置函數(shù)聲明 extern BOOL InitOPCDef()。 extern SETREADCALLBACKEX SetReadCallbackEx。 extern ADDTAGPROPERTY AddTagProperty。 extern ACTIVECODE ActiveCode。 通過本次畢業(yè)設(shè)計(jì),我感到自己應(yīng)用基礎(chǔ)知識及專業(yè)知識解決問題的能力有了很大的提高,并且 這次畢業(yè)設(shè)計(jì)的選題,是一個 很 實(shí)際的 課題 ,因此,在我即將工作之前,它是一次重要演練。主窗口是所有界面元素的組織容器,主要包含設(shè)備地址、設(shè)備樹形列表、標(biāo)簽列表。類標(biāo)識可用 VC 程序自動產(chǎn)生 , 這樣能夠保證生成的類標(biāo)識是唯一的。 客戶 可連接對象 接收器 ( 客戶 ) 客戶端把接收器的接口指
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1