- PLC的標準化應用:基于西門子OMAC的面向對象的編程方法
- 胡康韶編著
- 3134字
- 2021-10-27 15:45:02
1.1 設備ID命名的標準化
一個人在現實社會中都會有一個唯一的ID(Identity,身份標識號碼,也可理解為賬號、專屬號碼、序列號等),這個就是你的身份證號碼,它包含了一個人的出生地以及出生年月日等信息。跟這個類似,設備開發或者項目實施過程中也必須按照一定的規則命名設備,一般的原則也是按照區域地點的方式,來表達一個設備或者一個項目實際的位置定位。
圖1-1所示為ISA88定義的設備模塊分層的架構模型,從這個模型中可以看到整個架構是從公司逐步向下拆分,直至具體的某一個控制模塊。這就意味著,不管這個企業設備有多少,設備上的每一個零部件、每一個元器件都能獲取唯一的一個ID,就跟我們整個社會為每個人分配的唯一的身份ID一樣。

圖1-1 ISA88定義的設備模塊分層的架構模型
OMAC(The Organization for Machine Automation and Control,機械自動化和控制組織)是一個致力于開放式模塊化結構控制的非營利用戶組織,由許多大型國際公司自發組成,擁有約500名成員。西門子是OMAC的成員之一。
OMAC的包裝工作組集合了來自技術供應商、OEM、系統集成商和終端用戶的多方達成一致的討論,生成了PackML指南,作為一種方法來展示如何將ANSI/ISA-88.00.01的概念擴展到包裝機械中。
為了能滿足提供一致的標簽系統,OMAC將設備從上到下分為企業(Enterprise)→位置(Site)→區域(Area)→工藝單元(Process Cell)→部件(Unit或UN[1])→設備單元(Equipment Module或EM)→控制單元/元器件(Control Module或CM)。
從企業到區域屬于公司層面的設備管理系統劃分,作為標準化而言,設備名稱的定義關注的是工藝單元及以下部分的設備。
除此之外,在標準化中設備的名稱還是后續電氣和控制工程師工作的基礎信息,電氣圖樣中的設備名稱和IO符號的名稱,都要基于該設備名稱來命名。
就如圖1-2所示一樣,框中的符號都是設備的外部IO,可以看到這些符號中都有設備名稱。在標準化程序中,程序框架和設備程序都是固定的,若符號能跟設備名稱關聯,然后在整個控制系統中定義好不同的元器件的名稱,那整個程序后續就可以利用XML文本編輯語言做成一個自動生成程序的工具;另外,若要復制一個這類設備的程序,那復制后的程序也只要修改這個設備名稱即可,而其他地方都是完全相同,這樣更加便利高效,且出錯的概率會大大降低。

圖1-2 設備名稱信息在程序中的體現
在設備開發或項目實施過程中,我們按照對象的位置和功能來定義其名稱,即ID。這里稱之為對象,是因為這個名稱不單是一個設備或項目命名,而是整個設備或項目中所有相關元素的名稱命名。
在設備開發或者項目實施過程中,控制系統都可以在圖1-3所示的不同控制系統類型中找到與之匹配的控制體系。有的設備或項目只有一個PLC,有的設備或者項目則由多個PLC組成,所以,對于設備開發或者項目實施的設備名稱的命名是以每一個PLC為最高級別的,在此定義為一個控制區或工藝單元,對應的是ISA88中的Process Cell,一個控制區是一個系統(System)中的一部分,比如一個汽車生產線的某個工段的裝配線就是一個Process Cell。

圖1-3 不同控制系統類型
Process Cell推薦用一個4位數的整數表示。若是一個集成項目,則可以從0001開始按照工藝布局依次定義。若是單體設備,則建議將0000~0999設為正在研發設備的代號,其他正式批量生產的設備代碼可以根據實際情況自行定義。若公司生產的設備種類繁多,則可以按照一個大類規劃數字段,比如1000~1999為一個大類產品,2000~2999為另一個大類產品等,同時也預留一些備用數據段,用于完全不同種類設備的開發。
以一個PLC作為一個工藝單元為例,那么一個工藝單元中就會由一個或多個部件(Unit)組成,一個Unit里面又可能包括一個或多個設備單元(EM),而一個EM里面也可能包括一個或多個元器件(CM),如圖1-4所示,若出現一個0001_01_01_71的ID,則代表著這是一個編號為71的元器件,它屬于工藝單元0001中第01個Unit中的第01個EM中的。

