【干貨】幾種PLC自動程序設計方法對比
2022年9月6日 11:45 瀏覽:2412
本文以西門子S7-1500 PLC為例,簡單講述各種自動程序設計方法,其他品牌或型號的PLC也可用使用類似的設計。這里暫不討論手動、報警、診斷等程序如何設計,希望對工控同胞們有所幫助,同時也希望工控達人們能提出寶貴意見,。
一:SCL CASE(結構化控制語言 也稱ST,CASE指令)
越來越多的小型PLC都支持SCL語言,SCL是一種類似于PASCAL的高級編程語言,常用的FOR、IF、WHILE、CASE等程控語句組合起來能編寫出很強大的算法和邏輯,用此寫法的人也越來越多。用SCL設計自動程序主要就是結合CASE 和IF語句,將Step作為程序號,如果存在比較長的分支或并行動作時需要有借助多個Step程序步,這里不做深究,書寫規則大體如下:

SCL CASE
二:LAD 起保停
所有的PLC都適合用LAD起保停的寫法,也存在很多變種,最常規變種是當前步的輸出用置為SET,不需要起保停,在緊接的下一步中用RESET復位,在老一代PLC中是很流行寫法,隨著PLC的升級換代,此寫法逐漸減少,書寫規則大體如下:

LAD 啟保停
三:LAD 移位
所有的PLC也都適合用LAD 移位指令(通常為左移位)的寫法,在老一代PLC也較常見,因自動流程按移位的方法設計好后不容易增加動作,設計較長的動作流程時也很不方便,與LAD啟保停相比可擴展性差,不夠直觀。常見的書寫規則大體如下:

LAD SHL
四:GRAPH(順序功能流程圖語言 也稱SFC)
中高端PLC才能支持GRAPH,許多小型PLC有他的縮減版:步進指令,但步進指令功能有限,且很不直觀。GRAPH就是為方便實現流程設計而產生。步、轉換和動作是順序功能圖的三種主要元件,加上靈活的使用其分支、并行和跳轉可實現復雜的流程,程序可以做到非常直觀,也很容易增改,執行效率高,用久了GRAPH后對其他寫法都不習慣,唯一的缺點就時PLC性能要求高,也占用很大的工作存儲器。大體形式如下:

五:LAD 比較
本人結合“SLC CASE”和“LAD 啟保停”的寫法,在沒有先例參考的情況下,創造出“LAD比較”寫法,直到后來看到有工控朋友用到過類似的寫法,才知道此寫法并非本人首創。形式如下圖所示。

“LAD 比較”和“SCL CASE”有些類似,不過原理上還是有很大差別,“SCL CASE”執行效率更高。在“SCL CASE”中,只有CASE符合條件的才運行,不符合的就跳過,而”LAD比較”是所有程序都會執行,不能有雙線圈,除非LAD中使用正真的跳轉指令(SWITCH LABLE 結合 JMP),但操作起來更加艱難,而“SCL CASE”就沒有這么多限制。但”LAD比較”比“SCL CASE”稍許直觀,通用性更強。
這里由于篇幅有限,就簡單分析各類設計方法,本人斗膽對各種自動程序設計方法做如下對比評分:

總體上講“LAD比較”/“SCL CASE”/GRAPH評分上旗鼓相當,喜好因人而異,本人更偏向于“LAD比較”。大家認為呢?如果有其他常規或更好的設計方法,歡迎評論留言。
以上內容選自網絡
技術鄰APP
工程師必備