在當前的工業生產過程控制中,普遍採用了PLC控制系統,通過軟體程序來實現控制設備之間的聯鎖控制也就是自動控制,由控制設備驅動的工廠機械設備來完成滿足工藝要求的生產過程。這裡,設備的運行分為單體手動操作和自動控制運行兩種方式。在單體手動操作中,一般是在設備就地(機旁)操作。PLC的程序控制主要是進行自動控制,但其中也包括單體手動操作,其完成的功能和就地(機旁)操作是一樣的,不同之處在於,它是通過程序的方式來實現,並且一般是在上位機的監控畫面中通過點擊滑鼠的方式進行,也就是在機房或控制室中進行而不是就地(機旁)。手動操作(包括程序中的手動單體操作)和自動控制程序的主要區別在於,自動控制程序是在正式投產後,各個設備沒有故障可正常工作時運行。而手動操作是在調試期間用於俗稱的「打點」時用,或正常運行時,有設備出現故障時用。例如,某供水水箱的液位控制,水位高時,啟動出水泵供水,水位低時,停止泵供水,假如水箱的液位傳感器出現故障,自動控制就無法進行,那麼為了繼續維持生產,就需要操作人員現場手動操作,根據水箱的液位指示器來手動啟動和停止出水泵的運行及相應閥門的開關。需要指出的是,本文所指的設備是PLC輸出控制的開關量設備,模擬量設備不在本文的討論之列。
設備手動和自動切換的方式
在本文中,設備是指工廠機械設備及其控制設備。控制設備是指電機,閥門等等,而設備的手動和自動運行,主要體現在控制設備的手動和自動運行。例如,對於電機的控制一般是通過MCC(電機控制中心)電氣控制系統來進行的,電機的遠程和就地信號,即自動和手動的切換信號,以及啟動、停止、故障等信號均由MCC提供並接到PLC硬體系統。在MCC柜上的遠程就地轉換開關打到就地時,進行就地手動操作;打到遠程時,進行PLC的程序自動控制,或在上位機畫面上進行點擊滑鼠式的手動操作。我們可以這樣來理解PLC控制系統、就地電氣控制系統、控制設備和工廠機械設備之間的關係,即自動控制(包括PLC程序中的手動操作)是由PLC控制系統通過電氣控制系統,由電氣控制系統來控制像電機一樣的控制設備,最後由控制設備來驅動工廠機械設備的運行。而電氣控制系統像MCC櫃本身,就可以直接進行手動就地操作。
對於電機的控制來說,正常運行時,首先是PLC程序的自動控制,此時的遠程就地轉換開關處於遠程的位置,然後如果出現PLC無法處理的問題或故障,則需要在上位機的畫面上,人工進行單體設備的操作,以維持生產或進行安全聯鎖操作。最後如果依然不能解決問題,則需要在就地(機旁)進行操作,一般是進行電機停止的操作。
對於閥門來說,一般也有相應的電氣控制系統,就像MCC一樣,其一般是就地的現場電磁閥控制櫃(箱),一般都有遠程就地的轉換開關,用於手動和自動運行的切換。和電機控制一樣,正常運行時,首先是PLC的自動控制,此時的遠程就地的轉換開關處於遠程的位置,然後如果出現PLC無法處理的問題或故障,則需要在上位機的畫面上,人工進行單體設備的操作,以維持生產或進行安全聯鎖操作。最後如果依然不能解決問題,遠程就地轉換開關打到就地位置,進行現場的就地控制。如果還不能解決問題,則只能使用手動閥門進行安全操作。
顯然,就地手動和遠程自動運行,是通過就地控制櫃(箱)上的轉換開關來實現的。PLC程序中的手動和自動的切換功能,也可以這樣做,在程序中實現類似於轉換開關這樣的操作是沒有問題的。
設備手動和自動切換的程序實現方法1
當遠程就地信號為1時,即表示現場的控制櫃(箱)上的轉換開關打到了遠程位置,可進行PLC的自動控制;當其為0時,則表示是現場手動操作。為了實現程序內部的手動自動切換,就像遠程就地信號一樣,設置一個中間變量,這個中間變量作為程序手動單體設備操作的標誌,是由上位機監控程序來賦值的,其值為1時,進行程序的單體設備手動操作;為0時PLC程序進行自動控制。由此可見,每一個自動控制中的設備都是在這兩個條件下運行的。
我們用梯形圖來實現一個電機和一個閥門的手自動切換功能,設置如下輸入、輸出IO標籤和中間變量:
輸出:電機啟動START
電機停止STOP
閥門打開OPEN
閥門關閉CLOSE
輸入:電機MCC櫃遠程就地信號RL_M
閥門控制櫃遠程就地信號RL_V 變量:電機啟動條件A
電機停止條件B
閥門打開條件C
閥門關閉條件D
電機的上位機手動操作中間變量UP_MAN_M
電機的上位機手動操作啟動UP_START_M
電機的上位機手動操作停止UP_STOP_M
閥門的上位機手動操作中間變量UP_MAN_V
閥門的上位機手動操作打開UP_OPEN_V
閥門的上位機手動操作關閉UP_CLOSE_V
使用美國A-B公司的RSLogix 5000編程軟體的梯形圖,程序如圖1:
圖1
其中(L)為置位指令,(U)為復位指令。這裡之所以用置位、復位指令,主要是考慮到啟動(打開)條件和停止(關閉)條件可能是脈衝型的(例如上升沿脈衝),需要保持(註:如果MCC中的控制迴路使用了「啟動-保持-停止」方式,那麼採用脈衝輸出比較合適,就像自復位式按鈕一樣。這裡為了簡化梯形圖程序,沒有這樣做。有興趣的讀者不妨一試)。電機啟動或停止條件是自動控制時的聯鎖條件,上位機進行手動操作時,自動控制程序不能執行。同樣就地操作時,PLC的程序控制也不能執行,程序可以根據需要將此時的電機啟動和停止控制信號復位。閥門的控制也是一樣。這樣各個設備均可根據情況進行自動運行或手動操作。
設備手動和自動切換的程序實現方法2
上面的方法對手自動切換時的各種情況都進行了考慮,程序進行設計時需要時時刻刻注意手自動切換問題,程序量相對於沒有手自動切換時也有所增加。如果把程序中的手動程序同自動程序分開,程序就會顯得更加清晰明了,同時設計自動程序時也不必時時刻刻注意手自動切換問題。這樣是否可行呢?我們不妨將上面的梯形圖程序改造成如圖2所示。
圖2
顯然,這是可行的,由於手動程序最後執行,電機或閥門的啟動、停止或打開、關閉,由手動程序決定。也就是說,當自動控制程序運行時,如果有上位機手動操作,則上位機手動操作優先。例如當自動程序要求電機停止時,如果上位機手動操作讓其啟動,則電機啟動。其中的原因是,程序對相同變量或IO標籤的賦值操作,最後執行的程序有效。例如下面的例子:
IF A THEN
Y := 0;
END_IF;
IF B THEN
Y := 1;
END_IF;
在A,B都為1時,Y = 1。因為最後執行的語句有效,不管是PLC梯形圖程序還是其他電腦程式都是這樣。
對於遠程就地的現場手動操作來說,當轉換開關打到就地時,PLC梯形圖程序繼續根據聯鎖條件執行,但輸出將不起作用,設備的狀態由現場操作決定。轉換開關再次打到遠程時,PLC程序的輸出才能真正控制設備的運行。
設備組手動和自動切換的程序實現方法
在上面我們主要介紹了單體設備的手動自動的切換問題,那麼在工業生產過程的控制中,不少設備是一同完成某種功能的,這些設備一起組成一個設備組,可以把它們當作一個單體設備來考慮。這樣就可以利用上面的方法來實現設備組的手動自動切換問題。
雖然設備組可看作是單體設備,但其中內部畢竟還包含著真正的單體設備,也存在內部單體設備的手動自動切換問題,那麼如何來解決設備組和其內部的真正單體設備手動自動切換問題呢?這裡,我們採用和方法2類似的方法,將設備組的單體操作程序放在自動程序和真正單體設備的操作程序之間,這樣就可以即進行設備組的單體操作,也可以進行真正單體設備的操作,也就是說,真正單體設備的操作優先級最高,其次是設備組單體設備,最後才是自動控制程序。當然如果不嫌麻煩,也可以用方法1的方式來實現。
需要指出的是,對於設備組的功能,多次使用時,用子程序的方式來實現是最理想的。
最後,我們可以此類推,把整個工廠控制設備當作一個設備組來考慮,也可以為其提供手動自動切換的功能。
目前,在國內的生產企業的PLC自動化系統的新建或改造項目中,用戶對設備的手動操作和自動控制功能都十分重視,尤其是對手動操作功能格外的重視,對此的一般解釋為「手動功能對於維護設備實用性很強」,設備經常出現問題,需要在自動控制的過程中進行手動操作,或者也有說要在手動操作時,進行自動控制操作的。但是對於一個完善的控制程序來講,實現設備手動操作和自動控制功能及其兩者的切換,不僅是可實現的也是應該實現的。如果說有不足的話,那就是,程序的複雜性會強一些,設計人員需要合理的分配手自動的功能並做好互不干涉的功能。