隨著現代工控技術的不斷發展,可能很多使用過 PLC 的技術人員都有這么一個感受: 傳統的梯形圖編程方式在面對越來越復雜的控制要求時,已顯得力不從心。
其實,現在很多大品牌的中高級 PLC 都支持國際電工委員會 IEC61131 標準中規范的五種編程語言的混合編程,即梯形圖(LD)、結構化文本(ST)、流程圖(SFC)、指令表(IL)和功能塊(FB)。在這五種編程語言中,我認為梯形圖+結構化文本是一種不錯的組合,用梯形圖寫邏輯控制,用結構化文本寫計算,這樣可以加快編程效率并且使程序的可讀性大大提高。而流程圖編程則非常適用于一些“順序控制”場合。至于指令表和功能塊,則有其他的應用場合。
西門子 S7 系列 PLC 在國內工控領域中使用很廣,它的編程軟件 Step7 默認情況下只支持梯形圖和指令表編程,但通過安裝“S7-SCL”軟件包和“S7-Graph”軟件包可實現結構化文本和流程圖編程。這兩個安裝包其實屬于單獨收費的,在網上也可以找到授權。
但是最新的博途系列,則將這兩個語言集成在了軟件里,而不需要額外下載安裝包和購買授權。但他們兩者的使用方法大體一致。
下面,我就結合自己的一些使用經驗介紹一下如何使用結構化文本編程。
一、 什么是結構化文本編程
結構化文本是一種類似于計算機高級語言的編程方式,它的語法規范接近計算機中的
PASCAL 語言。具體的語法規則大家可參考西門子的相關手冊,在此就不做詳細介紹。下圖為 Step7 中的 SCL 編程界面:
二、S7-SCL軟件包的安裝
在 Step7 中,結構化文本編程被稱為結構化控制語言(Structured Control Language), 縮寫為 SCL. Step7 professional 版本的軟件包中已包含了 S7-SCL 軟件包,在安裝 Step7 時,系統會提示是否要安裝 S7-SCL,把復選框打鉤即可,見下圖:
三、SCL軟件包的使用
SCL軟件包用于以“源文件”的方式編寫功能塊、函數塊。步驟如下:
第一步:當Step7中已正確安裝SCL軟件包后,會有如下界面
第二步:進入 SCL 編程界面,并選擇準備編寫的程序塊的類別
第三步:編寫程序并編譯
編譯后產生FC!
經過以上四步,就完成了一個用 SCL 編寫功能塊的全過程, FC1 的源程序,保存在“Sources”文件夾中,可隨時打開進行修改。
四、用SCL編程實現“間接尋址”
Step7 中,梯形圖編程不支持對 PLC 的間接尋址,用指令表的方式雖可實現,但步驟煩瑣且程序可讀性差,相比之下,用 SCL 的方式來做就簡便的多,具體方法如下:
1、位尋址:
MX[i,j],i 為字節地址,j 表示該字節中的哪個位,當 i=5;j=0 時,表示 M5.0
2、字節、字、雙字尋址
MB[i]IW[i]、QB[i]、MD[i]
-
plc
+關注
關注
5010文章
13271瀏覽量
463068 -
西門子
+關注
關注
94文章
3034瀏覽量
115786 -
編程
+關注
關注
88文章
3614瀏覽量
93686
原文標題:西門子最厲害的編程語言
文章出處:【微信號:gongkongBBS,微信公眾號:工控網智造工程師】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論