在西門子plc中,子程序是為某些特定的控制目的而編制的相對(duì)獨(dú)立的程序。執(zhí)行子程序CALL指令等。如果條件不滿足子程序調(diào)用,程序的掃描將只在主程序中進(jìn)行,而不是掃描這個(gè)子程序,從而減少不必要的掃描時(shí)間。
如何提高PLC程序的運(yùn)行速度,可以采用以下編程方法,僅供參考:
1.根據(jù)項(xiàng)目實(shí)際需要,制定功能塊規(guī)劃,編寫子程序。
在PLC中,子程序是為了某些特定的控制目的而編譯的相對(duì)獨(dú)立的程序。執(zhí)行子程序CALL指令等。如果條件不滿足子程序調(diào)用,程序的掃描將只在主程序中進(jìn)行,而不是掃描這個(gè)子程序,從而減少不必要的掃描時(shí)間。初學(xué)者可以結(jié)合plc視頻教程來(lái)學(xué)習(xí)
2.通過(guò)向DO點(diǎn)發(fā)送字或雙字?jǐn)?shù)據(jù)來(lái)控制輸出。
在plc的應(yīng)用中,通常會(huì)有大量的輸出控制。使用字或雙字?jǐn)?shù)據(jù)來(lái)控制輸出可以提高速度。只要根據(jù)實(shí)際應(yīng)用需求合理分配輸出地址,改變輸出控制字,就可以大大減少西門子PLC程序執(zhí)行的步驟數(shù),從而加快PLC的程序運(yùn)行速度。
3:脈沖觸發(fā)置位和復(fù)位
在PLC中,SET指令只能執(zhí)行一次,不需要每次掃描都執(zhí)行該指令。它非常適合與脈沖輸出(PLS/PLF)指令一起使用。一些工程師忽略了這個(gè)問(wèn)題,采用常規(guī)方法驅(qū)動(dòng)SET指令,無(wú)意中增加了PLC程序的掃描時(shí)間。
4.避免如下類型轉(zhuǎn)換:
以S7-200為例,它的內(nèi)存格式和我們常用的PC正好相反,高字優(yōu)先,低字次之。所以我們可以把單詞variable放在最后兩個(gè)字節(jié),并在程序初始化時(shí)清除前兩個(gè)字節(jié)(這兩個(gè)字節(jié)不能在程序的其他地方使用)。
例如,當(dāng)我們定義符號(hào)時(shí),我們將單詞變量定義為VW2,同時(shí)將VW0的值保持為零。變量在程序中可以用字體VW2和雙字體VD0訪問(wèn),避免了類型轉(zhuǎn)換。
為了避免使用中的混淆,最好用明確的符號(hào)定義來(lái)區(qū)分字型和雙字型。在這里,強(qiáng)烈建議使用匈牙利命名法:有意義的英語(yǔ)單詞的小組合作變量名,前綴表示變量類型,首字母大寫。我習(xí)慣使用下列詞綴:
b字節(jié)變量(字節(jié))
w字體變量(單詞)
雙變量
R -實(shí)數(shù)變量(實(shí)數(shù))
f位變量(標(biāo)志)
Btn -自復(fù)位按鈕輸入(按鈕)
開(kāi)關(guān)或自鎖按鈕輸入(開(kāi)關(guān))
Sig -傳感器、編碼和其他電平信號(hào)輸入(信號(hào))
Rly -輸出繼電器位(繼電器)
……
當(dāng)然,根據(jù)個(gè)人習(xí)慣,沒(méi)有規(guī)定,主要是有利于自己區(qū)分。
如果有一個(gè)名為VarName的字類型變量,為了使用前面的轉(zhuǎn)換技巧,我們可以定義如下:
wVarName - VW2
dVarName - VD0
程序初始化時(shí),復(fù)位VW0(如果是不需要記憶的變量,也可以直接復(fù)位dVarName)或?qū)?shù)據(jù)塊中的VW0置零。未來(lái)我們需要訪問(wèn)word類型的變量時(shí)會(huì)用到wVarName,需要訪問(wèn)雙word類型的變量時(shí)會(huì)用到dvvarname。根本不需要類型轉(zhuǎn)換。
這種方法可以大大減少程序語(yǔ)句的數(shù)量,使程序更加簡(jiǎn)潔可讀,在不需要耗時(shí)的類型轉(zhuǎn)換的情況下,提高程序的運(yùn)行效率。而數(shù)學(xué)運(yùn)算量越大,效率的提升越明顯。
缺點(diǎn)是多占用兩個(gè)字節(jié)的內(nèi)存,VW0在以后的程序中無(wú)法使用。但是S7-200的RAM空間很大,一般取之不盡用之不竭。以226為例,10K RAM那么多,我從來(lái)不超過(guò)1K。所有這些內(nèi)存都是用錢買的,所以很浪費(fèi)。
同樣,如果有字節(jié)變量經(jīng)常需要用字類型變量轉(zhuǎn)換,讓字節(jié)變量占用一個(gè)字的內(nèi)存寬度,浪費(fèi)一個(gè)字節(jié),從而避免類型轉(zhuǎn)換。
審核編輯:符乾江
電子發(fā)燒友App



























































評(píng)論