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

正文內(nèi)容

現(xiàn)場總線控制系統(tǒng)功能塊組態(tài)軟件設(shè)計(jì)本科畢業(yè)論文(已改無錯(cuò)字)

2022-10-08 09:55:07 本頁面
  

【正文】 息等。 PLC_Config 以工程的方式對組態(tài)信息進(jìn)行管理。一個(gè)工程對應(yīng)一個(gè)工程目錄,工程目錄結(jié)構(gòu)如圖 42 所示。每個(gè)工程目錄包含一個(gè)工程文件,功能塊程序文件,狀態(tài)表,符號表等文件。工程文件描述整個(gè)工程的總體框 架,對工程下的所有文件進(jìn)行有效的組織管理。程序塊文件保存了設(shè)備的功能塊組態(tài)信息,這些信息可以形成代碼,并下載到控制器。符號表主要是為了使用符號編程,方便程序的維護(hù)和修改,以及程序的可讀性。狀態(tài)表用于過程變量的監(jiān)視以及強(qiáng)制。通信配置可配置當(dāng)前網(wǎng)絡(luò)的信息,配置擴(kuò)展 I/O模塊的信息。其結(jié)構(gòu)如下: PLC_Config 啟動時(shí)首先要調(diào)用文件管理模塊、現(xiàn)場設(shè)備管理模塊的初始化函數(shù),對這兩個(gè)模塊進(jìn)行初始化,然后新建或打開一個(gè)工程,啟動工程,同時(shí)打開網(wǎng)絡(luò)套接字映射接口對象,監(jiān)聽網(wǎng)絡(luò)設(shè)備信息,每發(fā)現(xiàn)一個(gè)在線設(shè)備就在設(shè)備管理窗口中添加該設(shè)備相關(guān)信息。創(chuàng)建一個(gè)功能塊文件,選擇功能塊添加到控制回路編輯窗口中,通過鼠標(biāo)操作建立鏈接對象,確定功能塊之間的連接關(guān)系及功能塊的執(zhí)行順序,形成一個(gè)完整的控制回路,對各個(gè)功能塊進(jìn)行參數(shù)配置。最后對組態(tài)信息進(jìn)行編譯,下載組態(tài)信息到現(xiàn)場設(shè)備中。 工程目錄 功能塊程序目錄 功能塊程序 1 工程文件:保存工程的總體結(jié)構(gòu)信息 圖 22 PLC_Config 所創(chuàng)建工程的目錄結(jié)構(gòu) 功能塊程序 2 功能塊程序 n …… 工程狀 態(tài)表文件:保存了狀態(tài)表的有關(guān)信息 工程符號表文件:保存了符號表的有關(guān)信息 現(xiàn)場總線控制系統(tǒng)功能塊組態(tài)軟件設(shè)計(jì) –12– 現(xiàn)場設(shè)備管理模塊 現(xiàn)場設(shè)備管理模塊負(fù)責(zé)偵聽網(wǎng)絡(luò)設(shè)備信息,維護(hù)和管理現(xiàn)場設(shè)備信息。本模塊至底向上可分為三層:網(wǎng)絡(luò)層、設(shè)備管理層、后臺數(shù)據(jù)庫層。 實(shí)時(shí)網(wǎng)絡(luò)監(jiān)控層:啟動套接字映射接口對象,監(jiān)聽網(wǎng) 絡(luò)上的設(shè)備信息,將獲取的設(shè)備相關(guān)信息轉(zhuǎn)交給現(xiàn)場設(shè)備管理層處理。 現(xiàn)場設(shè)備管理層:該層負(fù)責(zé)接收來自實(shí)時(shí)網(wǎng)絡(luò)監(jiān)控層的消息,對該消息進(jìn)行處理,將消息報(bào)告給可視化工程管理模塊、信息報(bào)告模塊,維護(hù)后臺數(shù)據(jù)庫。該層是現(xiàn)場設(shè)備管理模塊的核心層,是該模塊和其他模塊交互的主要接口。 現(xiàn)場設(shè)備信息層:該層維護(hù)一個(gè) Access 數(shù)據(jù)庫,存放現(xiàn)場設(shè)備的信息。該數(shù)據(jù)庫的主表是一個(gè)名為 DevOnline 數(shù)據(jù)表。 DevOnline 數(shù)據(jù)表是一個(gè)動態(tài)變化的數(shù)據(jù)表,該數(shù)據(jù)表存放的是目 前在線的設(shè)備,根據(jù)設(shè)備在線、離線狀態(tài),及時(shí)地刪除和添加設(shè)備信息,供組態(tài)使用。 文件管理模塊 在 PLC 應(yīng)用系統(tǒng)中用文件來描述設(shè)備信息 ,保存回路信息以及符號表和狀態(tài)表。PLC_Config 需指定一個(gè)專用目錄來存放各類應(yīng)用程序文件,將這個(gè)目錄定義為應(yīng)用程序根目錄。該目錄 下的各種文件就是應(yīng)用程序生成的工程相關(guān)的文件。 現(xiàn)場設(shè)備信息 現(xiàn)場設(shè)備管理 實(shí)時(shí)網(wǎng)絡(luò)監(jiān)控 后臺數(shù)據(jù)庫層 設(shè)備管理層 網(wǎng)絡(luò)層 圖 23 現(xiàn)場設(shè)備管理模塊的三層體系結(jié)構(gòu) 可視化工程管理模塊、信息報(bào)告模塊 通信服務(wù)模塊 現(xiàn)場總線控制系統(tǒng)功能塊組態(tài)軟件設(shè)計(jì) –13– PECX 后綴的文件是用來保存工程信息的,其中包含工程名,工程所在的根目錄,以及工程的配置信息等。 FBD 后綴的文件是用來保存功能塊回路的組態(tài)信息的。其中包括對功能塊網(wǎng)絡(luò)的保存,網(wǎng)絡(luò)中功能塊的保 存以及功能塊參數(shù)的保存、網(wǎng)絡(luò)注釋的保存等編譯需要使用的信息。 STS 后綴的文件是用來保存狀態(tài)表配置的,狀態(tài)表是用來調(diào)試的時(shí)候觀察 PLC 內(nèi)部數(shù)據(jù)的。同時(shí)也可以對內(nèi)部數(shù)據(jù)進(jìn)行強(qiáng)制。 在 MFC 為中系統(tǒng)文件的保存提供了 Serialize 函數(shù), Serialize()序列化函數(shù)是一個(gè)虛函數(shù),因此可以借助這個(gè)函數(shù)來實(shí)現(xiàn)對文件數(shù)據(jù)的讀取,保存或者修改。但是現(xiàn)代更加主流的保存方法是采用 XML描述文件來保存,使用 XML文件的好處在于各個(gè)平臺通用,可移植性好,幾乎所有的應(yīng)用程序都能處理 XML 文件,并且通過 DOM 提供的方法可以很快 捷的對 XML 文件進(jìn)行操作。 可視化組態(tài)模塊 PLC_Config 組態(tài)軟件是以工程的方式來管理和組織信息,而這是通過可視化工程管理窗口來實(shí)現(xiàn)的。圖 24表示一個(gè)新創(chuàng)建的工程,工程名為 。如圖所示,一個(gè)新創(chuàng)建的工程會自動為工程添加一個(gè)節(jié)點(diǎn),節(jié)點(diǎn)名為 。在 節(jié)點(diǎn)下面有四個(gè)節(jié)點(diǎn):程序塊節(jié)點(diǎn)、符號表節(jié)點(diǎn)、狀態(tài)表節(jié)點(diǎn)、通信配置節(jié)點(diǎn)、指令節(jié)點(diǎn)。圖 25表示的是項(xiàng)目的數(shù)據(jù)結(jié)構(gòu)圖。工程管理窗口對應(yīng)的視圖類 CProjectView、文檔類是CProjectDoc。 程序塊節(jié)點(diǎn)負(fù)責(zé)管 理當(dāng)前由用戶創(chuàng)建的所有程序。程序塊節(jié)點(diǎn)負(fù)責(zé)管理所有功能塊控制策略??赏ㄟ^鼠標(biāo)右鍵操作,創(chuàng)建一個(gè)新的控制策略文件,每一個(gè)控制策略文件對應(yīng)一種控制策略。一個(gè)控制策略可包含多個(gè)網(wǎng)絡(luò),每個(gè)網(wǎng)絡(luò)中由各種基本功能塊組成復(fù)雜的運(yùn)算邏輯,用戶可創(chuàng)建并選擇合適的回路文件編譯并下載。雙擊某一控制策略節(jié)點(diǎn),將打開控制策略編輯窗口,在該窗口中完成控制回路組態(tài)??刂撇呗跃庉嫶翱谑腔赩C++的 Document/View 結(jié)構(gòu),在本程序?qū)崿F(xiàn)中, CFBDDoc 類、 CFBDView 類和 CFBDFrame類構(gòu)成了控制策略編輯窗口的三位一體的 Document/View 結(jié)構(gòu)。 現(xiàn)場總線控制系統(tǒng)功能塊組態(tài)軟件設(shè)計(jì) –14– 圖 24 PLC_Config中的工程樹 符號表中的文件是用來保存符號表的,符號表是用來保存變量定義的,他定義了 PLC內(nèi)部的物理地址和符號的一一對應(yīng)關(guān)系。為了增強(qiáng)程序的可讀性以及修改程序的方便性,需要使用符號表。符號表同樣是采用 VC++的 Document/View 結(jié)構(gòu),即它的三位一體結(jié)構(gòu)分別是 CSymbolTblDoc 類、 CSymbolTblFrame 類和 CSymbolTblView 類。編程人員可以定義,修改,刪除符號表項(xiàng),同時(shí)也可將符號表應(yīng)用于程序中。以方便程序設(shè)計(jì)以 及調(diào)試。符號表的保存主要采用鏈表完成。鏈表成員即是一個(gè)符號項(xiàng)。如圖 26。 現(xiàn)場總線控制系統(tǒng)功能塊組態(tài)軟件設(shè)計(jì) –15– 項(xiàng)目根節(jié)點(diǎn) m_projectItem 在工程樹中的編號 hItem 工程信息 m_Project 工程名 m_projectname 工程目錄 m_projectpath 工程配置 m_projectcfg 程序塊節(jié)點(diǎn) m_fbItem 在工程樹中的編號 hItem 程序塊列表 m_loopTable 控制回路信息LoopInfo …… 控制回路信息LoopInfo 符號表節(jié)點(diǎn) m_SblTblItem 在工程樹中的編號 hItem 符號表信息 m_SblNodeTable 絕對地址 m_strAbsAddress 符號名 m_strSymbol 注釋 m_strVarComment 狀態(tài)表節(jié)點(diǎn) m_StatusItem 在工程樹中的編號 hItem 符號表信息 m_StatusChtTbl 絕對地址 m_strAbsAddress 符號名 m_strSymbol 數(shù)據(jù)類型 m_strVarType 圖 項(xiàng)目數(shù)據(jù)結(jié)構(gòu)圖 現(xiàn)場總線控制系統(tǒng)功能塊組態(tài)軟件設(shè)計(jì) –16– 圖 26 符號狀態(tài)表 功能塊的可視化編輯模塊在下一章詳細(xì)介紹。 通信服務(wù)模塊 通信服務(wù)模塊主要包括實(shí)時(shí)通信服務(wù)和套接字映射接口對象的實(shí)現(xiàn)。 實(shí)時(shí)通信服務(wù)模塊中的各項(xiàng)通信服務(wù)以全局對象的形式,由組態(tài)程序的其他模塊所調(diào)用。當(dāng)組態(tài)程序用戶層需要與網(wǎng)絡(luò)通信時(shí),調(diào)用相應(yīng)服務(wù)的請求原語( Requset)將請求報(bào)文交給實(shí)時(shí)通信服務(wù),而通信服務(wù)在收到通信請求后,將調(diào)用套接字 映射接口對象的數(shù)據(jù)發(fā)送接口將請求報(bào)文發(fā)送到網(wǎng)絡(luò)上。當(dāng)套接字映射接口對象通過數(shù)據(jù)接收接口接收到來自網(wǎng)絡(luò)的通信請求后,將調(diào)用相應(yīng)服務(wù)的指示原語( Indicate)把請求轉(zhuǎn)交給相應(yīng)通信服務(wù),通信服務(wù)收到通信請求后把該請求轉(zhuǎn)交給用戶層。如果該請求需要回應(yīng),用戶層會調(diào)用相應(yīng)通信服務(wù)的響應(yīng)原語( Response)把回復(fù)報(bào)文轉(zhuǎn)交給通信服務(wù),通信服務(wù)通過調(diào)用套接字接口對象的數(shù)據(jù)發(fā)送接口把回復(fù)報(bào)文發(fā)送到網(wǎng)絡(luò)上。當(dāng)套接字映射接口對象通過數(shù)據(jù)接收接口接收到來自網(wǎng)絡(luò)的通信回復(fù)后,將調(diào)用相應(yīng)服務(wù)的確定原語( Confirm)把回復(fù)報(bào)文 交給通信服務(wù),然后再由通信服務(wù)把回復(fù)報(bào)文轉(zhuǎn)交給用戶層。圖 27描述了的通信過程。 現(xiàn)場總線控制系統(tǒng)功能塊組態(tài)軟件設(shè)計(jì) –17– 實(shí)時(shí)通訊服務(wù)的實(shí)現(xiàn) 實(shí)時(shí)通信服務(wù)分為應(yīng)用層實(shí)時(shí)通信服務(wù)和管理服務(wù)兩類。 實(shí)時(shí)通信服務(wù)提供四種服務(wù)原語:請求、指示、響應(yīng)、確定。服務(wù)原語是通信服務(wù)提供給外部的調(diào)用接口,同時(shí)服務(wù)原語也表示一種執(zhí)行方向。在本程序中,將通信服務(wù)設(shè)計(jì)成對象的模式。每個(gè)通信服務(wù)在程序中表現(xiàn)為一個(gè)全局對象,稱為通信服務(wù)對象。每一個(gè)通信服務(wù)對象都具有以下幾個(gè)參數(shù):服務(wù)序號 ID( m_MessageID)、服務(wù)使用標(biāo)志( m_beUsed)、服務(wù)請求完成標(biāo)志( m_reqFinished)。服務(wù)序號 ID參數(shù)表示本服務(wù)被調(diào)用的次數(shù),該參數(shù)初始值為 0,服務(wù)每調(diào)用一次,該值加 1。服務(wù)使用標(biāo)志參數(shù)用于表示通信服務(wù)對象是否正在被調(diào)用,通常情況下,在同一時(shí)刻,通信服務(wù)對象只能響應(yīng)一個(gè)服務(wù)請求,即只有本次服務(wù)調(diào)用結(jié)束通信服務(wù)對象才能響應(yīng)下一個(gè)服務(wù)請求。服務(wù)請求完成標(biāo)志表示本次服務(wù)請求是否結(jié)束,對于確定性服務(wù),其服務(wù)請求需要得到響應(yīng),它有一定的等待時(shí)間,如果服務(wù)請求超過等待時(shí)間仍沒有收到響應(yīng),則認(rèn)為本次請求失 敗。 套接字映射接口對象的實(shí)現(xiàn) (1)套接字映射接口對象 請求 用戶層 確定 響應(yīng) 指示 實(shí)時(shí)通信服務(wù) 套接字映射接口 用戶層 實(shí)時(shí)通信服務(wù) 套接字映射接口 圖 27 EPA 通信過程 現(xiàn)場總線控制系統(tǒng)功能塊組態(tài)軟件設(shè)計(jì) –18– 套接字映射接口對象( PLCSocket)封裝了各個(gè)網(wǎng)絡(luò)端口,如管理功能端口、應(yīng)用層服務(wù)端口。套接字映射接口提供了實(shí)時(shí)通信服務(wù)與 TCP( UDP) /IP 之間的映射。在網(wǎng)絡(luò)層次結(jié)構(gòu)上,套接字映射接口介于應(yīng)用層和傳輸層之間,向上它提供面向所有實(shí)時(shí)通訊服務(wù)的調(diào)用接口,向下它提供向網(wǎng)絡(luò)發(fā)送數(shù)據(jù)的調(diào)用接口。 (2)套接字映射接口對象的報(bào)文發(fā)送管理 組態(tài)程序在調(diào)用管理功能塊服務(wù)和應(yīng)用層服務(wù)發(fā)送數(shù)據(jù)時(shí),需要將數(shù)據(jù)傳送給套接字映射接口對象。套接字映 射接口對象首先按發(fā)送優(yōu)先級,將這些待發(fā)送的數(shù)據(jù)分別緩存在不同的隊(duì)列中,以等待發(fā)送,優(yōu)先級最高的報(bào)文最先發(fā)送。在系統(tǒng)中,定義了三級優(yōu)先級:設(shè)備間周期性信息發(fā)布具有最高的優(yōu)先級,以確??刂葡到y(tǒng)的連接正常運(yùn)行。對于事件信息、設(shè)備信息等的廣播發(fā)布具有次高優(yōu)先級,而點(diǎn)對點(diǎn)之間的單播通信的優(yōu)先級最低。 來自應(yīng)用層服務(wù)的請求報(bào)文,有些是需要確認(rèn)的,有些是不需要確認(rèn)的。對于不需要確認(rèn)的應(yīng)用層服務(wù)請求報(bào)文,套接字映射接口對象只需將該報(bào)文進(jìn)行打包,并發(fā)送出去即可。 對于需要確認(rèn)的應(yīng)用層服務(wù)請求報(bào)文,套接字映射接口對象在向網(wǎng)絡(luò)上 發(fā)送該報(bào)文時(shí),將根據(jù)發(fā)送該消息的服務(wù) ID( ServiceID)以及報(bào)文序號( MessageID),創(chuàng)建一個(gè)定時(shí)器對象,并開始啟動定時(shí),并作以下處理:如果在當(dāng)前報(bào)文響應(yīng)時(shí)間 ActiveMsgTime(即最大響應(yīng)等待時(shí)間)到之前收到正確的響應(yīng)報(bào)文,則由套接字映射接口對象將該響應(yīng)報(bào)文發(fā)送到相應(yīng)的服務(wù)接口,并同時(shí)將定時(shí)器清零,并刪除該定時(shí)器對象;如果在當(dāng)前報(bào)文響應(yīng)時(shí)間 ActiveMsgTime(即最大響應(yīng)等待時(shí)間)到之前收到錯(cuò)誤的響應(yīng)報(bào)文,則由套接字映射接口對象將該響應(yīng)報(bào)文發(fā)送到相應(yīng)的服務(wù)接口,并同時(shí)將定時(shí)器清零, 并刪除該定時(shí)器對象;服務(wù)將不對該報(bào)文進(jìn)行處理,并直接通知用戶功能塊實(shí)例,由用戶功能塊實(shí)例作出判斷并處理。如果定時(shí)時(shí)間超過當(dāng)前報(bào)文響應(yīng)時(shí)間 ActiveMsgTime(即最大響應(yīng)等待時(shí)間),套接字映射對象仍未收到相應(yīng)于該請求報(bào)文的響應(yīng)報(bào)文,則向應(yīng)用層服務(wù)返回一個(gè)負(fù)響應(yīng),及超時(shí)響應(yīng)錯(cuò)誤類型,同時(shí)刪除該定時(shí)器對象。 (3)套接字映射接口對象的報(bào)文接受管理 組態(tài)程序啟動之后,套接字接口對象就打開管理功能塊端口、應(yīng)用層服務(wù)端口,監(jiān)聽來自現(xiàn)場網(wǎng)絡(luò)的所有消息。當(dāng)接收到消息時(shí),由套接字映射接口對象對消息頭進(jìn)行解包,并根據(jù)消息 所接收的端口的不同,將消息分送到不同的功能模塊處理。 套接字映射接口對象接收到來自管理功能塊端口或應(yīng)用層服務(wù)端口的消息后,根據(jù)服務(wù)標(biāo)識( ServiceID)進(jìn)行判斷與處理,如服務(wù)標(biāo)識無效,則將報(bào)文丟棄,不作處理;如果服務(wù)標(biāo)識 ID 有效,則根據(jù)其服務(wù)類型,判斷是否作出應(yīng)答或響應(yīng):如果收到的消現(xiàn)場總線控制系統(tǒng)功能塊組態(tài)軟件設(shè)計(jì) –19– 息是來自其他現(xiàn)場設(shè)備的請求消息,則根據(jù)其服務(wù)類型,判斷是否作出應(yīng)答或響應(yīng);如果收到的消息是組態(tài)程序發(fā)送出去的請求消息的響應(yīng),則根據(jù)消息序號( MessageID)、以及肯定或否定的響應(yīng),由用戶層作出判斷與處理。 信息報(bào)告 模塊 信息報(bào)告模塊將系統(tǒng)收集到各類信息及時(shí)通知給用戶,使用戶能清楚地得知目前的操作狀態(tài)。圖 28 是信息報(bào)告窗口的一個(gè)示意圖。信息報(bào)告窗口分為三個(gè)部分:編譯信息,系統(tǒng)日志信息,設(shè)備日志信息 編譯信息:記錄控制回路組態(tài)信息的編譯信息,報(bào)告編
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1