第一種:輔助繼電器的置位復(fù)位方法
這種方法是最原始最初級(jí)的寫法,也是最簡單的一種寫法,比如第一步置位M0,M0接通后控制某個(gè)結(jié)果,結(jié)果實(shí)現(xiàn)后復(fù)位M0,再置位M1,依次進(jìn)行l(wèi)流程控制。這種寫法通用所有的PLC。
第二種:使用步序編號(hào)的方法
使用整型變量作為步序編號(hào),易于理解,便于維護(hù)。步序增減,跳轉(zhuǎn)等操作方便,簡單,易懂。復(fù)位操作時(shí),僅需將變量值改為0。編程中需注意,當(dāng)連續(xù)步序的條件同時(shí)為真時(shí),步序號(hào)在一個(gè)PLC周期內(nèi)連續(xù)增加,直至最后一條未導(dǎo)通步序指令,而由步序號(hào)觸發(fā)的其它程序則未被執(zhí)行。調(diào)試時(shí)容易漏掉此種情況。
第三種:GRAPH(順序功能流程圖語言,也稱SFC)
這種方法跟我們的設(shè)備工藝流程圖非常相似,也是最直觀的一種程序,第一步干什么,什么條件又開始干第二步,看上去非常清楚。雖然程序表面看上去非常清楚明了,但編寫項(xiàng)目程序?qū)嶋H的操作過程并不簡單,要熟悉這種寫法需要時(shí)間過程,而且這種方法并不通用所有的PLC(如西門子S7-1200不支持,僅S7-1500支持),還有就是對(duì)PLC性能要求高,也占用很大的工作存儲(chǔ)器。
第四種:移位指令方法
這種方法是利用移位指令的移位原理實(shí)現(xiàn)步序的控制,比如歐姆龍的SFT指令,三菱的ROL、ROR等,西門子的移位指令也差不多。這種難點(diǎn)在于搞清移位指令的工作原理即可,也是通用所有PLC的編程。
第五種:DECO解碼指令的方法
解碼指令DECO:即將整數(shù)轉(zhuǎn)換為Dword中對(duì)應(yīng)的位置1,且當(dāng)步序產(chǎn)生變化時(shí),PLC必定會(huì)重新執(zhí)行一個(gè)掃描周期,不會(huì)產(chǎn)生連續(xù)跳多個(gè)步續(xù)的情況。避免了程序中步序觸發(fā)的指令沒有被執(zhí)行的情況。跳轉(zhuǎn)和復(fù)位操作編寫簡單。如西門子S7-1200PLC可支持DWORD解碼(32位),S7-1500可支持LWORD解碼(64位)。
第六種:工作和狀態(tài)變量賦值的方法
這種方法是數(shù)據(jù)傳送指令與比較指令相結(jié)合實(shí)現(xiàn)程序流程步序轉(zhuǎn)換的,個(gè)人認(rèn)為這種方法是最容易理解的,操作上也是最簡單,建議初學(xué)者嘗試使用,當(dāng)然這種方式也是通用所有PLC的。設(shè)置兩個(gè)變量字state word,work word。state word中的位作為步序標(biāo)志,work word作為跳轉(zhuǎn)目標(biāo)步序標(biāo)志。當(dāng)前步序state word中步序位對(duì)應(yīng)的條件滿足時(shí),觸發(fā)work word中下一步對(duì)應(yīng)的位。而后,在PLC順序掃描至傳送指令時(shí),將work word的值賦值給state word,完成步序跳轉(zhuǎn)。優(yōu)點(diǎn)是沒有置位和復(fù)位操作,同一時(shí)刻只有唯一的位置1,跳步時(shí)只用將對(duì)應(yīng)的work word 中的位置1即可。復(fù)位時(shí),將state word與work word清零,程序會(huì)自動(dòng)將state word中第一位點(diǎn)亮。當(dāng)步序大于16時(shí),可改為DWORD或增加word的數(shù)量來增加步序。
第七種:SCL編程的方法
越來越多的小型PLC都支持SCL語言,SCL是一種類似于PASCAL的高級(jí)編程語言,常用的FOR、IF、WHILE、CASE等程控語句組合起來能編寫出很強(qiáng)大的算法和邏輯,用此寫法的人也越來越多。用SCL設(shè)計(jì)自動(dòng)程序主要就是結(jié)合CASE和IF語句,將Step作為程序號(hào),如果存在比較長的分支或并行動(dòng)作時(shí)需要有借助多個(gè)Step程序步,這里不做深究。
-
繼電器
+關(guān)注
關(guān)注
132文章
5363瀏覽量
149644 -
plc
+關(guān)注
關(guān)注
5017文章
13397瀏覽量
465726 -
編程語言
+關(guān)注
關(guān)注
10文章
1951瀏覽量
35023
原文標(biāo)題:高手都是怎么寫PLC自動(dòng)程序的?
文章出處:【微信號(hào):xue_PLC,微信公眾號(hào):PLC技術(shù)圈】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
PLC自動(dòng)程序編程方法
![<b class='flag-5'>PLC</b><b class='flag-5'>自動(dòng)</b><b class='flag-5'>程序</b>編程方法](https://file1.elecfans.com/web2/M00/8B/92/wKgaomSbkYGAFSWgAAAQ9t-5i3g179.jpg)
關(guān)于STC89c52程序燒寫求助
基于PLC控制自動(dòng)采樣機(jī)的程序設(shè)計(jì)及應(yīng)用
高手速成法:PLC故障排查實(shí)例講解
自動(dòng)模切機(jī)PLC程序(FX系列)
PLC程序編寫方法探討 PLC程序的質(zhì)量衡量
PLC自動(dòng)步程序的7種編程方法
![<b class='flag-5'>PLC</b><b class='flag-5'>自動(dòng)</b>步<b class='flag-5'>程序</b>的7種編程方法](https://file1.elecfans.com/web2/M00/88/A4/wKgZomRtzNqAcKWDAABVWfIY2TQ409.jpg)
電氣高手寫PLC程序的技巧
![電氣<b class='flag-5'>高手</b>寫<b class='flag-5'>PLC</b><b class='flag-5'>程序</b>的技巧](https://file1.elecfans.com/web2/M00/8D/BC/wKgZomS_gBWAX15BAAAOMhTKkQQ436.png)
評(píng)論