這里講的SCL編程,只是針對(duì)博圖S7-1200/1500的培訓(xùn)教材,隨著PLC硬件的不斷發(fā)展,現(xiàn)在PLC在編程理念上已經(jīng)越來越接近高級(jí)語言,這里把SCL看出一門高級(jí)語言,就是說以SCL高級(jí)語言的角度去詮釋PLC程序。和傳統(tǒng)的梯形圖有所不同,學(xué)習(xí)本課程,需要有一定的PLC梯形圖編程的基礎(chǔ)才可以。
SCL是一種類pascal的高級(jí)語言,如果你熟悉C或者basic等語言,那么SCL久很簡單,但如果你不熟悉也沒用關(guān)系,我們從最基本的SCL基礎(chǔ)知識(shí)開始講起,逐步深入,但是學(xué)習(xí)SCL時(shí)需要擺脫以前使用梯形圖時(shí)養(yǎng)成的思維習(xí)慣,我們把之前的梯形圖作為理解的參考即可
對(duì)于我們長期從事工控編程的人員來說,大部分人沒有接觸過高級(jí)語言,這也是我們相要學(xué)習(xí)C#,學(xué)習(xí)上位機(jī),和機(jī)器視覺的一個(gè)障礙,如果我們能夠從梯形圖的編程思維過度到SCL編程思維,這樣再從SCL 到C#就簡單多了。這也是目前工控自動(dòng)化發(fā)展給我們工控從業(yè)者提出的必須要完成轉(zhuǎn)型的任務(wù),不然就會(huì)被淘汰。
梯形圖的編程思路比較適合邏輯控制,隨著智能化的發(fā)展,處理的數(shù)據(jù)越來越多,控制要求越來越高,它對(duì)于處理復(fù)雜的控制算法就不行了。
隨著PLC性能的不斷提升,FX5U,S7-1200/1500的PLC出現(xiàn),這些型號(hào)已經(jīng)不僅僅是一個(gè)PLC控制器了,它是集成了邏輯控制,過程控制,運(yùn)動(dòng)控制,網(wǎng)絡(luò)數(shù)據(jù)通訊控制,人工智能控制于一身的新的硬件平臺(tái),它上可以與MES,ERP系統(tǒng)相連接,下可以實(shí)現(xiàn)對(duì)現(xiàn)場核心進(jìn)行控制,這樣,我們以往的PLC編程人員都是電氣出身,現(xiàn)在可能越來越多的是計(jì)算機(jī)出身的人開始涉足PLC編程,這樣電氣行業(yè)的人更加需要去充實(shí)自己。
SCL是依賴于博圖編程平臺(tái),在博圖中不但可以用來編寫OB,FB.FC程序,也可以調(diào)用其他語言的程序塊(梯形圖等),現(xiàn)在的博圖甚至可以預(yù)先使用SCL和梯形圖混合編程,三菱FX5U也同樣可以使用ST與梯形圖混合編程,SCL/ST更擅長于編寫數(shù)學(xué)計(jì)算類的程序,如大量的數(shù)據(jù)處理,控制算法等。
SCL/ST的長處在于編寫算法,使用SCL/ST編寫算法代碼非常簡潔,通常梯形圖需要大篇幅的程序,而用SCL就幾句就能搞定。
博圖的SCL具有智能感知功能,就是說編輯器會(huì)根據(jù)你的輸入自動(dòng)顯示出所有的相關(guān)可能選項(xiàng),比如當(dāng)我們?cè)?/span>SCL編輯器中輸入字符“m”,編輯器就會(huì)顯示所有以字符“m”開頭的函數(shù)指令或功能塊(如同smart中通過工具添加指令塊一樣)。
SCL中,有時(shí)我們需要使用數(shù)據(jù)塊(DB)中的變量,當(dāng)輸入數(shù)據(jù)塊名稱和符號(hào)“.”時(shí)(數(shù)據(jù)塊內(nèi)的變量的尋址方式是:數(shù)據(jù)塊名稱+“.”+變量名稱),編輯器會(huì)自動(dòng)顯示該數(shù)據(jù)塊所有已定義的變量。