圖1-4 設備(項目)分層圖示
1.工藝單元(Process Cell)
前文提到,Process Cell是一個系統(System)中的一部分,它完成一個或多個系統功能,和其他Process Cell通過數據和實際設備接口,組成一個完整的多功能的系統(項目)。
一個Process Cell有它自己的運行模式,可以獨立于其他區域啟動和停止。這可以在本地完成,也可以從主機級別完成。
Process Cell可以啟停一個區域的設備(本地或從主機),僅檢測影響一個Process Cell的錯誤和故障,僅收集屬于一個Process Cell的設備和產品信息。
一個Process Cell將包含一個或多個Unit。
1)若是一個集成項目,項目中會由不同的PLC區域組成,所以Process Cell的名稱可以按照0001依次遞增的方式命名;
2)若是一個大型流水線,里面的設備按照功能由不同PLC控制,則Process Cell也可以按照0001依次遞增的方式命名;
3)大型集成項目中的每一個PLC或者一個單體設備的PLC,還可以按照功能+數字的方式命名,即前兩位用該功能的英文簡寫表示,后兩位用數字代表不同的迭代產品。比如一個打包機的Process Cell可以命名為:PK01,其中PK表示打包(Pack),01表示該設備的版本為01。
2.部件(Unit)
Unit可以是指在一個Process Cell中某一類設備單元(EM)的集合,比如一個分揀項目中的輸送線;也可以是指一個流水線中的完成一個功能的EM集合,比如包裝設備中的機械臂組件,它就是由橫移電動機、升降電動機以及一些輔助氣缸組成。所以,Unit作為一個獨立對象被看待,和其他EM或者其他Unit通過工藝接口,可以實現Process Cell中的一種功能,比如機械臂抓取功能。
一個Unit受控于其所在的Process Cell,即受Process Cell的啟停指令控制,也可以根據工藝需求設置獨立于其他Unit的啟動和停止控制按鈕。
當Unit是一個功能整體而非功能集合的時候,Unit僅檢測影響一個Unit的錯誤和故障,僅收集屬于一個Unit的設備和產品信息。
一個Unit將包含一個或多個EM。
Unit的ID由兩位數據組成,ID號依次由01開始順序遞增。
1)某一部分的設備由一個一個單個EM組成,它們共同完成了一部分功能,比如輸送功能,那這些所有的EM組成的一段(Section)應該分配成一個Unit的ID。
2)還有一些設備由于功能的需要,由多個Section組成,比如上面說到的機械臂系統,由行走和升降兩部分組成,此時跟機械臂有關聯的所有Section應為一個Unit的ID,此時Unit的ID建議由01開始順序遞增的奇數組成。
3.設備單元(EM)
EM是實現基本系統功能的最小機械/軟件系統構建塊,即這是執行一個完整工藝的最小部分。
EM由機械工程師按照標準化原則設計,在標準化程序中都會有一個與之相匹配的標準功能塊(Function Block,FB),因此,軟件的構建方式與機械分段的方式相同,就像機械系統的構建方式一樣。
EM僅檢測影響一個EM的錯誤和故障,僅收集屬于一個EM的設備和產品信息。
一個EM將包含至少一個CM。
EM的ID由兩位數據組成,ID號依次由01開始順序遞增;
1)若EM的Unit只是一些相同功能的EM的集合的話,那EM的ID應該是從01開始逐次遞增的奇數;
2)若EM的Unit是一個獨立功能的設備,因為該功能已經是標準的,所以里面的EM的數量是不會再變化的,那該Unit里面的EM的ID可以是由01開始順序遞增的自然數。
4.控制單元/元器件(CM)
CM是安裝在機械對象上的各種傳感器和執行器,它們是控制該機械部分所必需的。主要包括電動機(閥門)、光電器件、接近開關等為工藝而設計的電子元器件。CM是設備模型中最底層的單元,也是軟件模型中最底層的控制對象。
由于CM種類繁多,且有的CM是需要完成一些基礎功能的,所以CM的名稱最多由5位數字和英文字母組成,前面2位為數字,表示該種CM的功能代碼;后面最多由3位組成元器件名稱的簡寫,用于表示是什么元器件。
比如在物流系統中,有的光電器件只是用于設備的保護功能,但有的光電器件還需要濾波跟蹤功能,所以在物流系統中光電器件至少可以有兩種功能代碼。
表1-1就是常見的一些控制模塊的命名示范,可以用于標準化設備開發的借鑒。
表1-1 CM的ID示意簡表

每一個行業或公司均應該根據自身特點,建立類似的CM的ID分類表,做到設備所有的機械和元器件都能獲得一個唯一的標識;
上述所描述的設備的ID都是指機械以及依附于機械設備上的元器件的命名原則,只有CM部分需要根據行業做總結。而且CM的ID命名由兩部分(代碼+簡稱)組成,為的是滿足后續的CM種類和功能的更新和增減。