山西省大同市西門子中國總代理-西門子選型-西門子技術支持-西門子維修服務
| 更新時間 2024-12-03 08:50:00 價格 請來電詢價 聯系電話 15344432716 聯系手機 15386422716 聯系人 楊本剛 立即詢價 |
西門子結構化編程可將不同的控制任務劃分為不同的控制區域,相同控制功能數量眾多的設備可利用具備多重背景的FB功能塊重復調用來解決,使程序簡潔、清晰、合理,易讀性強,更改方便,為以后系統的升級改造提供了極大的便利。SCL語言的應用,更是大大減小了程序代碼的占用空間,使西門子PLC能容納更大的程序,控制更大的系統。下面就舉一實例加以說明。
01所需軟件及硬件
02項目描述
1、此例主要的目的是使大家掌握編程的方法,不是控制的邏輯,因此每條皮帶的控制與起保停類似。具體的控制邏輯要根據實際的需求編寫;
2、實際現場一條線體往往不止5條皮帶,這里為了測試監控方便只用5條,但利用SCL語言編寫控制再多數量的皮帶,再多的線體,代碼并不會增加,只是改下數量而已,后面會有描述;
3、這個例子可使大家借一斑而窺全豹,初步認知具有多重背景FB塊的使用魅力。
03程序編寫
實際生產中配方的數據已經定好,打開博途V15軟件,創建一個名為“SCL循環調用電機”的項目,組態一臺固件版本為4.2的1215CPU,如下圖1所示:
▲圖1▲
2、創建自定義數據類型
將默認的SBR0子程序重命名為配方處理,創建自定義數據類型可把我們從編寫大量符號表變量的工作中解脫出來,變量越多,效果越明顯。在這個項目中我們創建一個名為“motordata”數據類型的變量,如下圖2所示。該數據類型包含4個布爾變量,分別是皮帶電機的啟動、停止、故障和運行變量。
▲圖2▲
3、創建全局DB塊
創建全局DB塊的目的是為了給五臺皮帶電機FB塊的形參賦實參,而DB塊建了個符號名為motor的數組變量,數組元素5個,每個元素的類型為“motordata”,即我們一開始自定義的數據類型,這樣我們就不必在DB塊里去一個個的輸5臺電機的變量。節省了時間,提高了效率。圖中顯示了電機1(Motor【0】)展開的變量,如下圖3所示:
▲圖3▲
4、編寫電機啟停程序
該程序編寫相對簡單,這里為了測試或仿真方便,只寫了簡答的類似起保停的控制邏輯,實際的控制要根據具體要求來編寫。新建名為“Mrun”的塊FB1,該段程序用SCL編寫,如下圖4所示:
▲圖4▲
5、編寫電機調用程序
這是該例子的核心部分,在項目中新建FB塊,命名為DYMrun,程序的變量表與代碼如下圖5所示:
▲圖5▲
創建全局DB塊的目的是為了給五臺皮帶電機FB塊的形參賦實參,在靜態參數中分別建立“dymrun”和“i”兩個變量,“dymrun”為數組變量,用FB1作為數組元素的數據類型,對應5臺電機;“i”為循環調用指針,整數類型,分別指向不同的皮帶電機。如程序所示,i為0到4,如果電機數量更多,比如12臺,那么把4改為11即可。代碼很簡單,就是一個FOR循環語句,重要的是把全局DB塊DB1的數組變量正確賦值到FB1(Mrun)各形參管腳。要理解上述程序需要掌握UDT、SCL、數組、結構化編程等等知識點。
聯系方式
- 電 話:15344432716
- 銷售顧問:楊本剛
- 手 機:15386422716
- 微 信:AK66F7