國 立 交 通 大 學
工業工程與管理學系
碩士論文
浮標守恆裴氏圖到階梯圖的自動轉換設計與實作:
自動灌模系統案例分析
Design and Implementation of Automated Transformation from
Token-Conserved Petri Net to Ladder Diagrams
:
Automated Mould Filling System Case Study
研究生:陳書皓
指導教授:梁高榮 博士
浮標守恆裴氏圖到階梯圖的自動轉換設計與實作:自動
灌模系統案例分析
Design and Implementation of Automated Transformation from
Token-Conserved Petri Net to Ladder Diagrams
:
Automated Mould Filling System Case Study
Student:Shu-Hao Chen
Advisor:Gau-Rong Liang
國立交通大學
工業工程與管理學系
碩士論文
A Thesis Submitted to
Department of Industrial Engineering and Management
College of Management
National Chiao Tung University
in Partial Fulfillment of the Requirements
for the Degree of Master of Engineering in
Industrial Engineering and Management
July 2013
Hsinchu, Taiwan, Republic of China
浮標守恆裴氏圖到階梯圖的自動轉換設計與實作:自動灌模系統案例分析 研究生:陳書皓 指導教授:梁高榮博士 國立交通大學工業工程與管理學系
摘要
理論上,浮標守恆裴氏圖可用來描述彈性製造系統的製造流程。實務上,階梯圖可用 來即時控制製造設備。從浮標守恆裴氏圖產生階梯圖,本論文已發展出一種三階段轉換的 方法。第一階段為利用時域分解法將浮標守恆裴氏圖分解成擁有初始浮標的多張歐氏記號 圖。第二階段為依據動態生產限制的詮釋而設計同步裴氏圖選擇適當的歐氏記號圖以控制 生產設備。在此,浮標守恆裴氏圖與同步裴氏圖合稱為詮釋型裴氏圖。第三階段為將初始 浮標、同步裴氏圖與歐氏記號圖分別轉換為初始階梯圖、同步階梯圖與歐氏階梯圖。為了 驗證新方法的可行性,本論文以自動灌模系統之浮標守恆裴氏圖來產生階梯圖。 關鍵字: 自動化製造系統 歐氏記號圖 浮標守恆裴氏圖 同步裴氏圖 階梯圖Design and Implementation of Automated Transformation from Token-Conserved Petri Net to Ladder Diagrams:
Automated Mould Filling System Case Study
Student: Shu-Hao, Chen Advisor: Dr. Gau-Rong, Liang
Department of Institute of Industrial Engineering & Management National Chiao Tung University
Abstract
Theoretically Token-Conserved Petri net (TCPN) is used for described the manufacturing process of flexible manufacturing system. Practically ladder diagrams are used for controlling manufacturing devices in a real-time way. In this thesis, a 3-step transformation method has been developed for generating ladder diagrams from a given Token-Conserved Petri net (TCPN). First Eulerian marked graphs with initial tokens are generated from the TCPN using temporal decomposition method. Second a synchronized Petri net is designed for selecting a proper Eulerian marked graph to control manufacturing devices according to the dynamic interpretation of production constraints. For this reason, the TCPN and the synchronized Petri net is named interpreted Petri net. Third the initial tokens, the synchronized Petri net, and Eulerian marked graphs are transformed into initial ladder diagram, synchronized ladder diagram, and Eulerian ladder diagrams respectively. For showing the feasibility of this new approach, ladder diagrams of an automated mold filling system are generated from its TCPN.
Keywords:
Automated Manufacturing System Eulerian Marked Graph
Token-Conserved Petri net Synchronized Petri net Ladder Diagram
誌謝
本篇論文得以完成,首先要感謝我的指導教授梁高榮博士這一年來細心的教導與叮嚀。 此外,特別感謝口試委員陳文智老師和王志軒老師參加口試並提供寶貴建議,使本論文能 更加完整。 兩年的研究所生活裡,除了學術上的增長,也認識了許多共患難的好朋友。謝謝我實 驗室的好夥伴王敏,在研究所的兩年幫助我很多很多,一起面對問題一起解決困難。帶來 很多的歡樂與溫馨。謝謝學長姐本欣、宏智、舜龍、張弘、哲慧,婉琪,教導我很多很多 東西,不管是學業上論文上還是生活上面的經驗,有你們才使得我成長很多。謝謝學弟妹 們在實驗室帶來的歡樂。 最後,感謝我摯愛的父母與家人,感謝你們支持我完成研究所的學業,更感謝您們多 年來的付出與鼓勵。謹以本論文獻給我最愛的家人以及陪我伴我度過這段成長的老師和朋 友們。目錄
摘要 ... i Abstract ... ii 誌謝 ... iii 目錄 ... iv 圖目錄 ... vii 表目錄 ... x 第一章 緒論 ... 1 1.1研究動機 ... 1 1.2問題界定 ... 2 1.3研究方法與論文架構 ... 3 第二章 文獻回顧 ... 4 2.1 裴氏圖、歐氏記號圖與浮標守恆裴氏圖 ... 4 2.1.1 裴氏圖的基本元件與性質 ... 4 2.1.2 裴氏圖的數學特性與法則矩陣 ... 6 2.1.3 歐氏記號圖 ... 7 2.1.4 浮標守恆裴氏圖 ... 7 2.1.5 詮釋型裴氏圖 ... 8 2.1.6 浮標守恆裴氏圖、同步裴氏圖與詮釋型裴氏圖關係 ... 9 2.1.7 時域分解法 ... 10 2.2 階梯圖、階梯圖指令與階梯圖和法則的關係 ... 11 2.2.1 可程式邏輯控制器與階梯圖基本元件 ... 11 2.2.2 階梯圖指令 ... 12 2.2.3 裴氏圖、階梯圖與法則的關係 ... 13 2.2.4 三菱廠牌 PLC 介紹 ... 14 2.3 歐氏記號圖到階梯圖的法則轉換方法 ... 15 2.3.1 歐氏記號圖之暫存點屬性分析 ... 15 2.3.2 法則𝐑𝐈、𝐑𝐄與𝐑𝐅 ... 15 2.3.3 法則轉換法 ... 16 2.4 三層式架構轉換法 ... 19 2.4.1 圖件層分析 ... 202.4.2 文件層分析 ... 20 2.4.2.1 可加註語言 ... 20 2.4.2.2 裴氏圖與裴氏圖加註語言的關係 ... 21 2.4.2.3 AutomationML 與 PLCopen 標準 ... 23 2.4.2.4 階梯圖與 PLCopenXML 的關係 ... 23 2.4.3 物件層分析 ... 25 2.4.3.1 JAXB 架構 ... 25
2.4.3.2 IDE Eclipse 與 JAXB 的關係 ... 27
2.4.3.3 PNML 文件到歐氏記號圖物件 ... 27 2.4.3.4 階梯圖物件到 PLCopenXML 文件 ... 28 2.5 自動灌模系統介紹 ... 29 第三章 浮標守恆裴氏圖到階梯圖的轉換設計 ... 31 3.1 浮標守恆裴氏圖、歐氏記號圖、同步裴氏圖與階梯圖的關係 ... 31 3.2 同步裴氏圖與同步階梯圖之設計 ... 32 3.3 歐氏記號圖與階梯圖的物件關係 ... 34 3.3.1 歐氏記號圖的物件組成分析 ... 34 3.3.2 階梯圖的物件組成分析 ... 35 3.3.3 歐氏記號圖與階梯圖的物件對應關係... 37 3.4 浮標守恆裴氏圖到浮標守恆階梯圖轉換兩案例說明 ... 39 3.4.1 液體加熱系統案例分析 ... 39 3.4.2 自動灌模系統案例分析 ... 43 第四章 浮標守恆裴氏圖到階梯圖的轉換實作 ... 52 4.1 解標籤:PNML文件與物件的關係說明 ... 52 4.2 組標籤:物件與PLCopenXML文件的關係說明 ... 54 4.3 物件與初始階梯圖、同步階梯圖與歐氏階梯圖的關係 ... 56 4.4 浮標守恆裴氏圖到階梯圖的轉換流程分析 ... 61 4.5 自動轉換程式之實作 ... 62 4.5.1 程式架構 ... 62 4.5.2 程式流程與物件轉換程式碼設計 ... 64 第五章 自動轉換程式的操作說明與案例操作 ... 69 5.1 自動轉換程式操作流程 ... 69 5.1.1Pipe 產生 PNML 操作說明 ... 69 5.1.2 程式轉換操作說明 ... 70 5.1.3PLCopenXML 產生階梯圖操作說明 ... 72
5.1.4 三菱廠牌 PLC 操作說明 ... 73
5.2 自動灌模系統案例操作 ... 74
第六章 結論 ... 84
6.1 結論 ... 84
圖目錄
圖 1.1 自動灌模系統之浮標守恆裴氏圖 ... 2 圖 2.1 轉移點激發規則……...………5 圖 2.2 初始浮標向量的例子 ... 5 圖 2.3 輸送帶控制系統裴氏圖 ... 6 圖 2.4 法則矩陣範例 ... 6 圖 2.5 狀態方程式範例 ... 7 圖 2.6 浮標守恆裴氏圖的轉移點特性 ... 7 圖 2.7 詮釋型裴氏圖的例子 ... 8 圖 2.8 詮釋型裴氏圖架構 ... 9 圖 2.9 詮釋型裴氏圖的設計流程圖 ... 9 圖 2.10 時域分解法步驟 ... 10 圖 2.11 組合邏輯階梯圖 ... 12 圖 2.12 順序邏輯階梯圖 ... 12 圖 2.13 計時指令範例 ... 12 圖 2.14 自保持迴路與解除自保持迴路指令範例 ... 12 圖 2.15 呼叫指令範例 ... 13 圖 2.16 三菱的 PLC 外觀元件 ... 14 圖 2.17 暫存點的屬性 ... 15 圖 2.18 輸送帶控制系統之歐氏記號圖 ... 16 圖 2.19 輸送帶控制系統之法則矩陣與法則 ... 17 圖 2.20 法則RI轉換成階梯圖 ... 17 圖 2.21 法則RE轉換成階梯圖 ... 17 圖 2.22 法則RF轉換成階梯圖 ... 17 圖 2.23 歐氏記號圖轉換為階梯圖流程 ... 18 圖 2.24 三層式架構轉換法流程 ... 19 圖 2.25 裴氏圖範例 ... 21 圖 2.26 階梯圖範例 ... 23 圖 2.27 JAXB 資料處理流程 ... 26 圖 2.28 組標籤與解標籤流程 ... 26 圖 2.29PNML 文件到歐氏記號圖物件 ... 27 圖 2.30 取得暫存點物件的例子 ... 27 圖 2.31 階梯圖物件到 PLCopenXML 文件 ... 28 圖 2.32 接點物件到文件的例子 ... 28 圖 2.33 自動灌模系統 ... 29 圖 2.34 自動灌模系統示意圖 ... 30 圖 3.1 浮標守恆裴氏圖到浮標守恆階梯圖轉換流程..………...31 圖 3.2 浮標守恆裴氏圖拆解成歐氏記號圖例子 ... 32圖 3.3 歐氏記號圖加入同步裴氏圖 ... 33 圖 3.4 同步階梯圖設計 ... 33 圖 3.5 PNML 綱要經由編譯之物件 ... 34 圖 3.6 PLCopenXML 綱要經由編譯之物件 ... 35 圖 3.7 歐氏記號圖與階梯圖物件對應關係 ... 38 圖 3.8 液體加熱系統之浮標守恆裴氏圖 ... 39 圖 3.9 液體加熱系統分解之歐氏記號圖 ... 40 圖 3.10 合成後之詮釋型歐氏記號圖 ... 40 圖 3.11 設計浮標守恆階梯圖三步驟 ... 41 圖 3.12 轉換後之浮標守恆階梯圖 ... 41 圖 3.13 轉換後之浮標守恆階梯圖 ... 42 圖 3.14 備料系統之浮標守恆裴氏圖 ... 43 圖 3.15 計算可用轉移點程式與輸出結果 ... 44 圖 3.16 計算可觸發轉移點程式 ... 44 圖 3.17 可觸發轉移點集合的繞徑畫面 ... 45 圖 3.18 拉式備料系統之歐氏記號圖 ... 46 圖 3.19 混合式(a)備料系統之歐氏記號圖 ... 46 圖 3.20 混合式(b)備料系統之歐氏記號圖 ... 47 圖 3.21 推式備料系統之歐氏記號圖 ... 47 圖 3.22 拉式備料系統之詮釋型歐氏記號圖 ... 48 圖 4.1 PNML 物件結構 ………...52 圖 4.2 PLCopenXML 物件結構 ... 54 圖 4.3 初始階梯圖物件對應轉換 ... 56 圖 4.4 以歐氏記號圖物件建立法則矩陣 ... 57 圖 4.5 合併法則矩陣 ... 57 圖 4.6 以法則矩陣建立同步裴氏圖物件 ... 58 圖 4.7 法則RE的物件對應轉換 ... 58 圖 4.8 法則RF的物件對應轉換 ... 59 圖 4.9 初始階梯圖建立流程 ... 59 圖 4.10 同步階梯圖建立流程 ... 59 圖 4.11 歐氏階梯圖建立流程 ... 60 圖 4.12 浮標守恆裴氏圖到階梯圖的自動轉換流程 ... 61 圖 4.13 程式的類別圖 ... 63 圖 4.14 自動轉換程式初始介面 ... 64 圖 4.15 各種文件規格錯誤畫面 ... 64 圖 4.16 建立法則矩陣程式碼與輸出結果 ... 65 圖 4.17 初始階梯圖設定程式碼 ... 65 圖 4.18 同步階梯圖設定程式碼 ... 66 圖 4.19 歐氏階梯圖設定程式碼 ... 67
圖 4.20 轉換結果 ... 67 圖 4.21 轉換後的階梯圖 ... 68 圖 5.1 Pipe 繪製裴氏圖………69 圖 5.2 裴氏圖圖件存檔成 PNML 文件 ... 70 圖 5.3 選取 PNML 檔案 ... 70 圖 5.4 輸入 PNML 後產生文件資訊、物件資訊與法則矩陣 ... 71 圖 5.5 轉換後產生階梯圖物件資訊與 PLCopenXML 文件資訊 ... 71 圖 5.6 檔案匯出介面 ... 72 圖 5.7PLCopenEditor 軟體顯示階梯圖 ... 72 圖 5.8 階梯圖寫入 PLC ... 73 圖 5.9 加入控制暫存點之拉式歐氏記號圖 ... 74 圖 5.10 加入控制暫存點之混合式 A 歐氏記號圖 ... 74 圖 5.11 加入控制暫存點之混合式 B 歐氏記號圖 ... 75 圖 5.12 加入控制暫存點之推式歐氏記號圖 ... 75 圖 5.13 自動灌模系統之文件資訊、物件資訊與法則矩陣 ... 76 圖 5.14 程式產生自動灌模系統的階梯圖文件 ... 76 圖 5.15 自動灌模系統之初始階梯圖與同步階梯圖 ... 77 圖 5.16 拉式備料系統之歐氏階梯圖(EMG1) ... 78 圖 5.17 混合式 A 備料系統之歐氏階梯圖(EMG2) ... 79 圖 5.18 混合式 B 備料系統之歐氏階梯圖(EMG3) ... 81 圖 5.19 推式備料系統之歐氏階梯圖(EMG4) ... 82 圖 5.20 不同情境與 PLC 開關的對應關係... 83
表目錄
表 2.1 裴氏圖基本元件圖形 ... 4 表 2.2 階梯圖基本元件與圖件 ... 11 表 2.3 法則以裴氏圖與階梯圖表達的型式 ... 14 表 2.4 裴氏圖元件與文件表達方式 ... 22 表 2.5 階梯圖元件與文件表達方式 ... 24 表 2.6 階梯圖元件與文件表達方式(續) ... 25 表 2.7 自動灌模系統內各裝置的詳細資料 ... 30 表 3.1 PNML 產生的 17 項物件………35 表 3.2 PLCopenXML 綱要產生的 24 項物件 ... 36 表 3.3 轉換所使用歐氏記號圖之物件 ... 37 表 3.4 轉換所使用階梯圖之物件 ... 38 表 3.5 液體加熱系統之暫存點與轉移點意義 ... 39 表 4.1 PNML 文件與物件的關係……….53 表 4.2 PLCopenXML 物件與文件的關係 ... 55 表 4.3 自動轉換 Java 程式套件功能 ... 62 表 4.4 類別 EMG 與 EMG2LD 方法說明 ... 63 表 5.1 四種情境下階梯圖的控制狀態.………83第一章
緒論
本章主要說明本論文的研究動機、目的與論文的整體架構。以下共分成三個部份:1.1
節『研究動機』,1.2 節『問題界定與研究目的』,1.3 節『論文架構』。
1.1 研究動機
對於自動化製造系統(Automated Manufacturing System)而言,主要可分為重覆性製造 系統(Repetitive Manufacturing System)與彈性製造系統(Flexible Manufacturing System)兩大 類[6]。前者為單一產品的大量生產,可以使生產力最大化。後者為多項產品的彈性生產, 以生產設備共用方式進行適量生產。在分析自動化製造系統的運作行為時,歐氏記號圖 (Eulerian Marked Graph)與浮標守恆裴氏圖(Token-Conserved Petri Net)是常用的工具[6],這 兩者比裴氏圖(Petri Net)[43]多了可描述製造系統資訊流與浮標守恆(Token-conserved)兩大 特色,因此可更妥善地表達製造系統。
目前在工業界中,可程式邏輯控制器(Programmable Logic Controller, PLC)[23]是作為製 造控制系統的控制工具。在 PLC 程式語言中,以階梯圖(Ladder Diagram)[22]應用最為廣泛。 由於 PLC 易於維修且方便維護,故 PLC 成為工業界中常見的控制工具。 裴氏圖提供使用者進行全面性的系統規劃。並可進行系統的最佳化[4]。浮標守恆裴氏 圖為裴氏圖的特例,當所有轉移點的輸入暫存點與輸出暫存點數相同時,此種裴氏圖稱為 浮標守恆裴氏圖,其可用來表達製造設備的狀態,所有的浮標總數是不會改變的[7]。梁高 榮[6]於 2011 年提出浮標守恆裴氏圖可用來表達彈性製造系統;梁高榮[7]於同年 10 月提出 時域分解法(Temporal Decomposition Method),將浮標守恆裴氏圖分解成歐氏記號圖,可降 低偵查法則的設計複雜度,利用人工智慧語言 Prolog 開發程式,使得分解過程可以自動化。 因為裴氏圖無法直接控制系統,而階梯圖也無法提供系統規劃與數學性質分析。若能 先以裴氏圖建立自動化控制系統,再轉換為階梯圖應用在製造業中,將能同時具備控制系 統與數學性質分析的優點。故 Shin 與 Meng[45]整理出不同以裴氏圖為基礎,轉換為階梯 圖的方法;張舜龍[8]以重覆性製造系統為例,建立法則轉換法將歐氏記號圖轉換為階梯圖。 但目前沒有人以彈性製造系統為例,將浮標守恆裴氏圖轉換成階梯圖這議題進行研究。 本篇論文將針對彈性製造系統裡浮標守恆裴氏圖轉換成階梯圖進行研究與自動轉換 程式的撰寫。以自動灌模系統為例[12],將浮標守恆裴氏圖利用時域分解法,分解成推式、 拉式與混合式的四張歐氏記號圖,再將此四張歐氏記號圖結合同步裴氏圖(Synchronized Petri Net)轉換為階梯圖並且進行合成。此階梯圖包含了初始階梯圖、同步階梯圖與歐氏階 梯圖,利用同步階梯圖可使工廠可依景氣的好壞彈性選擇推式、拉式或混合式的方式製造 產品。
在自動轉換程式方面,本論文使用 Java 程式撰寫,利用可加註語言(Extensible Markup Language, XML)[25]的技術,使歐氏記號圖和階梯圖以文件的方式在使用者介面上呈現。 再使用 XML 資料繫結技術(Java Architecture XML Binding, JAXB)將文件轉為物件,最後進 行物件的自動轉換。此過程稱為三層式架構轉換法(Three-layer Architecture Approach)[11]。 因此,本論文將提出將浮標守恆裴氏圖轉換成初始階梯圖、同步階梯圖與歐氏階梯圖的方 法,並實作程式使轉換過程得以自動化。
1.2 問題界定
在自動化製造系統中,裴氏圖具有數學建模的特色,階梯圖具有直接控制系統、成本 低與普及度高的特色。故通常使用裴氏圖模擬和描述系統,接著使用階梯圖搭配可程式邏 輯控制器來實際控制系統。管理人員如果僅單用階梯圖是沒辦法進行數學分析,而單用裴 氏圖也無法直接用來控制製造系統。因此許多人開始提出以裴氏圖作為基礎,將裴氏圖轉 換為階梯圖。如此便可進行裴氏圖的數學分析,亦可利用階梯圖實際控制製造系統。 前人以重覆性製造系統為例,發展出以法則轉換法將歐氏記號圖轉為階梯圖。但彈性 製造系統無法以歐氏記號圖表達,需以浮標守恆裴氏圖來描述之,而浮標守恆裴氏圖能進 行拆解成數張歐氏記號圖。故本論文欲以自動灌模系統為例,將辜婉琪設計之自動灌模系 統之浮標守恆裴氏圖拆解成數張歐氏記號圖,並轉換成浮標守恆階梯圖,使浮標守恆階梯 圖擁有原本浮標守恆裴氏圖的浮標行為以控制系統狀態,彈性的選擇生產方式。圖 1.1 為 自動灌模系統之浮標守恆裴氏圖[12]。 在建立轉換浮標守恆階梯圖的方法後,本論文會使用三層式架構轉換法設計從浮標守 恆裴氏圖到浮標守恆階梯圖的自動轉換程式。此方法除了產生同步階梯圖流程與方法尚未 固定,其餘步驟所需的資訊技術都已經成熟。故本論文會以法則轉換法為基礎,加入本論 文提出的同步階梯圖轉換方法,發展新的物件轉換流程。 圖 1.1 自動灌模系統之浮標守恆裴氏圖[12]1.3 研究方法與論文架構
本論文重點主要在浮標守恆裴氏圖到階梯圖轉換法的設計與程式實作。主要研究方法 分四個階段。 第一階段為『說明浮標守恆裴氏圖、歐氏記號圖,PLC 與階梯圖』:根據文獻了解浮 標守恆裴氏圖、歐氏記號圖的定義與數學特性。並整理階梯圖基本指令,與本論文所用到 的迴路指令。 第二階段為『法則轉換法文獻回顧、可加註語言與三層式架構應用』:根據前人所提 出的法則轉換法,分析比較其方法得以應用於本論文的轉換法。另外介紹可加註語言和可 加註文件資料繫結技術,以做到自動轉換。 第三階段為『轉換架構設計』:先透過研究浮標守恆裴氏圖的行為,再結合前人的轉 換法優點,建立浮標守恆裴氏圖轉換到階梯圖的方法。 第四階段為『實作轉換法程式』:將轉換法透過 XML 技術與 JAVA 程式語言實作自動 轉換程式,使得浮標守恆裴氏圖到階梯圖的過程能自動化。 因此透過上述的研究方法,本論文分為六章,其大綱如下。 第一章:『緒論』主要說明本論文的研究動機、界定研究範圍、與論文整體架構。 第二章:『文獻回顧』整理本論文所需要的相關技術和方法,並對基礎觀念做整理。 第三章:『浮標守恆裴氏圖到階梯圖的轉換設計』提出浮標守恆裴氏圖到階梯圖轉換 流程與設計方法。 第四章:『浮標守恆裴氏圖到階梯圖的轉換實作』本章利用第三章所提出的方法,加 上 XML 技術與 XML 文件資料繫結技術 JAXB,搭配 JAVA 程式建立浮標 守恆裴氏圖到階梯圖的自動轉換程式。 第五章:『自動轉換程式的操作說明與案例操作』本章利用自動轉換程式,將自動灌 系統之浮標守恆裴氏圖進行自動轉換。並驗證其結果。 第六章:『結論』整理本論文之貢獻與成果。第二章
文獻回顧
本章主要回顧裴氏圖、階梯圖、可加註語言技術和前人所提出的法則轉換的方法。本 章分四節,2.1 節介紹裴氏圖,2.2 節介紹階梯圖,2.3 節介紹法則轉換法,2.4 節介紹三層 式架構轉換法。2.1 裴氏圖、歐氏記號圖與浮標守恆裴氏圖
本節介紹裴氏圖的基本元件和法則矩陣,以及不同的裴氏圖種類。2.1.1 節介紹裴氏圖 基本元件與性質,2.1.2 節介紹裴氏圖的法則矩陣。2.1.3 到 2.1.5 節介紹不同類型的裴氏圖, 2.1.3 節介紹歐氏記號圖,2.1.4 節介紹浮標守恆裴氏圖,2.1.5 節介紹詮釋型裴氏圖。2.1.6 節介紹時域分解法。2.1.1 裴氏圖的基本元件與性質
裴氏圖於 1962 年由西德數學家 C. A. Petri 提出,其為圖形化的表達工具且具有嚴格數 學計算架構的技術。由於裴氏圖具有可描述製造系統中邏輯運作的特性,包含了事件的同 步性與事件的因果性,以及可對系統作定性與定量的分析。故廣泛應用在製造系統的建模 與分析。 表 2.1 為裴氏圖的元件圖形、元件名稱與意義。裴氏圖是由四種元件組成,分別為暫 存點 (Place)、浮標(Token)、轉移點 (Transition)與連接轉移點和暫存點的方向弧 (Arc)。暫 存點用來表達系統狀態;浮標表達系統目前狀態;轉移點表達事件發生以轉移狀態;方向 弧則是連接暫存點與轉移點,表達事件發生後,狀態轉移的順序。轉移點或暫存點間可以 有多個方向弧連接。若有方向弧是由轉移點指向暫存點,則對於此暫存點而言,稱為輸入 轉移點(Input transition);反之,若有方向弧是由暫存點指向轉移點,則對於此暫存點而言, 稱此轉移點為輸出轉移點(Output transition)。 表 2.1 裴氏圖基本元件圖形 圖形 名稱 表示意義 暫存點(Place) 系統各種狀態 浮標(Token) 系統目前狀態 轉移點(Transition) 觸發系統狀態的改變 方向弧(Arc) 狀態改變的方向裴 氏 圖 的 性 質 可 依 初 始 狀 態 (Initail Marking) 分 為 兩 大 類 : 行 為 性 質 (Behavioral Propertise)與結構性質(Structural Properties)[43]。行為性質與裴氏圖之初始狀態有關,如可 達性(Reachability)、活性(Liveness)等性質之探討。結構性質是與初始狀態無關的性質,如 安全性(Safeness)、限制性(Boundedness)、浮標不滅性(Conservativeness)、可逆性(Reversibility) 與一致性(Consistent)等。 裴氏圖是由轉移點的觸發(Firing)[43]讓浮標移動。浮標的移動表示狀態的轉移[7]。轉 移點主要分為可觸發的(Enabled)與觸發後(Fired)。當轉移點的輸入暫存點都包含有足夠的 浮標時,稱此轉移點為可觸發狀態。在可觸發狀態下的轉移點可以進行觸發的動作。當轉 移點觸發完成後,會使得轉移點的輸入暫存點浮標數減少,輸出暫存點浮標數增加,其中 浮標數增加與減少的數量是由箭號的權重 W 所決定,轉移點的激發規則如圖 2.1 所示。 初始浮標(InitailMarking)為裴氏圖浮標的初始位置,表示系統的初始狀態,也就是裴 氏圖運行前浮標所在的暫存點。初始浮標可表達為向量,如圖 2.2 中 P1 和 P2 行的值為 1, P3 行的值為 0,表示 P1 和 P2 有初始浮標,P3 沒有初始浮標。 圖 2.1 轉移點激發規則 圖 2.2 初始浮標向量的例子
2.1.2 裴氏圖的數學特性與法則矩陣
裴氏圖除了能夠描述系統之動態行為外,亦具有許多良好的數學性質供管理人員使用。 裴氏圖能用代數方程式來表示,此代數方程式稱為狀態方程式(State Equation)[1],其主要 功能是以矩陣代數型式表達系統之動態行為。狀態方程式定義為𝐏(𝐧) = 𝐏(𝟎) + 𝐑𝐓𝐓,其中 P 代表暫存點狀態,P(n)表示觸發後不同轉移點後的狀態,P(0)表示初始狀態,R 表示法則 矩陣(Rule Matrix)[1],T 表示轉移點的觸發。 法則矩陣的列代表轉移點,行代表暫存點。矩陣中的數字代表轉移點觸發後,所對應 的暫存點浮標數的增加或減少。建立法則矩陣的方法主要是來自轉移點的輸入暫存點和輸 出暫存點,若是輸入暫存點則記為-1,若是輸出暫存點則記為+1,若是沒有方向弧連接, 則記為 0。如圖 2.3 為一個輸送帶控制系統裴氏圖,圖 2.4 為其相對應的法則矩陣。可由圖 2.3 知道轉移點 T1 的輸入暫存點為 P3,因此在圖 2.4 中 P3 和 T1 相交處記為-1。轉移點 T1 的輸出暫存點為 P1,因此在圖 2.4 中 P1 和 T1 相交處記為 1,最後因為其他沒有方向弧 連接,故為 0。建立法則矩陣後,便可利用狀態方程式表達系統的行為,其結果如圖 2.5。 圖 2.3 輸送帶控制系統裴氏圖 圖 2.4 法則矩陣範例圖 2.5 狀態方程式範例
2.1.3 歐氏記號圖
歐氏記號圖[5]是特殊的裴氏圖,數學表達為∀t ∈ T: |t ∙| = |∙ t|,主要有兩個重要性質。 第一個性質為每個暫存點的輸入轉移點和輸出轉移點皆只有一個。第二個性質為轉移點的 輸入暫存點與輸出暫存點的個數相同。因輸入暫存點與輸出暫存點的個數相同,法則矩陣 每列的-1、1 之個數會相等;每行亦僅會有一個-1 和 1 的元素。故法則矩陣每行與每列相 加總合為 0。歐氏記號圖可以使擬陣理論[44]之應用更加容易。因此若管理人員使用歐氏記 號圖,會更容易進行系統監控。 裴氏圖來描述製造流程是以資訊流進行控制,而歐氏記號圖中浮標的移動可表示資訊 的流動,如設備的開啟與關閉。浮標的移動可視為物件屬性(Attribute)在不同時間的呈現[7]。 歐氏記號圖中暫存點一進一出的性質表示物件在一個時間點不會有多種屬性,如設備不會 同時開啟且關閉,這樣的性質使得歐氏記號圖有效地描述重覆性製造系統的行為。2.1.4 浮標守恆裴氏圖
梁高榮[7]於 2011 年提出浮標守恆裴氏圖來描述彈性製造系統。近年來,歐氏記號圖 與浮標守恆裴氏圖的技術漸漸用來建構製造系統之模式,可用於資訊流的觀念上。對資訊 流來說,如果使用物件的屬性來描述時,則浮標在暫存點上的移動可以看成是物件屬性在 不同時間的呈現,故所有的浮標總數不會改變。這裡把浮標總數不會改變的裴氏圖稱為浮 標守恆裴氏圖[7]。浮標守恆裴氏圖擁有歐氏記號圖其中一個性質,其性質為轉移點的輸入 暫存點與輸出暫存點的個數相同,如圖 2.6 所示。 圖 2.6 浮標守恆裴氏圖的轉移點特性2.1.5 詮釋型裴氏圖
詮釋性裴氏圖(Interpreted Petri Net)[17]是 1992 年由 René David 與 Hassane Alla 所提出。 詮釋性裴氏圖為一般裴氏圖的延伸,主要是用在描述硬體、軟體與可程式邏輯控制器等實 體系統的輸出、輸入信號互動模式,以輔助使用者進行系統控制邏輯的設計與分析。在自 動化製造系統的應用上,詮釋性裴氏圖可以用在表達 Grafcet。Grafcet[17]為可程式邏輯控 制器的圖形式程式語言之一,其表達方式與設計原理源自於裴氏圖,但本身卻不具有如裴 氏圖一般的分析技術,所以可先由詮釋性裴氏圖進行系統控制邏輯的設計與驗證,再轉換 為 Grafcet 語言載入可程式邏輯控制器,此種作法能夠有助於提升控制器的執行效率。 一個詮釋性裴氏圖的定義包含下列三項性質:同步性(Synchronized)、暫存點時間性 (P-timed)及包含資料處理元件。對於同步性而言,是指裴氏圖轉移點激發與外部事件的發 生存在關聯。ㄧ個同步性裴氏圖只有在轉移點為可激發狀態並且當所對應的外部事件發生 時,轉移點才會進入激發狀態。 對於暫存點時間性而言,是指暫存點具有計時的特性。當浮標進入暫存點後即重新啟 動計時,計時尚未結束以前進入暫存點的浮標為無法利用(Unavailable)的狀態,計時結束 後浮標轉換為可利用(Available)的狀態。 資料處理元件是裴氏圖與實體環境之間的溝通介面。在詮釋性裴氏圖裡,每一個暫存 點對應到一項作業行為 Oi;每個轉移點對應到一組激發條件 Cj。資料處理元件會根據目前 裴氏圖中暫存點的浮標狀態來調整實體系統的整體運作行為 Vk-。此外,資料處理元件也 會接收實體環境中所發生的事件來判斷裴氏圖轉移點激發條件滿足與否。當有轉移點的激 發條件滿足時,會促使該轉移點進行激發並造成浮標狀態產生變化。圖 2.7(a)顯示一個詮 釋性裴氏圖與外部環境的互動關係;圖 2.7(b)說明在詮釋性裴氏圖定義裡,將計時時間 di, 及作業行為 Oi對應至暫存點;外部事件 Ej及狀態轉移條件 Cj對應至轉移點。 圖 2.7 詮釋型裴氏圖的例子
2.1.6 浮標守恆裴氏圖、同步裴氏圖與詮釋型裴氏圖關係
由於詮釋型裴氏圖是將裴氏圖增加實體環境的控制元件,使得可依外部環境情況選擇 需觸發的轉移點。梁高榮[7]設計出控制環境的同步裴氏圖(Synchronized Petri Net),將同步 裴氏圖與浮標守恆裴氏圖進行合成,變成詮釋型裴氏圖。如圖 2.8。 圖 2.8 詮釋型裴氏圖架構 詮釋型裴氏圖的設計主要分三個步驟[12]。第一個步驟是輸入浮標守恆裴氏圖,找出 選項暫存點,計算可能暫存點的數目並加入控制暫存點。第二個步驟是設計同步裴氏圖, 設計環境要素加至選項暫存點。第三個步驟則是合併完成詮釋型裴氏圖。其流程如圖 2.9。 圖 2.9 詮釋型裴氏圖的設計流程圖
2.1.7 時域分解法
梁高榮[7]於 2011 年提出時域分解法(Temporal Decomposition),其主要是將彈性製造 系統之浮標守恆裴氏圖分解成歐氏記號圖。歐氏記號圖可透過擬陣理論來推導出偵查法則 (Monitor Rule)[44],但直接從浮標守恆裴氏圖設計出偵查法則是很困難的。故將其分解成 數張歐氏記號圖,再將偵查法則合成,便可降低偵查法則之設計複雜度。 時域分解法可以很容易在時域裡將浮標守恆裴氏圖分解出歐氏記號圖,其原理是建立 在浮標守恆裴氏圖的浮標數的守恆與降低轉移點兩大特色上。其主要分成三個步驟,第一 步驟為計算可用轉移點集合,也就是找出選項暫存點與選項轉移點,利用選項暫存點互斥 的特性降低轉移點,找出可用的轉移點集合與可分解的歐氏記號圖上限。第二步驟為計算 可觸發轉移點集合,也就是將每一組可用轉移點集合刪除不可通行之轉移點。第三步驟為 產生歐氏記號圖,利用法則矩陣刪除非可觸發轉移點集合之轉移點與整行為 0 之暫存點, 便可得到歐氏記號圖。其步驟如圖 2.10。 對計算可用轉移點集合來說,這是利用選項暫存點的互斥特性來產生多組可用轉移點 集合。可用轉移點集合的數目代表分解出來歐氏記號圖的張數上限。對計算可觸發轉移點 集合來說,在可用轉移點集合裡用加法方式來增加轉移點數目,進而建構出可觸發轉移點 集合。最後將可觸發轉移點集合與法則矩陣整合,產生多張歐氏記號圖。 圖 2.10 時域分解法步驟2.2 階梯圖、階梯圖指令與階梯圖和法則的關係
本節先介紹可程式邏輯控制器與階梯圖的基本元件。接著說明本論文中會使用到的階 梯圖指令。然後說明裴氏圖和階梯圖如何以法則來表達。最後介紹本論文使用的三菱廠牌 PLC。2.2.1 節說明可程式邏輯控制器與階梯圖基本元件,2.2.2 節說明階梯圖的指令,2.2.3 節說明裴氏圖、階梯圖與法則之間的關係,2.2.4 節介紹三菱廠牌的 PLC。2.2.1 可程式邏輯控制器與階梯圖基本元件
可程式邏輯控制器是工業界中用來自動化控制的數位邏輯控制器,其程式設計語言以 階梯圖為主。PLC 主要將外部的輸入裝置如按鍵、感應器、開關及脈波等的狀態讀取後, 依這些信號的狀態或數值寫入記憶體中,以微處理機執行邏輯、順序、計數及算式運算, 產生所定應的輸出信號到輸出裝置。其運作方式可分為三個步驟,第一個步驟是檢查輸入 端元件所連接之設備開關,如感應器狀態,並將其狀態寫入記憶體中。第二個步驟再根據 內部儲存的程式,通常為階梯圖,透過邏輯運算出可運行的結果,再將此結果寫入記憶體 中。第三個步驟將此結果輸出信號到外部設備以控制系統。 PLC 的邏輯運算是透過階梯圖[22]程式語言。階梯圖語言的基本元件包含左電軌(Left Power Rail)、右電軌(Right Power Rail)、接點(Contact)、和線圈(Coil)。表 2.2 為階梯圖的基 本元件圖型。 左電軌與右電軌分別代表系統電流的輸入和輸出。接點是接收輸入端設備信號的元件, 當外部輸入信號時,會進行開啟和關閉兩種狀態。輸入接點依照邏輯組合的不同來控制輸 出線圈的動作。其編碼方式通常是以 X 加上編號的方式。常開接點為外部輸入為開啟時, 此接點會為開啟的狀態。而常開接點的外部輸入為關閉時,此接點會為關閉的狀態。 線圈是輸出信號到外部設備的元件,代表系統目前的動作也就是所處狀態。其編碼方 式是 Y 加上編號的方式。 表 2.2 階梯圖基本元件與圖件 元件圖形 名稱 功能說明 | | 左、右電源軌(Left/Right Power Rail)
系統電流的輸入端和輸出端。 常開接點
(Normal Open Contact)
為 PLC 與外部輸入點對應的內部記憶體儲存裝 置,透過外部輸入信號進行開啟和關閉兩種狀態。 常閉接點
(Normal Close Contact)
輸出線圈(coil) 為 PLC 與外部輸出點對應的內部記憶體儲存裝
在階梯圖邏輯[36]方面可分為組合邏輯(Combinational Logic)和順序邏輯(Sequential Logic),組合邏輯階梯圖可將輸入裝置與輸出裝置藉由不同的邏輯設計法組合而成。如圖 2.11。而順序邏輯階梯圖具有回授結構之迴路,將輸出結果拉回當輸入條件。以圖 2.12 為 例,當 X000 開啟且 X001 關閉時,Y000 就會開啟。而 Y000 開啟後會當作接點的輸入條 件,故 X000 不管開啟或關閉皆不會影響 Y000,稱之自保持迴路。 圖 2.11 組合邏輯階梯圖 圖 2.12 順序邏輯階梯圖
2.2.2 階梯圖指令
階梯圖中有許多的指令可以應用,接著會介紹本論文會應用到的指令,其包括計時指 令、自保持迴路指令、自保持迴路解除指令與呼叫指令。 計時指令是使用在線圈上面,其名稱使用 T 與 K 單位時間。當滿足輸入接點條件時, 會計時 K 單位時間後,才會開啟線圈 T。如圖 2.13。 圖 2.13 計時指令範例 使用指令 SET 可讓線圈自保持迴路,而指令 RST 可讓線圈解除自保持迴路。如圖 2.14 中,當接點 X000 開啟時,線圈 Y000 直接以自保持迴路持續開啟。當接點 X001 開啟,則 線圈 Y000 會解除自保持迴路而關閉。 圖 2.14 自保持迴路與解除自保持迴路指令範例呼叫指令主要是將階梯圖分成主程式與副程式兩個部份。用到的指令有 CALL、FEND、 標籤 P 與 SRET。當滿足接點的輸入條件時,使用 CALL 就會呼叫標籤 P,使程式執行副 程式 P 的部份。如圖 2.15 中,FEND 以上為主程式,標籤 P1 與 SRET 之間為副程式。當 主程式執行到接點 X001 開啟時,接著會呼叫標籤 P1,則程式會跳到副程式 P1 的部份開 始執行。 圖 2.15 呼叫指令範例
2.2.3 裴氏圖、階梯圖與法則的關係
前面分別介紹了裴氏圖與階梯圖,而裴氏圖與階梯圖皆能以法則的方式表達。因此可 利用法則做為裴氏圖與階梯圖之間的轉換橋樑。 如果以法則來表示裴氏圖,以裴氏圖的轉移點來看可依輸入暫存點轉移點與輸出暫存 點找出兩條法則,第一條為輸入暫存點代表法則的條件,而轉移點代表法則的事件。第二 條為轉移點代表法則的條件,輸出暫存點代表法則的事件。如表 2.3 所示,T1 的輸入暫存 點為 P1 和 P2,第一條法則為 P1^P2→T1。T1 的輸出暫存點為 P3 和 P4,第二條法則為 T1 →P3^P4。 如果以法則來表示階梯圖,接點為法則的條件,線圈為法則的事件。一條法則就代表 一條階梯。如表 2.3 所示,P1 與 P2 為接點,T1 為線圈,故第一條法則為 P1^P2→T1。T1 為接點,P3 與 P4 為線圈,故第二條法則為 T1→P3^P4。表 2.3 法則以裴氏圖與階梯圖表達的型式
2.2.4 三菱廠牌 PLC 介紹
本論文使用的是三菱廠牌,型號為 FX3U 的 PLC[15],本論文之階梯圖都是以此型號 的規格撰寫。本節介紹內容主要是會使用到的外觀元件。 如圖 2.16 所示,此 PLC 外觀包含三個部分,分別為控制主機,輸出燈號與輸入開關。 對於控制主機來說,這是存放人員撰寫的階梯圖,並依此階梯圖進行邏輯運算。對於輸出 燈號來說,這是對應到階梯圖中的線圈。若燈號對應到的線圈為開啟,則此燈就會開啟。 對於輸入開關來說,這是對應到階梯圖的接點。若輸入開關為開啟時,則對應到的接點就 會是開啟的狀態。 圖 2.16 三菱的 PLC 外觀元件 裴氏圖 法則 階梯圖 P1∧P2→T1 T1→P3∧P42.3 歐氏記號圖到階梯圖的法則轉換方法
本節主要說明前人所提出如何將歐氏記號圖轉換為階梯圖的方法。2.3.1 節主要說明歐
氏記號圖之暫存點屬性分析,2.3.2 節說明法則RI、RE與RF,最後 2.3.3 節說明法則轉換法。
2.3.1 歐氏記號圖之暫存點屬性分析
本小節將說明暫存點的屬性,歐氏記號圖的暫存點屬性分為三大類。分別為可觀測 (Observable)且可直接量測(Directly Measurable)、可觀測但可間接量測(Indirectly Measurable) 與不可觀測(Unobservable)的屬性。這些屬性的關係如圖 2.17。 圖 2.17 暫存點的屬性 對於可觀測且可直接量測屬性的暫存點而言,這些屬性是系統能直接控制的,如設備 的開啟與關閉。故這類型的暫存點可轉換為階梯圖元件,使 PLC 能進行控制。對於可觀測 但可間接量測的屬性而言,其無法得知目前系統的狀態,但可透過其他屬性來推測目前狀 態。如水槽的水位或液體的溫度。對於不可觀測屬性的暫存點而言,這些屬性不屬於系統 內,是系統無法控制的。如工人進行補料或人員之間的訊息傳遞。若將此類暫存點轉成階 梯圖,對於 PLC 是沒有任何意義。因此這類的暫存點必需刪除。 若歐氏記號圖具有可觀測且可直接量測的暫存點屬性,則稱之OMD型歐氏記號圖;若 歐氏記號圖具有可觀測但可間接量測的暫存點屬性,則稱之OMI型歐氏記號圖;若歐氏記 號圖具有不可觀測屬性的暫存點,則稱 U 型歐氏記號圖。將歐氏記號圖轉為階梯圖時,必 需判斷此歐氏記號圖是屬於那一類型。如果是 U 型歐氏記號圖,則需刪除不可觀測屬性的 暫存點,將其轉為OMD或OMI型歐氏記號圖,才能進行歐氏記號圖到階梯圖的轉換。
2.3.2 法則
𝐑
𝐈、𝐑
𝐄與𝐑
𝐅 本節說明如何設定法則RI、RE與RF,利用法則便能將歐氏記號圖轉換為階梯圖。首先 將裴氏圖的初始浮標狀態設定成法則RI,其中下標 I 為 Initial 之意。此法則的條件是放 X000, 表示系統啟動。事件則是放初始暫存點並以「且」連接。「且」的符號以「∧」表示[29]。 因為歐氏記號圖的初始狀態只有一種,故每張歐氏記號圖只有一條法則RI。以圖 2.18 輸送帶控制系統為例[41],可知 P1、P5、P7 與 P9 為初始暫存點,故法則RI為 X000 →P1∧P5∧P7∧P9, 表示當 X000 開啟時,則 P1、P5、P7 與 P9 會同時開啟。 轉移點觸發條件的法則稱為RE,其中下標 E 為 Enabled 之意,將轉移點的輸入暫存點 當作法則條件。以圖 2.16 為例,T2 的輸入暫存點為 P1 與 P5,T2 的法則RE可寫成 P1∧P5→T2, 代表著當 P3 有浮標時則開啟 T1。而轉移點觸發後的狀態法則稱為RF,其中下標 F 為 Fired 之意。其條件設定為轉移點。而事件則為轉移點的輸入暫存點和輸出暫存點以「且」連接, 但是輸入暫存點要以「非」表示[29],。以圖 2.16 為例,T2 的輸出暫存點為 P2 與 P4,輸 入暫存點 P1 與 P5,故法則RF可寫成 T2→P2∧P4∧ P1̅̅̅̅ ∧ P5̅̅̅̅,代表當 T2 開啟時,P2 和 P4 開啟,P1 與 P5 關閉。故每一個轉移點能寫出一個法則RE與法則RF。 圖 2.18 輸送帶控制系統之歐氏記號圖
2.3.3 法則轉換法
本節會根據前一節所提到的法則介紹法則轉換法,將歐氏記號圖轉換成階梯圖。浮標 行為可分為(1)初始浮標,(2)轉移點的觸發條件,(3)觸發後的狀態三部分。對於初始浮標 來說,這是指系統在開啟的時候,浮標所在的暫存點表示系統的初始狀態。對於轉移點的 觸發條件來說,這是指若轉移點的輸入暫存點皆有浮標時,則此轉移點便可觸發。而以系 統的物理意義來說,表示進行作業中。對於觸發後的狀態而言,這是指轉移點觸發後,浮 標會從轉移點的輸入暫存點移動到輸出暫存點。表示作業結束,進入另一個狀態。因此法 則轉換法將這三個部分轉換為階梯圖,使階梯圖擁有歐氏記號圖的浮標行為。 在轉換之前,必須由暫存點的屬性分類歐氏記號圖。由 2.3.1 節可知,若歐氏記號圖 為 U 型,則必須刪除不可觀測屬性的暫存點。使得歐氏記號圖變成OMD型或OMI型才可以 進行轉換。 以圖 2.16 的歐氏記號圖為例,首先以 2.3.2 節可知法則RI為 X000 →P1∧P5∧P7∧P9,接 著將此歐氏記號圖以法則矩陣表達。首先將此歐氏記號圖以法則矩陣表達。如圖 2.19(a)。 每一個轉移點皆能產生一個法則RE與法則RF。以 T1 轉移點來說,P3 的值為-1,代表 P3 為輸入暫存點。故法則RE為 P3→T1。P1 的值為 1,代表 P1 為輸出暫存點。故法則RF為 T1→P1∧ P3̅̅̅̅。將每一個轉移點都轉成法則其結果如圖 2.19(b)。圖 2.19 輸送帶控制系統之法則矩陣與法則
將法則RI加上每一個轉移點的法則RE和法則RF後,將這些法則以階梯圖表達。以RI:
X000 →P1∧P5∧P7∧P9 為例,將其轉成階梯圖如圖 2.20。法則的條件當作接點,法則的結 果當作線圈,並利用 SET 指令開啟線圈。故 X000 為接點,Y001、Y005、Y007 與 Y009 為 SET 線圈。
圖 2.20 法則RI轉換成階梯圖
以法則RE:P3→T1 為例,將其轉成階梯圖如圖 2.21。一樣以法則的條件當作接點,法
則的結果當作線圈,並利用 SET 指令開啟線圈。故 Y003 為接點,T1 為 SET 線圈。
圖 2.21 法則RE轉換成階梯圖
以法則RF:T1→P1∧ P3̅̅̅̅為例,將其轉成階梯圖如圖 2.22。以法則的條件當作接點,法
則的結果當作線圈,並利用 SET 指令開啟線圈,RST 指令關閉線圈。因浮標的移動是從 P3 移動到 P1,故 P1 在階梯圖裡必需關閉。故 T1 為接點,Y001 為 SET 線圈,Y003 為 RST 線圈。
將法則RI加上每一個轉移點的法則RE和法則RF後,將這些法則以階梯圖表達,便能使 此階梯圖擁有歐氏記號圖的浮標行為。而只要原本的歐氏記號圖沒有鎖死[47],則系統必 可以回到初始狀態,即可循環製造。整體轉換流程可以整理如圖 2.23。
2.4 三層式架構轉換法
三層式架構轉換法[11]是以 Java 程式為基礎,進行裴氏圖到階梯圖的自動轉換方法。 由於本論文所使用的歐氏記號圖與浮標守恆裴氏圖皆為裴氏圖的一種,故亦可透過此轉換 法進行自動轉換。下面將介紹三層式架構轉換法的背景。 因為在以前歐氏記號圖到階梯圖的自動轉換中,兩種圖形之間並沒有共同對照的標準, 故難以執行自動化轉換。然而,隨著 XML 技術的發展,兩種圖形都可以使用 XML 文件表 達。裴氏圖加註語言(Petri Net Markup Language, PNML)[37]為裴氏圖的 XML 文件表達法, 而 PLCopen 加註語言(PLCopen eXtensible Markup Language, PLCopenXML)[34]為階梯圖的 XML 文件表達法。因此在自動轉換上便有共同對照的標準。之後隨著文件繫結技術 JAXB 的發展,可將文件轉換為 Java 物件,並透過法則進行裴氏圖物件到階梯圖物件的轉換。因此,此方法的流程是先將裴氏圖以 PNML 文件形式表達,再透過 JAXB 的解編 (Unmarshal)功能[31]將此 PNML 文件的元素轉換為 Java 物件。再利用法則轉換法進行物件 的轉換。最後將轉換後的物件以 JAXB 的組編(Marshal)功能[31]轉換為 PLCopenXML文件, 再將此 PLCopenXML 文件以階梯圖的圖形表達以完成轉換流程,如圖 2.24 所示。由於轉 換過程牽涉到圖件層、文件層與物件層,故稱為三層式架構轉換法。另外,在此流程中, 除了物件的法則轉換會隨不同的轉換方法有所不同,其餘在圖件、文件到物件之間的轉換 程序都已經發展成熟。2.4.1 節為圖件層分析。2.4.2 節為文件層分析。2.4.3 節為物件層分 析。 圖 2.24 三層式架構轉換法流程
2.4.1 圖件層分析
在圖件層中,裴氏圖轉階梯圖的過程沒有共同的對照標準,因此只可透過邏輯轉換的 方式達成轉換。由 2.3.3 節可知,法則可作為裴氏圖到階梯圖的轉換橋樑。故使用法則進 行轉換僅在人工處理上較為簡單,但在自動轉換上卻相當困難。不過隨著可統一標準的 XML 文件出現後,若把裴氏圖與階梯圖分別用 XML 文件型式表達。且因圖件與物件的轉 換為一對一關係,則自動轉換便可基於這個一對一關係制定統一的標準來撰寫程式,達到 自動轉換裴氏圖到階梯圖的目的。因此裴氏圖到階梯圖的轉換就可進入到文件層的分析。2.4.2 文件層分析
對於文件層分析來說,這是指將裴氏圖與階梯圖以 XML 文件的方式表達。因為 XML 具有統一標準的優點,且可以跨平台傳遞資料,因此自動轉換程式便可基於此統一標準進 行轉換。本節共分三小節。首先在 2.4.2.1 節介紹可加註語言,接著 2.4.2.2 節說明裴氏圖 與裴氏圖加註語言,2.4.2.3 節說明 AutomationML 與 PLCopen 標準,最後在 0 節介紹階梯 圖與 PLCopen 加註語言。2.4.2.1 可加註語言
XML 是一種標註語言(Markup Language),其最早是由全球資訊網聯合會(World Wide Web, W3C)[38]所發展出來,目的是要制定標準文件規格達到快速且正確的電子交換。XML 的前身為標準廣義加註語言(The Standard Generalized Markup Language, SGML),而 XML 簡化了 SGML 中複雜與少用的特性。讓使用者可以簡單的定義需要的文件型態。 XML 主要有三個用途,分別為豐富檔案(Rich Documents)、後設資料(Metadata)與配置 文件(Configuration Files)。豐富檔案可以自定檔案描述並使其更豐富。後設資料可描述其他 檔案或網路資訊。配置文件可描述軟體設定的參數。 XML 為階層式的樹狀結構,每份 XML 文件都會包含 XML 宣告(XML Declaration)。 以表 2.4 的 PNML 文件為例,其 XML 宣告為<?xml version="1.0" encoding="ISO-8859-1"?>, xml version 是指讀取 XML 文件時需要的規範,encoding 則是指 XML 文件中的字串所必需 遵循的規範。而在 XML 中的每一列的資料項稱為元素(Element),這些元素都會包含一個 起始標籤(start-tags)與一個終止標籤(End-tags)。起始標籤以<元素名稱>命名,終止標籤以 </元素名稱>命名。 XML 中主要特有的優點是有良好規格(Well-formed)文件與有效(Valid)文件。良好規格 這是指文件都可以符合 XML 所要求的文件規格。這些文件的規格可見[25]。對於有效文件 這是指文件有符合交換雙方所訂定的規範。而交易雙方也會設定驗證機制來確定傳送的文 件是否有符合規範。文件定義技術將於下面說明兩種驗證機制。
驗證機制主要有文件型別定義(Document Type Definition, DTD)[20]與 XML 綱要(XML schema)[26]兩種。DTD 的作用在定義與規範特定 XML 文件如何編排撰寫。DTD 的驗證機
制是透過在 XML 文件的宣告與內文之間加入 DTD 語言,來定義文件規範,故 DTD 語言 是內嵌在文件中。因此交易雙方會接收到 XML 文件時,會先讀取文件宣告部分,再讀取 DTD 語言,最後使用 DTD 語言驗證文件是否符合規範。XML 的驗證機制是透過外部檔案 XSD(XML Schema Definition)來驗證文件。因此交易雙方收到 XML 文件時,讀取文件宣告 部分後,就會透過外部檔案 XSD 來驗證文件。 XML 綱要在文件規範上會比 DTD 更好更清楚[25],且將文件轉換為物件時,綱要可 以透過 JAXB 來產生各種所需的物件[26]。因此目前通常採用 XML 綱要作為驗證機制。
2.4.2.2 裴氏圖與裴氏圖加註語言的關係
裴氏圖加註語言是由國際標準組織(International Organization for Standardization, ISO) 和國際電工協會(International Electrotechnical Commission, IEC)依照 ISO/IEC 15909 標準[33] 制定。每份 PNML 文件即代表一個裴氏圖。故在 PNML 中也包含這些元件。 本論文使用裴氏圖繪圖軟體 PIPE[39]繪製裴氏圖。PIPE 軟體的優點為當繪製完裴氏圖 後,可直接以 PNML 文件的儲存方式儲存。同樣地,PIPE 亦可匯入已寫好的 PNML 文件, 以圖件方式開啟並顯示裴氏圖,達到圖件與文件的互相轉換。 接下來舉一個裴氏圖的圖件要如何以 PNML 文件方式表達。而在 PNML 文件中分別 用標籤<place>、<transition>、<initialMarking>與<arc>來代表暫存點、轉移點、初始符標與 方向弧。圖 2.25 的文件表達方式整理如表 2.4 所示。 接著說明會使用的元素屬性。首先由表 2.4 可看出每一項標籤都會有附屬標籤如 id, 此屬性的目的主要是給電腦所辨識。但使用人員在電腦所看到的圖形名稱則是以元素 <name>下的子元素<value>所表示。其次裴氏圖的初始浮標是利用<initialMarking>下的子 元素<value>所表示,元素<value>內的數字表示暫存點在初始狀態時的浮標數,0 代表沒有 符標,1 代表有浮標。方向弧內包含了 source 和 target 屬性,用來表示轉移點和暫存點之 間浮標轉移的方向。若 source 是轉移點,則 target 就會是暫存點,且此暫存點為轉移點的 輸出暫存點,反之若 target 是轉移點,則 source 就會是暫存點,且此暫存點為轉移點的輸 出暫存點。因此可利用這兩個屬性來建立法則矩陣。 圖 2.25 裴氏圖範例
表 2.4 裴氏圖元件與文件表達方式
元件名稱 元件圖形 PNML 文件內容
暫存點
轉移點
2.4.2.3 AutomationML 與 PLCopen 標準
AutomationML(Automation Markup Language)[27]為一種以 XML 為基礎的文件標準格 式,可儲存及交換工廠機械設備的資訊。AutomationML 主要目的在整合一些工程工具, 如 PLC 、 機 械 手 臂 控 制 (Robot Control)[28] 等 。 其 格 式 分 別 為 佈 局 (Topology) 、 幾 何 (Geometry) 、運動學(Kinematics)與邏輯(Logic)。
PLCopenXML 為 AutomationML 之邏輯部份使用的標準,為 PLCopen[34]所制定的規 範。PLCopen 為一個工業控制程式相關主題的國際性組織,其中利用 IEC61131-3[21]中統 一的標準規範,訂定了 PLCopen 加註語言。PLCopen 加註語言為 XML 文件模式,提供了 統一的文件格式給所有人使用。並且可跨平台與網際網路傳送,應用於不同的領域。本論 文 XML 轉換的部份與 PLC 邏輯有關,故使用 PLCopen 加註語言做為轉換的依據。
2.4.2.4 階梯圖與 PLCopenXML 的關係
本論文使用 PLCopenEditor 軟體繪製階梯圖,並且可以進行 PLCopenXML 與階梯圖的 轉換。儲存的格式以 PLCopenXML 文件儲存;亦可使用軟體匯入 PLCopenXML 文件以階 梯圖方式呈現。如圖 2.26 的階梯圖,以 PLCopenXML 文件表達可整理如表 2.5 所示,可 看出階梯圖與 PLCopenXML 文件具有一對一對應的關係。故可以互相轉換。 圖 2.26 階梯圖範例 由表 2.5 可知 PLCopenXML 文件開頭為基本資訊。本論文在歐氏記號圖與階梯圖的轉 換過程,主要使用的是元素<body>下的四個子元素<leftPowerRail>、<rightPowerRail>、 <contact>與<coil>,分別為左電軌、右電軌、接點與線圈。這四個元素都有屬性 localId, 其功用是給電腦辨識其名字,使用人員所看到的接點和線圈名稱則是由子元素<variable> 所表示的名稱。接著屬性 height 和 width 分別為圖形元件的高度與寬度,子元素<position> 則是圖形元件的座標。以<contact>為例,其<reflocalId>為 1,表示連線起點的圖件是 <leftPowerRail>。若連線沒有跨行,如 T1 到 P1 的連線,則<connection>有兩個子元素 <position>,第一個是指連線終點座標,第二個則是連線起點座標。若有跨行,如 T1 到 P2 的連線,則<connection>有四個子元素<position>,第二和第三個<position>代表圖型跨行中 線端點座標。最後元素<coil>中有屬性 storage,如果為 set,則表示此線圈設定為前面所提 的 SET 指令線圈;若為 reset,則表示為 RST 指令線圈,其圖件外觀也會如 P1 和 P2 所示 有所不同。表 2.5 階梯圖元件與文件表達方式
元件名稱 元件圖形 PLCopenXML 文件內容
leftPowerRail
rightPowerRail
表 2.6 階梯圖元件與文件表達方式(續) coil
2.4.3 物件層分析
在 2.4.2 節說明了裴氏圖和階梯圖的標準文件規範,在轉換過程中可依此標準進行裴 氏圖到階梯圖的轉換。然而,使用文件進行轉換時,若裴氏圖不同時,則其文件也會不同。 故必須針對每個不同的文件撰寫程式才可以得到所需的元素和屬性,導致程式設計上較為 困難。因此若可以將 PNML 文件中的元素轉換為物件,則可以透過判斷物件的屬性,決定 要轉換為何種階梯圖物件,且程式只需撰寫一次。本節在 2.4.3.1 節先說明文件和物件如何 透過 JAXB 互相轉換。在 2.4.3.2 節介紹 Eclipse 在 2.4.3.3 節介紹如何將 PNML 文件轉換到 物件,在 2.4.3.4 節介紹階梯圖物件轉換到 PLCopenXML 文件。2.4.3.1 JAXB 架構
JAXB 技術主要提供兩種功能,第一個是 XML 綱要與 Java 類別之間的繫結(Binding), 第二個則是 XML 文件和 Java 物件的對應轉換關係,讓程式開發人員能快速地將 XML 中 的資料整合到 Java 程式中進行處理。對於提供 XML 綱要與 Java 類別之間的繫結來說, JAXB 提供 XJC 和 Schemagen 兩種編譯器(Compiler)。前者可以將 XML 綱要轉換為 Java
類別,後者可以將 Java 類別轉換為 XML 綱要。因為本論文只有將 PNML 和 PLCopenXML 的綱要生成 Java 類別,所以不會使用 Schemagen 功能。JAXB 資料處理的流程如圖 2.27。
圖 2.27 JAXB 資料處理流程
對於 XML 元素和 Java 物件的對應關係來說,JAXB 提供組標籤與解標籤功能。前者 可將 Java 物件轉換為 XML 文件,後者可將 XML 文件轉換為 Java 物件。透過這兩種功能, 可進行文件和物件之間的轉換。組標籤與解標籤的流程如圖 2.28。
2.4.3.2 IDE Eclipse 與 JAXB 的關係
Eclipse 是著名跨平台的整合式開發環境(Integrated Development Environment, IDE)。其 主要是以 JAVA 語言所開發。Eclipse 本身是一個框架平台,支援眾多的外掛程式,亦支援 各個作業系統,使多數使用者可利用 Eclipse 設計自己的 IDE。
在 2.4.3.1 小節有完整介紹 JAXB 的架構,而 JAXB 相關工具大多會使用 Eclipse,因為 Eclipse 擁有完整 JAXB 功能,可以直接顯示在 Eclipse 介面上,去除掉使用 JAXB 在命令 提示字元輸入命令的時間。而在處理一個 XML Schema 時,JAXB 與 Eclipse 差異不大,但 處理多個 XML Schema 時,Eclipse 會變得簡單很多。
2.4.3.3 PNML 文件到歐氏記號圖物件
本節說明如何以 Java 程式將 PNML 文件解編到歐氏記號圖物件。在解編 PNML 文件 時,首先在 Java 程式內產生物件 JAXBContext,其為 JAXB 程式的起點。在產生的時候, 必須指定 PNML 綱要產生的類別的套件路徑,如圖 2.29 第一行所示。使得解編 PNML 文 件後的物件會遵循這些類別的定義。接著第二行程式產生 Unmarshaller 物件,使得在第三 行程式呼叫 Unmarshaller 物件中的方法 unmarshal()解標籤文件轉換為物件,再把轉換後的 物件資訊儲存到 Pnml 物件中。最後第四行再利用 Pnml 物件呼叫方法 getNet()得到暫存點、 轉移點、方向弧等物件的資訊,再以資料結構的清單(List)形式儲存到 NetType 物件。透過 這四行程式,便可將 PNML 文件中的所有元素轉換為 Java 物件,提供給人員使用。 圖 2.29PNML 文件到歐氏記號圖物件 圖 2.30 取得暫存點物件的例子 下面以表 2.4 的 PNML 文件為例,當文件匯入程式後,透過前段所述的四行程式,其 轉換後的物件會儲存在 NetType 物件中。若要取得轉換後的物件,則可利用 NetType 的 getPlaceOrTransitionOrArc()方法取得物件。以取得暫存點物件為例,其程式碼如圖 2.29 黑
線取選部分。由於 Java 程式的運算子 instanceof 是用來比對物件是否屬於特定的類別[30]。 因此利用此運算子,依序比對 NetType 中的物件是否屬於類別 PlaceType。若物件屬於 PlaceType 類別,則印出其屬性,圖 2.30 為結果。 同理,如需轉移點物件與方向弧物件也可透過前面的方式取得,並且印出其屬性。另 外,由這個例子可知文件在解編之後,的確是以物件的形式儲存,而且是 PNML 綱要產生 的類別的實體,否則無法使用運算子 instanceof 進行比對。
2.4.3.4 階梯圖物件到
PLCopenXML 文件
接下來說明如何由階梯圖物件轉換到 PLCopenXML 文件。圖 2.31 中第一行程式首先 產生一個物件 JAXBContext,並指定 PLCopenXML 綱要產生類別的套件路徑。第二行程式 產生組標籤物件 Marshaller。第三行程式產生一個物件 ObjectFactory,這個物件的功能是 用來產生階梯圖物件。為了使輸出文件符合 PLCopenXML 綱要的規範,可透過物件 ObjectFactory 產生符合綱要規範所需的物件,包含 Project、FileHeader、ContentHeader、 Instance、Types、Pou、Body 與 LD 等物件,並設定基本資訊,如圖 2.31 第一個框選的部 分。接下來以產生一個接點物件為例,其屬性設定仿照表 2.5 的接點 T1,如圖 2.31 右邊所 示。再來使用 Marshaller 物件的方法 setProperty(“jaxb.formatted.output”, Boolean, True),使 輸出的文件具有自動換行與縮排的規格。最後使用方法 marshal 組標籤階梯圖物件為 XML 文件。文件結果如圖 2.32 所示,與表 2.5 的接點 T1 屬性相同。透過本段的方式,就可以 達到階梯圖物件轉換到 PLCopenXML 文件的目的。 圖 2.31 階梯圖物件到 PLCopenXML 文件 圖 2.32 接點物件到文件的例子 設定基本資訊(省略部分程式碼) 設定基本資訊 (省略部分程式 產生接點程式碼2.5 自動灌模系統介紹
自動灌模系統為單一產品重覆性生產的自動化製造系統,此系統之目的在於使用灌漿 造模的方式進行模型的製作,如圖 2.33 所示。對於系統架構而言,自動灌模系統由兩個子 系統所構成,分別為備料系統與澆模系統,其中備料系統的功能主要在於調製出模型硬化 成型所需的物料;澆模系統的功能在於運載模具至指定的位置並依據模具上無線射頻 (Radio Frequency Identification, RFID)[10]標籤內所記錄的製程參數進行澆模作業。
圖 2.33 自動灌模系統 對於系統架構而言,自動灌模系統依作業性質的不同可分為兩個獨立的子系統,分別 為備料系統與澆模系統,如圖 2.34 所示。備料系統的硬體設備包含三個儲存槽、三個幫浦、 三個液位感知器、兩個攪拌器以及兩個閥門,其主要的功能為調製出模型硬化成行所需的 物料 X。調製過程中可分為三個步驟,首先會利用幫浦輸入物料 A、B 至一號儲存槽,經 過攪拌後調製出物料 Y,接著,使用幫浦輸入物料 H 至二號儲存槽,與物料 Y 攪拌混和後 調製出物料 X,最後,物料 X 會在三號儲存槽中等待使用。而澆模系統的硬體設備包含一 個閥門、一組輸送帶、一個 RFID 讀取器暨天線以及四個紅外線感知器,當紅外線感知器 感應到容器進入後,即啟動輸送帶,接著,RFID 讀取器會讀出標籤內所記錄的製程參數 進行澆模作業,最後,紅外線感知器感應到容器離開後,即停止輸送帶。自動化灌模系統 內各裝置的詳細資料如表 2.7 所示。
圖 2.34 自動灌模系統示意圖[10] 表 2.7 自動灌模系統內各裝置的詳細資料 隸屬系統 裝置名稱 裝置功能 備料系統 一號儲存槽 調製物料 Y 二號儲存槽 調製物料 X 三號儲存槽 儲存物料 X 幫浦 A 輸入物料 A 幫浦 B 輸入物料 B 幫浦 C 輸入物料 C 一號液位感知器 感應一號儲存槽最高水位 二號液位感知器 感應二號儲存槽最高水位 三號液位感知器 感應三號儲存槽最高及最低水位 一號攪拌器 混合物料 A、B 二號攪拌器 混合物料 Y、H 一號閥門 控制物料 Y 注入二號儲存槽 二號閥門 控制物料 X 注入三號儲存槽 澆模系統 三號閥門 控制物料 X 注入模具 輸送帶 運送模具 RFID 讀取器暨天線 讀取模具 RFID 標籤資料 一號紅外線感知器 感應模具進入澆模系統 二號紅外線感知器 模具 RFID 讀取位置定位 三號紅外線感知器 模具澆模位置定位 四號紅外線感知器 感應模具離開澆模系統 備料系統與澆模系統 可邏輯控制器 整合硬體裝置與控制程式
第三章 浮標守恆裴氏圖到階梯圖的轉換設計
本章提出浮標守恆裴氏圖轉換成浮標守恆階梯圖的流程與轉換方法。首先說明轉換過 程中用到的浮標守恆裴氏圖、歐氏記號圖、同步裴氏圖三者與階梯圖彼此的關係,再來分 析這些物件的組成與關係。最後提出歐氏記號圖與同步裴氏圖轉換到階梯圖,其階梯圖包 含初始階梯圖、同步階梯圖與歐氏階梯圖。本章分四節,3.1 節為浮標守恆裴氏圖、歐氏 記號圖、同步裴氏圖與階梯圖的關係,3.2 節為同步裴氏圖與同步階梯圖之設計,3.3 節為 歐氏記號圖與階梯圖的物件關係,3.4 節為浮標守恆裴氏圖到浮標守恆階梯圖轉換案例說 明。3.1 浮標守恆裴氏圖、歐氏記號圖、同步裴氏圖與階梯圖的關係
彈性製造系統可由浮標守恆裴氏圖來表達,而浮標守恆裴氏圖可經由時域分解法拆成 數張歐氏記號圖,每一張歐氏記號圖代表著彈性製造系統內的某一項製程造流程。本論文 利用 2.1.6 節提到詮釋型裴氏圖的概念,將歐氏記號圖加入控制暫存點。同步裴氏圖的控 制暫存點是由外部環境所控制此暫存點的浮標。當外部人員想使用某一個生產方式時,給 予命令至 PLC 上面,控制暫存點便會擁有浮標,使得製造系統執行該張歐氏記號圖的生產 方式。 浮標守恆裴氏圖、歐氏記號圖、同步裴氏圖三者與階梯圖的關係如圖 3.1。浮標守恆 裴氏圖可分解成多張歐氏記號圖,將多張歐氏記號圖各自加入同步裴氏圖成為詮釋型歐氏 記號圖,最後將多張加入控制暫存點之歐氏記號圖轉成階梯圖並且合併。詳細的轉換步驟 於 3.4 節會詳細說明。 圖 3.1 浮標守恆裴氏圖到階梯圖轉換流程3.2 同步裴氏圖與同步階梯圖之設計
在 3.1 節介紹到歐氏記號圖加入同步裴氏圖成為詮釋型歐氏記號圖。本節將介紹浮標 守恆裴氏圖轉換成浮標守恆階梯圖過程中,如何設計同步裴氏圖,並且說明同步裴氏圖如 何轉換成階梯圖。 舉一個簡單的例子來說,圖 3.2 為一個浮標守恆裴氏圖分解成兩張歐氏記號圖例子, 此浮標守恆裴氏圖可分解歐氏記號圖 A 與歐氏記號圖 B。歐氏記號圖 A 與歐氏記號圖 B 分別代表不同的生產方式。 圖 3.2 浮標守恆裴氏圖拆解成歐氏記號圖例子 設計同步裴氏圖時,首先找出浮標守恆裴氏圖的選項暫存點,由圖 3.2 可知其選項暫 存點為 P0,此目的是為了找出連結選項暫存點的選項轉移點,可以看出選項轉移點為 T1 與 T2。最後將分解後的歐氏記號圖 A 與歐氏記號圖 B 將選項轉移點 T1 與 T2 各加入控制 暫存點 P3 與 P4。將選項轉移點加入控制暫存點便稱為同步裴氏圖,其結果如圖 3.3。詮釋 型歐氏記號圖便是由歐氏記號圖加入同步裴氏圖組合而成,其控制暫存點 P3 與 P4 是由外 部環境所決定是否擁有浮標。若想使用歐氏記號圖 A 的生產方式,P3 便會擁有浮標,使 其能觸發 T1;若使用歐氏記號圖 B 的生產方式,P4 便會擁有浮標,使其能觸發 T2。圖 3.3 歐氏記號圖加入同步裴氏圖 將這些詮釋型歐氏記號圖轉成階梯圖中,同步裴氏圖裡之控制暫存點需由外部環境決 定浮標的有無。故在階梯圖設計中,需要設計由外部接點來控制其線圈開關。以上例來說, 兩張詮釋型歐氏記號圖,則需設計兩個接點與控制暫存點 P3 與 P4 對應之線圈。如圖 3.4, 新增一列階梯加入接點 X001 與線圈 Y003;再新增一列階梯加入接點 X002 與線圈 Y004。 接點 X001 與 X002 代表著 PLC 外部控制的開關,線圈 Y003 與 Y004 的開與關代表著控制 暫存點浮標的有無。若外部環境或使用人員欲選擇使用歐氏記號圖 A 的生產方式,及開啟 PLC 外部開關 X001,開啟接點 X001,則線圈 Y003 便開啟,亦代表著控制暫存點 P3 擁有 浮標。當 P0 有浮標時,則會觸發 T1,使得使用歐氏記號圖 A 的生產方式。 圖 3.4 同步階梯圖設計
3.3 歐氏記號圖與階梯圖的物件關係
在 2.4.3 節物件層分析中,有介紹如何使用 JAXB 裡提供的 XJC 編譯器來解析綱要, 將 PNML 與 PLCopenXML 綱要解析,產生有效物件。本節將利用 XJC 編譯器來解析 PNML 與 PLCopenXML 綱要,說明歐氏記號圖與階梯圖所組成的物件,並且說明其物件對應的 關係。3.2.1 節說明歐氏記號圖的物件組成分析,3.2.2 節說明階梯圖的物件組成分析,3.2.3 節說明歐氏記號圖與階梯圖物件對應關係。3.3.1 歐氏記號圖的物件組成分析
本節將介紹歐氏記號圖會產生那些物件,以及這些的物件功能為何。因本論文使用歐 氏記號圖作為轉換的基礎,故本論文會以歐氏記號圖物件表示為 PNML 轉換後的物件。由 2.4.3.3 節的說明可知,轉換後的歐氏記號圖物件須依 PNML 綱要產生的類別定義。故首先 使用 XJC 編譯器將 PNML 綱要[13]產生 17 項類別。圖 3.5 是利用 XJC 編譯器將 PNML 綱 要進行解析,XJC 使用方法可參考[11]。 圖 3.5 PNML 綱要經由編譯之物件 本論文在此直接整理產生類別與其功能說明,如表 3.1 所示。PNML 文件產生的歐氏 記號圖物件便會依這些類別定義。而這 17 項物件有些物件本論文並不會用到,於 3.2.3 節 會詳細的說明所使用到的歐氏記號圖物件與階梯圖物件的關係。表 3.1 PNML 產生的 17 項物件 物件名稱 功能 物件分類說明 Pnml 定義 Pnml 文件 主要構成裴氏圖的物件的類別,包含 暫存點、轉移點與方向弧 NetType 定義裴氏圖包含的暫存點、轉移點、方向弧物件 PlaceType 定義暫存點物件與屬性 TransitionType 定義轉移點物件與屬性 ArcType 定義方向弧物件與屬性 GraphicsType 定義圖形資訊 多個物件會使用到這些類別的內容。 如電腦顯示的名稱、物件顯示的座標 NameType 定義名稱 OffsetType 定義相對座標 Position 定義物件座標 HiddenType 定義隱藏資訊 個別物件會使用到這些類別的內容。 如暫存點物件的初始浮標數或方向弧 物件的權重 InitailMarkingType 定義暫存點初始浮標數 InscriptionType 定義方向弧權重 ToolspecificType 定義自訂工具 PageType 定義頁面 用來定義裴氏圖物件包含的子裴氏圖 ReferencePlaceType 定義暫存點內部子裴氏圖 ReferenceTransitionType 定義轉移點內部子裴氏圖 ObjectFactory 物件工廠 XJC 編譯後自動產生的物件