scl編程教程-九游会j9娱乐平台
❶ 問一個問題:plc中,在scl編程時,如何讓if語句中,then後面的兩條語句連續執行加什麼符號
scl語言中,用begin和end分別代替c語言中的「{」和"}",這樣應該清楚了吧
比如,c語言這樣寫
main
{
int i,j,num;
if(num==0)
{
i=i 1;
j=j 1;
}
}
那麼scl就要這樣:
begin
i,j,num:int;
if num=0 then
begin
i:=i 1;
j:=j 1;
end
end
❷ 西門子plc scl編程指令講解
在scl程序編寫中,在邏輯控制或者數據處理分析中,有一類指令我們用得最多,就是程序控制指令,常見的入if ,case ,for 和while 等。下面我仔細的講解,有疑問可以留言提出:
圖1 程序控制指令
if .. then 指令
if 指令含有含有三個分支,分別是then ,else 和elsif。
圖2 if 語句
圖3 浮點數比較條件
if語句應該是scl裡面最常用的語句了,常用於條件判斷。判斷類型可以是bool類型,可以是浮點類型等等,基本上所有類型都可以判斷,只要比較的兩個變數類型是一樣。
在圖2中,abyte 是byte 類型,因為1在0..255之間,所以1會自動轉化為byte類型。如果比較的是abyte類型是256,會是什麼樣子呢?讀氏宴者可以自己寫的程序,試驗一下,看看結果,會加深你對數據類型的理解。
上面程序中,首殲粗銀先比如abyte是否和1相等,如果相等則outvalue的值為1,然後和2比較,如果和2相等,那麼ouvalue值為2,如果都滿足條件ouvalue 的輸出值則為5。
上述的if條件語句,也可以用case語句來進行表示。case的比較類型沒有if 范圍廣,只有整形才能做為比較條件。
case指令
圖4 if語句的case表達方式
從case語句表述中,我們發現語句相對於if表達式來說,更加清晰簡單明了,所以如果需要用到整形條件作為判斷,盡量用case來實現,會提高效率。
for 指令
for指令常用來對數組類型數據進行批量處理,在上一期講解中已經舉過一個例子,下面舉個稍微復雜點的例子。
圖5 for循環語句
在for程序,我們對數組的每一個索引值進行賦值,同時判斷索引值的奇偶性來進行賦值操作。
圖6 for循環語句2
在上面的程序裡面,我們發現有一個關鍵字continue .當for循環執行到該語句的時候,continue下面的程序都不會執行。所以,當icout小於15的時候,aarray[icount]:=icount賦值語句不會執行。
還有一個地方有點區別,就是for 語句後面,多了一個關鍵字 by 。by的含義是for 執行的間隔按照by的設定來執行。如果後面設定為1,則0..99全部執行;如果設定為2,則執行順序為0,2,4,6,8的順序來執行。
上述的for循環語句,我們同樣可以採用while循環來實現。
while 指令
圖7 while指令
while循環的表達方式和for循環基本類型,但是我們注意一點,這裡面對循環變數,手動進行進行遞進。如果沒有這一句,icount的值一直為0,循環條件icount<100將一直為true,while循環會一直執行。所以切記一定執行該語句。
我們還注意到一個關鍵字exit,當執行到該指令的時候,while循環會停止執行,for指令也是一樣。所以上面的程序,運行下來的情況是,數組的賦值只執行到aarray[81]結束。
goto指令
goto指令主要用來執行跳轉過程,可以帶來程序操作的便利性,一般不推薦使用。若操作不當,則會打亂整個程凳陸序的邏輯性。
在圖7 中,如果icount 大於90,那麼,程序就會跳出while 循環執行指定標簽lable13地方程序#icount=0,繼續從頭開始執行while循環。當然這個操作是毫無意義的,這里只是舉個例子而已。
❸ 請問有沒有學習scl語言的專業書籍用於西門子plc編程的資料!謝謝
1、最權威的資料其實是安裝了scl軟體包後附帶的電子文檔(pdf格式),英文版的,我當年就是一點點看下來的,不過看起來蠻累,畢竟不是教材,但是很權威;
2、西門子官方網站有scl教程,中文版,主要講了一些學習的要點
3、市面上有本講西門子stl/scl兩種語言編程的書,是翻譯老外的,講的湊合吧,去網上書店搜搜
4、scl軟體自帶的help文件也可以看看,有網友把help文件翻譯成了中文(chm格式),去相關工控論壇搜搜吧
再談談scl語言的學習,個人覺得掌握scl語法,如果有basic、c或者pascal高級語言基礎的話,一周足矣,但是要真正掌握scl編程的精髓,還需要在實踐中摸爬滾打:
1是結合plc的軟、硬體實際情況,結合控制系統的要求
2是借鑒計算機高級語言編程的思想,尤其是結構化編程、面向對象編程的思想
❹ 1200的scl起保停程序
1200的scl起保停程序如下:組態設備。打開編程軟體step7 basic,單擊創建新項目,輸入項目名稱motor1,單擊創建按鈕,開始創建項目。
接下來,在入門向導中單擊組態設備項,選擇添加新設備,單擊simatic plc圖標添加一個plc,在設備樹中單擊cpu1214c,在顯示的該cpu三種不同訂貨號的產品中,根據實際情況選擇cpu。在勾選打開設備視圖復選框後,單擊視圖右下角的添加按鈕,則自動進入到項目視圖中的設備視圖,在打開的設備視圖,可以對cpu的信號模塊和通信模塊進行組態,在此我們不做修改。
然後在進行plc編程,單擊項目視圖中左下角的portal視圖,切換到portal視圖,選擇plc編程項,雙擊對象列表中的main塊,打開項目視圖的主程序,進入ob1編輯界面。
拖動工具欄的常開觸點到程序段一,輸入地址i0.6,拖動常閉觸點到程序段一,輸入地址i0.7,拖動線圈到程序段一,輸入地址q0.0,拖動常開觸點與i0.6並聯。
輸入地址q0.0,拖動連線形成閉合通路,這樣一個簡單的電動機起保停控製程序就編寫好了,單擊工具欄中的保存項目按鈕,保存項目。