|
本文以西門(mén)子S7-1500 PLC為例,簡(jiǎn)單講述各種自動(dòng)程序設(shè)計(jì)方法,其他品牌或型號(hào)的PLC也可用使用類(lèi)似的設(shè)計(jì)。這里暫不討論手動(dòng)、報(bào)警、診斷等程序如何設(shè)計(jì),希望對(duì)工控同胞們有所幫助,同時(shí)也希望工控達(dá)人們能提出寶貴意見(jiàn),。 下面總結(jié)一下常用自動(dòng)程序設(shè)計(jì)方法: 一:SCL CASE(結(jié)構(gòu)化控制語(yǔ)言 也稱(chēng)ST,CASE指令) 越來(lái)越多的小型PLC都支持SCL語(yǔ)言,SCL是一種類(lèi)似于PASCAL的高級(jí)編程語(yǔ)言,常用的FOR、IF、WHILE、CASE等程控語(yǔ)句組合起來(lái)能編寫(xiě)出很強(qiáng)大的算法和邏輯,用此寫(xiě)法的人也越來(lái)越多。用SCL設(shè)計(jì)自動(dòng)程序主要就是結(jié)合CASE 和IF語(yǔ)句,將Step作為程序號(hào),如果存在比較長(zhǎng)的分支或并行動(dòng)作時(shí)需要有借助多個(gè)Step程序步,這里不做深究,書(shū)寫(xiě)規(guī)則大體如下: SCL CASE 二:LAD 起保停 所有的PLC都適合用LAD起保停的寫(xiě)法,也存在很多變種,最常規(guī)變種是當(dāng)前步的輸出用置為SET,不需要起保停,在緊接的下一步中用RESET復(fù)位,在老一代PLC中是很流行寫(xiě)法,隨著PLC的升級(jí)換代,此寫(xiě)法逐漸減少,書(shū)寫(xiě)規(guī)則大體如下: LAD 啟保停 三:LAD 移位 所有的PLC也都適合用LAD 移位指令(通常為左移位)的寫(xiě)法,在老一代PLC也較常見(jiàn),因自動(dòng)流程按移位的方法設(shè)計(jì)好后不容易增加動(dòng)作,設(shè)計(jì)較長(zhǎng)的動(dòng)作流程時(shí)也很不方便,與LAD啟保停相比可擴(kuò)展性差,不夠直觀。常見(jiàn)的書(shū)寫(xiě)規(guī)則大體如下: LAD SHL 四:GRAPH(順序功能流程圖語(yǔ)言 也稱(chēng)SFC) 中高端PLC才能支持GRAPH,許多小型PLC有他的縮減版:步進(jìn)指令,但步進(jìn)指令功能有限,且很不直觀。GRAPH就是為方便實(shí)現(xiàn)流程設(shè)計(jì)而產(chǎn)生。步、轉(zhuǎn)換和動(dòng)作是順序功能圖的三種主要元件,加上靈活的使用其分支、并行和跳轉(zhuǎn)可實(shí)現(xiàn)復(fù)雜的流程,程序可以做到非常直觀,也很容易增改,執(zhí)行效率高,用久了GRAPH后對(duì)其他寫(xiě)法都不習(xí)慣,唯一的缺點(diǎn)就時(shí)PLC性能要求高,也占用很大的工作存儲(chǔ)器。大體形式如下: 五:LAD 比較 本人結(jié)合“SLC CASE”和“LAD 啟保?!钡膶?xiě)法,在沒(méi)有先例參考的情況下,創(chuàng)造出“LAD比較”寫(xiě)法,直到后來(lái)看到有工控朋友用到過(guò)類(lèi)似的寫(xiě)法,才知道此寫(xiě)法并非本人首創(chuàng)。形式如下圖所示。 “LAD 比較”和“SCL CASE”有些類(lèi)似,不過(guò)原理上還是有很大差別,“SCL CASE”執(zhí)行效率更高。在“SCL CASE”中,只有CASE符合條件的才運(yùn)行,不符合的就跳過(guò),而”LAD比較”是所有程序都會(huì)執(zhí)行,不能有雙線(xiàn)圈,除非LAD中使用正真的跳轉(zhuǎn)指令(SWITCH LABLE 結(jié)合 JMP),但操作起來(lái)更加艱難,而“SCL CASE”就沒(méi)有這么多限制。但”LAD比較”比“SCL CASE”稍許直觀,通用性更強(qiáng)。 這里由于篇幅有限,就簡(jiǎn)單分析各類(lèi)設(shè)計(jì)方法,本人斗膽對(duì)各種自動(dòng)程序設(shè)計(jì)方法做如下對(duì)比評(píng)分: |
|
|