專利名稱:打印機驅(qū)動器、打印機的控制方法及記錄介質(zhì)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及打印機驅(qū)動器(printer driver)、打印機的控制方法及記錄介質(zhì)。
背景技術(shù):
近年來,作為使應用程序的制作變得容易的界面,例如有所謂的API (Application Programming Interface)。API是提供各應用程序可使用的功能的界面,各應用程序僅通過 呼叫出各API,就能實現(xiàn)使用了其功能的各種動作。專利文獻1中揭示了下述內(nèi)容,即可與打印機進行通信且被連接的主計算機取 得打印機的狀態(tài)(status)信息,搭載于主計算機的打印機驅(qū)動器的印刷數(shù)據(jù)生成模塊使 用API來生成含有狀態(tài)信息的印刷圖像(printimage)。另外,專利文獻2中揭示了下述內(nèi)容,即在客戶PC的OS (OperatingSystem)上執(zhí) 行的后臺處理監(jiān)視應用程序和狀態(tài)監(jiān)視應用程序使用了 API,監(jiān)視后臺處理程序的狀態(tài),或 者監(jiān)視打印機的狀態(tài)變化。如此,通過使用API,能夠易于開發(fā)出提供各種功能的應用程序。近年來,為了易于 對設(shè)備所特有的應用程序的開發(fā),開始對該設(shè)備提供其中搭載有專用API的專用驅(qū)動器。例如,作為設(shè)備的一個示例,在P0S(Point OfSales)系統(tǒng)中存在著被使用的POS 打印機。在OS中采用了 Windows (注冊商標)的主計算機上搭載有Windows (注冊商標) 所備的通用驅(qū)動器時,導致可從POS打印機取得的狀態(tài)信息被限定在一定的范圍內(nèi)。在通 用驅(qū)動器中,可從打印機取得的信息已被確定,而不能取得其之外的信息。因此,為了充分 有效利用POS打印機所具有的功能,就需要搭載有專用API的專用驅(qū)動器,該專用API可使 用POS打印機所具有的幾乎所有功能。通過這樣的專用驅(qū)動器來使用POS打印機。專利文獻1 日本特開2001-1M816號公報專利文獻2 日本特開2007-72711號公報上述專用驅(qū)動器是由POS打印機生產(chǎn)商等設(shè)備的開發(fā)商所提供的。使用了設(shè)備 (P0S打印機)的應用程序,由POS系統(tǒng)生產(chǎn)商等購買設(shè)備的客戶側(cè)使用專用驅(qū)動器而獨自 開發(fā)的情況比較多。因此,通過POS打印機生產(chǎn)商等提供的專用驅(qū)動器來執(zhí)行客戶側(cè)開發(fā) 的應用程序時,只要在應用程序的內(nèi)容上沒有特別的問題,打印機就能正常動作。但是,設(shè)備的開發(fā)商給專用驅(qū)動器增加新功能使之版本更新,并將更新的版本再 次提供給客戶的情況很多。因為新版本的專用驅(qū)動器繼承了舊版本的功能,應該也可執(zhí)行 與舊版本的專用驅(qū)動器對應而開發(fā)的應用程序。但是,專用驅(qū)動器和應用程序的版本不同 時,就會發(fā)生打印機執(zhí)行非本意的動作的情況。以下舉例說明。近年來,為使多個應用程序共享一臺打印機,新研發(fā)出了搭載有與 多個應用程序?qū)腁PI和與多個應用程序?qū)耐ㄐ拍K的專用驅(qū)動器。由繼續(xù)使用搭 載了現(xiàn)有的與多個應用程序不對應的API的舊版本的專用驅(qū)動器的客戶所開發(fā)的應用程 序,依然是與多個應用程序不對應的舊版本。若與新版本的專用驅(qū)動器組合起來執(zhí)行舊版 本的應用程序時,舊版本中沒有的部分即與切換為了對應多個應用程序的打印機的占有等的控制相關(guān)聯(lián)的部分,例如接受了本來和打印機的相關(guān)處理無關(guān)的其他處理時,可能會出 現(xiàn)執(zhí)行非本意的動作的情況。在使用舊版本的應用程序和舊版本的專用驅(qū)動器時,新版本 的專用驅(qū)動器因被發(fā)布而導致出現(xiàn)替換舊版本的專用驅(qū)動器進行裝入的情況。
發(fā)明內(nèi)容
本發(fā)明的一實施方式是為了解決上述課題而進行開發(fā)的,目的在于提供一種即使 通過對應于多個應用程序的新版本的專用驅(qū)動器來執(zhí)行與多個應用程序不對應的舊版本 的應用程序也可防止打印機執(zhí)行非本意動作的打印機驅(qū)動器、打印機的控制方法及打印機 的控制程序。能解決上述課題的本發(fā)明的一實施方式是搭載在計算機上的打印機驅(qū)動器,其特 征在于,包括通信模塊,其用于控制與打印機之間的通信;和狀態(tài)管理部,其能在具有多 個應用程序的情況下,基于從上述應用程序接收的請求,即基于要求占有上述打印機的占 有請求或要求解除上述占有的解除請求,在上述通信模塊中切換用于使上述打印機成為占 有狀態(tài)的上述應用程序,其中,上述狀態(tài)管理部,即使在沒有從上述應用程序接收到上述占 有請求的情況下,若從上述應用程序接收到對上述打印機的使用開始請求,則向上述通信 模塊通知由上述應用程序占有上述打印機,并在上述通信模塊中使上述打印機成為占有狀 態(tài)。根據(jù)上述構(gòu)成,即使在沒有從應用程序接收到占有請求的情況下,若從應用程序 接收到對打印機的使用開始請求,則將對上述打印機的占有通知給上述通信模塊,即,無論 從舊版本或新版本中的任何一個的應用程序接收到使用開始請求,都能使打印機成為占有 狀態(tài)。因此,即使對于本來可根據(jù)的占有請求或解除請求而在通信模塊中切換用于使上述 打印機成為占有狀態(tài)的應用程序的新版本的打印機驅(qū)動器而言,即便是從與多個應用程序 不對應且不執(zhí)行占有請求或解除請求的舊版本的應用程序中接收到使用開始請求,也能在 通信模塊中不使打印機處于共享狀態(tài),而是首先成為占有狀態(tài)。因此,即使將舊版本的應用 程序與多個應用程序?qū)男掳姹镜膶S抿?qū)動器組合起來執(zhí)行,在通信模塊中打印機也不 是共享狀態(tài),可以防止應用程序側(cè)執(zhí)行非本意動作。而且,能對應舊版本或新版本中的任何 一個的應用程序。另外,在本發(fā)明的一實施方式中,上述狀態(tài)管理部優(yōu)選在由上述應用程序占有上 述通信模塊中的上述打印機的期間內(nèi),若接收到來自其他的應用程序的使用開始請求時, 解除上述占有狀態(tài),向上述通信模塊通知多個上述應用程序共享上述打印機,并在上述通 信模塊中使上述打印機成為共享狀態(tài)。在上述構(gòu)成中,在通過應用程序?qū)ι鲜鐾ㄐ拍K中的打印機的占有中,若接收到 來自其他的應用程序的使用開始請求,則會有執(zhí)行多個應用程序的情況。另外,多個應用程 序被執(zhí)行時,可推定任何應用程序應為多個應用程序?qū)男掳姹镜膽贸绦?。因此,即?解除占有狀態(tài)而成為共享狀態(tài),應用程序側(cè)也不會執(zhí)行非本意動作。另外,根據(jù)新版本的應 用程序本來的占有請求或解除請求,可切換多個應用程序并使其動作。另外,在本發(fā)明的一實施方式中,上述狀態(tài)管理部優(yōu)選在從上述應用程序接收到 上述占有請求或者上述解除請求時,將上述打印機的共享通知給上述通信模塊,并在上述 通信模塊中使上述打印機成為共享狀態(tài)。
根據(jù)上述構(gòu)成,從應用程序接收到占有請求或解除請求時,即可推定該應用程序應 為多個應用程序?qū)男掳姹?。因此,即使為共享狀態(tài),應用程序側(cè)也不會執(zhí)行非本意動作。另外,在本發(fā)明的一實施方式中,上述狀態(tài)管理部優(yōu)選在對上述通信模塊通知上 述占有后,在上述通信模塊中,來自上述應用程序的印刷數(shù)據(jù)的接收等待狀態(tài)持續(xù)一定時 間時,對上述通信模塊發(fā)送規(guī)定的偽數(shù)據(jù),來解除上述通信模塊中的上述接收等待狀態(tài)。應用程序在通信模塊中占有打印機后,在規(guī)定的期間內(nèi)持續(xù)印刷數(shù)據(jù)的接收等待 狀態(tài)時,若不解除占有,其他的應用程序就不能執(zhí)行印刷處理。根據(jù)上述構(gòu)成,通過發(fā)送 NULL等偽數(shù)據(jù)來解除接收等待狀態(tài)并解除占有,其他的應用程序就能執(zhí)行印刷處理。另外,本發(fā)明的一實施例為計算機可讀取的記錄介質(zhì),其優(yōu)選是將上述的打印機 驅(qū)動器記錄于半導體存儲器、硬盤、光學方式的盤、磁性方式的盤等中的記錄介質(zhì)。另外,還 包括打印機驅(qū)動器被安裝于半導體存儲器、硬盤上的情況。另外,可解決上述課題的本發(fā)明的一實施方式是打印機的控制方法,該控制方法 是在具有多個應用程序的情況下,能基于從上述應用程序接收的請求,即基于要求占有打 印機的占有請求或要求解除上述占有的解除請求,切換用于使上述打印機成為占有狀態(tài)的 上述應用程序并使上述打印機進行動作的打印機的控制方法,其特征在于即使沒有從上 述應用程序接收到上述占有請求的情況下,若從上述應用程序接收到對上述打印機的使用 開始請求時,基于上述應用程序,使上述打印機成為占有狀態(tài)。另外優(yōu)選的是,在上述應用程序占有上述打印機的期間內(nèi),若接收到來自其他的 應用程序的使用開始請求時,解除上述占有狀態(tài)并使得成為由多個上述應用程序?qū)ι鲜龃?印機的共享狀態(tài)。另外優(yōu)選的是,若從上述應用程序接收到上述占有請求或者上述解除請求,使上 述打印機成為共享狀態(tài)。另外優(yōu)選的是,在上述占有狀態(tài)中,若來自上述應用程序的印刷數(shù)據(jù)的接收等待 狀態(tài)持續(xù)一定時間,則生成規(guī)定的偽數(shù)據(jù)來解除上述接收等待狀態(tài)。另外,可解決上述課題,本發(fā)明的一實施方式為記錄有打印機的控制程序的記錄 介質(zhì),其中,該打印機的控制程序是用于在具有多個應用程序的情況下,基于從上述應用程 序接收的請求,即基于要求占有上述打印機的占有請求或要求解除上述占有的解除請求, 切換用于使上述打印機成為占有狀態(tài)的上述應用程序并使上述打印機進行動作的打印機 的控制程序,該控制程序使計算機執(zhí)行下述步驟,即,即使沒有從上述應用程序接收到上述 占有請求的情況下,從上述應用程序接收對上述打印機的使用開始請求的步驟;以及基于 上述應用程序,使上述打印機成為占有狀態(tài)的步驟。根據(jù)上述構(gòu)成,即使對于可根據(jù)占有請求或解除請求來切換多個應用程序并進行 動作的新版本的打印機驅(qū)動器而言,即便是從舊版本的應用程序中接收到使用開始請求, 也能不使打印機成為共享狀態(tài),而是首先成為占有狀態(tài)。因此,即使將舊版本的應用程序通 過多個應用程序?qū)男掳姹镜膶S抿?qū)動器來執(zhí)行,也可防止應用程序側(cè)執(zhí)行非本意的動 作。而且,能對應于舊版本或新版本中的任何一個的應用程序。
圖1是表示由打印機和主計算機組成的系統(tǒng)的硬件構(gòu)成的框圖。
圖2是表示主計算機內(nèi)的軟件構(gòu)成的圖。圖3是表示專用驅(qū)動器的狀態(tài)變化的圖。圖4是用于說明從應用程序中接收到使用開始請求時專用驅(qū)動器進行的處理的 圖。圖5是用于說明從其他的應用程序中接收到使用開始請求時專用驅(qū)動器進行的 處理的圖。圖6是用于說明從應用程序中接收到占有請求或解除請求時專用驅(qū)動器進行的 處理的圖。
具體實施例方式以下,參照附圖來說明本發(fā)明的一實施方式。對打印機驅(qū)動器(printerdriver)、 打印機的控制方法及記錄介質(zhì)的一實施方式進行說明。首先,參照附圖1來說明主計算機及打印機的硬件構(gòu)成。主計算機10具備成為運 算處理中樞的CPU11,CPUll通過系統(tǒng)總線12可訪問記載有BIOS等的R0M13、RAM14。另 外,在系統(tǒng)總線12上連接有作為外部存儲裝置的硬盤驅(qū)動裝置15、可在各記錄介質(zhì)上讀寫 的軟盤驅(qū)動裝置16和⑶-R0M17,被存儲在硬盤驅(qū)動裝置15的OS (Operating System)、應 用程序等被轉(zhuǎn)送給RAM14,CPUll適宜地訪問R0M13和RAM14并執(zhí)行軟件。在串行通信用I/019a上連接有鍵盤41和鼠標42等操作用輸入設(shè)備,顯示用的顯 示器18也通過未圖示的視頻端口實現(xiàn)連接。而且,作為打印機的示例的POS打印機30可通 過并行通信用1/01%進行并行連接。對于作為計算機的示例的主計算機10的構(gòu)成而言, 將其簡化進行了說明,但可采用具有作為個人計算機的一般構(gòu)成。另一方面,POS打印機30是在POS系統(tǒng)中所使用的打印機,可進行收據(jù)印刷等。 POS打印機30具備成為運算處理中樞的CPU31,該CPU31通過系統(tǒng)總線32可訪問R0M33和 存儲器34。在此,存儲器34由用于保存狀態(tài)信息的狀態(tài)信息存儲器、用于保存印刷數(shù)據(jù)的 緩沖存儲器等構(gòu)成。狀態(tài)信息存儲器可由RAM或EEPROM構(gòu)成。另外,在系統(tǒng)總線32上連 接有用于控制POS打印機30內(nèi)部的印刷驅(qū)動機構(gòu)的打印機控制器35和并行通信用1/037。 根據(jù)構(gòu)成,CPU31適宜地訪問R0M33或存儲器34,同時執(zhí)行規(guī)定的固件(firmware)。CPU31基于存儲在存儲器34的印刷數(shù)據(jù)來控制打印機控制器35,保持狀態(tài)信息或 進行收據(jù)印刷。POS打印機30的狀態(tài)信息通過主計算機10和并行通信用1/037向主計算 機10發(fā)送。其次,參照圖2說明本實施方式的主計算機內(nèi)的軟件構(gòu)成。CPUll在OS上執(zhí)行被 存儲在硬盤驅(qū)動裝置15的各程序。在本實施方式中,各應用程序沈、27、觀、打印機驅(qū)動器 20被存儲在硬盤驅(qū)動裝置15中,由CPUll來執(zhí)行。另外,如圖2所示,本實施方式的打印機 驅(qū)動器20具備了通用驅(qū)動器21、專用驅(qū)動器22及通信模塊25。通用驅(qū)動器21是,例如在主計算機10的OS上采用了 Windows (注冊商標)的情 況下,按照Windows (注冊商標)的規(guī)約而制成并提供的驅(qū)動器。通用驅(qū)動器21將從其他 的應用程序沈取得的數(shù)據(jù)轉(zhuǎn)換成POS打印機30能處理的數(shù)據(jù)。但是,功能只限在規(guī)約的 范圍內(nèi)。專用驅(qū)動器(狀態(tài)管理部)22是POS打印機30的專用驅(qū)動器。專用驅(qū)動器22是由打印機制造商所提供的,網(wǎng)羅了所使用的打印機的功能。例如,可取得通用驅(qū)動器21所 不能取得的POS打印機30的狀態(tài)信息。具體來說,若執(zhí)行POS打印機專用的應用程序即狀 態(tài)取得應用程序27,就調(diào)用專用驅(qū)動器22的狀態(tài)取得API23。狀態(tài)取得API23監(jiān)視POS打 印機30的狀態(tài),并通過通信模塊25從POS打印機30接收狀態(tài)信息。根據(jù)來自狀態(tài)取得應 用程序27的狀態(tài)取得請求,將接收到的狀態(tài)信息發(fā)送給狀態(tài)取得應用程序27??梢越邮?POS打印機30特有的狀態(tài)即自動切刀(autocutter)的堵塞等的故障信息。另外,專用驅(qū)動器22可控制POS打印機30進行的收據(jù)印刷處理。若執(zhí)行POS打 印機專用的應用程序即收據(jù)印刷應用程序觀時,就調(diào)用專用驅(qū)動器22的收據(jù)印刷API24。 收據(jù)印刷APIM將從收據(jù)印刷應用程序觀接收到的印刷數(shù)據(jù)轉(zhuǎn)換成POS打印機30能處理 的形式,通過通信模塊25發(fā)送給POS打印機30。此時,發(fā)送POS打印機30特有的指令即自 動切刀的指令,將紙切斷而可作為收據(jù)發(fā)行。這樣,本實施方式的專用驅(qū)動器22根據(jù)專用應用程序27、28的調(diào)用而執(zhí)行API。 各專用應用程序27J8要進行API的調(diào)用時,首先需要對專用驅(qū)動器22發(fā)送出POS打印機 30的使用開始請求。另外,專用驅(qū)動器22可由多個專用應用程序來共享POS打印機30。例如,在狀態(tài) 取得應用程序27的啟動過程中可啟動印刷應用程序觀,在收據(jù)印刷應用程序觀的啟動過 程中可啟動印刷應用程序27。專用驅(qū)動器22從各專用應用程序27、觀接收信號。另外,專用驅(qū)動器22可根據(jù)用于占有POS打印機30的占有請求或解除該占有的 解除請求,暫時性占有POS打印機30,并對狀態(tài)取得應用程序27及收據(jù)印刷應用程序觀進 行切換,使POS打印機30進行動作。即,多個專用應用程序以時分割的方式共享POS打印 機30。另外,專用驅(qū)動器22若從專用應用程序27、觀的其中一個接收到最初的使用開始 請求時,就將POS打印機30的占有通知給通信模塊25,自動在通信模塊25上或經(jīng)由通信 模塊25使POS打印機30成為占有狀態(tài)。S卩,如圖3所示,專用驅(qū)動器22若從專用應用程 序27、28的其中一個接收最初的使用開始請求,就從待機開始點100向互換模式110轉(zhuǎn)移。 互換模式110與舊版本的應用程序?qū)?。另外,專用?qū)動器22,在由一方的專用應用程序27 (或28)對POS打印機30的上 述占有狀態(tài)中,若接收到來自其他的專用應用程序觀(或27)的使用開始請求時,在規(guī)定的 處理后,將占有狀態(tài)自動解除。其后,向通信模塊25通知多個專用應用程序27J8對POS 打印機30的共享,在通信模塊25上或經(jīng)由通信模塊25使POS打印機30為共享狀態(tài)。艮口, 如圖3所示,專用驅(qū)動器22在互換模式110中,若從其他的專用應用程序28(或27)接收 到使用開始請求,則向多模式120轉(zhuǎn)移。多模式120與新版本的應用程序?qū)_@是因為 可推定出具有來自其他專用應用程序觀(或27)的使用開始請求的程序是新版本的應用程 序的緣故。另外,專用驅(qū)動器22從專用應用程序27 (或28)接收到上述占有請求或解除請求 時,向通信模塊25通知POS打印機30的共享,在通信模塊25上或經(jīng)由通信模塊25使POS 打印機30成為共享狀態(tài)。即,如圖3所示,專用驅(qū)動器22在互換模式110中,當從專用應 用程序觀(或27)接收到上述占有請求或解除請求時,也向多模式120轉(zhuǎn)移。另外,專用驅(qū)動器22從專用應用程序27 (或28)接收到使用結(jié)束請求時,結(jié)束由專用應用程序27 (或28)對打印機的使用。即,如圖3所示,專用驅(qū)動器22在互換模式110 或多模式120中,從專用應用程序27 (或28)接收到使用結(jié)束請求時,向結(jié)束點130轉(zhuǎn)移。另外,專用驅(qū)動器22對通信模塊25通知占有后,若判斷出通信模塊25或POS打印 機30的印刷數(shù)據(jù)等的數(shù)據(jù)接收等待狀態(tài)已持續(xù)規(guī)定的時間,則POS打印機不做任何動作, 而是對通信模塊25發(fā)送表示已接收數(shù)據(jù)的偽數(shù)據(jù),解除通信模塊25或POS打印機30的數(shù) 據(jù)接收等待狀態(tài)。例如有等到規(guī)定量的位圖數(shù)據(jù)全部接收為止等的情況。位圖數(shù)據(jù)具有大 量的信息,若在發(fā)送方需消耗時間或出現(xiàn)有故障時,就一直處于等待狀態(tài),下一個應用程序 也不能使用。在這種情況下,強制發(fā)送與剩余的位圖數(shù)據(jù)相當數(shù)據(jù)量的NULL數(shù)據(jù)(空值數(shù) 據(jù)),解除等待狀態(tài)。由此,專用驅(qū)動器22若從專用應用程序接收到使用開始請求,則首先向互換模式 110轉(zhuǎn)移,其后若有其他專用應用程序的使用開始請求、占有請求或解除請求,則向多模式 120轉(zhuǎn)移。但是,一旦向多模式120轉(zhuǎn)移之后,就不能返回互換模式110。這是因為可推定 為在主計算機10上所搭載并執(zhí)行的程序是發(fā)出占有請求或解除請求的程序、也就是新版 本的應用程序的緣故。其次,參照圖4 圖6說明專用驅(qū)動器22向互換模式110或多模式120轉(zhuǎn)移為止 的處理流程。(關(guān)于向互換模式轉(zhuǎn)移的處理)圖4表示向互換模式110轉(zhuǎn)移時的處理流程。在主計算機10的POS應用程序等中,為了取得POS打印機30的狀態(tài)信息,使狀態(tài) 取得應用程序27啟動。專用應用程序27對專用驅(qū)動器22發(fā)送使用開始請求(步驟Sll)。當狀態(tài)取得AP123被調(diào)用時,狀態(tài)取得AP123對通信模塊25通知使用開始(步驟 S12),通信模塊25在可使用的情況下對狀態(tài)取得AP123反饋成功(步驟S13)。接下來,狀 態(tài)取得AP123對通信模塊25通知占有(步驟S14),通信模塊25在可占有的情況下對狀態(tài) 取得AP123反饋成功(步驟SM)。接下來,狀態(tài)取得AP123對通信模塊25通知在互換模 式110下進行動作(步驟S16),通信模塊25在互換模式110可動作的情況下對狀態(tài)取得 AP123反饋成功(步驟S17)。狀態(tài)取得AP123在通信模塊25判斷為可以使用時,對專用應 用程序27通知成功(步驟S18)。如此,最初從專用應用程序接收到使用開始請求后,可向互換模式110轉(zhuǎn)移。艮口, 狀態(tài)取得AP123即使未從專用應用程27接收到占有請求,而只接收到使用開始請求,就可 自動地使新版本的通信模塊25成為占有狀態(tài)或經(jīng)由新版本的通信模塊25使POS打印機30 成為占有狀態(tài)。因此,例如專用應用程序27即使是與新版本應用程序不相對應的舊版本應 用程序,該新版本應用程序是與通過占有請求或解除請求而對通信模塊25的占有狀態(tài)或 經(jīng)由通信模塊25對POS打印機30的占有狀態(tài)進行切換并使之動作的應用程序,也首先通 過向互換模式110轉(zhuǎn)移,可占有通信模塊25或經(jīng)由通信模塊25而占有POS打印機30。因 此,專用應用程序27不能與多個應用程序共享通信模塊25或POS打印機30。在舊版本的 即單一應用程序的情況下,可維持通信模塊25或POS打印機30的占有狀態(tài),而不是將POS 打印機30以時分割方式進行共享,由此,能夠防止POS打印機30因在專用驅(qū)動器22 (23) 上的共享狀態(tài)的控制等而錯誤執(zhí)行在舊版本的專用應用程序側(cè)未被預期的動作。例如,專 用驅(qū)動器22 已將關(guān)于共享狀態(tài)的請求或響應的信息發(fā)送給舊版本的專用應用程序,舊版本的專用應用程序誤判斷為應當對POS打印機30進行響應的信息,無論是否有必要, 都向POS打印機30發(fā)送響應信息,導致POS打印機30錯誤執(zhí)行了印刷。(關(guān)于向多模式轉(zhuǎn)移的處理)圖5表示從圖4中轉(zhuǎn)移后的互換模式110向多模式120轉(zhuǎn)移時的處理的流程。在主計算機10的POS應用程序等中,在使專用應用程序27保持動作的狀態(tài)下,為 了執(zhí)行收據(jù)印刷而啟動收據(jù)印刷應用程序觀。印刷應用程序觀對專用驅(qū)動器22發(fā)送使用 開始請求(步驟S21)。若收據(jù)印刷APlM被調(diào)用,則收據(jù)印刷APlM對通信模塊25通知使用開始(步驟 S22),通信模塊25在可使用的情況下對收據(jù)印刷APlM反饋成功(步驟S2!3)。接下來,收 據(jù)印刷APlM對通信模塊25通知占有(步驟S24),這里,由于圖4的步驟S14中狀態(tài)取得 AP123占有著POS打印機30,通信模塊25對收據(jù)印刷AP124反饋失敗(步驟S25)。接下 來,收據(jù)印刷APlM與圖4的步驟S16同樣地對通信模塊25通知以互換模式110進行動作 (步驟S26),通信模塊25在能夠以互換模式110進行使用的情況下,對收據(jù)印刷APlM反 饋成功(步驟S27)。通信模塊25根據(jù)在步驟S26中來自收據(jù)印刷APlM的通知,對狀態(tài)取得AP123轉(zhuǎn) 送并通知互換模式之意(步驟S28)。接下來,狀態(tài)取得AP123根據(jù)來自通信模塊25的互 換模式的通知,為了解除在圖4的步驟S14中通知的占有,向通信模塊25通知解除(步驟 S29)。通信模塊25在能解除的情況下,對狀態(tài)取得AP123反饋成功(步驟S30)。狀態(tài)取得AP123將從互換模式110向多模式120的轉(zhuǎn)移,通知給通信模塊25 (步 驟S31),通信模塊25在能轉(zhuǎn)移的情況下,對狀態(tài)取得AP123反饋成功(步驟S32)。通信模塊25根據(jù)來自狀態(tài)取得AP123的向多模式轉(zhuǎn)移的通知,對收據(jù)印刷AP124 轉(zhuǎn)送并通知向多模式120的轉(zhuǎn)移(步驟S33)。更進一步,收據(jù)印刷APlM對專用應用程序 觀轉(zhuǎn)送并通知向多模式120的轉(zhuǎn)移(步驟S34)。由此,狀態(tài)取得AP123及收據(jù)印刷AP124 的任何一個均向多模式120轉(zhuǎn)移。由此,在由專用應用程序23對POS打印機30的占有中,從其他的專用應用程序28 發(fā)送出使用開始請求時,成為多個專用應用程序27、觀被執(zhí)行的狀態(tài)。因此,可推定任何一 個專用應用程序27、觀為多應用程序?qū)男掳姹镜膶S脩贸绦?。因此,即使解除步驟 S14的占有狀態(tài)向多模式120轉(zhuǎn)移,S卩,即使POS打印機30為共享狀態(tài),但由于各應用程序 是以共享為前提構(gòu)成的,POS打印機30不會執(zhí)行非本意的動作。能夠以時分割的方式共享 POS打印機30。(關(guān)于向多模式轉(zhuǎn)移的其他處理)圖6表示從圖4中的轉(zhuǎn)移后的互換模式110進一步向多模式120轉(zhuǎn)移的其它處理 的流程。由于專用應用程序27暫時占有POS打印機30,故對專用驅(qū)動器22發(fā)送占有請求 (步驟S41)。當狀態(tài)取得API23被調(diào)用,狀態(tài)取得API23對通信模塊25通知占有(步驟 S42),通信模塊25在可占有的情況下對狀態(tài)取得API23反饋成功(步驟S4!3)。接下來,狀 態(tài)取得API23將從在圖4的步驟S16中通知的互換模式110向多模式120的轉(zhuǎn)移通知給通 信模塊25 (步驟S44)。通信模塊25在可轉(zhuǎn)移的情況下對狀態(tài)取得API23反饋成功(步驟 S45)。狀態(tài)取得API23對專用應用程序27反饋成功(步驟S46)。
另外,為了解除專用應用程序27對POS打印機30的暫時性占有,與上述相同地, 狀態(tài)取得API23在步驟S41從專用應用程序27接收解除請求,在步驟S42向通信模塊25 通知解除,在步驟S44將向多模式120的轉(zhuǎn)移通知給通信模塊25即可。如此,狀態(tài)取得API23從專用應用程序27接收占有請求或解除請求,即可推定該 專用應用程序為多應用程序?qū)男掳姹?。即,各專用應用程?7是與新版本的專用驅(qū)動 器22對應而開發(fā)出來的,根據(jù)占有請求或解除請求而暫時性占有POS打印機30,由此多個 專用應用程序應為切換通信模塊25或經(jīng)由通信模塊25切換POS打印機30并使之可動作 的專用應用程序。因此,即使在步驟S44中向多模式120轉(zhuǎn)移,S卩,即使POS打印機30為共 享狀態(tài),POS打印機30也不會執(zhí)行非本意的動作。
另外,在上述實施方式中,在圖4中根據(jù)來自專用應用程序27的使用開始請求,狀 態(tài)取得API23對通信模塊25通知占有,但也可是根據(jù)來自專用應用程序觀的使用開始請 求,收據(jù)印刷APIM可對通信模塊25通知占有。例如,收據(jù)印刷APIM在圖4的步驟S 14中對通信模塊25通知占有后,用于發(fā)送 指令的指令發(fā)送API向POS打印機30分割發(fā)送出作為印刷數(shù)據(jù)的位圖數(shù)據(jù)。在印刷數(shù)據(jù) 的發(fā)送中,若發(fā)生系統(tǒng)故障,通信模塊25或POS打印機30可能會成為印刷數(shù)據(jù)接收等待狀 態(tài)的情況。在這種情況下,專用驅(qū)動器22通過對通信模塊25發(fā)送NULL等的偽數(shù)據(jù),從而 從通信模塊25向POS打印機30發(fā)送偽數(shù)據(jù),可解除通信模塊25或POS打印機30的接收 等待狀態(tài)。專用驅(qū)動器22解除通信模塊25或POS打印機30的接收等待狀態(tài)后,為了解除 在步驟S14中所通知的占有而對通信模塊25通知解除。從占有了通信模塊25或POS打印機30后,若通信模塊25或POS打印機30成為 印刷數(shù)據(jù)接收等待狀態(tài),如不解除占有,就不能執(zhí)行其他的應用程序。因此,通過發(fā)送偽數(shù) 據(jù)來解除接收等待狀態(tài)并解除占有,就能執(zhí)行其他的應用程序。另外,在上述實施方式中,例示了作為專用驅(qū)動器22,而調(diào)用狀態(tài)取得API23、收 據(jù)印刷API24并執(zhí)行的情況,也可以是調(diào)用其他的API并執(zhí)行的情況。例如,在POS打印機30內(nèi)部保持有維護計數(shù)器的情況下,具備有用于取得維護計 數(shù)值的API或重置維護計數(shù)值的API,在POS打印機30連接有抽屜(drawer)時,具備有使 抽屜打開的API。另外,在POS打印機30上裝載了自動切刀時,需要具備有用于使自動切刀 進行動作的API。而且,具備用于取得有無傳感器、客戶顯示器的連接、固件的信息等打印機配置的 API ;從可恢復故障中的恢復、排除卡紙等可恢復的故障原因后使POS打印機30從故障狀態(tài) 恢復的API ;用于重置POS打印機30的API ;用于進行關(guān)閉電源的前處理的API ;對POS打 印機30定義指令定義文件或?qū)⑺x的指令定義文件的指令向POS打印機30發(fā)送并執(zhí)行 的API ;向POS打印機30發(fā)送指令或從POS打印機30接收數(shù)據(jù)的API等。另外,采用本發(fā)明的主計算機并不僅限于個人計算機。上述實施方式中,設(shè)為所謂 的臺式計算機,但是也可以是筆記本計算機、便攜型對應的計算機。另外,主計算機10和 POS打印機30之間的連接接口也不必局限于并行通信用I/019b,可以采用串行接口、SCSI、 USB連接等各種連接形式,還可以采用今后開發(fā)的所有連接形式。另外,在上述實施方式中,各應用程序沈、27、觀、打印機驅(qū)動器20等的程序被存 儲在硬盤驅(qū)動裝置15中。但是,存儲有這些程序的記錄介質(zhì)并不僅限于此。例如,可以是軟盤16a也可以是⑶-R0M17a。另外,也可以是其他的半導體存儲器、可光學讀寫的盤、可磁 性讀寫的盤等。在這些記錄介質(zhì)上記錄的程序通過軟盤16或CD-R0M17等的驅(qū)動裝置而被 主計算機10所讀取,并安裝在硬盤驅(qū)動裝置15或半導體存儲器中。因此,通過硬盤驅(qū)動裝 置15或半導體存儲器,即可在主計算機10的CPUll等中予以執(zhí)行。
另外,在上述實施方式中,主計算機10和POS打印機30是以一對一的關(guān)系進行了 說明,POS打印機30也可通過網(wǎng)絡和多個主計算機連接。在這種情況下,各主計算機可通 過多個應用程序共享POS打印機30。
權(quán)利要求
1.一種打印機驅(qū)動器,其被搭載于計算機,其特征在于,包括通信模塊,其用于控制與打印機之間的通信;和狀態(tài)管理部,其在具有多個應用程序的情況下,能夠基于從上述應用程序接收的請求, 即基于要求占有上述打印機的占有請求或要求解除上述占有的解除請求,在上述通信模塊 中切換用于使上述打印機成為占有狀態(tài)的上述應用程序,其中,上述狀態(tài)管理部,即使在從上述應用程序沒有接收到上述占有請求的情況下,若 從上述應用程序接收對上述打印機的使用開始請求,也向上述通信模塊通知由上述應用程 序占有上述打印機,并在上述通信模塊中使上述打印機成為占有狀態(tài)。
2.根據(jù)權(quán)利要求1所述的打印機驅(qū)動器,其特征在于上述狀態(tài)管理部,在由上述應用程序占有上述通信模塊中的上述打印機的期間內(nèi),若 接收到來自其他的應用程序的使用開始請求,則解除上述占有狀態(tài),向上述通信模塊通知 多個上述應用程序共享上述打印機,并在上述通信模塊中使上述打印機成為共享狀態(tài)。
3.根據(jù)權(quán)利要求1所述的打印機驅(qū)動器,其特征在于上述狀態(tài)管理部,在從上述應用程序接收到上述占有請求或者上述解除請求時,將上 述打印機的共享通知給上述通信模塊,并在上述通信模塊中使上述打印機成為共享狀態(tài)。
4.根據(jù)權(quán)利要求1所述的打印機驅(qū)動器,其特征在于上述狀態(tài)管理部,在對上述通信模塊通知上述占有后,在上述通信模塊中,若來自上 述應用程序的印刷數(shù)據(jù)的接收等待狀態(tài)持續(xù)一定時間,則對上述通信模塊發(fā)送規(guī)定的偽數(shù) 據(jù),來解除上述通信模塊中的上述接收等待狀態(tài)。
5.一種計算機可讀取的記錄介質(zhì),其記錄有如權(quán)利要求1所述的打印機驅(qū)動器。
6.一種打印機的控制方法,該控制方法是在具有多個應用程序的情況下,能基于從上 述應用程序接收的請求,即基于要求占有打印機的占有請求或要求解除上述占有的解除請 求,切換用于使上述打印機成為占有狀態(tài)的上述應用程序并使上述打印機進行動作的打印 機的控制方法,其特征在于即使在沒有從上述應用程序接收到上述占有請求的情況下,若從上述應用程序接收到 對上述打印機的使用開始請求,也基于上述應用程序,使上述打印機成為占有狀態(tài)。
7.根據(jù)權(quán)利要求6所述的打印機的控制方法,其特征在于在由上述應用程序占有上述打印機的期間內(nèi)中,若接收到來自其他的應用程序的使 用開始請求,則解除上述占有狀態(tài)并使得成為由多個上述應用程序?qū)ι鲜龃蛴C的共享狀 態(tài)。
8.根據(jù)權(quán)利要求6所述的打印機的控制方法,其特征在于在從上述應用程序接收到上述占有請求或者上述解除請求時,使上述打印機成為共享 狀態(tài)。
9.根據(jù)權(quán)利要求6所述的打印機的控制方法,其特征在于在上述占有狀態(tài)中,若來自上述應用程序的印刷數(shù)據(jù)的接收等待狀態(tài)持續(xù)一定時間, 則生成規(guī)定的偽數(shù)據(jù)來解除上述接收等待狀態(tài)。
10.一種記錄介質(zhì),其記錄有打印機的控制程序,其中,該打印機的控制程序是用于在具有多個應用程序的情況下,基于從上述應用程序接收的請求,即基于要求占有上述打印 機的占有請求或要求解除上述占有的解除請求,切換用于使上述打印機成為占有狀態(tài)的上 述應用程序并使上述打印機進行動作的打印機的控制程序, 該控制程序使計算機執(zhí)行下述步驟,即,即使在沒有從上述應用程序接收到上述占有請求的情況下,也從上述應用程序接收對 上述打印機的使用開始請求的步驟;以及基于上述應用程序,使上述打印機成為占有狀態(tài)的步驟。
全文摘要
本發(fā)明提供一種打印機驅(qū)動器、打印機的控制方法及記錄介質(zhì),即使通過多個應用程序?qū)男掳姹镜膶S抿?qū)動器來執(zhí)行與多個應用程序不對應的舊版本的應用程序也可防止打印機執(zhí)行非本意動作。打印機驅(qū)動器(20)具有專用驅(qū)動器(22),該專用驅(qū)動器(22)根據(jù)由專用應用程序(27、28)接收的請求即根據(jù)用以占有POS打印機(30)的占有請求或解除請求,對多個專用應用程序(27、28)進行切換,且專用驅(qū)動器(22)若從專用應用程序(27)接收對POS打印機(30)的使用開始請求時,將向通信模塊(25)通知由專用應用程序(27)對POS打印機(30)的占有,并使POS打印機(30)成為占有狀態(tài)。
文檔編號G06F3/12GK102053806SQ201010531500
公開日2011年5月11日 申請日期2010年10月29日 優(yōu)先權(quán)日2009年10月29日
發(fā)明者渡邊道明 申請人:精工愛普生株式會社