山東省煙臺市SIEMENS西門子(授權)中國一級總代理商
| 更新時間 2024-12-27 09:10:00 價格 請來電詢價 變頻器 西門子代理商 觸摸屏 西門子一級代理 伺服電機 西門子一級總代理 聯系電話 18126392341 聯系手機 15267534595 聯系人 梁濤 立即詢價 |
UN-EM-CM是基于OMAC的設備分層,而SU是指Soft unit軟件單元,是之前某個客戶中設備之間的邏輯程序,即設備程序是一個對象,設備和設備之間的邏輯全部在SU中編寫!
1.程序塊說明及選擇
西門子S7系列PLC提供了組織塊(OB:Organization block)、函數塊(FB:Function Block)、函數(FC:Function)三類代碼塊。
OB組織塊
OB: 組織塊(OB)表示操作系統和用戶程序之間的接口,由操作系統調用,它們控制循環和中斷驅動的程序執行、PLC的啟動行為和錯誤處理,用戶可以在OB塊編程來決定CPU行為,是所有程序執行的接口。
FC函數
FC:函數 (根據 IEC 1131-3 標準,函數 (FC) 是不含存儲區的代碼塊。通過函數可在用戶程序中傳送參數。 因此,函數特別適合取代頻繁出現的復雜結構,如計算等。 ) (FC) 是不帶存儲器的代碼塊。 由于沒有可以存儲塊參數值的數據存儲器。 因此,調用函數時,必須給所有形參分配實參。
函數可以使用全局數據塊 (數據塊用于存儲用戶數據。 數據塊分為可由所有代碼塊訪問的全局數據塊,以及分配給特定功能塊調用的背景數據塊。) yongjiu性存儲數據。
函數包含一個程序,在其它代碼塊調用該函數時將執行此程序。 例如,可以將函數用于下列目的:
將函數值返回給調用塊,例如,數學函數
執行工藝功能,例如,通過位邏輯運算進行單個的控制
可以在程序中的不同位置多次調用同一個函數。 因此,函數塊簡化了對重復發生的函數的編程。
FB函數塊
FB: 函數塊是一種代碼塊,它將輸入、輸出和輸入/輸出參數yongjiu地存儲在背景數據塊中,從而在執行塊之后,這些值依然有效, 所以函數塊也稱為“有存儲器”的塊。
函數塊也可以使用臨時變量。 臨時變量并不存儲在背景數據塊中,而用于一個循環。
函數塊包含總是在其它代碼塊調用該函數塊時執行的子例程。 可以在程序中的不同位置多次調用同一個函數塊。 因此,函數塊簡化了對重復發生的函數的編程。
函數塊的調用稱為實例,函數塊的每個實例都需要一個背景數據塊;其中包含函數塊中所聲明的形參的實例特定值。 函數塊可以將實例特定的數據存儲在自己的背景數據塊中,也可以存儲在調用塊的背景數據塊中。
以上是TIA Portal中Help的描述,基于描述發現調用FB需要對應的實例化數據塊(Instantiation,舊譯背景數據塊不是很合理)。
庫的程序塊選擇
實例化對應的另一個術語即對象,一般會稱之為對象的實例化。庫程序是標準設備中UN/EM/CM的功能在程序系統中實例化,所以一般情況下,庫功能都應該是選用函數塊編程。
而函數可以在實例化程序中被用于一些算法計算,包括但不限于常用的運算算法、數據類查找應用算法、重復利用的工藝算法等,并會給實例化程序提供一個返回值用于工藝過程控制需求。
2庫程序塊規范
2.1.FB的命名
函數塊的命名建議FB_XX_功能名稱
FB:是函數塊的標識,用于標識程序塊,也有用fB做標識。
XX:可選,當有些算法需要存儲數據,則XX不需要,表示該函數塊僅是一些算法邏輯。
若為設備的控制程序,基于程序塊功能不同,XX可以為SU、UN、EM、CM。SU用于標識程序中的軟件分組的邏輯,UN用于標識程序中整個UN分組設備的功能邏輯,EM用于標識程序中某個EM的功能邏輯,CM用于標識程序中某個CM的功能邏輯。
功能名稱:基于功能的名稱,一般建議用英文(英文縮寫)與阿拉伯數字的組合。英文(英文縮寫)標識當前主要功能描述,阿拉伯數字用于標識功能的不同版本。
若僅是算法邏輯,功能名稱只是英文及英文縮寫,但需要保證名稱的唯一性。比如西門子的LGF庫程序中的LGF_FIFO的函數塊用于數據堆棧的先入先出,由于需要存儲臨時數據,所以也是用函數塊編程。由于是西門子的LGF庫,所以名稱為LGF_標識,而在客戶的標準化程序中應該更改為合適自身的命名方式,比如FB_FIFO,然后在函數塊的說明中注明基于西門子LGF程序庫中的LGF_FIFO。
比如MotorCtrl標識為電機控制,可以用01和02來區分是變頻控制還是工頻控制,亦可以用于區分是單向電機控制還是雙向電機控制,需要在相關文檔或表格中注明,要注意名稱在實際程序庫中的唯一性。
表 1:函數塊名稱示例表
2.2. FC的命名
函數的命名建議FC_功能名稱
FC:是函數的標識,用于標識程序塊,也有用fC做標識。
功能名稱:基于功能的名稱,一般建議用英文及英文縮寫描述。比如FC_SearchMaxRunTime是程序中用于查找當前運行時間Zui多的電機編號。
命名說明:
程序塊用FB及FC標識,主要用于標識程序塊的類型。
UN/EM/CM用于和物理設備分層的對應,由于UN-->EM-->CM的分層,程序塊中函數塊(FB)的嵌套調用也和物理分層對應,及EM中可以嵌套CM程序塊,而CM是Zui底層的程序塊,不能嵌套調用EM甚至是UN程序塊。
由于SU是軟件邏輯單元,可以理解為設備程序之間的數據邏輯接口。SU中可以調用UN/EM,此時會處理整個SU中設備的一些控制邏輯。也可以不調用任何UN/EM,只是整個SU中設備的一些數據傳遞的接口。
2.3.程序塊屬性
選中程序塊,點擊鼠標右鍵選擇屬性。
圖1 : 程序塊屬性選擇示意圖
在彈出框中選中“信息”并將內容補充。
圖2 : 程序塊屬性信息示意圖
標題:可以不用填充,默認為程序塊名稱。
注釋:一般用于表明當前程序塊的功能概述。
版本:當前程序的版本,不同版本的內容在程序中注明, 如下圖所示,在程序開始前的程序說明中表明程序的修改歷史記錄。
圖3 : 程序塊程序說明示意圖
作者:一般為編程原始作者或者團隊名稱,用于后續的培訓或者幫助支持的聯系方式。
系列和用戶ID:標準程序中會有很多類型程序塊,包括不同的設備控制程序、一些公共程序、數據處理程序、通信程序、架構程序等等。可以通過系列和用戶ID將所有程序分類,這樣可以給予每一程序塊唯一的屬性和ID,也是標準程序中將程序分類的方法參考。
將程序塊生成源文件并打開后,也可以通過源文件的頭信息查找當前程序的一些屬性。
圖4 : 程序塊源文件示意圖
源文件中的第1行標識了程序塊的類型,FB為FUNCTION_BLOCK,FC為FUNCTION。
源文件中的第2行為程序塊的名稱
源文件中的第3行為程序塊的屬性,TRUE表示程序塊為優化塊的訪問,而FALSE則表示程序塊為非優化塊的訪問方式。
源文件中的第4行開始即上述程序塊屬性的信息,同前。
TIA Portal提供了從源文件生成程序塊的功能,利用C#等gaoji語言,可以基于源文件的頭信息,結合架構程序,生成設備的控制程序的源文件,然后通過源文件直接生成設備控制程序。
2.4.程序塊引腳
程序塊引腳包括輸入、輸出、輸入輸出三類引腳,除了引腳的書寫規范以外(第4章)需要注意以下幾點:
1. 若是設備的配置參數,比如一個機械的傳動比等固定參數或者工藝參數,建議每一類設備用一個自定義數據類型定義。配置參數原則都是輸入引腳,基于書寫規范以外建議書寫中增加_Cfg(Configration),閱讀程序時能從書寫直接看出來這是配置參數。
2. 設備的實際IO點,基于書寫規范以外建議書寫中增加_HW(Hardware),不管是輸入還是輸出,閱讀程序時能從書寫直接看出來這是用于跟實際IO交互數據。
注:在電氣圖紙中的IO符合也建議I(Q)_HW_XXXX,這樣和程序的引腳可以對應。
3. 輸入輸出引腳建議增加數據來源,比如有的數據是來自HMI,建議在已有規范外增加_HMI的書寫方式,讀程序時從書寫能直接看出來這是來自哪里的數據。
3.工藝接口標準化
圖5 : 工藝生產示意圖
設備程序的工藝接口標準化必須基于整個標準程序架構描述,這些內容包括但不限于模式和狀態管理接口、參數配置接口、設備當前運行信息接口、設備性能接口、設備之間數據交互、人機界面數據交互等。
標準程序架構中會做相應描述,本節僅描述設備之間數據交互。
設備接口是兩個傳輸組件之間的數據管理接口,該接口的數據影響的僅是兩臺在物理空間上有物理產品傳輸關系的設備;
設備接口主要包括四個方面的數據,分別對應產品、設備以及其他工藝要求三個方面的數據對接:
產品移交信號,控制產品在關聯的兩臺設備上的物理移交;
數據移交信號,附加在物理移交產品上的相關信息;
請求信號,設備之間發出控制改變設備運行狀態的請求信號;
其他各種工藝用途信號;
比如上圖5中的攪拌和壓皮的設備之間,產品在攪拌工藝完成后必須傳遞到壓皮設備,相關產品信息(比如攪拌程度)也可能需要附帶向壓皮設備傳遞,這就是在產品移交過程中的相關數據移交。
當攪拌設備由于故障等不可抗拒因素導致的停機,基于工藝要求(產品或設備要求)也可能需要壓皮設備停機,此時又存在請求信號,用于保護產品和設備的安全。
還有工藝要求,比如攪拌不使用,壓皮設備的某個機構需要保持在一個固有位置,這就是基于其他工藝用途的信號。
在當前軟件分層中的設備數據接口應該在SU中編輯,一個SU中會將該UN中的設備接口統一管理和傳遞。
同時,還需要看到不同UN之間也可能存在數據傳遞,比如下圖所示:
圖6 : 設備數據接口工藝示意圖
上圖所示的UN01會存在一個SU用于傳遞UN01中EM01和EM02及其CM的數據,但當產品到達UN01_EM02末端,此時需要向UN02的機器人傳遞請求搬運的信號。
此時,不同SU之間也需要傳遞一些數據,建議在當前程序架構中增加一個程序塊及全局數據塊,用于集中處理和傳遞不同UN之間的數據。
4.庫程序說明書
下圖為西門子庫程序的說明書示例,包括了程序說明的大部分內容,分別說明如下:
圖7 : 程序說明書示意圖
功能概述
對應上圖中的Short Description,西門子程序主要描述了程序的功能,但對于標準程序庫中的程序,除了功能概述以外,還需要說明當前程序的系列、程序ID、程序版本歷史記錄、以及程序存放的位置等信息,這類信息和上圖中的Background information類試。
程序方框圖
程序方框圖可以明顯展示程序的全部形參內容。
輸入/輸出/輸入輸出引腳說明
程序所有形參引腳的名稱、數據類型、說明注釋的表格,三種不同形參分為三個小節描述。
輸出/輸入輸出形參的一些狀態ID、故障ID以及一些形參的注意事項,都應該在各自描述的小節中說明清楚,使整個形參的描述更加的完整。
工藝描述
對應上圖中的Principle of operation。西門子程序庫的內容都是一些算法,故其描述比較簡單。
對于標準庫程序,有部分可能會涉及到工藝內容,必須將不同版本的程序塊對應的工藝描述清晰,同時合理的應該附上相關工藝流程圖。
對于關鍵部分工藝的程序也應該在描述中說明清晰,描述過程盡量附帶關鍵數據及說明,這樣便于工程師學習及調試的參考理解。
調試描述
除了以上描述,對于標準程序庫中的程序應該且必須包括調試說明,這對于一個標準程序庫中的某個程序塊的調試有非常強有力的幫助,有助于調試工程師盡快上手調試。
調試描述中必須描述(一)調試步驟(二)每一步調試過程相關參數設置以及需要關注的變量的狀態變化,用于明確調試的目的是否達成(三)調試Zui終的結果,包括相應的人機界面(SCADA/HMI)上的狀態變化。
其他信息
基于工藝的千變萬化,總是有些內容以上小節無法覆蓋,必須在其他信息中加以說明,這類信息主要便于調試和學習人員對程序以及整個程序庫的理解。
聯系方式
- 電 話:18126392341
- 聯系人:梁濤
- 手 機:15267534595
- 微 信:15267534595