本申請(qǐng)涉及一種可編程式邏輯控制器及其電源故障數(shù)據(jù)保存方法。特別涉及基于單一5V電源的電源故障數(shù)據(jù)保存方法。
背景技術(shù):
總的來(lái)說(shuō),大部分PLC(Programmable Logic Controller可編程式邏輯控制器)使用單獨(dú)的24V電源來(lái)提供用于數(shù)據(jù)保存的電能。當(dāng)出現(xiàn)電源故障(PF)時(shí),電源電壓從24V降至5V的期間被用于數(shù)據(jù)存儲(chǔ)。
圖1是以往的PLC的結(jié)構(gòu)圖以及在電源故障期間的時(shí)序圖。圖1中(a)部分的框圖表示,在發(fā)生電源故障時(shí),要求同時(shí)滿足以6W功率、200ms時(shí)間來(lái)保存數(shù)據(jù)的情況下,在以往的PLC的電源中,采用具有24V輸出和5V輸出的電源對(duì)PLC控制器進(jìn)行供電。其中單獨(dú)使用24V輸出與PF檢測(cè)和用于數(shù)據(jù)保存的儲(chǔ)能模塊連接,對(duì)其供電;5V輸出與PLC邏輯電路連接,對(duì)其供電。圖1的(b)部分表示在發(fā)生電源故障時(shí)電壓和電流變化的時(shí)序圖。由該圖可知,在發(fā)生電源故障時(shí)電源中的24V輸出電壓經(jīng)過時(shí)間T1從24V降至PF檢測(cè)閾值電壓,接著經(jīng)過200ms連續(xù)降至5V。其中200ms是用于保存數(shù)據(jù)的時(shí)間。在200ms之后,24V輸出電壓降至5V以下,成為5V裝置停止工作電壓。24V輸出電路的電流在T1之前為160mA,而在T1之后降為0mA。而5V輸出電路的電流在T1之前為290mA;在T1之后的200ms數(shù)據(jù)保存期間內(nèi)電流為150mA。在此期間,CPU使外部設(shè)備停止運(yùn)轉(zhuǎn),并將數(shù)據(jù)保存到ROM。
但是,如果在PLC中采用單獨(dú)的24V電源來(lái)保存數(shù)據(jù),會(huì)導(dǎo)致成本增加,并增大PLC的體積。
技術(shù)實(shí)現(xiàn)要素:
本公開通過采用一系列降低功耗的處理動(dòng)作,CPU以適當(dāng)?shù)臅r(shí)序?qū)崿F(xiàn)所述動(dòng)作,從而在電源故障階段一步步地將PLC的功耗最小化。當(dāng)全部功耗 顯著降低時(shí),可以取消單獨(dú)的24V電源來(lái)保電而僅使用PLC邏輯電路供電回路上的保電電容器的電能來(lái)進(jìn)行數(shù)據(jù)保存。在使用PLC邏輯電路供電回路上的保電電容器進(jìn)行電源故障時(shí)的數(shù)據(jù)存儲(chǔ)時(shí),能夠接受在低于24V至5V的范圍內(nèi)進(jìn)行數(shù)據(jù)存儲(chǔ)。
根據(jù)本公開的一個(gè)方面,提供一種可編程邏輯控制器,其特征在于,包括:電源模塊,其中包括提供在電源故障期間進(jìn)行數(shù)據(jù)保存的電能的保電電容器;第一元件組,包括CPU、外部存儲(chǔ)器和電源故障檢測(cè)單元,所述外部存儲(chǔ)器包括外部RAM和非易失性存儲(chǔ)器;以及第二元件組,包括除了第一元件組之外的元件,所述保電電容器通過低壓差線性穩(wěn)壓器與所述第一元件組連接,并且通過分壓元件與所述第二元件組連接,所述電源故障檢測(cè)單元檢測(cè)所述保電電容器的輸出電壓,如果CPU根據(jù)所述輸出電壓判斷發(fā)生了電源故障的情況,則使所述第二元件組停止運(yùn)轉(zhuǎn),如果在發(fā)生了電源故障的情況下,關(guān)鍵數(shù)據(jù)保持在CPU的內(nèi)部RAM,則CPU關(guān)斷所述外部RAM的電源;如果關(guān)鍵數(shù)據(jù)保持在所述外部RAM,則首先將其復(fù)制到CPU的內(nèi)部RAM,然后關(guān)斷所述外部RAM的電源。
根據(jù)本公開的另一個(gè)方面,提供一種可編程邏輯控制器的在電源故障期間保存數(shù)據(jù)的方法,所述可編程邏輯控制器包括:電源模塊,其中包括提供在電源故障期間進(jìn)行數(shù)據(jù)保存的電能的保電電容器;第一元件組,包括CPU、包括外部RAM和非易失性存儲(chǔ)器的外部存儲(chǔ)器和電源故障檢測(cè)單元;以及第二元件組,包括除了第一元件組之外的元件,所述保電電容器通過低壓差線性穩(wěn)壓器與所述第一元件組連接,并且通過分壓元件與所述第二元件組連接,所述方法包括以下步驟:所述電源故障檢測(cè)單元檢測(cè)所述保電電容器的輸出電壓;如果CPU根據(jù)所述輸出電壓判斷發(fā)生了電源故障的情況,則使所述第二元件組停止運(yùn)轉(zhuǎn);如果關(guān)鍵數(shù)據(jù)保持在CPU的內(nèi)部RAM,則CPU關(guān)斷所述外部RAM的電源;如果關(guān)鍵數(shù)據(jù)保持在所述外部RAM,則首先將其復(fù)制到CPU的內(nèi)部RAM,然后關(guān)斷所述外部RAM的電源。
由于去除了一組電源,所以本公開的PLC能夠節(jié)約電源(PLC PS)成本中大約35%的成本。另外,在不增加保存時(shí)間的同時(shí),有利于PLC的小型化設(shè)計(jì)。
附圖說(shuō)明
從本公開的具體實(shí)施例結(jié)合附圖的以下描述中,其它優(yōu)點(diǎn)和特征將變得更清楚明顯,這些具體實(shí)施例僅是為了非限制性的目的,并在附圖中示出,附圖中同樣的附圖標(biāo)記用于表示同樣的部件或單元,其中:
圖1(a)~圖1(b)是以往的PLC的結(jié)構(gòu)圖以及在電源故障期間的時(shí)序圖。
圖2(a)~圖2(b)是本公開的PLC的結(jié)構(gòu)圖以及在電源故障期間的時(shí)序圖。
圖3是說(shuō)明本公開的PLC的一例具體結(jié)構(gòu)圖。
圖4是說(shuō)明本公開的PLC的另一例具體結(jié)構(gòu)圖。
圖5是說(shuō)明本公開的PLC在電源故障期間進(jìn)行數(shù)據(jù)保存的機(jī)制圖。
圖6是說(shuō)明本公開的PLC在電源故障期間進(jìn)行數(shù)據(jù)保存的流程圖。
圖7是說(shuō)明本公開的PLC在電源故障期間使用開關(guān)關(guān)閉用于不活動(dòng)裝置的電源的結(jié)構(gòu)圖。
圖8是說(shuō)明本公開的PLC在電源故障期間停止用于不活動(dòng)元件的時(shí)鐘的示意圖。
具體實(shí)施方式
下面將參照附圖更詳細(xì)地描述本公開的具體實(shí)施例。雖然附圖中顯示了本公開的多個(gè)具體實(shí)施例,然而應(yīng)該理解,可以以各種形式實(shí)現(xiàn)本公開而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了使本公開被理解得更加透徹和完整,并且能夠?qū)⒈竟_的范圍完整地傳達(dá)給本領(lǐng)域的技術(shù)人員。
以下,給出PLC在發(fā)生電源故障時(shí)要求同時(shí)滿足以6W功率、200ms時(shí)間來(lái)保存數(shù)據(jù)的解決方案的實(shí)施例。
圖2是本公開的PLC的結(jié)構(gòu)圖以及在電源故障期間的時(shí)序圖。
而如圖2的(a)所示,與圖1的(a)現(xiàn)有技術(shù)相比,在本公開的PLC電源中,取消了1路電源,且保電電容(用于數(shù)據(jù)保存的能量存儲(chǔ)單元)直接連接到PLC邏輯電路的供電電源上。
為了取消1路電源,需要在保存數(shù)據(jù)的過程中面對(duì)以下技術(shù)困難并加以解決。
一、如何使保存時(shí)間足夠長(zhǎng)
(a)電流損耗
實(shí)際上,工作中的PLC的功耗非常巨大,電流可升至1~2A。但是在電源故障階段,能夠使很多設(shè)備掉電。具體來(lái)說(shuō),例如如圖2的(b)所示,本公開的PLC控制器的消耗電流在輸入電壓降至PF檢測(cè)閾值電壓之前(T1之前)為1200mA,在T1之后的200ms數(shù)據(jù)保存期間內(nèi),首先通過CPU使外圍設(shè)備停止運(yùn)轉(zhuǎn),使消耗電流降至150mA。在此電流期間將數(shù)據(jù)從外部RAM復(fù)制到CPU內(nèi)部RAM。接著,使外部RAM停止運(yùn)轉(zhuǎn),從而使消耗電流降至120mA。進(jìn)一步使CPU以更低的工作頻率工作,從而消耗電流降為20-30mA。在此電流期間將數(shù)據(jù)保存到ROM。在200ms以后,電流降為0mA。如果如上面所示那樣進(jìn)行操作,消耗電流可一步步地降至20mA~30mA。從而有可能通過使用PLC邏輯電路供電回路上的保電電容器提供保存數(shù)據(jù)所需的電能。關(guān)于電流最佳化的細(xì)節(jié),在后面敘述。
(b)輸出電壓
電源的輸出電壓越低,則越難進(jìn)行數(shù)據(jù)保存。最困難的情況是輸出電壓為5V。
如果輸出電壓是5V,在電源故障期間活動(dòng)元件可接受的電壓最小值是2.93V,則在該情況下,以下給出例子,使得PF保存時(shí)間盡可能長(zhǎng)。其中可接受的電壓最小值是2.93V的原因是,一般地,該電壓對(duì)于復(fù)位芯片來(lái)說(shuō)是復(fù)位閾值。
圖3是說(shuō)明本公開的PLC的一例具體結(jié)構(gòu)圖。
如圖3所示,本公開的PLC包括:電源模塊1,其中包括提供在電源故障期間進(jìn)行數(shù)據(jù)保存的電能的保電電容器2;第一元件組,其中至少包括CPU8、外部RAM6、非易失性存儲(chǔ)器7和電源故障檢測(cè)單元9;包括PLC5V裝置5的第一元件組之外的第二元件組。保電電容器2通過低壓差線性穩(wěn)壓器4(LDO)與所述第一元件組連接,并且通過分壓元件3與第二元件組連接。電源故障檢測(cè)單元9與保電電容器2的輸出連接,檢測(cè)保電電容器2的輸出電壓。當(dāng)保電電容器2的輸出電壓低于電源故障閾值電壓時(shí),對(duì)CPU8輸出指示信號(hào)。如果CPU8指示發(fā)生了電源故障的情況,則使第二元件組停止運(yùn)轉(zhuǎn)。如果關(guān)鍵數(shù)據(jù)保持在CPU8的內(nèi)部RAM,則CPU8關(guān)斷外部RAM6的電源;如果關(guān)鍵數(shù)據(jù)保持在所述外部RAM6,則首先將其復(fù)制到CPU8的內(nèi)部RAM,然后關(guān)斷外部RAM6的電源。
本公開主要通過以下3點(diǎn)使得數(shù)據(jù)保存時(shí)間盡可能長(zhǎng)。
(1)將保電電容器2的輸出電壓設(shè)置得比5V高一些。
(2)使用二極管、晶體管或者M(jìn)OSFET等分壓元件3將輸出電壓分壓,從而使提供給5V裝置的電壓實(shí)際上等于5V。這里僅提供一個(gè)使用二極管分壓的簡(jiǎn)單的例子。
(3)使用低壓差穩(wěn)壓裝置4例如LDO(低壓差線性穩(wěn)壓器)來(lái)驅(qū)動(dòng)PLC的CPU和PF數(shù)據(jù)保存電路。
(c)保存時(shí)間的計(jì)算。
極長(zhǎng)保存時(shí)間:200ms
設(shè):
消耗電流I1=25mA
PF閾值V1=5V
LDO降低電壓=100mv=0.1V,Vout標(biāo)稱電壓V3=3.3V,可接受電壓最小值V2=2.93+0.1=3.03V
效率P=0.8
要求保存時(shí)間Tsave=200ms
因?yàn)楸k婋娙萜?從V1降至V2所釋放的電能大于等于在Tsave內(nèi)保存數(shù)據(jù)所消耗的電能,于是:
1/2*C1*V12-1/2*C1*V22≥V3*I1*Tsave/P
=>C1≥2607uF
因此,對(duì)于200ms的保存時(shí)間來(lái)說(shuō),3000uF電容量的保電電容器2是足夠大的。對(duì)于大多數(shù)應(yīng)用來(lái)說(shuō),100ms的保存時(shí)間是足夠長(zhǎng)的,因此通過該方案,容易滿足數(shù)據(jù)保存時(shí)間的要求。
二、如果負(fù)載變化劇烈,如何穩(wěn)定輸出電壓
設(shè):
如果2A的負(fù)載在100us內(nèi)變化,計(jì)算:
1/2*C*V12-1/2*C*V22=V3*I1*Tsave
I1=2A
T1=100us
V3=5V
V1=5.7V
C=3000uF
=>V2=5.64V
所以,即使2A的負(fù)載變化劇烈,電壓也僅有0.06V降低。并且2A電流變化對(duì)于PLC來(lái)說(shuō)也足夠大,因?yàn)檫@意味著50個(gè)繼電器(40mA/繼電器)在同一時(shí)間被驅(qū)動(dòng)。
三、性能對(duì)比
表1.
由表1可知,與以前的方案相比,本方案實(shí)際上具有相同的性能并且節(jié)省35%的成本。
以下,說(shuō)明在PF階段如何最優(yōu)化消耗電流
圖4是說(shuō)明本公開的PLC的另一例具體結(jié)構(gòu)圖。
1)如圖4所示,將編程式邏輯控制器PLC的元件區(qū)分為第一元件組和第二元件組。
第一元件組是在電源故障階段活動(dòng)的元件,至少包括電源故障檢測(cè)單元9、CPU8、外部RAM6(外部SRAM/SDRAM)和非易失性存儲(chǔ)器7,還可以包括復(fù)位單元和電源LED。其它第一元件組之外的、在電源故障階段不活動(dòng)的元件屬于第二元件組,也將其稱為不活動(dòng)元件組。第二元件組中例如可以包括:輸入/輸出/控制邏輯電路、輸入/輸出狀態(tài)LED顯示單元、通信鏈接電路、PLC狀態(tài)LED等。保電電容器2通過低壓差線性穩(wěn)壓器4(LDO)與第一元件組連接,并且通過二極管等分壓元件與第二元件組連接。
2)電源故障檢測(cè)單元9檢測(cè)保電電容器2的輸出電壓是否低于電源故障檢測(cè)閾值電壓5V,并將結(jié)果輸出到CPU8。在CPU8指示發(fā)生了電源故障的情況下,通過關(guān)斷設(shè)置在上述二極管后的開關(guān),停止保電電容器2對(duì)第二元件組的所有元件的供電,僅使保電電容器2對(duì)第一元件組供電。
3)使用CPU內(nèi)部RAM保持關(guān)鍵的數(shù)據(jù),讓外部SRAM/SDRAM6進(jìn)入掉電模式。如果關(guān)鍵的數(shù)據(jù)保持在外部SRAM/SDRAM6,則首先將其復(fù)制到CPU的內(nèi)部RAM。
4)除了用于存儲(chǔ)器訪問CPU的時(shí)鐘外,關(guān)閉每個(gè)外圍設(shè)備的時(shí)鐘。
通過上述處理,可以使電源故障階段的消耗電流降至最低。
下面說(shuō)明本解決方案的原理和步驟。
圖5是說(shuō)明本公開的PLC在電源故障期間在第一元件組中進(jìn)行的數(shù)據(jù)保存的機(jī)制圖。
由圖5可知,CPU8通過數(shù)據(jù)線分別與外部ROM6、非易失性存儲(chǔ)器7連接。在發(fā)生電源故障期間,
(1)首先,CPU通過控制關(guān)斷SRAM或SDRAM的電源。
(2)接著,CPU進(jìn)入低功耗模式。
(3)最后,CPU將數(shù)據(jù)從自身的內(nèi)部RAM寫入非易失性存儲(chǔ)器。
圖6是說(shuō)明本公開的PLC在電源故障期間進(jìn)行數(shù)據(jù)保存的流程圖。
在步驟S1中,檢測(cè)保電電容器的輸出電壓。
在步驟S2中,如果CPU根據(jù)輸出電壓判斷發(fā)生了電源故障的情況,則使第二元件組停止運(yùn)轉(zhuǎn)。
在步驟S3中,判斷關(guān)鍵數(shù)據(jù)是否保持在CPU的內(nèi)部RAM中。
在步驟S4中,當(dāng)判斷為關(guān)鍵數(shù)據(jù)保持在CPU的內(nèi)部RAM時(shí),CPU關(guān)斷所述外部RAM的電源。
在步驟S5中,當(dāng)判斷為關(guān)鍵數(shù)據(jù)保持在所述外部RAM時(shí),則首先將其復(fù)制到CPU的內(nèi)部RAM,然后關(guān)斷所述外部RAM的電源。
在步驟S6中,使CPU自身進(jìn)入低功耗模式。
在步驟S7中,將數(shù)據(jù)從CPU內(nèi)部RAM寫入所述非易失性存儲(chǔ)器。
下面參照?qǐng)D7說(shuō)明如何關(guān)斷不活動(dòng)裝置的供電。
圖7是說(shuō)明本公開的PLC在電源故障期間使用開關(guān)關(guān)斷用于不活動(dòng)裝置的電源的結(jié)構(gòu)圖。
在圖7中,輸入電壓VCC通過開關(guān)與不活動(dòng)元件連接。CPU與輸入電壓VCC連接并通過IO端口對(duì)開關(guān)輸出控制信號(hào),控制開關(guān)的接通和關(guān)斷。在正常情況下,CPU使開關(guān)接通,使輸入電壓對(duì)不活動(dòng)元件供電;在發(fā)生電源故障的情況下,CPU使開關(guān)關(guān)斷,不使輸入電壓對(duì)不活動(dòng)元件供電。
另外,如下所述,還有幾種使在電源故障狀況下不活動(dòng)的元件停止運(yùn)轉(zhuǎn)的方法。
·在電源故障階段停止用于不活動(dòng)元件的時(shí)鐘。如圖8所示。
·使芯片選擇信號(hào)無(wú)效。例如,如果使芯片選擇信號(hào)無(wú)效,則SRAM/SDRAM將進(jìn)入掉電模式。
下面說(shuō)明如何使CPU進(jìn)入低功耗操作模式。
因?yàn)樵陔娫垂收蠣顟B(tài)下,CPU需要將數(shù)據(jù)保存到非易失性存儲(chǔ)器,所以不能使CPU進(jìn)入休眠模式,以下列出一些方案,使CPU在電源故障階段的功耗大幅降低。
·使CPU系統(tǒng)時(shí)鐘減慢??偟膩?lái)說(shuō),CPU的功耗包括2部分,一部分是靜態(tài)功耗,這與工作頻率無(wú)關(guān),一般來(lái)說(shuō)非常??;一部分是工作功耗,與其工作頻率成正比,如果CPU在正常操作下以100MHz運(yùn)行,但是在電源故障階段以1MHz工作,則功耗減少100倍。
·進(jìn)入低功率操作狀態(tài)。例如下表中示出的CPU具有該功能。
·關(guān)閉所有不使用的CPU的外圍設(shè)備的時(shí)鐘。
以下說(shuō)明通過上述處理獲得的電流消耗的優(yōu)化結(jié)果
表2.
由表2可知,通過采取一系列降低功耗的處理動(dòng)作,CPU以適當(dāng)?shù)臅r(shí)序?qū)崿F(xiàn)所述動(dòng)作,從而在電源故障階段一步步地將PLC的功耗降至最低。3.3V下的電流損耗(mA)的計(jì)算值可達(dá)到24mA,測(cè)量值可達(dá)到19mA。從而本公開可以在發(fā)生電源故障時(shí),可以取消單獨(dú)的24V電源來(lái)保電,而采用PLC邏輯電路供電回路上的保電電容器的電能來(lái)進(jìn)行數(shù)據(jù)保存。
本公開的各個(gè)實(shí)施例中的各個(gè)單元(功能模塊、芯片等)的連接關(guān)系和構(gòu)成關(guān)系不對(duì)本公開的保護(hù)范圍構(gòu)成限制,它們可以合并為單獨(dú)一個(gè)單元來(lái)實(shí)現(xiàn),或者其中的特定單元也可以被分割為功能更小的多個(gè)單元來(lái)實(shí)現(xiàn)。
附圖中的各個(gè)框圖顯示了根據(jù)本公開實(shí)施例的PLC裝置可能實(shí)現(xiàn)的結(jié)構(gòu)、功能和操作。在這點(diǎn)上,框圖中的每個(gè)方框可以代表一個(gè)模塊,所述模塊包含一個(gè)或多個(gè)用于實(shí)現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。在作為替換的實(shí)現(xiàn)方式中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個(gè)連續(xù)的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時(shí)也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖中的每個(gè)方框可以用執(zhí)行規(guī)定功能或動(dòng)作的專用的基于硬件的ASIC來(lái)實(shí)現(xiàn),或者可以用專用硬件與計(jì)算機(jī)指令的組合來(lái)實(shí)現(xiàn)。
以上已經(jīng)描述了本公開的各實(shí)施例,上述說(shuō)明是示例性的,并非窮盡性的,并且也不限于所披露的各個(gè)實(shí)施例。在不偏離所說(shuō)明的各個(gè)實(shí)施例的范圍和精神的情況下,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō)許多修改和變更都是顯而易見的。本文中所用術(shù)語(yǔ)的選擇,旨在最好地解釋各個(gè)實(shí)施例的原理、實(shí)際應(yīng)用或?qū)κ袌?chǎng)中的技術(shù)的改進(jìn),或者使本技術(shù)領(lǐng)域的其它普通技術(shù)人員能理解本文披露的各個(gè)實(shí)施例。
工業(yè)適用性
本公開的PLC裝置通過采用一系列降低功耗的處理動(dòng)作,CPU以適當(dāng)?shù)臅r(shí)序?qū)崿F(xiàn)所述動(dòng)作,從而在電源故障階段一步步地將PLC的功耗降至最低。從而取消單獨(dú)的24V電源來(lái)保電,而采用PLC邏輯電路供電回路上的保電電容器的電能來(lái)進(jìn)行數(shù)據(jù)保存,節(jié)約了成本,同時(shí)能夠進(jìn)行小型化的設(shè)計(jì)。