專利名稱:打印機(jī)和打印機(jī)控制方法
技術(shù)領(lǐng)域:
本發(fā)明總的來說涉及打印機(jī)和打印機(jī)控制方法,尤其涉及打印機(jī)從脫機(jī)狀態(tài)恢復(fù)至聯(lián)機(jī)狀態(tài)時的內(nèi)部處理。
背景技術(shù):
具有打印機(jī)的打印機(jī)系統(tǒng)通常具有連接至主機(jī)并能夠與主機(jī)通信的打印機(jī),其中所述主機(jī)產(chǎn)生將被打印的打印數(shù)據(jù)并且控制打印機(jī)的操作。例如,在打印期間,打印機(jī)執(zhí)行來自主機(jī)的打印控制命令,在紙片或卷紙上實(shí)施打印,然后輸出打印結(jié)果。
當(dāng)紙用完時或者在打印機(jī)內(nèi)部發(fā)生卡紙時,打印機(jī)的內(nèi)部狀態(tài)通常從聯(lián)機(jī)狀態(tài)轉(zhuǎn)變成脫機(jī)狀態(tài),其中聯(lián)機(jī)狀態(tài)是指能夠打印的打印機(jī)狀態(tài),而脫機(jī)狀態(tài)是打印機(jī)不進(jìn)行打印的狀態(tài)。例如,如果收據(jù)正在被打印至卷紙,打印機(jī)脫機(jī)會中斷對收據(jù)的打印。然后,在打印機(jī)脫機(jī)后,當(dāng)使打印機(jī)脫機(jī)的原因被修正時,打印機(jī)恢復(fù)至聯(lián)機(jī)狀態(tài)。
例如,如果打印機(jī)內(nèi)部卷紙用盡,則打印機(jī)能夠在新的卷紙被裝載到打印機(jī)中之后恢復(fù)至聯(lián)機(jī)。如果卷紙阻塞在打印機(jī)內(nèi)部,從而打印機(jī)不能使紙張前進(jìn),則正確地重新裝載紙張并設(shè)定重置命令能夠使打印機(jī)恢復(fù)至聯(lián)機(jī)。
然而,如果卷紙用完,新的卷紙被裝載到打印機(jī)中,并且打印機(jī)恢復(fù)至聯(lián)機(jī),然后繼續(xù)打印,則在打印機(jī)脫機(jī)之前未被打印的剩余打印數(shù)據(jù)在打印機(jī)恢復(fù)至連接狀態(tài)之后被打印至卷紙。這使得正常情況下應(yīng)當(dāng)被打印到單個連續(xù)收據(jù)上的收據(jù)內(nèi)容被打印在兩張分離的紙上。這樣所產(chǎn)生的問題是在一些情況下,被打印到兩張單獨(dú)紙張上的收據(jù)作為收據(jù)使用是沒有意義的。結(jié)果,相同的收據(jù)內(nèi)容必須再次從主機(jī)發(fā)送到打印機(jī),以重新進(jìn)行打印,并且這樣浪費(fèi)紙張??紤]到重新打印收據(jù)所花費(fèi)的時間和所涉及的麻煩,這會顯著地降低打印效率,從而降低生產(chǎn)率。
當(dāng)卷紙阻塞不能被進(jìn)給,因而重新正確裝載卷紙,并且接著設(shè)置重置命令以使打印機(jī)恢復(fù)至聯(lián)機(jī)狀態(tài)并重新進(jìn)行打印時,一部分被打印的紙張常常會歪斜、起折或者發(fā)生嚴(yán)重褶皺。結(jié)果,收據(jù)內(nèi)容必須再次從主機(jī)發(fā)送到打印機(jī),以重新進(jìn)行打印。這樣也會浪費(fèi)紙張,顯著地降低打印效率,并且降低生產(chǎn)率。
并且,打印機(jī)脫機(jī)時所接收的新打印數(shù)據(jù)被儲存在接收緩沖器中,但是接收緩沖器的儲存容量是有限的。這意味著,當(dāng)大量數(shù)據(jù)(例如位像)被接收時,接收緩沖器可能變滿,從而阻礙接收任何更多的數(shù)據(jù)。
日本未審查專利申請出版物H11-268384教導(dǎo)了一種打印機(jī),該打印機(jī)接收來自主機(jī)的命令,所述命令指示打印機(jī)在從脫機(jī)狀態(tài)恢復(fù)至聯(lián)機(jī)狀態(tài)時執(zhí)行什么樣的處理步驟,從而該打印機(jī)在恢復(fù)至聯(lián)機(jī)狀態(tài)時運(yùn)行產(chǎn)生脫機(jī)狀態(tài)的原因所確定的處理步驟。該打印機(jī)能夠防止對很有可能不能使用的剩余收據(jù)部分進(jìn)行打印。
日本未審查專利申請出版物2001-180052教導(dǎo)了一種打印機(jī),該打印機(jī)能夠選擇是否儲存或自動丟棄打印機(jī)脫機(jī)時所接收到新打印數(shù)據(jù)。當(dāng)所接收到的數(shù)據(jù)通過該打印機(jī)被自動破壞時,打印機(jī)脫機(jī)時附加數(shù)據(jù)不會儲存到接收緩沖器,并且接收緩沖器將不會變滿。
在日本未審查專利申請出版物H11-268384中教導(dǎo)的打印機(jī)系統(tǒng)沒有特別提及當(dāng)打印機(jī)恢復(fù)聯(lián)機(jī)時在主機(jī)與打印機(jī)之間進(jìn)行通信、并控制是否對打印被中斷的收據(jù)進(jìn)行重新打印的命令的類型。
在日本未審查專利申請出版物2001-180052中教導(dǎo)的打印機(jī)在打印機(jī)再次聯(lián)機(jī)之后重新從主機(jī)發(fā)送打印數(shù)據(jù),但是依賴于打印數(shù)據(jù)發(fā)送時機(jī)以及打印機(jī)恢復(fù)聯(lián)機(jī)的時機(jī),應(yīng)該被舍棄的數(shù)據(jù)仍然可能存留在接收緩沖器中。由此,不應(yīng)該被打印的收據(jù)數(shù)據(jù)可能被打印,使得紙張被浪費(fèi)。
因此,根據(jù)本發(fā)明的打印機(jī)和打印機(jī)控制方法在打印機(jī)從脫機(jī)狀態(tài)恢復(fù)至聯(lián)機(jī)狀態(tài)時能夠有利地平穩(wěn)地重新執(zhí)行被中斷的打印操作,而不會有多余的打印。
發(fā)明內(nèi)容
根據(jù)本發(fā)明至少一個實(shí)施例的第一方面,一種打印機(jī)具有數(shù)據(jù)接收單元,用于接收從主機(jī)發(fā)送的數(shù)據(jù);數(shù)據(jù)發(fā)送單元,用于將數(shù)據(jù)發(fā)送至所述主機(jī);接收緩沖器,用于臨時儲存通過所述數(shù)據(jù)接收單元接收的數(shù)據(jù);翻譯單元,用于翻譯臨時儲存在所述接收緩沖器中的數(shù)據(jù);打印緩沖器,當(dāng)緩存數(shù)據(jù)是打印數(shù)據(jù)時,所述打印緩沖器用于儲存打印圖像;打印機(jī)構(gòu),用于打印儲存在所述打印緩沖器中的所述打印圖像;以及控制單元,用于控制所述數(shù)據(jù)接收單元、所述數(shù)據(jù)發(fā)送單元、所述接收緩沖器、所述翻譯單元、所述打印緩沖器和所述打印機(jī)構(gòu)。在脫機(jī)錯誤發(fā)生時,所述控制單元使所述數(shù)據(jù)接收單元開始丟棄接收到的數(shù)據(jù),并且從所述接收緩沖器中清除所述數(shù)據(jù)。當(dāng)所述打印機(jī)恢復(fù)聯(lián)機(jī)時,所述控制單元使所述數(shù)據(jù)接收單元停止丟棄所述接收到的數(shù)據(jù),并使所述數(shù)據(jù)發(fā)送單元向所述主機(jī)發(fā)送聯(lián)機(jī)狀態(tài)報(bào)告。在所述控制單元從所述主機(jī)接收到清除緩沖器命令之后,所述控制單元清除所述接收緩沖器。
優(yōu)選的是,當(dāng)恢復(fù)聯(lián)機(jī)狀態(tài)時,所述控制單元清除所述打印緩沖器,然后根據(jù)所述清除緩沖器命令再次清除所述打印緩沖器。
進(jìn)一步優(yōu)選的是,在接收到所述清除緩沖器命令之后,所述控制單元向所述主機(jī)發(fā)送緩沖器清除完成報(bào)告,并且基于發(fā)送所述緩沖器清除完成報(bào)告之后所接收到的打印數(shù)據(jù)進(jìn)行打印。
本發(fā)明至少一個實(shí)施例的另一方面是一種打印機(jī)控制方法,包括步驟當(dāng)脫機(jī)錯誤發(fā)生時,開始丟棄接收到的數(shù)據(jù),并且清除接收緩沖器;當(dāng)恢復(fù)聯(lián)機(jī)時,停止丟棄所述接收到的數(shù)據(jù),并且向主機(jī)發(fā)送聯(lián)機(jī)狀態(tài)報(bào)告;以及根據(jù)從所述主機(jī)接收到的清除緩沖器命令再次清除所述接收緩沖器。
優(yōu)選的是,所述打印機(jī)控制方法還包括步驟當(dāng)恢復(fù)聯(lián)機(jī)狀態(tài)時清除打印緩沖器,然后根據(jù)所述清除緩沖器命令再次清除所述打印緩沖器。
進(jìn)一步優(yōu)選的是,所述打印機(jī)控制方法還包括步驟在接收到所述清除緩沖器命令之后,向所述主機(jī)發(fā)送緩沖器清除完成報(bào)告;以及基于發(fā)送所述緩沖器清除完成報(bào)告之后所接收到的打印數(shù)據(jù)進(jìn)行打印。
如果在打印進(jìn)行過程中使得打印機(jī)脫機(jī)的錯誤發(fā)生,從而中斷打印機(jī),則無論對應(yīng)打印被中斷的收據(jù)的打印數(shù)據(jù)是未被打印機(jī)接收、正在被打印機(jī)接收、還是中斷之后被接收,接收緩沖器和打印緩沖器均被清除兩次。結(jié)果,當(dāng)打印機(jī)再次能夠進(jìn)行打印時,沒有將要被打印的數(shù)據(jù)存留在打印機(jī)中。結(jié)果,當(dāng)打印機(jī)恢復(fù)聯(lián)機(jī)時,導(dǎo)致脫機(jī)狀態(tài)的錯誤(以下稱為“脫機(jī)錯誤”)產(chǎn)生之前正在被打印的收據(jù)的剩余部分不會被打印,從而不會浪費(fèi)卷紙。
然后,主機(jī)重新向打印機(jī)發(fā)送打印被中斷的打印數(shù)據(jù),從而使得打印機(jī)能夠以單個連續(xù)打印操作重新打印收據(jù)。打印進(jìn)行期間打印機(jī)脫機(jī)所引起的效率降低能夠被最小化,同時還能沒有中斷地連續(xù)進(jìn)行打印。
對于需要墨水或調(diào)色劑以進(jìn)行打印的打印機(jī)來說,本發(fā)明的另一個優(yōu)點(diǎn)是,墨盒或調(diào)色劑盒的使用壽命能夠被延長,因?yàn)槌藴p少紙張消耗之外,還能夠減少墨或調(diào)色劑的消耗。
通過參考以下結(jié)合附圖的描述和權(quán)利要求,其他目的、成果以及對本發(fā)明的較完整的理解將變得清除,并被理解。
圖1是根據(jù)本發(fā)明優(yōu)選實(shí)施例的打印機(jī)系統(tǒng)的透視圖;圖2是圖1中所示打印機(jī)系統(tǒng)的控制構(gòu)造的示意性功能方框圖;圖3是打印機(jī)控制過程的流程圖;圖4是打印機(jī)控制過程的流程圖;圖5是主機(jī)控制過程的流程圖;圖6是在主機(jī)與打印機(jī)之間被發(fā)送的命令的時間圖;以及圖7(a)和7(b)描述對于清除緩沖器命令的需求。
具體實(shí)施例方式
以下將參考附圖描述根據(jù)本發(fā)明的打印機(jī)和打印機(jī)控制方法的優(yōu)選圖1是根據(jù)本發(fā)明優(yōu)選實(shí)施例的打印機(jī)系統(tǒng)1的透視圖,圖2是圖1中所示打印機(jī)系統(tǒng)1的內(nèi)部控制構(gòu)造的示意性功能方框圖;圖3和圖4是打印機(jī)執(zhí)行的過程流程圖;圖5是在本發(fā)明優(yōu)選實(shí)施例中通過主機(jī)運(yùn)行的主機(jī)控制過程的流程圖;圖6是在主機(jī)與打印機(jī)之間被發(fā)送的命令的時間圖;以及圖7描述了對于清除緩沖器命令的需求。
如圖1所示,根據(jù)本發(fā)明該實(shí)施例的打印機(jī)系統(tǒng)1包括打印機(jī)10和控制打印機(jī)10的主機(jī)30。打印機(jī)10是混合設(shè)備,它能夠打印紙片S的兩側(cè)、能夠掃描紙片S、從紙片S讀取磁性墨字符,并且能夠向卷紙P打印收據(jù)。
打印機(jī)10具有前蓋13,所述前蓋13可打開和可關(guān)閉地連接至主單元11,以便覆蓋主單元11的前頂部;以及后蓋12,所述后蓋12可打開和可關(guān)閉地被連接,以便覆蓋前蓋13的后頂部。
卷紙室形成在打印機(jī)10的后蓋12與主單元11之間。卷紙P被保持在該卷紙室中。卷紙P在通過卷紙傳送路徑運(yùn)行的同時被未示出的打印頭打印,其中卷紙傳送路徑形成在主單元11內(nèi)部。然后,被打印的卷紙P從形成在后蓋12頂部中的卷紙出口12a被送出。卷紙P的前端被示出從圖1中的卷紙出口12a送出。根據(jù)打印數(shù)據(jù)的長度自動或手動切裁該卷紙P,然后作為單個收據(jù)給出。
用于插入紙片S的單據(jù)插入槽15形成在打印機(jī)10的前蓋13之下。從單據(jù)插入槽15插入的紙片S接著通過形成在主單元11中的單據(jù)傳送路徑16被傳送,并且從形成在前蓋13與后蓋12之間的單據(jù)出口17被送出。在紙片S通過單據(jù)傳送路徑16被傳送的同時,紙片S能夠被打印和掃描,打印在紙片S上的磁性墨字符能夠被讀取。
根據(jù)本發(fā)明該實(shí)施例的打印機(jī)10還具有CPU和內(nèi)部存儲器。CPU讀取和運(yùn)行例如存儲至永久性存儲器(諸如快速只讀存儲器等)的固件,以控制包括打印在內(nèi)的打印機(jī)操作。以下將更具體地描述該打印機(jī)10的控制。
接著先描述主機(jī)30。
主機(jī)30通過串行纜線、USB纜線或其他通信纜線而被連接。在本發(fā)明的該實(shí)施例中的主機(jī)30具有諸如觸摸面板31和卡讀取器32等輸入裝置,基于從觸摸面板31和卡讀取器32的輸入產(chǎn)生打印數(shù)據(jù),并且通過通信纜線向打印機(jī)10發(fā)送所產(chǎn)生的打印數(shù)據(jù)。然后,打印機(jī)10基于該打印數(shù)據(jù)對卷紙或紙片進(jìn)行打印。
具有觸摸面板31和卡讀取器32的主機(jī)在本發(fā)明的該實(shí)施例中作為例子被使用,但是本發(fā)明并不局限于此。尤其是,可以使用能夠控制打印機(jī)10的任何裝置,并且主機(jī)例如可以基于通用個人電腦。
接著描述打印機(jī)10的內(nèi)部處理步驟。
如圖2所示,打印機(jī)10具有內(nèi)部數(shù)據(jù)接收單元41、接收緩沖器42、命令翻譯器(interpreter)43、控制單元44、打印緩沖器45、打印機(jī)構(gòu)46、錯誤檢測單元47、蓋檢測單元48、紙張檢測單元49、脫機(jī)檢測單元50、定期狀態(tài)數(shù)據(jù)產(chǎn)生單元51、狀態(tài)數(shù)據(jù)比較單元52、狀態(tài)數(shù)據(jù)存儲單元53以及數(shù)據(jù)發(fā)送單元54。
數(shù)據(jù)接收單元41是數(shù)據(jù)通信單元,用于接收打印數(shù)據(jù)以及從主機(jī)30發(fā)送的命令,并且包括通信接口。數(shù)據(jù)接收單元41順序?qū)⒈唤邮盏臄?shù)據(jù)存儲至接收緩沖器。
接收緩沖器42是行緩沖器式或環(huán)形緩沖器式數(shù)據(jù)存儲單元,并且以接收順序存儲數(shù)據(jù)接收單元41接收到的數(shù)據(jù)。
命令翻譯器43以先入、先出(FIFO)順序讀取存儲在接收緩沖器42中的數(shù)據(jù),并且翻譯其內(nèi)容。如果接收到的數(shù)據(jù)是打印數(shù)據(jù),則根據(jù)例如字體ROM將打印數(shù)據(jù)轉(zhuǎn)換成打印緩沖器45中的位圖像。如果接收到的數(shù)據(jù)是用于打印機(jī)10的控制命令,則控制單元44根據(jù)命令的內(nèi)容控制其他的功能單元,從而提供對打印機(jī)10的整體控制。
打印機(jī)構(gòu)46是打印單元,用于驅(qū)動未示出的傳送輥?zhàn)樱栽隍?qū)動打印頭進(jìn)行打印的同時使紙張前進(jìn)。打印機(jī)構(gòu)46基于被寫至打印緩沖器45的打印圖像實(shí)施紙張傳送控制和打印頭控制,從而對紙片S或卷紙P進(jìn)行打印。
錯誤檢測單元47用于檢測在打印、紙張傳送期間或切裁紙張時否發(fā)生卡紙錯誤或其他錯誤。當(dāng)發(fā)生錯誤時,錯誤檢測單元47向脫機(jī)檢測單元50輸出檢測信號。
蓋檢測單元48用于檢測前蓋13或后蓋12是否打開或關(guān)閉。當(dāng)前蓋13或后蓋12打開時,蓋檢測單元48向脫機(jī)檢測單元50輸出檢測信號。
紙張檢測單元49用于檢測是否還有卷紙P。如果卷紙P用完,并且在打印機(jī)10中沒有卷紙P,則紙張檢測單元49向脫機(jī)檢測單元50輸出檢測信號。
脫機(jī)檢測單元50用于檢測打印機(jī)10的內(nèi)部狀態(tài)是否設(shè)置到脫機(jī)模式或聯(lián)機(jī)模式。脫機(jī)檢測單元50根據(jù)來自錯誤檢測單元47、蓋檢測單元48和紙張檢測單元49的檢測信號告知控制單元44,以使打印機(jī)10處于脫機(jī)或聯(lián)機(jī)狀態(tài)。這樣,控制單元44如脫機(jī)檢測單元50所指示的一樣切換打印機(jī)10的內(nèi)部脫機(jī)/聯(lián)機(jī)狀態(tài)。
用于切換至脫機(jī)狀態(tài)的條件是,當(dāng)檢測單元47-49中任一個檢測單元輸出錯誤信號(指示卡紙、蓋打開或沒有紙張)時。當(dāng)錯誤的原因被修正,并且指示錯誤的檢測信號沒有從任何一個檢測單元47-49中輸出時,能夠再次實(shí)現(xiàn)正常的打印機(jī)操作,脫機(jī)檢測單元50指示控制單元44再次聯(lián)機(jī)。
定期狀態(tài)數(shù)據(jù)產(chǎn)生單元51監(jiān)測錯誤檢測單元47、蓋檢測單元48、紙張檢測單元49以及脫機(jī)檢測單元50的狀態(tài),并且基于來自這些其他單元的輸出定期地收集和產(chǎn)生打印機(jī)狀態(tài)數(shù)據(jù)。當(dāng)狀態(tài)數(shù)據(jù)被產(chǎn)生時,定期狀態(tài)數(shù)據(jù)產(chǎn)生單元51將所產(chǎn)生的狀態(tài)數(shù)據(jù)輸出到狀態(tài)數(shù)據(jù)比較單元52。
狀態(tài)數(shù)據(jù)比較單元52是比較器,用于比較定期狀態(tài)數(shù)據(jù)產(chǎn)生單元51所產(chǎn)生的當(dāng)前狀態(tài)數(shù)據(jù)與存儲在狀態(tài)數(shù)據(jù)存儲單元53中的在先狀態(tài)數(shù)據(jù)。應(yīng)該指出的是,存儲在狀態(tài)數(shù)據(jù)存儲單元53中的狀態(tài)數(shù)據(jù)是通過定期狀態(tài)數(shù)據(jù)產(chǎn)生單元51所產(chǎn)生的在先狀態(tài)數(shù)據(jù)。因此,比較該狀態(tài)數(shù)據(jù)能夠知道,當(dāng)狀態(tài)數(shù)據(jù)最新被監(jiān)測時所檢測到的當(dāng)前狀態(tài)數(shù)據(jù)表示的打印機(jī)內(nèi)部狀態(tài)是否已經(jīng)從先前狀態(tài)數(shù)據(jù)被監(jiān)測時所檢測到的狀態(tài)數(shù)據(jù)表示的打印機(jī)內(nèi)部狀態(tài)發(fā)生改變。
如果定期狀態(tài)數(shù)據(jù)產(chǎn)生單元51所產(chǎn)生的狀態(tài)數(shù)據(jù)與在先存儲在狀態(tài)存儲單元53中的狀態(tài)數(shù)據(jù)相同,則打印機(jī)10的內(nèi)部狀態(tài)還未改變,并且比較過程結(jié)束。如果在先和當(dāng)前狀態(tài)數(shù)據(jù)不同,則打印機(jī)10的內(nèi)部狀態(tài)已經(jīng)改變。因此,狀態(tài)數(shù)據(jù)比較單元52將存儲在狀態(tài)數(shù)據(jù)存儲單元53中的狀態(tài)數(shù)據(jù)更新成新(當(dāng)前)的狀態(tài)數(shù)據(jù),并且將當(dāng)前狀態(tài)數(shù)據(jù)作為狀態(tài)信號通過數(shù)據(jù)發(fā)送單元54發(fā)送至主機(jī)30。該過程已知作為自動狀態(tài)返回(Automatic Status Back,ASB)功能,并且該ASB功能使得主機(jī)30總是能夠知道打印機(jī)10的當(dāng)前內(nèi)部狀態(tài)。
以下將詳細(xì)描述因?yàn)闆]有卷紙P而發(fā)生打印機(jī)脫機(jī)時,本發(fā)明的該實(shí)施例所運(yùn)行的處理步驟。
由于接收到以下所示來自主機(jī)30的重置操作建立命令(1),根據(jù)本發(fā)明的該實(shí)施例的打印機(jī)10能夠選擇用于從脫機(jī)狀態(tài)恢復(fù)至聯(lián)機(jī)狀態(tài)的操作。
GS(J2m (1)其中m=0或1。“GS(J2”表示與從由于卷紙用完而中斷對卷紙P進(jìn)行打印的處理恢復(fù)的過程有關(guān)的重置操作建立命令。當(dāng)變元m=0時,控制單元44運(yùn)行正常的操作處理。當(dāng)變元m=1時,控制單元44運(yùn)行恢復(fù)聯(lián)機(jī)時防止多余打印和紙張浪費(fèi)的處理。更具體地,打印機(jī)10根據(jù)m=0或m=1運(yùn)行以下所述的內(nèi)部處理步驟。當(dāng)從脫機(jī)狀態(tài)恢復(fù)至聯(lián)機(jī)狀態(tài)時,以下處理步驟自動執(zhí)行。當(dāng)m=0正常操作(1)不清除接收緩沖器和打印緩沖器;(2)如果使打印機(jī)脫機(jī)的錯誤(脫機(jī)錯誤)發(fā)生時命令正在被處理,則相應(yīng)的命令處理步驟繼續(xù)。
當(dāng)m=1紙張節(jié)約模式(1)清除接收緩沖器和打印緩沖器;(2)如果脫機(jī)錯誤發(fā)生時命令正在被處理,則中止相應(yīng)的命令處理步驟;(3)丟棄并且不向接收緩沖器存儲脫機(jī)錯誤發(fā)生時所接收的任何數(shù)據(jù),直到脫機(jī)狀態(tài)被消除,打印機(jī)恢復(fù)聯(lián)機(jī)(該處理步驟不是恢復(fù)打印機(jī)聯(lián)機(jī)的處理步驟的一部分);(4)向主機(jī)30發(fā)送清除響應(yīng)。
以下將參考圖3進(jìn)一步描述該處理步驟。當(dāng)該處理步驟開始時,打印機(jī)10初始被設(shè)置為m=0,并且打印機(jī)10在上述表述(1)中所示的命令被接收時改變操作模式。更具體地,打印機(jī)10基于初始m=0的設(shè)置被設(shè)置為正常操作模式(步驟S1),并且在步驟S2中等待接收重置操作建立命令。
當(dāng)重置操作建立命令被接收時,打印機(jī)10讀取變元m的值(步驟S3)。如果m=0,在步驟S4中正常操作模式被重置。如果m=1,在步驟S5中紙張節(jié)約模式被設(shè)置。重置操作建立命令能夠根據(jù)使用者所規(guī)定的打印類型被主機(jī)30設(shè)置。
接著將詳細(xì)描述當(dāng)m=1時執(zhí)行的紙張節(jié)約模式。
圖4是當(dāng)m=1時紙張節(jié)約模式下打印機(jī)10所運(yùn)行的處理步驟的流程圖。圖5是m=1時紙張節(jié)約模式下主機(jī)30所運(yùn)行的處理步驟的流程圖。圖6是在主機(jī)與打印機(jī)之間通信的命令的時間圖。以下參考圖4-6以時間順序描述打印機(jī)10和主機(jī)30所執(zhí)行的處理步驟。
當(dāng)打印機(jī)10聯(lián)機(jī),并且主機(jī)30向打印機(jī)10發(fā)送用于一個收據(jù)的打印數(shù)據(jù)時,如圖5所示(步驟S21),打印機(jī)10接收打印數(shù)據(jù),并且通過圖4所示的打印機(jī)構(gòu)46開始打印卷紙P(步驟S11)。
在監(jiān)測使打印機(jī)10脫機(jī)的錯誤是否已經(jīng)發(fā)生的同時,打印機(jī)10繼續(xù)打印(步驟S12)。當(dāng)脫機(jī)檢測單元50確定卷紙已經(jīng)用完,并且脫機(jī)錯誤已經(jīng)發(fā)生時,如該例子中一樣,對卷紙P的打印被中斷(步驟S13),并且打印機(jī)10的控制單元44執(zhí)行以下三個處理步驟(步驟S14)。
a)開始丟棄所接收到的數(shù)據(jù)b)清除接收緩沖器c)向主機(jī)報(bào)告脫機(jī)狀態(tài)在處理步驟(a)中,數(shù)據(jù)接收單元丟棄脫機(jī)錯誤發(fā)生之后從主機(jī)30發(fā)送的所有打印數(shù)據(jù)和命令,并且,由此該數(shù)據(jù)不會被存儲到接收緩沖器42。這樣防止接收緩沖器42在打印機(jī)10脫機(jī)時變滿。
處理步驟(b)丟棄脫機(jī)錯誤發(fā)生之前從主機(jī)30接收到的、并且被存儲在接收緩沖器42中的數(shù)據(jù)。存儲在接收緩沖器42中的數(shù)據(jù)可以包括當(dāng)打印被中斷時正在被打印的、應(yīng)該被打印到收據(jù)上的未打印數(shù)據(jù),并且所述未打印數(shù)據(jù)也從打印機(jī)10存儲器中被刪除。這樣防止打印機(jī)10恢復(fù)聯(lián)機(jī)時未被打印的數(shù)據(jù)繼續(xù)被打印,從而防止出具只包括被中斷收據(jù)的剩余未打印部分的部分收據(jù)。
處理步驟(c)告知主機(jī)30打印機(jī)10脫機(jī)。脫機(jī)錯誤使得定期狀態(tài)數(shù)據(jù)產(chǎn)生單元51輸出的狀態(tài)數(shù)據(jù)從存儲在狀態(tài)數(shù)據(jù)存儲單元53中的數(shù)據(jù)改變,并且由此狀態(tài)信號在該處理步驟(c)中經(jīng)過數(shù)據(jù)發(fā)送單元54被自動發(fā)送到主機(jī)30。
然后,打印機(jī)10的脫機(jī)檢測單元50監(jiān)測使脫機(jī)錯誤發(fā)生的原因是否已經(jīng)被修正,并且打印機(jī)10等待直到問題被解決(步驟S15)。
同時,如圖5所示,當(dāng)主機(jī)30在步驟S22中接收狀態(tài)信號,并且由此知道打印機(jī)10脫機(jī)時,主機(jī)30立即中斷向打印機(jī)10發(fā)送打印數(shù)據(jù)(步驟S23)。每次對一行打印數(shù)據(jù)的打印結(jié)束時,主機(jī)30接收來自打印機(jī)10的打印終止命令,并且存儲被發(fā)送或者將被發(fā)送至打印機(jī)10的對應(yīng)一個收據(jù)的所有打印數(shù)據(jù),直到從打印機(jī)10接收到指示正在被打印的收據(jù)的最后一行已經(jīng)被打印完的打印終止命令。如圖4和5所示,如果打印機(jī)10在打印正在進(jìn)行期間脫機(jī),并且收據(jù)的最后一行未被打印,則對應(yīng)所述收據(jù)的打印數(shù)據(jù)被保存,以便在打印機(jī)10恢復(fù)聯(lián)機(jī)之后重新進(jìn)行發(fā)送。
如果在步驟S15(圖4)錯誤被修正,并且打印機(jī)恢復(fù)聯(lián)機(jī),則打印機(jī)10的控制單元44在步驟S16中執(zhí)行以下四個處理步驟。
(e)停止丟棄接收到的數(shù)據(jù)(f)向主機(jī)30報(bào)告聯(lián)機(jī)狀態(tài)的恢復(fù)(發(fā)送清除響應(yīng)1)(g)清除打印緩沖器(h)重新初始化命令翻譯處理步驟(e)停止丟棄所接收到的數(shù)據(jù),丟棄數(shù)據(jù)的操作是在步驟S14中在處理步驟(a)開始的操作,并且照常向接收緩沖器42重新緩存所接收到的數(shù)據(jù)。
處理步驟(f)發(fā)送清除響應(yīng)1,它向主機(jī)30報(bào)告打印機(jī)10已經(jīng)恢復(fù)聯(lián)機(jī)。發(fā)送該清除響應(yīng)1能夠使主機(jī)30開始向打印機(jī)10重新發(fā)送打印數(shù)據(jù)。
處理步驟(g)清除存儲在打印緩沖器45中的打印圖像數(shù)據(jù)。如果在打印進(jìn)行過程中打印機(jī)脫機(jī),則當(dāng)打印機(jī)10脫機(jī)時,未被打印的打印圖像容易存留在打印緩沖器45中。因此,剩余的數(shù)據(jù)從存儲器中被清除,以防止不必要的打印。
處理步驟(h)重新初始化命令翻譯器43的命令翻譯處理步驟,忽略已經(jīng)被處理的打印數(shù)據(jù),并且開始為接著被接收的數(shù)據(jù)翻譯命令。
在執(zhí)行處理步驟(e)至(h)之后,打印機(jī)10等待,直到從主機(jī)30接收到新命令(步驟S17),尤其是清除緩沖器命令。以下將進(jìn)一步詳細(xì)描述該清除緩沖器命令。
當(dāng)從打印機(jī)10接收清除響應(yīng)1時,主機(jī)30向打印機(jī)10返回清除緩沖器命令。該清除緩沖器命令是使打印機(jī)10再次清除接收緩沖器和打印緩沖器的命令。
第二次清除緩沖器也許被認(rèn)為是不必要的,因?yàn)樵诓襟ES14和S16中打印機(jī)10已經(jīng)清除了接收緩沖器和打印緩沖器,但是由于以下原因清除緩沖器可能是需要的。
如果運(yùn)行處理步驟(e)并且向接收緩沖器42的緩存繼續(xù)時已經(jīng)從主機(jī)30發(fā)送的所有數(shù)據(jù)已經(jīng)被清除,則不容易產(chǎn)生問題。然而,如果由于某種原因,在主機(jī)30執(zhí)行步驟S23之前,聯(lián)機(jī)狀態(tài)被恢復(fù),并且向接收緩沖器42的緩存被繼續(xù),則應(yīng)該被清除的打印數(shù)據(jù)可能仍然緩存在接收緩沖器42中。
參考圖7更具體地描述這一方面。如圖7(a)所示,如果打印機(jī)10在步驟S14中開始丟棄所接收到的數(shù)據(jù),則主機(jī)30在步驟S23中中斷發(fā)送打印數(shù)據(jù),并且打印機(jī)10在步驟S16中繼續(xù)向接收緩沖器42緩存接收到的數(shù)據(jù),在步驟S14執(zhí)行之后數(shù)據(jù)不會累積在接收緩沖器42中,直到主機(jī)30開始重新發(fā)送打印數(shù)據(jù)。
然而,如圖7(b)所示,如果打印機(jī)10在步驟S14中開始丟棄所接收到的數(shù)據(jù),并且在主機(jī)30執(zhí)行步驟S23并中止發(fā)送打印數(shù)據(jù)之前,打印機(jī)10執(zhí)行步驟S16并繼續(xù)向接收緩沖器42緩存數(shù)據(jù),則將被舍棄的對應(yīng)被中斷收據(jù)的剩余數(shù)據(jù)將在打印機(jī)10執(zhí)行步驟S16之后被存儲至接收緩沖器42,直到主機(jī)30中斷發(fā)送打印數(shù)據(jù)。
因此,考慮到圖7(b)所描述的情況,接收緩沖器42優(yōu)選在步驟S16被執(zhí)行之后被再次清除。在步驟S25中被發(fā)送的清除緩沖器命令是用于這樣清除緩沖器的命令。
當(dāng)打印機(jī)10接收清除緩沖器命令時,控制單元44在步驟S18中執(zhí)行以下四個處理步驟。
(i)清除接收緩沖器(j)報(bào)告接收緩沖器被清除(清除響應(yīng)2)(k)清除打印緩沖器(l)重新初始化命令翻譯考慮到圖7(b)中所述的情況,因此,步驟S18重復(fù)在步驟S14和S16中執(zhí)行的處理步驟的緩沖器清除和初始化操作。然后,步驟S18還向主機(jī)30發(fā)送清除響應(yīng)2,并且主機(jī)30由此知道緩沖器已經(jīng)被清除。
主機(jī)30在步驟S26中等待,以接收清除響應(yīng)2,并且在步驟S27中重新發(fā)送對應(yīng)當(dāng)清除響應(yīng)2被接收時打印被中斷的收據(jù)的打印數(shù)據(jù)。
這樣,打印機(jī)10從主機(jī)30重新接收收據(jù)打印數(shù)據(jù),并且基于所接收到的打印數(shù)據(jù)從頭開始重新打印整個數(shù)據(jù)。
以上描述了根據(jù)本發(fā)明的該實(shí)施例的前述打印機(jī)10所進(jìn)行的處理步驟。
如上所述,根據(jù)本發(fā)明實(shí)施例的打印機(jī)10具有數(shù)據(jù)接收單元41,用于接收從主機(jī)30發(fā)送的數(shù)據(jù);數(shù)據(jù)發(fā)送單元54,用于將數(shù)據(jù)發(fā)送至所述主機(jī)30;接收緩沖器42,用于臨時儲存通過所述數(shù)據(jù)接收單元41接收的數(shù)據(jù);命令翻譯器43,用于翻譯臨時儲存在所述接收緩沖器42中的數(shù)據(jù);打印緩沖器45,當(dāng)被命令翻譯器43翻譯的數(shù)據(jù)是打印數(shù)據(jù)時,所述打印緩沖器45用于儲存打印圖像;打印機(jī)構(gòu)46,用于基于寫入打印緩沖器45的打印圖像進(jìn)行打?。灰约翱刂茊卧?4,用于控制所述數(shù)據(jù)接收單元41、所述接收緩沖器42、所述命令翻譯器43、所述打印緩沖器45和所述打印機(jī)構(gòu)46。在脫機(jī)錯誤發(fā)生時,所述控制單元44開始丟棄所述數(shù)據(jù)接收單元41所接收到的數(shù)據(jù),并且清除存儲在所述接收緩沖器42中的數(shù)據(jù)。當(dāng)所述打印機(jī)恢復(fù)聯(lián)機(jī)時,所述控制單元44停止丟棄所述數(shù)據(jù)接收單元41接收到的數(shù)據(jù),并且所述數(shù)據(jù)發(fā)送單元54向所述主機(jī)發(fā)送清除響應(yīng)1,告知主機(jī)30打印機(jī)恢復(fù)聯(lián)機(jī)。所述控制單元44根據(jù)從主機(jī)30接收到的清除緩沖器命令再次清除接收緩沖器42。
特別是,當(dāng)恢復(fù)聯(lián)機(jī)時,控制單元44清除打印緩沖器45,并且響應(yīng)于來自主機(jī)30的清除緩沖器命令再次清除打印緩沖器45。
因此,當(dāng)在打印進(jìn)行過程中發(fā)生脫機(jī)錯誤,并且打印由此被中斷時,與打印被中斷的收據(jù)有關(guān)的打印數(shù)據(jù)將不會被發(fā)送至打印機(jī)10,即使該收據(jù)打印數(shù)據(jù)已經(jīng)被接收或者稍后被接收,當(dāng)打印機(jī)10再次能夠打印時也沒有將被打印的數(shù)據(jù)保留在打印機(jī)10中,因?yàn)榻邮站彌_器42和打印緩沖器45均被清除兩次。脫機(jī)錯誤發(fā)生時正在被打印的收據(jù)的剩余未打印部分將不會在打印機(jī)恢復(fù)聯(lián)機(jī)時被打印,并且卷紙將不會被浪費(fèi)。
并且,單個收據(jù)能夠被順利打印,因?yàn)樵诖蛴C(jī)10恢復(fù)聯(lián)機(jī)之后,主機(jī)30重新向打印機(jī)10發(fā)送對應(yīng)被中斷的收據(jù)的所有打印數(shù)據(jù)。這樣,能夠使效率的降低最小化,并且,即使在打印期間發(fā)生脫機(jī)錯誤也能夠重新開始連續(xù)打印。
已經(jīng)使用圖1中所示打印機(jī)的例子描述了本發(fā)明。然而,本發(fā)明不局限于此,而是能夠應(yīng)用于各種打印機(jī),包括噴墨打印機(jī)、激光打印機(jī)、點(diǎn)擊打式打印機(jī)以及熱敏式打印機(jī)。當(dāng)被應(yīng)用到需要墨或調(diào)色劑進(jìn)行打印的打印機(jī)中時,除了降低紙張損耗之外,本發(fā)明還降低墨和調(diào)色劑損耗,從而能夠延長墨盒和調(diào)色劑盒的使用壽命。
盡管已經(jīng)參考附圖、結(jié)合本發(fā)明的優(yōu)選實(shí)施例描述了本發(fā)明,然而,應(yīng)該指出的是,各種改變或變更實(shí)施對于本領(lǐng)域技術(shù)人員來說是明顯的??梢岳斫?,這種改變和變更實(shí)施方式包含在所附權(quán)利要求所限定的本發(fā)明的范圍內(nèi),除非它們背離本發(fā)明。
權(quán)利要求
1.一種打印機(jī),包括數(shù)據(jù)接收單元,用于接收從主機(jī)發(fā)送的數(shù)據(jù);數(shù)據(jù)發(fā)送單元,用于將數(shù)據(jù)發(fā)送至所述主機(jī);接收緩沖器,用于臨時儲存通過所述數(shù)據(jù)接收單元接收的數(shù)據(jù);翻譯單元,用于翻譯臨時儲存在所述接收緩沖器中的數(shù)據(jù);打印緩沖器,當(dāng)儲存在所述接收緩沖器中的所述數(shù)據(jù)是打印數(shù)據(jù)時,所述打印緩沖器用于儲存打印圖像;打印機(jī)構(gòu),用于打印儲存在所述打印緩沖器中的所述打印圖像;以及控制單元,用于控制所述數(shù)據(jù)接收單元、所述數(shù)據(jù)發(fā)送單元、所述接收緩沖器、所述翻譯單元、所述打印緩沖器和所述打印機(jī)構(gòu);其中,在脫機(jī)錯誤發(fā)生時,所述控制單元使所述數(shù)據(jù)接收單元開始丟棄接收到的數(shù)據(jù),并且從所述接收緩沖器中清除所述數(shù)據(jù),當(dāng)所述打印機(jī)恢復(fù)聯(lián)機(jī)時,所述控制單元使所述數(shù)據(jù)接收單元停止丟棄所述接收到的數(shù)據(jù),并使所述數(shù)據(jù)發(fā)送單元向所述主機(jī)發(fā)送聯(lián)機(jī)狀態(tài)報(bào)告,以及所述控制單元根據(jù)從所述主機(jī)接收到的清除緩沖器命令再次清除所述接收緩沖器。
2.根據(jù)權(quán)利要求1所述的打印機(jī),其中,當(dāng)恢復(fù)聯(lián)機(jī)狀態(tài)時,所述控制單元清除所述打印緩沖器,然后根據(jù)所述清除緩沖器命令再次清除所述打印緩沖器。
3.根據(jù)權(quán)利要求1所述的打印機(jī),其中,在接收到所述清除緩沖器命令之后,所述控制單元向所述主機(jī)發(fā)送緩沖器清除完成報(bào)告,并且基于發(fā)送所述緩沖器清除完成報(bào)告之后從所述主機(jī)接收到的打印數(shù)據(jù)進(jìn)行打印。
4.一種打印機(jī)控制方法,包括步驟當(dāng)脫機(jī)錯誤發(fā)生時,開始丟棄接收到的數(shù)據(jù),并且清除接收緩沖器;當(dāng)恢復(fù)聯(lián)機(jī)時,停止丟棄所述接收到的數(shù)據(jù),并且向主機(jī)發(fā)送聯(lián)機(jī)狀態(tài)報(bào)告;以及根據(jù)從所述主機(jī)接收到的清除緩沖器命令再次清除所述接收緩沖器。
5.根據(jù)權(quán)利要求4所述的打印機(jī)控制方法,還包括步驟當(dāng)恢復(fù)聯(lián)機(jī)狀態(tài)時清除打印緩沖器,然后根據(jù)所述清除緩沖器命令再次清除所述打印緩沖器。
6.根據(jù)權(quán)利要求4所述的打印機(jī)控制方法,還包括步驟在接收到所述清除緩沖器命令之后,向所述主機(jī)發(fā)送緩沖器清除完成報(bào)告;以及基于發(fā)送所述緩沖器清除完成報(bào)告之后所接收到的打印數(shù)據(jù)進(jìn)行打印。
7.根據(jù)權(quán)利要求2所述的打印機(jī),其中,在接收到所述清除緩沖器命令之后,所述控制單元向所述主機(jī)發(fā)送緩沖器清除完成報(bào)告,并且基于發(fā)送所述緩沖器清除完成報(bào)告之后從所述主機(jī)接收到的打印數(shù)據(jù)進(jìn)行打印。
8.根據(jù)權(quán)利要求5所述的打印機(jī)控制方法,還包括步驟在接收到所述清除緩沖器命令之后,向所述主機(jī)發(fā)送緩沖器清除完成報(bào)告;以及基于在發(fā)送所述緩沖器清除完成報(bào)告之后所接收到的打印數(shù)據(jù)進(jìn)行打印。
9.一種打印機(jī)控制方法,所述打印機(jī)基于指定的原因從聯(lián)機(jī)狀態(tài)切換到脫機(jī)狀態(tài),其中,在打印機(jī)從脫機(jī)狀態(tài)恢復(fù)到聯(lián)機(jī)狀態(tài)后,所述方法執(zhí)行以下步驟(a)清除接收緩沖器和/或打印緩沖器;(b)向主機(jī)發(fā)送聯(lián)機(jī)恢復(fù);(c)從主機(jī)接收清除緩沖器命令;(d)清除所述接收緩沖器和/或所述打印緩沖器;(e)向主機(jī)報(bào)告清除接收緩沖器完成;和(f)繼續(xù)從主機(jī)接收打印數(shù)據(jù)。
全文摘要
一種打印機(jī)控制方法,當(dāng)脫機(jī)錯誤發(fā)生時,丟棄接收到的數(shù)據(jù),并且從接收緩沖器清除數(shù)據(jù)。當(dāng)打印機(jī)恢復(fù)聯(lián)機(jī)時,控制單元使數(shù)據(jù)接收單元停止丟棄所述的被接收數(shù)據(jù),并且向發(fā)送清除響應(yīng)作為聯(lián)機(jī)狀態(tài)報(bào)告,告知主機(jī)打印機(jī)恢復(fù)聯(lián)機(jī)狀態(tài)。
文檔編號B41J5/30GK1739975SQ2005100959
公開日2006年3月1日 申請日期2005年8月29日 優(yōu)先權(quán)日2004年8月27日
發(fā)明者齋川隆史 申請人:精工愛普生株式會社