引言
在當(dāng)前的工業(yè)生產(chǎn)過(guò)程控制中,普遍采用了PLC控制系統(tǒng),通過(guò)軟件程序來(lái)實(shí)現(xiàn)控制設(shè)備之間的聯(lián)鎖控制也就是自動(dòng)控制,由控制設(shè)備驅(qū)動(dòng)的工廠機(jī)械設(shè)備來(lái)完成滿足工藝要求的生產(chǎn)過(guò)程。這里,設(shè)備的運(yùn)行分為單體手動(dòng)操作和自動(dòng)控制運(yùn)行兩種方式。在單體手動(dòng)操作中,一般是在設(shè)備就地(機(jī)旁)操作。PLC的程序控制主要是進(jìn)行自動(dòng)控制,但其中也包括單體手動(dòng)操作,其完成的功能和就地(機(jī)旁)操作是一樣的,不同之處在于,它是通過(guò)程序的方式來(lái)實(shí)現(xiàn),并且一般是在上位機(jī)的監(jiān)控畫面中通過(guò)點(diǎn)擊鼠標(biāo)的方式進(jìn)行,也就是在機(jī)房或控制室中進(jìn)行而不是就地(機(jī)旁)。手動(dòng)操作(包括程序中的手動(dòng)單體操作)和自動(dòng)控制程序的主要區(qū)別在于,自動(dòng)控制程序是在正式投產(chǎn)后,各個(gè)設(shè)備沒(méi)有故障可正常工作時(shí)運(yùn)行。而手動(dòng)操作是在調(diào)試期間用于俗稱的“打點(diǎn)”時(shí)用,或正常運(yùn)行時(shí),有設(shè)備出現(xiàn)故障時(shí)用。例如,某供水水箱的液位控制,水位高時(shí),啟動(dòng)出水泵供水,水位低時(shí),停止泵供水,假如水箱的液位傳感器出現(xiàn)故障,自動(dòng)控制就無(wú)法進(jìn)行,那么為了繼續(xù)維持生產(chǎn),就需要操作人員現(xiàn)場(chǎng)手動(dòng)操作,根據(jù)水箱的液位指示器來(lái)手動(dòng)啟動(dòng)和停止出水泵的運(yùn)行及相應(yīng)閥門的開關(guān)。需要指出的是,本文所指的設(shè)備是PLC輸出控制的開關(guān)量設(shè)備,模擬量設(shè)備不在本文的討論之列。
設(shè)備手動(dòng)和自動(dòng)切換的方式
在本文中,設(shè)備是指工廠機(jī)械設(shè)備及其控制設(shè)備??刂圃O(shè)備是指電機(jī),閥門等等,而設(shè)備的手動(dòng)和自動(dòng)運(yùn)行,主要體現(xiàn)在控制設(shè)備的手動(dòng)和自動(dòng)運(yùn)行。例如,對(duì)于電機(jī)的控制一般是通過(guò)MCC(電機(jī)控制中心)電氣控制系統(tǒng)來(lái)進(jìn)行的,電機(jī)的遠(yuǎn)程和就地信號(hào),即自動(dòng)和手動(dòng)的切換信號(hào),以及啟動(dòng)、停止、故障等信號(hào)均由MCC提供并接到PLC硬件系統(tǒng)。在MCC柜上的遠(yuǎn)程就地轉(zhuǎn)換開關(guān)打到就地時(shí),進(jìn)行就地手動(dòng)操作;打到遠(yuǎn)程時(shí),進(jìn)行PLC的程序自動(dòng)控制,或在上位機(jī)畫面上進(jìn)行點(diǎn)擊鼠標(biāo)式的手動(dòng)操作。我們可以這樣來(lái)理解PLC控制系統(tǒng)、就地電氣控制系統(tǒng)、控制設(shè)備和工廠機(jī)械設(shè)備之間的關(guān)系,即自動(dòng)控制(包括PLC程序中的手動(dòng)操作)是由PLC控制系統(tǒng)通過(guò)電氣控制系統(tǒng),由電氣控制系統(tǒng)來(lái)控制像電機(jī)一樣的控制設(shè)備,最后由控制設(shè)備來(lái)驅(qū)動(dòng)工廠機(jī)械設(shè)備的運(yùn)行。而電氣控制系統(tǒng)像MCC柜本身,就可以直接進(jìn)行手動(dòng)就地操作。
對(duì)于電機(jī)的控制來(lái)說(shuō),正常運(yùn)行時(shí),首先是PLC程序的自動(dòng)控制,此時(shí)的遠(yuǎn)程就地轉(zhuǎn)換開關(guān)處于遠(yuǎn)程的位置,然后如果出現(xiàn)PLC無(wú)法處理的問(wèn)題或故障,則需要在上位機(jī)的畫面上,人工進(jìn)行單體設(shè)備的操作,以維持生產(chǎn)或進(jìn)行安全聯(lián)鎖操作。最后如果依然不能解決問(wèn)題,則需要在就地(機(jī)旁)進(jìn)行操作,一般是進(jìn)行電機(jī)停止的操作。
對(duì)于閥門來(lái)說(shuō),一般也有相應(yīng)的電氣控制系統(tǒng),就像MCC一樣,其一般是就地的現(xiàn)場(chǎng)電磁閥控制柜(箱),一般都有遠(yuǎn)程就地的轉(zhuǎn)換開關(guān),用于手動(dòng)和自動(dòng)運(yùn)行的切換。和電機(jī)控制一樣,正常運(yùn)行時(shí),首先是PLC的自動(dòng)控制,此時(shí)的遠(yuǎn)程就地的轉(zhuǎn)換開關(guān)處于遠(yuǎn)程的位置,然后如果出現(xiàn)PLC無(wú)法處理的問(wèn)題或故障,則需要在上位機(jī)的畫面上,人工進(jìn)行單體設(shè)備的操作,以維持生產(chǎn)或進(jìn)行安全聯(lián)鎖操作。最后如果依然不能解決問(wèn)題,遠(yuǎn)程就地轉(zhuǎn)換開關(guān)打到就地位置,進(jìn)行現(xiàn)場(chǎng)的就地控制。如果還不能解決問(wèn)題,則只能使用手動(dòng)閥門進(jìn)行安全操作。
顯然,就地手動(dòng)和遠(yuǎn)程自動(dòng)運(yùn)行,是通過(guò)就地控制柜(箱)上的轉(zhuǎn)換開關(guān)來(lái)實(shí)現(xiàn)的。PLC程序中的手動(dòng)和自動(dòng)的切換功能,也可以這樣做,在程序中實(shí)現(xiàn)類似于轉(zhuǎn)換開關(guān)這樣的操作是沒(méi)有問(wèn)題的。
設(shè)備手動(dòng)和自動(dòng)切換的程序?qū)崿F(xiàn)方法1
當(dāng)遠(yuǎn)程就地信號(hào)為1時(shí),即表示現(xiàn)場(chǎng)的控制柜(箱)上的轉(zhuǎn)換開關(guān)打到了遠(yuǎn)程位置,可進(jìn)行PLC的自動(dòng)控制;當(dāng)其為0時(shí),則表示是現(xiàn)場(chǎng)手動(dòng)操作。為了實(shí)現(xiàn)程序內(nèi)部的手動(dòng)自動(dòng)切換,就像遠(yuǎn)程就地信號(hào)一樣,設(shè)置一個(gè)中間變量,這個(gè)中間變量作為程序手動(dòng)單體設(shè)備操作的標(biāo)志,是由上位機(jī)監(jiān)控程序來(lái)賦值的,其值為1時(shí),進(jìn)行程序的單體設(shè)備手動(dòng)操作;為0時(shí)PLC程序進(jìn)行自動(dòng)控制。由此可見(jiàn),每一個(gè)自動(dòng)控制中的設(shè)備都是在這兩個(gè)條件下運(yùn)行的。
我們用梯形圖來(lái)實(shí)現(xiàn)一個(gè)電機(jī)和一個(gè)閥門的手自動(dòng)切換功能,設(shè)置如下輸入、輸出IO標(biāo)簽和中間變量:
輸出:電機(jī)啟動(dòng)START
電機(jī)停止STOP
閥門打開OPEN
閥門關(guān)閉CLOSE
輸入:電機(jī)MCC柜遠(yuǎn)程就地信號(hào)RL_M
閥門控制柜遠(yuǎn)程就地信號(hào)RL_V 變量:電機(jī)啟動(dòng)條件A
電機(jī)停止條件B
閥門打開條件C
閥門關(guān)閉條件D
電機(jī)的上位機(jī)手動(dòng)操作中間變量UP_MAN_M
電機(jī)的上位機(jī)手動(dòng)操作啟動(dòng)UP_START_M
電機(jī)的上位機(jī)手動(dòng)操作停止UP_STOP_M
閥門的上位機(jī)手動(dòng)操作中間變量UP_MAN_V
閥門的上位機(jī)手動(dòng)操作打開UP_OPEN_V
閥門的上位機(jī)手動(dòng)操作關(guān)閉UP_CLOSE_V
使用美國(guó)A-B公司用于Logix 5000系列PLC的RSLogix 5000編程軟件的梯形圖,程序如圖1:
[align=center]
圖1[/align]
其中(L)為置位指令,(U)為復(fù)位指令。這里之所以用置位、復(fù)位指令,主要是考慮到啟動(dòng)(打開)條件和停止(關(guān)閉)條件可能是脈沖型的(例如上升沿脈沖),需要保持(注:如果MCC中的控制回路使用了“啟動(dòng)-保持-停止”方式,那么采用脈沖輸出比較合適,就像自復(fù)位式按鈕一樣。這里為了簡(jiǎn)化梯形圖程序,沒(méi)有這樣做。有興趣的讀者不妨一試)。電機(jī)啟動(dòng)或停止條件是自動(dòng)控制時(shí)的聯(lián)鎖條件,上位機(jī)進(jìn)行手動(dòng)操作時(shí),自動(dòng)控制程序不能執(zhí)行。同樣就地操作時(shí),PLC的程序控制也不能執(zhí)行,程序可以根據(jù)需要將此時(shí)的電機(jī)啟動(dòng)和停止控制信號(hào)復(fù)位。閥門的控制也是一樣。這樣各個(gè)設(shè)備均可根據(jù)情況進(jìn)行自動(dòng)運(yùn)行或手動(dòng)操作。
設(shè)備手動(dòng)和自動(dòng)切換的程序?qū)崿F(xiàn)方法2
上面的方法對(duì)手自動(dòng)切換時(shí)的各種情況都進(jìn)行了考慮,程序進(jìn)行設(shè)計(jì)時(shí)需要時(shí)時(shí)刻刻注意手自動(dòng)切換問(wèn)題,程序量相對(duì)于沒(méi)有手自動(dòng)切換時(shí)也有所增加。如果把程序中的手動(dòng)程序同自動(dòng)程序分開,程序就會(huì)顯得更加清晰明了,同時(shí)設(shè)計(jì)自動(dòng)程序時(shí)也不必時(shí)時(shí)刻刻注意手自動(dòng)切換問(wèn)題。這樣是否可行呢?我們不妨將上面的梯形圖程序改造成如圖2所示。
[align=center]
圖2[/align]
顯然,這是可行的,由于手動(dòng)程序最后執(zhí)行,電機(jī)或閥門的啟動(dòng)、停止或打開、關(guān)閉,由手動(dòng)程序決定。也就是說(shuō),當(dāng)自動(dòng)控制程序運(yùn)行時(shí),如果有上位機(jī)手動(dòng)操作,則上位機(jī)手動(dòng)操作優(yōu)先。例如當(dāng)自動(dòng)程序要求電機(jī)停止時(shí),如果上位機(jī)手動(dòng)操作讓其啟動(dòng),則電機(jī)啟動(dòng)。其中的原因是,程序?qū)ο嗤兞炕騃O標(biāo)簽的賦值操作,最后執(zhí)行的程序有效。例如下面的例子:
IF A THEN
Y := 0;
END_IF;
IF B THEN
Y := 1;
END_IF;
在A,B都為1時(shí),Y = 1。因?yàn)樽詈髨?zhí)行的語(yǔ)句有效,不管是PLC梯形圖程序還是其他計(jì)算機(jī)程序都是這樣。
對(duì)于遠(yuǎn)程就地的現(xiàn)場(chǎng)手動(dòng)操作來(lái)說(shuō),當(dāng)轉(zhuǎn)換開關(guān)打到就地時(shí),PLC梯形圖程序繼續(xù)根據(jù)聯(lián)鎖條件執(zhí)行,但輸出將不起作用,設(shè)備的狀態(tài)由現(xiàn)場(chǎng)操作決定。轉(zhuǎn)換開關(guān)再次打到遠(yuǎn)程時(shí),PLC程序的輸出才能真正控制設(shè)備的運(yùn)行。
設(shè)備組手動(dòng)和自動(dòng)切換的程序?qū)崿F(xiàn)方法
在上面我們主要介紹了單體設(shè)備的手動(dòng)自動(dòng)的切換問(wèn)題,那么在工業(yè)生產(chǎn)過(guò)程的控制中,不少設(shè)備是一同完成某種功能的,這些設(shè)備一起組成一個(gè)設(shè)備組,可以把它們當(dāng)作一個(gè)單體設(shè)備來(lái)考慮。這樣就可以利用上面的方法來(lái)實(shí)現(xiàn)設(shè)備組的手動(dòng)自動(dòng)切換問(wèn)題。
雖然設(shè)備組可看作是單體設(shè)備,但其中內(nèi)部畢竟還包含著真正的單體設(shè)備,也存在內(nèi)部單體設(shè)備的手動(dòng)自動(dòng)切換問(wèn)題,那么如何來(lái)解決設(shè)備組和其內(nèi)部的真正單體設(shè)備手動(dòng)自動(dòng)切換問(wèn)題呢?這里,我們采用和方法2類似的方法,將設(shè)備組的單體操作程序放在自動(dòng)程序和真正單體設(shè)備的操作程序之間,這樣就可以即進(jìn)行設(shè)備組的單體操作,也可以進(jìn)行真正單體設(shè)備的操作,也就是說(shuō),真正單體設(shè)備的操作優(yōu)先級(jí)最高,其次是設(shè)備組單體設(shè)備,最后才是自動(dòng)控制程序。當(dāng)然如果不嫌麻煩,也可以用方法1的方式來(lái)實(shí)現(xiàn)。
需要指出的是,對(duì)于設(shè)備組的功能,多次使用時(shí),用子程序的方式來(lái)實(shí)現(xiàn)是最理想的。
最后,我們可以此類推,把整個(gè)工廠控制設(shè)備當(dāng)作一個(gè)設(shè)備組來(lái)考慮,也可以為其提供手動(dòng)自動(dòng)切換的功能。
目前,在國(guó)內(nèi)的生產(chǎn)企業(yè)的PLC自動(dòng)化系統(tǒng)的新建或改造項(xiàng)目中,用戶對(duì)設(shè)備的手動(dòng)操作和自動(dòng)控制功能都十分重視,尤其是對(duì)手動(dòng)操作功能格外的重視,對(duì)此的一般解釋為“國(guó)內(nèi)設(shè)備質(zhì)量不過(guò)關(guān)”,設(shè)備經(jīng)常出現(xiàn)問(wèn)題,需要在自動(dòng)控制的過(guò)程中進(jìn)行手動(dòng)操作,或者也有說(shuō)要在手動(dòng)操作時(shí),進(jìn)行自動(dòng)控制操作的。但是對(duì)于一個(gè)完善的控制程序來(lái)講,實(shí)現(xiàn)設(shè)備手動(dòng)操作和自動(dòng)控制功能及其兩者的切換,不僅是可實(shí)現(xiàn)的也是應(yīng)該實(shí)現(xiàn)的。如果說(shuō)有不足的話,那就是,加入手動(dòng)操作功能后,控制程序占用的內(nèi)存增加了,掃描周期增長(zhǎng)了,需要考慮的問(wèn)題也增多了。但這也未必真的就是一個(gè)問(wèn)題,畢竟現(xiàn)在的PLC 的執(zhí)行速度是很快的而且內(nèi)存也大大增加了。