西門子代理商-安徽省一級代理-PLC伺服電機驅動變頻器一級代理
| 更新時間 2024-12-02 08:00:00 價格 請來電詢價 西門子變頻器 西門子觸摸屏 西門子伺服電機 西門子PLC 西門子直流調速器 西門子電纜 聯系電話 13922889745 聯系手機 18475208684 聯系人 向小姐 立即詢價 |
/
1
/
概述
SCL(結構化控制語言)是一種基于PASCAL的gaoji編程語言。隨著S7-1200/1500的普及,以及PLC編程中大量引入IT編程思想和編程理念,SCL在西門子PLC中使用的比重越來越大。
SCL 在復雜編程、數學運算、間接尋址等方面相對傳統的梯形圖(LAD)有著juedui的優勢,即使是位邏輯控制也有其自身的特點。
下面介紹幾個SCL非常有用但又不太為人所知的技巧供大家參考。
/
2
/
如何改變塊接口參數顯示模式?經常有客戶問,在TIA Portal 的SCL編輯器中,如何展示出像經典STEP 7里面SCL源文件那樣的文本式塊接口參數,如圖1所示。這種方式編輯起來更加靈活,也可以像文本一樣復制粘貼。
圖 1. 文本式塊接口參數
其實,您會發現圖1中輸入參數數據類型Array[*]不是 S7-300/400 能支持的數據類型,也就是說其實上面圖1是在TIA Portal中編輯的,那這是如何實現呢?答案非常簡單,只要使用TIA Poral V15.1及其以上的版本,然后進行如圖2所示的設置就可以實現。
圖 2. 設置塊接口形式
設置過后,新建的SCL塊的接口形式就是文本式的了。那怎么修改已有SCL塊的接口形式呢?我們可以通過將塊導出源文件然后再導入源文件的方式來進行改變。有了這個設置,就可以根據需要自由選擇塊接口參數顯示形式了。
/
3
/
如何進行循環程序的調試?
SCL的一大特色就是非常適合循環程序編寫,如果再配合上間接尋址那就更是如虎添翼。
但是隨之而來的是調試問題,很少有人能一次性寫出完全沒有錯誤的程序,總會有各式各樣的問題,而通過監視功能,只能像如圖3所示的那樣,Zui多監視1次循環。
圖3. 監視循環
那如何解決這個問題呢?
有gaoji語言開發經驗的人知道,此時應該使用斷點調試功能來解決。是的,S7-1500從TIA Portal V15,固件版本V2.5開始支持SCL的斷點調試。有了這個功能,就可以非常方便地調試循環內的程序執行情況。具體步驟:
1.首先,在需要監視的循環語句那行Zui左邊灰色區域位置左鍵單擊,此時會出現一個小圓點,這就是斷點,如圖4所示。
圖4. 監視程序及斷點
2.然后監視程序,并激活監視菜單中“監視循環”。如圖3所示。
3.在右邊測試側邊欄中的“斷點”里面,左鍵選中指定斷點,然后點擊“啟用/禁用斷點”并確認。如圖5所示。
圖5. 啟用斷點
4. 這時,在側邊欄中的“斷點”里面,每次點擊圖6紅色方框中的運行按鈕,就可以看到監視值的變化,如圖7所示。
圖6. 點擊運行
圖7. 監視值變化
過程就是這樣簡單。有了這個方法,再復雜的程序調試起來也是易如反掌,并且這種方法對循環外的程序也是一樣好用。
/
4
/
順序控制能否用 SCL 來編寫?
對于復雜的順序控制,西門子推薦使用Graph編程語言。這個專用于順控控制的語言功能強大,使用直觀,還便于和HMI互動。而對于一些簡單的順序控制,可以通過LAD/FBD去搭建邏輯,通過斷開使能、置位復位相關變量也可以實現。那可不可以使用SCL來實現該功能呢?
答案是可以的。不僅可以,而且現在西門子官方有越來越多庫的順序控制部分都是通過SCL來實現的。并且結構清晰,易于修改,還相對Graph使用更少的程序資源。
那是如何實現的呢?
答案很簡單,通過CASE OF指令就可以實現。有些小伙伴就會納悶了,CASE OF不就是判斷某個變量為幾的時候,執行某些動作嗎?感覺和順控沒有任何聯系。
不不不,聯系很大,判斷某個變量為幾,可以當做判斷目前到了哪一步,執行某些動作,我們可以當做執行該步驟時執行的動作。除此以外,還可以在步驟中加上判斷是否滿足跳轉條件,然后修改步驟號。這樣一個簡單的順控邏輯框架就搭建起來了。
當然了,一個完整的順控還需要考慮順控如何開始,如何斷電保持,如何報警以及復位,如何控制輸出等功能,這些可以通過相關邏輯或設置進行實現。
話不多說,可以看一下基于這個方法編的Modbus TCP輪詢功能,如圖8和9所示,是不是比自己之前LAD編的更加清晰直觀啊?是不是在這之前,根本沒覺得順控和通信輪詢有聯系?
圖8. 接口參數
怎么樣?是不是有種豁然開朗的感覺?是不是有種沖動,想趕緊看看自己的項目有沒有可以改造成順控的程序,然后使用SCL重新編寫。那就趕緊行動吧。
/
5
/
如何把SCL程序分段
現在的生產工藝越來越復雜,甲方提的要求也是越來越多,于是程序代碼是越來越長,即使是用SCL來寫,也是占滿了程序編輯器的。和LAD這種自帶網絡段的編程語言不同,SCL作為文本語言,本身就是不分段的,正常只能通過空行或者加注釋行分隔,但是程序結構依然不是很清晰。
不過不要緊,我們現在鄭重向您推薦一個分段神器,它使用簡單,效果顯著,功能強大,那就是—REGION指令。
從 TIA Portal V14開始,支持通過REGION指令來實現分區分段功能。并且可以實現區域命名,區域折疊,區域定位,區域嵌套等多個功能。V16以后甚至可以做到區域名稱多語言的功能。如圖10所示,展示了不同區域功能的使用。
圖10. 區域功能使用
有了這個功能,就可以輕松地把復雜的程序劃分成若干個區域,在編輯器左側自由地管理分區。輕松地定位到需要的位置,折疊暫時不需要顯示的區域。程序架構也是一目了然,程序也更加易讀。
聯系方式
- 電 話:13922889745
- 經理:向小姐
- 手 機:18475208684
- 微 信:18475208684