導航:首頁 > 編程知識 > scl編程怎麼使用

scl編程怎麼使用

發布時間:2023-09-24 14:12:47

『壹』 西門子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編程怎麼使用相關的資料

熱點內容
java將數字轉換成字母 瀏覽:854
c盤中的哪些是系統文件夾 瀏覽:668
分布式服務如何跨庫統計數據 瀏覽:829
力控轉發數據客戶端模式如何建立 瀏覽:200
怎麼樣讓自己的網站不被別人看到 瀏覽:711
編程擴展效果如何 瀏覽:335
榮耀暢玩手環同步qq 瀏覽:475
怎麼向sql中添加資料庫 瀏覽:596
錄歌失敗重啟app什麼意思 瀏覽:522
壓縮文件包怎麼在微信發送 瀏覽:432
mysql資料庫怎麼插入時間值 瀏覽:191
微信視頻不能轉發朋友圈 瀏覽:596
影視後期的app有哪些 瀏覽:956
電子保單數據出錯什麼意思 瀏覽:368
如何以文件下載音樂 瀏覽:438
計算機網路章節練習 瀏覽:999
單片機的外部中斷程序 瀏覽:48
表格批量更名找不到指定文件 瀏覽:869
js的elseif 瀏覽:584
3dmaxvray視頻教程 瀏覽:905

友情鏈接