|
|
西門子G120C變頻器得出結(jié)論,F(xiàn)C可以干兩個(gè)事:,實(shí)現(xiàn)功能化編程。比如,我們有大車,小車,起升3個(gè)結(jié)構(gòu)。我們就可以定義3個(gè)FC,跟這3個(gè)機(jī)構(gòu)一一對(duì)應(yīng),然后用OB1依次調(diào)用。為什么這樣做,為什么不都放在OB1里。你也可以放OB1里,對(duì)段數(shù)比較少,很簡(jiǎn)單的項(xiàng)目就把代碼都放在OB1里。如果功能,機(jī)構(gòu)多了,好還是分開(kāi)來(lái),這樣有利于程序的可讀可調(diào),更符合規(guī)范。否則一個(gè)小故障都會(huì)導(dǎo)致你把OB1翻個(gè)遍,會(huì)很麻煩的。找準(zhǔn)故障機(jī)構(gòu),在相應(yīng)的FC里再去找會(huì)少看很多代碼。這個(gè)道理比較簡(jiǎn)單。第二個(gè)事,就是我上面說(shuō)的模塊化編程,我的描述不是很準(zhǔn)確,因?yàn)槭亲约旱目偨Y(jié)。這個(gè)意思就是我們平常討論說(shuō)的,把所有功能都寫到一個(gè)塊里,然后去調(diào)用整個(gè)塊。FC可以干這個(gè)事(當(dāng)然,F(xiàn)B也可以干,區(qū)別后面說(shuō)),新建好FC,確定好輸入,輸出接口,然后編寫邏輯,一個(gè)FC就搞定了。大家可以寫一些簡(jiǎn)單的功能,來(lái)感受下FC。寫好FC之后,在主程序OB1或者其他FC里就可以調(diào)用該塊,程序界面右邊“FC BLOCK”里就有該塊,相信做到這里的話大家都應(yīng)該知道怎么做了。我這里要說(shuō)明其他問(wèn)題。關(guān)于FC的編寫,這里就不得不說(shuō)一些概念性的東西,F(xiàn)C是不帶背景數(shù)據(jù)塊的,就這句話。因?yàn)镕C是不帶背景數(shù)據(jù)塊,所以我們?cè)谡{(diào)用FC時(shí),關(guān)于FC這些邏輯的計(jì)算完全靠的是我們輸入輸出接口上的這些地址位,給FC提供數(shù)據(jù)來(lái)源。我們?cè)诰帉慒C的時(shí)候,需要注意的是,如果需要中間變量,考慮使用temp,臨時(shí)變量滿足需要。但是使用臨時(shí)變量需要注意的是,在一個(gè)周期沒(méi)有完成掃描時(shí),A段程序調(diào)用FC1,使用了臨時(shí)變量X,改變了其值。那么B段程序再次調(diào)用FC1時(shí),X的值已經(jīng)被改變了。在下個(gè)周期,才會(huì)釋放。這點(diǎn)要非常小心。這就是跟FB無(wú)法比的,沒(méi)有地址來(lái)存放數(shù)據(jù)。編程的時(shí)候,盡量多考慮使能。同樣,M寄存器也要慎用,比如,你FC里用了M2.0這個(gè)位表示中間狀態(tài)。現(xiàn)在次調(diào)用FC時(shí),改變了M2.0的值,為ON。現(xiàn)在又第二次調(diào)用FC,M2.0的值已經(jīng)為ON了,顯然這不是我們想要的。雖然你調(diào)用了兩次,分別賦了兩組輸入輸出變量,但是你FC內(nèi)的M終究是內(nèi)存里的那個(gè)M,你調(diào)用無(wú)數(shù)次都是跟這個(gè)M打交道。不知道我說(shuō)清楚了沒(méi)。所以一般不要用這樣呀的中間變量,一定要用時(shí),多考慮通過(guò)使能來(lái)改變調(diào)用時(shí)序。同樣,像定時(shí)器啊什么的,如果我們要使用,都需要定義一個(gè)in接口,為FC內(nèi)的定時(shí)器提供一個(gè)實(shí)實(shí)在在的通道。次調(diào)用,我們用T21輸入。第二次調(diào)用,我們用T22輸入。這樣就不會(huì)出錯(cuò)。否則就會(huì)像M那樣出錯(cuò)。這個(gè)部分很重要。如果沒(méi)聽(tīng)懂,不要緊。繼續(xù)聽(tīng)FB。兩個(gè)比較下,應(yīng)該就很更清楚了。
FB,功能塊。可以干的事,就是FC能干的第二個(gè)事。只能干這個(gè)事,為什么要特別些呢,干嘛不讓FC一個(gè)人搞定就行了。是因?yàn)镕B功能更強(qiáng)悍些,每次調(diào)用他都需要一個(gè)DB來(lái)供他為邏輯計(jì)算存放數(shù)據(jù)。而不像我之前說(shuō)的FC,需要輸入輸出接口地址來(lái)作為數(shù)據(jù)來(lái)源。每次調(diào)用FB時(shí),需要指明一個(gè)DB,兩個(gè)相互配合。而DB中存放的數(shù)據(jù),也可以供全局享用。比如,有一個(gè)電機(jī)的加速功能塊,作用是調(diào)節(jié)電機(jī)的加速。我們需要輸入的參數(shù)是加速時(shí)間,高速度兩個(gè)參數(shù),然后計(jì)算得出速度給定。這個(gè)時(shí)候我們好用FB。現(xiàn)有電機(jī)1,輸入加速時(shí)間2,高速度20。那么2,20這個(gè)值放在哪呢,我們調(diào)用FB時(shí),就可以放到DB電機(jī)1里去了。現(xiàn)有電機(jī)2,加速時(shí)間3,高速度30 我們?nèi)匀徽{(diào)用這個(gè)FB,3和30放DB電機(jī)2里就可以了。如果用FC,也可以做這個(gè)塊。但是,沒(méi)有DB來(lái)存放這些數(shù)據(jù),就很不方便,也就失去了通用性。記住一點(diǎn),簡(jiǎn)單的功能用FC,復(fù)雜的用FB。保準(zhǔn)不錯(cuò)。
西門子PLC的主要故障及處理方法有哪些?
1、軟故障的判斷和處理
S5PLC具有自診斷能力,發(fā)生模塊功能錯(cuò)誤時(shí)往往能報(bào)警并按預(yù)先程序作出反應(yīng),通過(guò)故障指示燈就可判斷。當(dāng)電源正常,各指示燈也指示正常,特別是輸入信號(hào)正常,但系統(tǒng)功能不正常(輸出無(wú)或亂)時(shí),本著先易后難、先軟后硬的檢修原則首先檢查用戶程序是否出現(xiàn)問(wèn)題。S5的用戶程序儲(chǔ)存在PLC的RAM中,是掉電易失性的,當(dāng)后備電池故障系統(tǒng)電源發(fā)生閃失時(shí),程序丟失或紊亂的可能性就很大,當(dāng)然強(qiáng)烈的電磁干擾也會(huì)引起程序出錯(cuò)。有EPROM存儲(chǔ)卡及插槽的PLC恢復(fù)程序就相當(dāng)簡(jiǎn)單,將EPROM卡上的程序拷回PLC后一般都能解決問(wèn)題;沒(méi)有EPROM子卡的用戶就要利用PG的聯(lián)機(jī)功能將正確的程序發(fā)送到PLC上。需要特別說(shuō)明的是,有時(shí)簡(jiǎn)單的程序覆蓋不能解決問(wèn)題,這時(shí)在重新拷貝程序前總清一下RAM中的用戶程序是相當(dāng)必要的。通過(guò)將PLC上的“RUN”“ST”開(kāi)關(guān)按RUN---ST---RUN---ST---RUN的順序一遍或在PG上執(zhí)行“Object—Blocks—Delete---inPLC—allblocks---overall—Reset”功能就完成了RAM中程序的總清。另外,保存在EPROM中的程序并不是萬(wàn)無(wú)一失的,過(guò)分相信EPROM上的程序有時(shí)會(huì)給檢修帶來(lái)困惑。所以經(jīng)常性的檢查核對(duì)EPROM中的程序,特別是PG中的備份程序就顯的尤為重要。
2、PLC硬件故障
PLC的硬件故障較為直觀地就能發(fā)現(xiàn),維修的基本方法就是更換模塊。根據(jù)故障指示燈和故障現(xiàn)象判斷故障模塊是檢修的關(guān)鍵,盲目的更換會(huì)帶來(lái)不必要的損失。
1)電源模塊故障
一個(gè)工作正常的電源模塊,其上面的工作指示燈如“AC”、“24VDC”、“5VDC”、“BATT”等應(yīng)該是綠色長(zhǎng)亮的,哪一個(gè)燈的顏色發(fā)生了變化或閃爍或熄滅就表示那一部分的電源有問(wèn)題。“AC”燈表示PLC的交流總電源,“AC”燈不亮?xí)r多半無(wú)工作電源,整個(gè)PLC停止。這時(shí)就應(yīng)該檢查電源絲是否熔斷,更換熔絲是應(yīng)用同規(guī)格同型號(hào)的絲,無(wú)同型號(hào)的進(jìn)口熔絲時(shí)要用電流相同的快速熔絲代替。如重復(fù)燒絲說(shuō)明電路板短路或損壞,更換整個(gè)電源。“5VDC”、“24VDC”燈熄滅表示無(wú)相應(yīng)的直流電源輸出,當(dāng)電源偏差超出正常值5%時(shí)指示燈閃爍,此時(shí)雖然PLC仍能工作,但應(yīng)引起重視,必要時(shí)停機(jī)檢修。“BATT”變色燈是后備電源指示燈,綠色正常,黃色電量低,紅色故障。黃燈亮?xí)r就應(yīng)該更換后備電池,手冊(cè)規(guī)定兩到三年更換鋰電池一次,當(dāng)紅燈亮?xí)r表示后備電源系統(tǒng)故障,也需要更換整個(gè)模塊。
2)I/O模塊故障
輸入模塊一般由光電耦合電路組成;輸出模塊根據(jù)型號(hào)不同有繼電輸出、晶體管輸出、光電輸出等。每一點(diǎn)輸入輸出都有相應(yīng)的發(fā)光二極管指示。有輸入信號(hào)但該點(diǎn)不亮或確定有輸出但輸出燈不亮?xí)r就應(yīng)該懷疑I/O模塊有故障。輸入和輸出模塊有6到24個(gè)點(diǎn),如果只是因?yàn)橐粋€(gè)點(diǎn)的損壞就更換整個(gè)模塊在經(jīng)濟(jì)上不合算。通常的做法是找備用點(diǎn)替代,然后在程序中更改相應(yīng)的地址。但要注意,程序較大時(shí)查找具體地址有困難。特別強(qiáng)調(diào)的是,無(wú)論是更換輸入模塊還是更換輸出模塊,都要在PLC斷電的情況下進(jìn)行,S5帶電插拔模塊是不允許的。
3)CPU模塊故障
通用型S5PLC的CPU模塊上往往包括有通信接口、EPROM插槽、運(yùn)行開(kāi)關(guān)等,故障的隱蔽性更大,因?yàn)楦鼡QCPU模塊的費(fèi)用很大,所以對(duì)它的故障分析、判斷要尤為仔細(xì)。
檢修實(shí)例:一臺(tái)PLC合上電源時(shí)無(wú)法將開(kāi)關(guān)撥到RUN狀態(tài),錯(cuò)誤指示燈先閃爍后常亮,斷電復(fù)位后故障依舊,更換CPU模塊后運(yùn)行正常。在進(jìn)行芯片級(jí)維修時(shí)更換了CPU但故障燈仍然不停閃爍,至到更換了通信借口板后功能才恢復(fù)正常。
3、線路故障
據(jù)有關(guān)文獻(xiàn)報(bào)道,在PLC控制系統(tǒng)中出現(xiàn)的故障率為:CPU及存儲(chǔ)器占5%,I/O模塊占15%,傳感器及開(kāi)關(guān)占45%,執(zhí)行器占30%,接線等其他方面占5%,可見(jiàn)80%以上的故障出現(xiàn)在線路。線路由現(xiàn)場(chǎng)輸入信號(hào)(如按鈕開(kāi)關(guān)、選擇開(kāi)關(guān)、接近開(kāi)關(guān)及一些傳感器輸出的開(kāi)關(guān)量、繼電器輸出觸點(diǎn)或模數(shù)轉(zhuǎn)換器轉(zhuǎn)換的模擬量等)和現(xiàn)場(chǎng)輸出信號(hào)(電磁閥、繼電器、接觸器、電機(jī)等),以及導(dǎo)線和接線端子等組成。接線松動(dòng)、元器件損壞、機(jī)械故障、干擾等均可引起電路故障,排查時(shí)要仔細(xì),替換的元器件要選用性能可靠安全系數(shù)高的器件。一些功能強(qiáng)大的控制系統(tǒng)采用故障代碼表表示故障,對(duì)故障的分析排除帶來(lái)極大便利,應(yīng)好好利用。