KR100772342B1 - 시스템, 비트맵 데이터의 송신 제어 방법, 리얼 타임 커맨드의 송신 제어 방법 - Google Patents

시스템, 비트맵 데이터의 송신 제어 방법, 리얼 타임 커맨드의 송신 제어 방법 Download PDF

Info

Publication number
KR100772342B1
KR100772342B1 KR1020000013567A KR20000013567A KR100772342B1 KR 100772342 B1 KR100772342 B1 KR 100772342B1 KR 1020000013567 A KR1020000013567 A KR 1020000013567A KR 20000013567 A KR20000013567 A KR 20000013567A KR 100772342 B1 KR100772342 B1 KR 100772342B1
Authority
KR
South Korea
Prior art keywords
command
processing
real
data
time processing
Prior art date
Application number
KR1020000013567A
Other languages
English (en)
Other versions
KR20010006818A (ko
Inventor
테라다이라미츠아키
미노와마사히로
Original Assignee
세이코 엡슨 가부시키가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP11074001A external-priority patent/JP2000267830A/ja
Priority claimed from JP10423799A external-priority patent/JP3812216B2/ja
Application filed by 세이코 엡슨 가부시키가이샤 filed Critical 세이코 엡슨 가부시키가이샤
Publication of KR20010006818A publication Critical patent/KR20010006818A/ko
Application granted granted Critical
Publication of KR100772342B1 publication Critical patent/KR100772342B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1801Input data handling means
    • G06K15/1803Receiving particular commands
    • G06K15/1806Receiving job control commands
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F16ENGINEERING ELEMENTS AND UNITS; GENERAL MEASURES FOR PRODUCING AND MAINTAINING EFFECTIVE FUNCTIONING OF MACHINES OR INSTALLATIONS; THERMAL INSULATION IN GENERAL
    • F16LPIPES; JOINTS OR FITTINGS FOR PIPES; SUPPORTS FOR PIPES, CABLES OR PROTECTIVE TUBING; MEANS FOR THERMAL INSULATION IN GENERAL
    • F16L47/00Connecting arrangements or other fittings specially adapted to be made of plastics or to be used with pipes made of plastics
    • F16L47/14Flanged joints
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F16ENGINEERING ELEMENTS AND UNITS; GENERAL MEASURES FOR PRODUCING AND MAINTAINING EFFECTIVE FUNCTIONING OF MACHINES OR INSTALLATIONS; THERMAL INSULATION IN GENERAL
    • F16LPIPES; JOINTS OR FITTINGS FOR PIPES; SUPPORTS FOR PIPES, CABLES OR PROTECTIVE TUBING; MEANS FOR THERMAL INSULATION IN GENERAL
    • F16L23/00Flanged joints
    • F16L23/02Flanged joints the flanges being connected by members tensioned axially
    • F16L23/024Flanged joints the flanges being connected by members tensioned axially characterised by how the flanges are joined to, or form an extension of, the pipes
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F16ENGINEERING ELEMENTS AND UNITS; GENERAL MEASURES FOR PRODUCING AND MAINTAINING EFFECTIVE FUNCTIONING OF MACHINES OR INSTALLATIONS; THERMAL INSULATION IN GENERAL
    • F16LPIPES; JOINTS OR FITTINGS FOR PIPES; SUPPORTS FOR PIPES, CABLES OR PROTECTIVE TUBING; MEANS FOR THERMAL INSULATION IN GENERAL
    • F16L23/00Flanged joints
    • F16L23/02Flanged joints the flanges being connected by members tensioned axially
    • F16L23/032Flanged joints the flanges being connected by members tensioned axially characterised by the shape or composition of the flanges
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F16ENGINEERING ELEMENTS AND UNITS; GENERAL MEASURES FOR PRODUCING AND MAINTAINING EFFECTIVE FUNCTIONING OF MACHINES OR INSTALLATIONS; THERMAL INSULATION IN GENERAL
    • F16LPIPES; JOINTS OR FITTINGS FOR PIPES; SUPPORTS FOR PIPES, CABLES OR PROTECTIVE TUBING; MEANS FOR THERMAL INSULATION IN GENERAL
    • F16L23/00Flanged joints
    • F16L23/16Flanged joints characterised by the sealing means
    • F16L23/18Flanged joints characterised by the sealing means the sealing means being rings
    • F16L23/22Flanged joints characterised by the sealing means the sealing means being rings made exclusively of a material other than metal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/121Facilitating exception or error detection and recovery, e.g. fault, media or consumables depleted
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1284Local printer device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1801Input data handling means
    • G06K15/1803Receiving particular commands

Abstract

인쇄 장치, 정보 처리 장치, 이들 제어 방법 및 정보 기록 매체를 제공한다.
인쇄 장치의 수신 처리부는 리얼 타임 처리 커맨드, 통상 처리 커맨드의 1개 또는 그들 조합을 포함하는 데이터 열을 수신한다. 그러나, 리얼 타임 처리부는 수신 처리부에 의해 수신된 데이터 열에 리얼 타임 처리 커맨드가 포함될 때, 리얼 타임 처리 커맨드를 실행할지의 여부를 지시하는 지시부 상태가 「허가」이면, 해당 리얼 타임 처리 커맨드에 대응하는 리얼 타임 처리를 실행하고, 그렇지 않으면 리얼 타임 처리를 실행하지 않고 통상 처리 커맨드에 대응하는 통상 처리를 실행한다.
인쇄 장치, 정보 처리 장치, 정보 기록 매체

Description

인쇄 장치, 정보 처리 장치, 이들의 제어 방법 및 정보 기록 매체{Printer, information processing apparatus, methods of controlling thereof and storage medium}
도 1은 본 발명의 인쇄 장치의 실시예의 개요를 도시하는 블록 구성도.
도 2는 본 발명의 인쇄 장치의 수신 인터럽트 처리 흐름의 제 1 실시예를 도시하는 플로우챠트.
도 3은 본 발명의 인쇄 장치의 수신 인터럽트의 제 1 실시예에 있어서의 상태 천이를 도시하는 설명도.
도 4는 본 발명의 인쇄 장치의 통상 처리 흐름의 실시예를 도시하는 플로우챠트.
도 5는 본 발명의 정보 처리 장치의 실시예의 개요를 도시하는 블록 구성도.
도 6은 본 발명의 정보 처리 장치에서 실행되는 송신 처리 흐름의 실시예를 도시하는 플로우챠트.
도 7은 본 발명의 인쇄 장치의 수신 인터럽트 처리 흐름의 제 2 실시예를 도시하는 플로우챠트.
도 8은 본 발명의 인쇄 장치의 수신 인터럽트의 제 2 실시예에 있어서의 상 태 천이를 도시하는 설명도.
도 9는 본 발명의 인쇄 장치의 수신 인터럽트 처리 흐름의 제 3 실시예를 도시하는 플로우챠트.
도 10은 본 발명의 인쇄 장치의 통상 처리 흐름의 실시예를 도시하는 플로우챠트.
도 11은 본 발명의 정보 처리 장치에서 실행되는 송신 처리 흐름의 실시예를 도시하는 플로우챠트.
도 12는 본 발명의 인쇄 장치의 수신 인터럽트 처리 흐름의 제 4 실시예를 도시하는 플로우챠트.
도 13은 본 발명의 인쇄 장치의 수신 인터럽트의 제 4 실시예에 있어서의 상태 천이를 도시하는 설명도.
도 14는 본 발명의 인쇄 장치의 통상 처리 흐름의 실시예를 도시하는 플로우챠트.
※도면의 주요 부분에 대한 부호의 설명※
삭제
101: 프린터 102: 인터페이스
103: CPU 104: RAM
105: ROM 107: 인쇄 기구
111: 수신 버퍼 112: 프린트 버퍼
113: 모드 영역 114: 플래그 영역
120: 호스트 컴퓨터 501: CPU
502: ROM 503: 불휘발성 기억 장치
504: RAM 505: 인터페이스
본 발명은 인쇄 장치, 정보 처리 장치, 이들의 제어 방법 및 정보 기록 매체에 관한 것이다. 특히, 화상용 바이너리 데이터나 폰트 등록 바이너리 데이터 등의 바이너리 데이터와, 리얼 타임 처리 커맨드를 의미하는 데이터 열을 구별하여 처리하는 인쇄 장치, 정보 처리 장치, 이들의 제어 방법 및 이들을 실현하는 프로그램을 기록한 정보 기록 매체에 관한 것이다.
인쇄 장치(printer)는 종이 등의 인쇄체에 문자나 도형을 인쇄하기 위한 장치로서 널리 보급되어 있다. 이러한 프린터는 정보 처리 장치(호스트 컴퓨터)에 접속되며, 호스트 컴퓨터는 문자나 도형을 인쇄하기 위한 데이터 열이나, 프린터 자체를 제어하기 위한 데이터 열을 프린터에 송신한다.
호스트 컴퓨터가 프린터에 송신하는 데이터는 비트열로서도 바이트 열로서도 볼 수 있다. 특히, 프린터에 있어서는 8 비트(1 바이트) 단위로 커맨드 체계를 구축하며, 어느 쪽의 커맨드도, 8의 배수의 비트 수, 즉, 어떤 바이트 수의 데이터에 의해 구축하는 것이 대부분이다. 또한, 커맨드는 상기 바이트 열인 커맨드 심볼과, 필요에 따라 이에 부수하는 바이트 열의 파라미터와, 또한 필요에 따라 부가되는 데이터로 이루어진다.
문자를 인쇄하기 위한 데이터 열로서는 ASCII 코드와 같은 바이트 값을 사용하는 한편으로, 화상의 인쇄나 사용자 정의 폰트의 정의에서는 바이트 열에 의해 흑백을 나타내는 방법이 사용되고 있다. 또한, 화상에 있어서는 화상의 각 점의 색을 각 바이트에 포함되는 복수의 비트에 의해서 나타내는 수법도 있다.
프린터의 인터페이스부가 1 바이트 또는 수 바이트의 데이터를 수신하면, 수신 인터럽트가 발생하여, 수신 인터럽트 처리가 기동된다. 수신 인터럽트 처리에서는 이하의 처리를 행한다.
(1) 수신한 데이터에 리얼 타임 처리 커맨드가 포함되는지의 여부를 판별하여, 포함되어 있는 경우에는 그 리얼 타임 처리 커맨드에 대응하는 처리를 즉시 실행한다(이러한 기술적 내용에 대해서는 공개공보: 특개평09-164744를 참조).
(2) 수신한 데이터를 RAM(Random Access Memory)로 구성된 수신 버퍼에 기억한다.
이들의 수신 인터럽트 처리가 소정의 범위로 종료하면, 통상 처리로 되돌아간다. 일반적으로는 캐리지 리턴을 수신하거나, 수신 버퍼가 만배(full)로 될 때까지 연속적으로 실행된다. 통상 처리에서는 수신 버퍼에 기억된 데이터 열을 해석하여, RAM에 준비된 프린트 버퍼에 인쇄 이미지를 전개한다. 이 작업은 수신한 데이터 순으로 실행되는 소위 FIFO 처리이다. 이에 반해, 상기 리얼 타임 처리 커맨드는 FIFO 처리의 룰을 무시하고 실행되는 커맨드이다.
인쇄 이미지는 인쇄 영역의 어떤 부분을 희게 하고, 어떤 부분을 검게 할 것인가, 즉, 어떻게 인쇄 헤드를 구동할 것인가를 1과 0의 비트치로 표현하는 것이 일반적이다. 1행문의 인쇄 이미지가 전개되면, 프린트 버퍼의 내용에 따라서 인쇄 헤드를 구동하여, 종이 등의 인쇄체에 문자나 도형을 인쇄한다.
리얼 타임 처리 커맨드에 상당하는 데이터 열이 수신 버퍼에 들어가 있어도, 이미 수신 인터럽트 처리에 있어서 이것에 대응하는 처리의 실시가 행하여지고 있기 때문에, 통상 처리에 있어서는 단지 띄어가며 읽어진다.
그러나, 화상용 바이너리 데이터나 폰트 등록용 데이터와 같은 바이너리 데이터를 인쇄 장치에 송신하기 위한 데이터 열 정의 내에 우연 리얼 타임 처리 커맨드와 같은 데이터 열이 나타나는 것이 있다. 원래 리얼 타임 처리 커맨드로 해석해야 하는 것이 아닌 경우에도, 상기와 같은 수신 인터럽트 처리에 있어서, 리얼 타임 처리 커맨드에 대응하는 처리가 실행되어질 가능성이 있었다.
즉, 호스트 컴퓨터가 의도하지 않은 타이밍에 의도하지 않은 리얼 타임 처리 커맨드의 처리가 실행되기 때문에, 예를 들면, 호스트 컴퓨터 측에서 수신 준비가 되어 있지 않거나 하여, 프린터와의 정합성을 가질 수 없게 되거나 할 가능성이 있었다.
이 때문에, 리얼 타임 처리 커맨드의 데이터 열과 동일한 데이터 열을 포함하는 바이너리 데이터의 데이터 열을, 리얼 타임 처리 커맨드와는 구별하여 호스트 컴퓨터로부터 프린터에 송신하고 싶다고 하는 요망이 생기고 있었다.
본 발명은 이상과 같은 문제를 해결하기 위해서 이루어진 것으로, 이미지 데이터나 폰트 등록 데이터 등의 바이너리 데이터와, 리얼 타임 처리 커맨드를 의미하는 데이터 열을 구별하여 처리하는 인쇄 장치, 정보 처리 장치, 이들의 제어 방법 및 이들을 실현하는 프로그램을 기록한 정보 기록 매체를 제공하는 것을 목적으로 한다.
이상의 목적을 달성하기 위해, 본 발명의 원리에 따라, 하기의 발명을 개시한다.
본 발명의 인쇄 장치는 정보 처리 장치에 접속되어, 소정의 커맨드 및 데이터 등으로 이루어진 데이터 열을 수신하고, 인쇄 및 상기 커맨드에 대응하는 소정의 처리를 실행하는 인쇄 장치에 있어서, 상기 정보 처리 장치로부터 송신된 통상 처리 커맨드, 해당 통상 처리 커맨드에 우선하여 실행되는 리얼 타임 처리 커맨드의 1개 또는 그들의 조합을 포함하는 데이터 열을 수신하는 수신 처리부와, 상기 수신 처리부에 의해 수신된 데이터 열에 포함되는 통상 처리 커맨드에 따라, 통상 처리를 실행하는 통상 처리부와, 상기 수신 처리부에 의해 수신된 데이터 열에 리얼 타임 처리 커맨드가 포함되는 경우는 그의 리얼 타임 처리 커맨드에 따라, 리얼 타임 처리를 실행하는 리얼 타임 처리부와, 해당 리얼 타임 처리부에, 상기 리얼 타임 처리의 실행을 허가할 것인지의 여부를 지시하는 지시부를 갖는 것을 특징으로 한다.
이와 같이, 리얼 타임 처리 커맨드의 실행을 허가할 것인지의 여부를 지시하 는 지시부가 설정되어 있기 때문에, 특정한 커맨드(예를 들면, 이미지 인쇄 커맨드나 폰트 등록 커맨드)의 데이터 열이 송신되기 전에 미리 리얼 타임 처리 커맨드의 실행을 금지하도록 할 수 있다. 그러므로, 통상 커맨드의 파라미터 내에 우연히 포함되는 데이터 열에 의해 리얼 타임 처리가 실행되는 것은 없어진다.
프린터 측에서 리얼 타임 처리 커맨드의 실행을 금지하기 위해서는 정보 처리 장치로부터 리얼 타임 처리 커맨드의 실행의 금지하는 커맨드를 송신할 수 있도록 하여, 인쇄 장치 측에서는 상기 수신 처리부가 상기 리얼 타임 처리 금지 커맨드의 데이터 열을 수신하였을 때에, 리얼 타임 처리 커맨드의 실행을 무효로 하면 된다.
또한, 다시 프린터 측에서 리얼 타임 처리 커맨드의 실행을 허가하기 위해서는 정보 처리 장치로부터, 리얼 타임 처리 커맨드의 실행의 허가하는 커맨드를 송신하여, 프린터 측에서, 리얼 타임 처리 커맨드의 실행을 허가하도록 하면 된다.
또한, 커맨드에 의하지 않고, 카운터 등을 사용하여, 리얼 타임 처리 금지 커맨드의 데이터 열을 수신하고 나서 경과한 시간이, 소정의 시간을 초과하는 경우에, 상기 지시부를 상기 리얼 타임 처리 커맨드의 실행을 허가하는 상태로 되돌리도록 하여도 된다.
또한, 리얼 타임 처리 금지 커맨드의 데이터 열을 수신하고 나서 상기 수신 처리부가 수신한 데이터 열의 길이가 소정의 길이를 초과하는 경우에, 상기 지시부를 상기 리얼 타임 처리 커맨드의 실행을 허가하는 상태로 되돌리도록 하여도 된다. 또한, 상기 소정의 길이는 상기 리얼 타임 처리 금지 커맨드에 의해 지정되도록 하여도 된다.
상기 리얼 타임 처리 허가 커맨드 및 리얼 타임 처리 금지 커맨드는 복수의 리얼 타임 처리 커맨드의 각각에 대해서, 허가 또는 금지가 지정 가능한 리얼 타임 처리 허가·금지 커맨드로서 준비하여도 된다. 이 경우, 해당 리얼 타임 처리 허가·금지 커맨드에, 적어도 2 바이트의 파라미터를 설정하면 된다. 즉, 해당 파라미터는 1 내지 복수의 리얼 타임 처리 커맨드를 지정하는 파라미터와, 지정된 리얼 타임 처리 커맨드의 각각의 허가 또는 금지를 지정하는 파라미터를 구비하도록 하면, 리얼 타임 처리 커맨드마다, 그의 실행의 허가 또는 금지를 설정할 수 있다.
또한, 인쇄 장치에, 리얼 타임 처리 금지 커맨드 또는 리얼 타임 처리 허가·금지 커맨드의 수신을 나타내는 스테이터스 정보를 격납하는 스테이터스 격납부와, 상기 정보 처리 장치로부터 리얼 타임 처리 금지 커맨드를 수신한 후, 스테이터스 요구 커맨드를 수신하였을 때, 적어도 상기 리얼 타임 처리 금지 커맨드의 수신을 나타내는 스테이터스 정보를 송신하는 응답 처리부를 구비하도록 하여도 된다.
프린터 측에서 리얼 타임 처리 커맨드의 실행을 금지하기 위해서는 리얼 타임 처리 금지 커맨드를 사용하는 대신에, 인쇄 장치에, 상기 수신 처리부가, 상기 통상 처리 커맨드 중, 바이너리 데이터를 취급하는 소정의 커맨드 처리 커맨드를 수신하였을 때, 리얼 타임 처리 커맨드의 실행을 금지하도록 하여도 된다.
이 경우, 인쇄 장치가 비트 맵 처리 커맨드를 수신하면, 리얼 타임 커맨드를 금지하도록 설정되기 때문에, 리얼 타임 처리 금지 커맨드를 호스트 측에서 준비할 필요가 없다고 하는 이점이 있다. 또한, 이 경우, 상기 수신 처리부가 상기 바이너리 데이터 처리 커맨드에 부수하는 바이너리 데이터를 나타내는 데이터 열의 수신을 종료한 후, 다시 상기 리얼 타임 처리 커맨드의 실행을 허가하는 상태로 설정하도록 하면, 리얼 타임 처리 허가 커맨드도 준비할 필요가 없다.
본 발명의 인쇄 장치의 제어 방법, 정보 처리 장치, 그의 정보 처리 장치로부터 인쇄 장치에 데이터 열을 송신하는 방법도, 상기와 같은 사항에 의해 특정되는 것이며, 각각 동일한 작용 효과를 발하는 것이다. 또한, 본 발명의 컴퓨터 판독 가능한 기록 매체도, 컴퓨터에 의해 상기의 각 인쇄 장치, 정보 처리 장치의 제어 방법을 실현하기 위한 컴퓨터 프로그램을 격납하는 것으로, 각각 상기와 같은 작용 효과를 발하는 것이다.
이하에 본 발명의 일 실시예를 설명한다. 또한, 이하에 설명하는 실시예는 설명을 위한 것으로, 본원 발명의 범위를 제한하는 것이 아니다. 따라서, 당업자이면 이들의 각 요소 또는 모든 요소를 이것과 균등한 것으로 치환한 실시예를 채용하는 것이 가능하지만, 이들 실시예도 본원 발명의 범위에 포함된다.
(인쇄 장치의 개요)
도 1에는 본 발명의 인쇄 장치(printer)의 실시예의 블록 구성도를 도시한다.
프린터(101)는 인터페이스(102)를 거쳐 정보 처리 장치인 호스트 컴퓨터(120)에 접속되어 있고, CPU(103), RAM(104), ROM(105), 불휘발 메모리(106), 인쇄 기구(107)를 주된 구성 요소로 하고 있다.
호스트 컴퓨터(120)가 송신한 데이터 열을 인터페이스(102)가 수신하면, CPU(Central Processing Unit; 중앙 처리 유닛)(103)에 대하여 수신 인터럽트를 발행한다. CPU(103)는 수신 인터럽트에 의해 수신 인터럽트 처리를 기동하여, 수신 인터럽트 처리에서는 수신한 데이터 열에 리얼 타임 처리 커맨드가 포함되어 있다고 판단하면, 이에 대응하는 상술과 같은 리얼 타임 처리를 실행한다. 또한, 수신 인터럽트 처리에서는 RAM(104)에 설정된 수신 버퍼(111)에서 수신한 데이터 열을 기억한다. 수신 인터럽트 처리가 종료하면, CPU(103)의 제어는 통상 처리로 되돌아간다.
통상 처리에서는 CPU(103)는 RAM(104)의 수신 버퍼(111)에 기억된 데이터 열을 인쇄 커맨드나 프린터 설정 커맨드로서 해석하여, 폰트를 기억하는 ROM(Read Only Memory)(105)로부터 폰트 형상을 취득하거나, 이미지 데이터를 생성하기도 하거나, RAM(104)내에 설정된 프린트 버퍼(112)에 인쇄 이미지를 전개한다.
또한, 프린트 버퍼(112)에 전개된 인쇄 이미지가 소정량, 예를 들면 1행에 달한 경우 등에, 해당 인쇄 이미지에 따라서 인쇄 기구(107)를 구동하여, 종이 등의 인쇄 매체에 문자나 도형을 인쇄한다.
또한, 수신 버퍼(111)에 기억된 데이터 열이 폰트 정의 커맨드인 경우에는 RAM(104)내에, 해당 폰트의 정의를 기억한다. 불휘발 메모리(106)는 EEPROM(Electrically Erasable programmable ROM)이나 플래시 메모리이고, 폰트 정의 커맨드에 따라서, 불휘발성 메모리(106)의 내용을 갱신하는 것이 가능하다. 또한 이 불휘발성 메모리에는 인쇄 장치의 상태를 기억해 두는 스테이터스 정보 격납부가 되는 스테이터스 영역(116)이 설치되어 있어, 호스트 컴퓨터(120)로부터의 스테이터스 요구 커맨드에 응답하여 이 영역의 정보가 호스트 컴퓨터(120)에 송신된다.
또한, RAM(104)에는 수신 인터럽트 처리에서 사용하는 현재의 모드를 기억하는 영역(113)이 있다. 이로 인해, 리얼 타임 처리 커맨드의 도중을 수신하고 있는 것인지, 아니면 그 이외의 데이터를 수신하고 있는 것인지를 알 수 있다. 이 외에, 현재 리얼 타임 처리가 금지되어 있는지의 여부를 기억하거나 각종의 프린터의 상태(스테이터스)를 기억하는 지시부의 일종의 플래그 영역(114)(지시부)이 있다. 플래그 영역(114)은 전원이 절단된 경우, 정보도 소실되기 때문에, CPU(103)의 처리시에 일시적으로 사용되는 영역이다.
여기서, CPU(103)는 인터페이스(102), RAM(104), 후술하는 각 처리가 기술된 제어 프로그램이 격납된 ROM(105) 등과 공동 작용하여 수신 처리부, 리얼 타임 처리부, 통상 처리부 및 플래그 설정 처리부로서 기능하며, 인쇄 기구(107)는 CPU(103) 등과 공동 작용하여 인쇄 처리부로서, 각각 기능한다. 또한, ROM(105)은 프로그램을 기록한 정보 기록 매체로서 기능한다.
또한, 여기서, 프린터에 따라서는 전원이 꺼져도 인쇄 장치의 상태를 기억할 필요가 없는 것도 있고, 불휘발성 메모리는 반드시 필요한 것이 아니다. 즉, 불휘발성 메모리를 탑재되어 있지 않은 프린터에 대해서도 본 발명을 적용할 수 있다.
(인쇄 장치의 수신 인터럽트 처리의 제 1 실시예)
도 2는 본 발명의 인쇄 장치의 수신 인터럽트 처리의 흐름의 실시예를 도시한 플로우챠트이다. 이 수신 인터럽트 처리는 호스트 컴퓨터(120)가 송신하는 데이터 열을 프린터(101)의 인터페이스(102)가 수신할 때에 기동된다. 또한, 이하에서는 인터페이스(102)가 1 바이트의 데이터를 수신할 때마다 수신 인터럽트가 발생하는 실시예에 대해 설명하지만, 수신 인터럽트가 1 이상의 임의의 바이트 수의 데이터를 수신할 때마다 기동되는 경우에도 동일한 처리가 가능하며, 해당 실시예도 본 발명의 범위에 포함된다.
또한, 본 실시예에서는 이하의 바이너리 데이터 처리 커맨드가 통상 커맨드로서 준비되어 있다.
·ESC*m nL nH d1.. . dk로 정의되는 소정의 데이터량의 바이너리 데이터인 비트 맵 데이터를 송신할 때에 사용한다. 이로써 프린터는 화상 인쇄를 실행한다. (또한, m은 고정치, nL, nH는 격납 데이터수, d1.. . dk는 비트 맵 데이터를 각각 지정한다).
·ESC & Sn ma d1.. . dk: 소정의 데이터량의 폰트 등록 데이터를 송신할 때에 사용한다(또한, s, a는 각각 세로방향, 가로방향의 폰트의 사이즈, n은 개시 문자 코드, m은 종료 문자 코드, d1.. . dk는 폰트 정의 데이터를 각각 지정한다). FSg1 m a1 a2 a3 a4 nL nH d1.. . dk: 사용자 정의 불휘발성 메모리에 대한 데이터의 기록시에 사용한다(또한, 각 파라미터는 m=0에 고정, a1-a4는 데이터의 격납 개시 어드레스, nL, nH는 격납 데이터수를 각각 지정한다). 또한, 본 실시예에서는 리얼 타임 처리 커맨드로서, 이하의 커맨드가 준비되어 있다.
·「DLE EOT NUL 」 프린터의 상태를 리얼 타임으로 호스트 컴퓨터에 송신한다.
·「DLE EOT BEL 」 프린터의 잉크의 상태를 리얼 타임으로 호스트 컴퓨터에 송신한다.
·「DLE EOT BS」 MICR(Magnetic Ink Character Recognition) 기능에 관한 스테이터스의 상태를 리얼 타임으로 호스트 컴퓨터에 송신한다.
·「DLE ENQ 」 프린터에 대한 리얼 타임 요구.
·「DLE DC4 SOH 」지정 펄스를 리얼 타임으로 출력한다.
·「DLE DC4 STX 」 프린터의 전원을 오프로 한다.
·「DLE DC4 BS」 프린터의 수신 버퍼를 클리어한다.
·이 밖에, 해당 프린터가 레지스터로서 이용되고 있는 경우에는 모든 상자를 여는 등의 처리를 리얼 타임 처리 커맨드에 의해 지시할 수 있도록 하는 것이 있다. 이 경우는 새로운 리얼 타임 처리 커맨드를 준비하면 된다.
또한, 본 실시예에서는 이하의 리얼 타임 처리 금지 커맨드가「리얼 타임 처리 커맨드」로서 준비되어 있다.
·「DLE EOT EOT 」 이것 이후는 소정 시간(예를 들면 1초) 리얼 타임 처리 커맨드의 처리를 금지한다.
상술과 같이, 본 처리는 호스트 컴퓨터(120)가 송신하는 데이터를 프린터(101)의 인터페이스(102)가 수신할 때에 기동된다.
기동되면, 우선, CPU(103)는 인터페이스(102)가 수신한 1 바이트의 데이터를 RAM(104)내의 수신 버퍼(111)에 기억한다(단계(S201)). 수신 버퍼(111)는 링 버퍼로서 구성하는 것이 일반적이다.
다음에, RAM(104)의 플래그 영역(114)을 조사하여, 현재 리얼 타임 처리가 금지되어 있는지의 여부를 판별한다(단계 S202).
금지되어 있지 않은 경우(단계 S202; No), 모드영역(113)에 기억된 현재의 수신 인터럽트 모드를 조사한다(단계 S203). 수신 인터럽트 모드의 값에 의해, 현재 리얼 타임 처리 커맨드의 도중을 수신하고 있는 것인지의 여부가 나타난다.
또한, 단계(S201)에서 수신된 데이터의 값에 따라 RAM(104)의 모드 영역(113)에 기억되는 수신 인터럽트 모드의 값을 도 3에 도시된 상태 천이도에 따라 갱신함과 동시에, 필요가 있으면 처리를 실시하여(단계 S204), 본 인터럽트 처리를 종료한다.
도 3은 수신 인터럽트에서의 상태 천이를 도시한 설명도이다. 이 상태 천이도는 상술의 리얼 타임 처리 커맨드의 데이터 열의 체계로부터 결정되는 것이다.
모드(A)는 현재는 리얼 타임 처리 커맨드 이외의 커맨드를 해석하고 있는 것을 의미하는 모드이다. 모드(A)에 있는 경우에, 단계(S201)에서 수신한 데이터의 값이 리얼 타임 처리 커맨드의 1 바이트째를 나타내는 값(DLE)인 경우에는 모드(B)로 이행한다.
모드(B)는 현재는 리얼 타임 처리 커맨드의 1 바이트째(DLE)를 수신하고 있는 것을 의미하는 모드이다. 모드(B)에 있을 때에, 단계(S201)에서 수신한 데이터의 값에 따라, 이하와 같이 천이한다.
·EOT인 경우는 모드(C)로 이행한다.
·ENQ인 경우는 프린터의 리얼 타임요구에 대응하는 처리를 실행하여, 모드(A)로 이행한다.
·DC4인 경우는 모드(D)로 이행한다.
·이것 이외인 경우는 수신하고 있는 데이터 열은 리얼 타임 처리 커맨드의 데이터 열이 아닌 것으로 되므로, 모드(A)로 이행한다.
모드(C)는 현재는 DLE EOT로 시작되는 리얼 타임 처리 커맨드를 수신 중인 것을 의미하는 모드이다. 모드(C)에 있을 때에, 단계(S201)에서 수신한 데이터의 값에 따라, 이하와 같이 천이한다.
·NUL인 경우는 프린터(101)의 상태를 호스트 컴퓨터(120)에 리얼 타임 송신하여, 모드(A)로 이행한다.
·BEL인 경우는 프린터(101)의 인쇄 기구(107)에 포함되는 잉크의 상태를 호스트 컴퓨터(120)에 리얼 타임 송신하여, 모드(A)로 이행한다.
·BS인 경우는 프린터(101)의 MICR에 관계되는 스테이터스의 상태를 호스트 컴퓨터(120)에 리얼 타임 송신하여, 모드(A)로 이행한다.
·EOT인 경우는 RAM(104)의 플래그 영역(114)에「리얼 타임 처리 금지」를 설정한다. 또한,『플래그 영역(114)「리얼 타임 처리 허가」에 설정하는 처리』가 현재로부터 소정 시간(예를 들면 1초) 후에 타이머 인터럽트에 의해 실행되도록, 타이머 인터럽트 처리의 설정을 행한다. 그 후에, 모드(A)로 이행한다.
·이것 이외인 경우는 수신하고 있는 데이터 열은 리얼 타임 처리 커맨드의 데이터 열이 아닌 것으로 되므로, 모드(A)로 이행한다.
모드(D)는 현재는 DLE DC4로 시작되는 리얼 타임 처리 커맨드를 수신 중인 것을 의미하는 모드이다. 모드(D)에 있을 때에, 단계(S201)에서 수신한 데이터의 값에 따라, 이하와 같이 천이한다.
·SOH인 경우는 지정 펄스의 리얼 타임 출력을 실행하여, 모드(A)로 이행한다.
·STX인 경우는 프린터의 전원을 오프로 한다.
·BS인 경우는 RAM(104)에 배치된 수신 버퍼(111)와 프린트 버퍼(112)를 클리어하여 모드(A)로 이행한다.
·이것 이외인 경우는 수신하고 있는 데이터 열은 리얼 타임 처리 커맨드의 데이터 열이 아닌 것으로 되므로, 모드(A)로 이행한다.
한편, 플래그 영역(114)을 조사한 결과, 현재 리얼 타임 처리가 금지되어 있는 경우(단계 S202; Yes), 수신 인터럽트 처리를 종료한다.
이와 같이, 수신 인터럽트마다, 리얼 타임 처리가 금지되어 있는지의 여부를 체크하는 것이 되지만, 이것에 필요한 시간은 수 마이크로초의 오더이다. 이와 같이 비교적 간단한 상태 천이의 처리이므로, 수신 인터럽트 처리에 필요한 시간을 단시간으로 끝낼 수 있다.
(인쇄 장치의 통상 처리의 제 1 실시예)
통상 처리는 프린터(101)가 수신한 데이터를 해석하여 인쇄하는 처리이다. 도 4는 프린터(101)의 통상 처리의 제어의 흐름을 도시한 플로우챠트이다. 통상 처리를 행하고 있는 도중에도, 도 2 및 도 3에 도시된 수신 인터럽트 처리가 인터럽트에 의해 기동되는 것이 있을 수 있다.
또한, CPU(103)는 수신 버퍼(111)에 처리하지 않은 데이터가 남아 있는 동안은 해당 데이터를 취득하고, 남아 있지 않은 경우는 대기하여 상술의 수신 인터럽트 처리에 의해 수신 버퍼(111)에 데이터가 기억되는 것을 기다린다. 이러한 루틴적인 처리가 실행되지만, 이하의 설명에서는 간단하게, 상기의 처리를 1회 행하여 1 바이트의 데이터를 수신 버퍼(111)로부터 취득하는 경우와, 복수회 행하여 복수 바이트의 데이터를 수신 버퍼(111)로부터 취득하는 경우를 합쳐서, 「수신 버퍼로부터 데이터를 취득」이라고 칭하기로 한다.
또한, 본 실시예에서는 리얼 타임 처리를 허가하는 커맨드를 통상 처리 커맨드로서 준비하고 있다.
우선, CPU(103)는 수신 버퍼(111)로부터 데이터를 취득하여(단계 S401), 그 데이터의 종류를 조사한다(단계 S402).
이 데이터가 리얼 타임 처리 허가 커맨드인 경우(단계 S402; RTC 허가), RAM(104)내의 플래그 영역(114)에, 「리얼 타임 처리 허가」를 설정하여(단계 S403), 단계(S401)로 되돌아간다.
한편, 이 데이터가 이것 이외의 통상 처리 커맨드인 경우(단계 S402; 통상), 해당 커맨드에 대응된 처리를 실행하여(단계 S404), 처리의 계속이 있으면(단계405; Yes), 단계(S401)로 되돌아간다. 이 처리에는 문자나 도형의 인쇄, 화상의 인쇄, 폰트 등록 등의 처리가 포함된다.
또한, 이 데이터가 리얼 타임 처리 커맨드인 경우(단계 S402; RTC), 처리의 계속이 있으면(단계 405; Yes), 단계(S401)로 되돌아간다. 수신 인터럽트 처리에 있어서, 리얼 타임 처리 커맨드에 대응된 처리가 이미 실행되어 있기 때문이다.
이와 같이 수신 인터럽트 처리와 통상 처리를 구성하여 놓으면, 리얼 타임 처리 커맨드의 데이터 열과 같은 데이터 열을 파라미터로서 포함하는 통상 커맨드(예를 들면, 이미지 인쇄 커맨드나 폰트 등록 커맨드)의 데이터 열을 정보 처리 장치가 프린터에 대하여 송신하고 싶은 경우, 우선 리얼 타임 처리 금지 커맨드를 송신하고, 계속해서 해당 통상 커맨드를 송신하며, 또한 리얼 타임 처리 허가 커맨드를 송신하면, 통상 커맨드의 파라미터 내에 우연히 포함되는 데이터 열에 의해 리얼 타임 처리가 실행되는 것은 없어진다.
(정보 처리 장치의 제 1 실시예)
도 5에는 본 발명의 정보 처리 장치(호스트 컴퓨터)의 실시예의 블록 구성도를 도시한다.
본 발명의 정보 처리 장치(120)는 CPU(501)에 의해 제어된다. 정보 처리 장치(120)에 전원이 투입되면, CPU(501)는 ROM(502)내의 소정의 장소에 기억된 IPL(Initial program Loader)을 실행하여, 처리를 개시하며, 또한, 하드디스크, 플로피 디스크, CD-ROM(Compact Disk ROM) 등의 불휘발성 기억 장치(503)에 기억된 프로그램을 실행할 수 있다. 프로그램의 실행시에는 RAM(504)을 일시적인 기억 장치로서 사용한다.
문자나 도형을 인쇄하는 어플리케이션 프로그램을 실행할 때에는 인쇄 커맨 드의 데이터 열을 인터페이스(505)를 통해 프린터에 송신한다.
또한, 정보 처리 장치(120)는 도시하지 않은 키보드나 마우스 등의 입력 장치, 도시하지 않은 디스플레이 등의 표시 장치를 구비할 수 있다.
여기서, CPU(501)는 인터페이스(505), RAM(504), 후술하는 각 처리가 기술된 제어 프로그램이 격납된 ROM(502) 등과 공동 작용하여, 통상 처리 커맨드, 리얼 타임 처리 커맨드, 리얼 타임 처리 금지, 허가 커맨드를 송신하는 송신부로서 기능한다.
또한, 불휘발성 기억 장치(503)는 프로그램을 기록한 정보 기록 매체로서 기능한다. 또한, 도시하지 않은 CD-ROM 드라이브 플로피 드라이브 등의 장치를 갖고, 정보를 기록한 기록매체로부터 소정의 프로그램을 인스톨할 수 있도록 구성되어 있다.
도 6은 화상 인쇄나 폰트 등록 등의 처리에 있어서, 통상 커맨드의 데이터 열을 프린터에 보내는 송신 처리의 흐름을 도시한 플로우챠트이다. 이 송신 처리는 어플리케이션 프로그램이 오퍼레이팅 시스템에 대하여 인쇄 요구를 보내는 것 등에 의해 기동된다. 또한, 이 송신 처리는 일반적으로 프린터 드라이버라고 불리는 프로그램에 의해 실행되어, 이 프로그램은 플로피 디스크 등의 기억 매체로부터, 호스트 컴퓨터에 인스톨되어 사용된다.
우선, CPU(501)는 송신하고 싶은 통상 커맨드의 데이터 열이 리얼 타임 처리 커맨드의 데이터 열과 동일한 데이터 열을 포함하는지의 여부를 조사한다(단계 S601).
포함하지 않은 경우(단계 S601; No), 해당 통상 커맨드의 데이터 열을 송신하여(단계 S602), 본 처리를 종료한다.
포함하는 경우(단계 S601; Yes), 리얼 타임 처리 금지 커맨드를 송신하고(단계 S603), 계속해서 해당 통상 커맨드의 데이터 열을 송신하며(단계 S604), 또한 리얼 타임 처리 허가 커맨드를 송신하여(단계 S605), 본 처리를 종료한다.
또한, 이 처리에 추가하여, 이하와 같은 처리를 행할 수 있다. 예를 들면, 화상을 인쇄하는 경우, 그 통상 커맨드가 소정의 시간(예를 들면 1초) 이내에 프린터로 처리할 수 있는 량 인지의 여부를 판별한다. 처리할 수 있는 량인 경우는 단계 (S603 내지 S605)의 처리와 같은 처리를 행한다.
소정 시간 내에 처리할 수 없는 량인 경우는 해당 통상 커맨드를 해석하여, 복수의 통상 커맨드로 분할한다. 또한, 각각의 통상 커맨드에 대해서 우선, 단계( S603 내지 S605)의 처리와 같은 처리를 행하여 화상의 일부를 인쇄하고, 또한, 리얼 타임 처리가 필요한지의 여부를 체크하여, 필요하면 해당 리얼 타임 처리 커맨드를 송신하는 처리를 되풀이한다.
이러한 처리를 행함으로써, 리얼 타임 처리가 필요한 경우의 대기 시간이 최대한으로 상기 소정의 시간(1초)으로 끝나게 된다.
또한, 그 통상 커맨드가 소정 시간 이내에 프린터로 처리할 수 있는 량인지의 여부를 판별하기 위해, 단순히 통상 커맨드의 데이터량을 미리 정한 값과 비교하여 판별해도 된다.
(인쇄 장치의 수신 인터럽트 처리의 제 2 실시예)
도 7은 인쇄 장치의 수신 인터럽트 처리의 제 2 실시예의 흐름을 도시하는 플로우챠트이다. 본 실시예에서는, RAM(104) 내에 카운트 영역을 설치한다. 또한, 리얼 타임 금지 커맨드는 이하의 커맨드 심볼 3바이트+파라미터 2바이트의 5바이트로 구성된다.
·「DLE EOT EOT n m」
이것은 「이후에 연속되는 (n*256+m)바이트에 대해서 리얼 타임 처리를 금지한다」라는 의미를 갖는다.
본 실시예의 수신 인터럽트 처리가 기동되었으면, 우선 CPU(103)는 인터페이스(102)가 수신한 1 바이트 데이터를 RAM(104) 내의 수신 버퍼(111)에 기억한다(단계(S701)). 수신 버퍼(111)는 링 버퍼로서 구성하는 것이 일반적이다.
다음으로, RAM(104)의 플래그 영역(114)을 조사하여, 현재 리얼 타임 처리가 금지되어 있는지의 여부를 판별한다(단계(S702)).
금지되어 있지 않을 경우(단계(S702); No), 모드 영역(113)에 기억된 현재의 수신 인터럽트 모드를 조사한다(단계(S703)). 수신 인터럽트 모드의 값에 의해, 현재 리얼 타임 처리 커맨드의 도중을 수신하고 있는 것인지의 여부가 나타난다.
더욱이, 단계(S701)에 있어서 수신된 데이터 값에 따라서 RAM(104)의 모드 영역(113)에 기억되는 수신 인터럽트 모드의 값을 도 8에 도시하는 상태 천이도에 따라서 갱신함과 동시에, 필요하면 처리를 실시하여(단계(S704)), 본 인터럽트 처리를 종료한다.
도 8에 도시하는 상태 천이도는 도 3에 도시하는 상태 천이도와 대부분은 동 일하지만, 모드(C)에 있어서 EOT를 수신한 경우의 처리가 다르다.
즉, 모드(C)에 있어서 EOT를 수신하면, 모드(X)로 이행한다.
모드(X)에 있어서 바이트 값(n)을 수신하면, 값(n*256)을 RAM(104) 내의 카운트 영역(115)에 대입하여, 모드(Y)로 이행한다.
모드(Y)에 있어서 바이트 값(m)을 수신하면, 값(m)을 RAM(104) 내의 카운트 영역(115)에 가산하고, 플래그 영역(114)에 「리얼 타임 처리 금지」를 설정하여, 모드(A)로 이행한다.
한편, 단계(S702)에 있어서, 리얼 타임 처리가 금지되어 있다고 판별된 경우(단계(S702); Yes), 카운트 영역(115)에 기억된 값을 1 줄이고(단계(S705)), 카운트 영역(115)에 기억된 값이 0보다 큰지의 여부를 조사하여(단계(S706)), 0보다 클 경우(단계(S706); Yes)는 본 인터럽트 처리를 종료한다. 0 이하일 경우(단계(S706); No), 플래그 영역(114)에 「리얼 타임 처리 허가」를 설정하여(단계(S707)), 본 인터럽트 처리를 종료한다.
이렇게, 본 실시예에서는, 리얼 타임 처리 금지 커맨드에 있어서, "이 이후 ○○바이트에 대해서는 리얼 타임 처리를 금지한다" 라는 파라미터 설정을 할 수 있기 때문에, 리얼 타임 처리 허가 커맨드를 준비할 필요는 없다. 한편, 정보 처리 장치에 있어서는, 리얼 타임 처리 커맨드의 데이터 열과 동일한 데이터 열을 파라미터로서 포함하는 통상 커맨드의 데이터 열을 송신하고 싶을 경우, 우선 해당 통상 커맨드의 길이를 파라미터로서 포함하는 리얼 타임 처리 금지 커맨드를 송신하고, 이어서 해당 통상 커맨드를 송신하면 된다.
상기, 프린터의 스테이터스를 기억한 플래그 영역은 일반적으로 전원이 절단되어도 기억 상태로 유지할 필요가 있는 것은 플래시 메모리 등에 설치되고, 그렇지 않은 것은 RAM 내에 설치된다. 또한, 리얼 타임 처리 커맨드를 금지할지 여부의 플래그는 전원이 절단되어도 기억해 둘 필요는 없다.
통상 사용 시, 이미지 데이터의 인쇄가 거의 필요 없이, 폰트 등록 작업 시에만 이 리얼 타임 처리 커맨드를 금지하고 싶을 경우는 딥 스위치 등의 하드웨어 요소로 대응할 수도 있다. 이 경우, 딥 스위치가 상기 지시부가 된다.
(인쇄 장치의 수신 인터럽트 처리의 제 3 실시예)
다수의 리얼 타임 처리 커맨드 중, 실제로는 바이너리 데이터를 송신 중에 실행되어도 문제없는 것도 포함되어 있다. 또한, 바이너리 데이터의 송신 시에, 그 바이너리 데이터가 POS를 설치하고 있는 점포의 로고 등에 있을 경우, 미리 리얼 타임 처리 커맨드와 혼동되는 데이터는 작성하지 않는 경우가 있으며, 이러한 경우 애플리케이션으로부터 스테이터스 요구가 있는 경우 등은 이를 위한 리얼 타임 처리 커맨드 송신해도 문제가 없다. 이 경우는 리얼 타임 처리 커맨드 각각에 대응하여, 금지 혹은 허가를 설정할 수 있도록 이하의 커맨드를 통상 커맨드로 정의한다.
·GS(D mn (”GS(D”는 커맨드 심볼이고, mn은 파라미터이며, m이 커맨드의 지정, n이 허가 혹은 금지의 지정을 나타내어, 어느 커맨드 금지할지 혹은 허가할지를 지정할 수 있다)
상기 커맨드를 수신한 경우, 플래그 영역(114)의 지시부에 각각의 커맨드마 다 허가 혹은 금지가 설정되어 기억된다. 예를 들면, 리얼 타임 처리 커맨드 중, 금지·허가 처리를 설정하고 싶은 것이 8개 이내이면, 설정할지의 여부를 파라미터(m)에서 지정한다. 1000, 0011 이면 1번째와, 7, 8번째에 할당된 커맨드가 허가·금지의 대상이 된다. 더욱이, 파라미터(n)에서 1000, 0010이라 지정된 경우, 1 이 허가, 0 이 금지이면 1번째와 7번째에 할당된 커맨드가 허가로, 8번째가 금지로 설정되는 등과 같이 설정할 수 있다.
도 9는 본 발명의 인쇄 장치의 수신 인터럽트 처리의 흐름의 제 3 실시예를 도시하는 플로우챠트이다. 본 실시예에서는, 상기한 바와 같이, 리얼 타임 처리의 금지 또는 허가는 커맨드 설정이 가능한 통상 커맨드로서 준비하고 있다. 도 9의 수신 인터럽트 처리의 기능은 데이터를 수신하고, 이것을 수신 버퍼(111)에 격납하여, 동시에 수신하면서 리얼 타임 처리 커맨드가 포함되어 있는지의 여부를 해석하는 것으로, CPU(103)를 주 요소로 하는 수신 처리부가 실행한다.
본 실시예의 수신 인터럽트 처리가 기동되면, 우선 CPU(103)는 인터페이스(102)가 수신한 1 바이트 데이터를 RAM(104) 내의 수신 버퍼(111)에 기억한다(단계(S901)). 수신 버퍼(111)는 링 버퍼로서 구성하는 것이 일반적이다.
다음으로, 모드 영역(113)에 기억된 현재의 수신 인터럽트 모드를 조사한다(단계(S902)). 수신 인터럽트 모드의 값에 의해, 현재 리얼 타임 처리 커맨드의 도중을 수신하고 있는 것인지의 여부가 나타난다.
더욱이, 단계(S901)에 있어서 수신된 데이터의 값에 따라서 RAM(104)의 모드 영역(113)에 기억되는 수신 인터럽트 모드의 값을 도 3에 도시하는 상태 천이도에 따라서 갱신한다(단계(903)). 모드 갱신에 있어서, 커맨드 처리를 행할 필요가 있는지 판단한다(단계(904)). 커맨드 처리를 행할 필요가 있으면(단계(904):Yes), RAM(104)의 플래그 영역(114)을 조사하여, 현재, 실행하려고 한 커맨드의 리얼 타임 처리가 금지되어 있는지의 여부를 판별하며(단계(S905)), 금지되어 있지 않을 경우(단계(S905); No)는 리얼 타임 처리 커맨드에 대응하는 처리를 실시하여(단계(S906)), 금지되어 있을 경우(단계(S905); Yes)는 커맨드 처리를 실시하지 않고 본 인터럽트 처리를 종료한다.
이렇게, 리얼 타임 처리 커맨드의 데이터 열을 수신할 때마다, 리얼 타임 처리가 금지되어 있는지의 여부를 체크하게 되지만, 이에 필요한 시간은 수 마이크로초의 오더이다. 이렇게 비교적 간단한 상태 천이의 처리이기 때문에, 수신 인터럽트 처리에 필요한 시간을 단시간으로 끝낼 수 있다.
상기 처리는 수신 인터럽트에 있어서의 상태 천이를 도시하는 설명도인 도 3을 따라 동일하게 실행되지만, 이하의 점에서 세부가 다르다.
1, 모드(C)에 있을 때에 EOT를 수신하면, 모드(A)로 이행한다는 처리를 하지 않는다.
2, 본 실시예(3)에서는 각각의 커맨드 개별로 리얼 타임 처리를 금지 혹은 허가할 수 있으며, 금지되어 있는 커맨드는 커맨드 처리를 실행하지 않고 모드를 천이한다.
(인쇄 장치의 통상 처리의 제 2 실시예)
통상 처리란 프린터(101)가 수신한 데이터를 입력한 순으로 판독하여 실행하는 FIFO 처리이다. 도 10은 프린터(101) 통상 처리의 제 2 실시예의 제어의 흐름을 도시하는 플로우챠트이다. 통상 처리를 행하고 있는 도중이라도, 상술한 수신 인터럽트 처리가 인터럽트에 의해 기동되는 경우가 있을 수 있다.
또한, CPU(103)는 수신 버퍼(111)에 처리하고 있지 않은 데이터가 남아 있는 동안은 해당 데이터를 취득하고, 남아 있지 않을 경우는 대기하여 상술한 수신 인터럽트 처리에 의해 수신 버퍼(111)에 데이터가 기억되는 것을 기다린다. 이러한 코로틴적인 처리가 실행되지만, 이하의 설명에서는, 간편함을 위해 상기 처리를 1회 행하여 1 바이트 데이터를 수신 버퍼(111)로부터 취득하는 경우와, 여러 회 행하여 다수 바이트의 데이터를 수신 버퍼(111)로부터 취득하는 경우를 합쳐, 「수신 버퍼로부터 데이터를 취득」이라 칭하는 것으로 한다.
또한, 본 실시예에서는, 리얼 타임 처리를 금지하는 커맨드와 허가하는 커맨드를 리얼 타임 커맨드 허가·금지 커맨드라는 1개의 커맨드로 하여, 통상 처리 커맨드로서 준비하고 있다.
우선, CPU(103)는 수신 버퍼(111)로부터 데이터를 취득하여(단계(S1001)), 그 데이터의 종류를 조사한다(단계(S1002)).
이 데이터가 리얼 타임 처리 허가·금지 커맨드일 경우(단계(S1002); RTC 허가), RAM(104) 내의 플래그 영역(114)에 리얼 타임 처리 커맨드마다 「리얼 타임 처리 허가」 또는 「리얼 타임 처리 금지」를 설정하고(단계(S1003)), 처리를 계속할지 체크(단계(S1005))하여, 계속이면(단계(S1005):Yes), 단계(S1001)로 돌아간다.
한편, 이 데이터가 이 이외의 통상 처리 커맨드일 경우(단계(S1002); 통상), 해당 커맨드에 대응된 처리를 실행하고(단계(S1004)), 단계(S1005)를 거쳐 단계(S1001)로 돌아간다. 이 처리에는 문자나 도형의 인쇄, 화상의 인쇄, 폰트등록 등의 처리가 포함된다.
또한, 이 데이터가 리얼 타임 처리 커맨드일 경우(단계(S10020; RTC), 단계(S1001)로 돌아간다. 수신 인터럽트 처리에 있어서, 리얼 타임 처리 커맨드에 대응된 처리가 이미 실행되고 있기 때문이다.
이렇게 수신 인터럽트 처리와 통상 처리를 구성해 두면, 리얼 타임 처리 커맨드의 데이터 열과 동일한 데이터 열을 파라미터로서 포함하는 통상 커맨드(예를 들면, 이미지 인쇄 커맨드나 폰트 등록 커맨드)의 데이터 열을 정보 처리 장치가 프린터에 대해 송신하고 싶을 경우, 우선 리얼 타임 처리 금지 커맨드를 송신하고, 이어서 해당 통상 커맨드를 송신하며, 더욱이 리얼 타임 처리 허가 커맨드를 송신하면, 통상 커맨드의 파라미터 내에 우연히 포함되는 데이터 열에 의해 리얼 타임 처리가 실행되는 일은 없어진다.
(정보 처리 장치의 제 2 실시예)
도 11은 도 5에서 도시한 본 발명의 정보 처리 장치(호스트 컴퓨터)의 실시예의 블록도에 근거하여, 화상 인쇄나 폰트 등록 등의 처리에 있어서, 통상 커맨드의 데이터 열을 프린터에 보내는 송신 처리의 흐름을 도시하는 플로우챠트이다. 이 송신 처리는 애플리케이션 프로그램이 오퍼레이팅 시스템에 대해 인쇄 요구를 보내는 것 등에 의해 기동된다. 또한, 이 송신 처리는 일반적으로 프린터 드라이버 라 불리는 프로그램에 의해 실행되며, 이 프로그램은 플로피 디스크 등의 기억 매체로부터 호스트 컴퓨터에 인스톨되어 사용된다.
우선, CPU(501)는 송신하고 싶은 통상 커맨드의 데이터 열이 리얼 타임 처리 커맨드의 데이터 열과 동일한 데이터 열을 포함할 가능성이 있는 커맨드인지의 여부를 조사한다(단계(S1101)). 예를 들면, 이 송신하고자 하는 커맨드가 바이너리 데이터를 송신하는 바이너리 데이터 처리 커맨드인지의 여부이다.
바이너리 데이터 처리 커맨드가 아닐 경우(단계(S1101); No), 해당 통상 커맨드의 데이터 열을 송신하여(단계(S1102)), 본 처리를 종료한다.
포함할 경우(단계(S1101); Yes), 리얼 타임 처리 허가·금지 커맨드를 커맨드를 금지하는 설정으로 송신하고(단계(S1103)), 더욱이 인쇄 장치(101)가 탑재하고 있는 통상 커맨드 중, 프린터 정보를 송신하는 스테이터스 데이터 송신 커맨드를 송신한다(단계(S1104)). CPU(501)는 인자 장치(101)로부터 스테이터스가 송신되어 오는 것을 기다려(단계(S1105)), 스테이터스를 수신하면, 이어서 해당 통상 커맨드의 데이터 열을 송신하고(단계(S1106)), 더욱이 리얼 타임 처리 허가 커맨드를 송신하여(단계(S1107)), 본 처리를 종료한다.
상기 단계(S1104)에서 스테이터스 요구 커맨드를 실행하여, 단계(S1105)에서 수신을 기다리는 처리는 이하와 같은 이유에 의한다.
인쇄 장치(101)가 커맨드를 수신하고 나서, 리얼 타임 처리 허가·금지 커맨드가 실행될 때까지 시간차가 발생할 가능성이 있다. 예를 들면, 리얼 타임 처리를 금지하는 커맨드를 송신하고, 연속하여 우연히 리얼 타임 처리 커맨드와 동일한 데 이터 열이 송신되면, 금지되어야 할 커맨드가 실행되어버린다. 그래서, 인쇄 장치(101)에 장치 자체의 스테이터스를 메모리에 격납해 두고, 호스트 컴퓨터의 요구에 근거하여 이 스테이터스를 송신하는 기능이 탑재되어 있기 때문에, 이 기능을 사용함으로써 리얼 타임 처리 금지 혹은 허가 설정이 실행되는지의 여부를 검증할 수 있다.
인쇄 장치(101) 측에서는, 리얼 타임 처리 커맨드의 금지 혹은 허가를 수신하면, 플래시 ROM(107)의 스테이터스 영역(117)의 플래그를 갱신한다. 단계(S1104)에서, 호스트 컴퓨터의 요구에 따라서 이 플래그를 포함하는 스테이터스를 송신함으로써, 호스트 컴퓨터에 해당 처리가 실행된 것이 통지된다. 이렇게 하면, 리얼 타임 처리 허가·금지 커맨드가 확실하게 실행된 것을 확인할 수 있다. 이 리얼 타임 처리 금지·허가 스테이터스를 송신하기 위한 커맨드는 전용 커맨드라도 되며, 스테이터스 데이터의 내용에 의존하지 않기 때문에, 다른 스테이터스 데이터와 함께 송신하는 범용 커맨드라도 된다.
또한, 본 실시예에서는, 리얼 타임 처리 커맨드마다 처리의 금지 또는 허가를 설정할 수 있도록 하고 있기 때문에, 프린터 전원을 오프하는 커맨드 등과 같은 통상 동작 중은 실행하지 않는 커맨드는 상시 금지 상태로 해 두고, 실제로 전원을 오프하기 직전에 허가함으로써, 단계(S1201)에서 행하고 있는 송신하고 싶은 통상 커맨드의 데이터 열이 리얼 타임 처리 커맨드의 데이터 열과 동일한 데이터 열을 포함하는지의 여부를 조사하는 처리를 간략화할 수 있다.
(인쇄 장치의 수신 인터럽트 처리의 제 4 실시예)
도 12는 본 발명의 인쇄 장치의 수신 인터럽트 처리 흐름의 다른 실시예를 도시하는 플로우챠트이다. 본 예의 수신 인터럽트 처리는 도 2에 도시한 실시예와 마찬가지로, 호스트 컴퓨터(120)가 송신하는 데이터 열을 프린터(101)의 인터페이스(102)(도 1에 도시한다)가 수신할 때에 기동되는 것으로, 이하 중복하는 부분에 대해서는 설명을 생략한다.
또한, 본 실시예에서는, 도 2에 도시한 실시예와 마찬가지로, ESC * (비트 맵 데이터를 인쇄하는 커맨드), ESC & (폰트 등록 데이터를 송신하는 커맨드), FSg1(불휘발성 메모리로의 데이터의 기입 커맨드)이 용이하게 되어 있다. 본 실시예의 프린터에서는, 상기 커맨드를 수신한 경우, 실질적으로 리얼 타임 처리 금지 커맨드로서 처리하게 된다.
또한, 이하에 설명하는 리얼 타임 처리 커맨드, 비트 맵 처리 커맨드를 해석하는 처리에서는, 수신 데이터 1 바이트를 수신 버퍼에 격납함과 동시에, 그 격납된 1 바이트분의 데이터에 더하여, 먼저 있던 수신 인터럽트 처리에서 수신 버퍼에 기억되어 있는 2바이트 혹은 수 바이트를 합쳐, 실질적으로 커맨드 해석에 필요한 바이트분의 데이터 열을 해석한다.
수신 기동되면, 우선 CPU(103)는 인터페이스(102)가 수신한 1 바이트의 데이터를 RAM(104) 내의 수신 버퍼(111)에 기억한다(단계(S2010)). 수신 버퍼(111)는 링 버퍼로서 구성하는 것이 일반적이다.
다음으로, RAM(104)의 플래그 영역(114)을 조사하여, 현재 리얼 타임 처리가 금지되어 있는지의 여부를 판별한다(단계(S2020)). 그 때까지 비트 맵 데이터 처리 커맨드를 수신하고 있지 않을 경우, 플래그 영역의 리얼 타임 커맨드 처리를 허가할지의 여부를 나타내는 지시부는 이니셜 상태로 되어 있어, 리얼 타임 처리 커맨드에서는, 소정의 처리가 실행되게 된다.
금지되어 있지 않을 경우(단계(S2020); No), 리얼 타임 처리 커맨드인지의 여부가 해석된다(단계(S2030)). 여기서, 리얼 타임 처리 커맨드라 판정된 경우는 소정의 리얼 타임 처리가 실행되어(단계(S2100)), 본 인터럽트 처리를 종료한다.
금지되어 있을 경우는 이 처리를 건너뛰고, 또한, 단계(S2030)에서 리얼 타임 처리 커맨드가 아니라고 판정된 경우는, 비트 맵 처리 커맨드인지가 해석된다(단계(S2040)). 여기서, 비트 맵 처리 커맨드를 수신했다고 판정된 경우(단계(S2040)에서 Yes), RAM(104) 내의 플래그 영역(114)에 「리얼 타임 처리 금지」를 설정한다(단계(S2120)).
다음으로, 비트 맵 처리의 종료인지의 여부를 해석하고(단계(S2050)), 종료이면 플래그 영역(114)을 리셋하여, 리얼 타임 처리의 허가를 지시하는 설정을 한다(단계(S2110)). 이 해석은 비트 맵 데이터의 송신 시에는, 데이터 길이를 나타내는 파라미터가 부속하고 있기 때문에 이 파라미터에 따라서 데이터 길이를 체크함으로써 실행된다.
이상의 처리에 의해, 리얼 타임 커맨드를 접수하여 이것을 처리할 경우와, 이 커맨드를 금지하여 비트 맵 데이터 처리에서의 오동작을 방지할 경우에 모순 없게 대응할 수 있다.
도 13은 수신 인터럽트에 있어서의 상태 천이를 도시하는 설명도이다. 이 상태 천이도는 상술한 리얼 타임 처리 커맨드, 비트 맵 처리 커맨드의 데이터 열의 체계로부터 결정되는 것으로, 설명도에서는 1 바이트마다의 상태 천이를 도시하고 있다.
모드(A)는 현재는 리얼 타임 처리 커맨드 및 비트 맵 처리 커맨드 이외의 커맨드를 해석하고 있는 것을 의미하는 모드이다. 또한, 모드(B, C, D)의 모드 내용, 또 이들 모드의 사이(A-B, B-C, C-A, B-D, D-A)를 천이하는 조건에 대해서는, 도 3에 도시한 실시예와 동일하기 때문에, 설명을 생략한다.
모드(e1)는 현재는 비트 맵 처리 커맨드 ESC *, ESC &(비트 맵 데이터를 인쇄하는 커맨드)의 1 바이트번째(ESC)를 수신하고 있는 것을 의미하는 모드이다. 모드(A)에 있을 경우에, 수신한 데이터의 값이 ESC일 경우에는, 모드(e1)로 이행한다. 그리고, 모드(e1)에 있을 때에, 다음에 수신한 데이터의 값이 *, &일 경우는 후술하는 모드(E)로 이행하고, 그들 이외일 경우는 모드(A)로 이행한다.
모드(e2)는 현재는 비트 맵 처리 커맨드(FSg1 m)(비트 맵 데이터를 불휘발성 메모리에 기록한 커맨드)의 1 바이트번째(FS)를 수신하고 있는 것을 의미하는 모드이다. 모드(A)에 있을 경우에, 수신한 데이터의 값이 FS일 경우에는, 모드(e1)로 이행한다.
모드(e3)는 비트 맵 처리 커맨드(FSg1 m)의 2바이트번째(g)를 수신하고 있는 것을 의미하는 모드이다. 모드(e2)에 있을 경우에, 수신한 데이터의 값이 g일 경우에는, 모드(e3)로 이행하고, 그들 이외일 경우는 모드(A)로 이행한다. 그리고, 모드(e3)에 있을 때에, 다음에 수신한 데이터의 값이 1일 경우는, 후술하는 모드(E) 로 이행하고, 그 이외일 경우는 모드(A)로 이행한다.
모드(E)는 현재는 비트 맵 처리 커맨드 ESC *, ESC &, FSg1 m를 처리중인 것을 의미한다. 이 모드에서는, RAM(104) 내의 플래그 영역(114)에 「리얼 타임 처리 금지」가 설정된다.
또한, 비트 맵 처리 커맨드 ESC *, ESC &, FSg1 m에서는, 파라미터에서 이후 송신되는 비트 맵 데이터의 데이터 길이가 정의되어 있기 때문에, 모드(e1, e3)로부터 모드(E)로 이행한 후, 이어서 ESC *, ESC &, FSg1 m에서 송신되는 비트 맵의 데이터 길이를 나타내는 데이터 열을 수신하게 된다. 모드(E)에서는, 수신한 그 값을 RAM(104) 내의 카운트 영역(115)에 셋하여, 이후 1 바이트 수신할 때마다 그 값을 감산한다.
그 카운트 값이 0에 달했을 때, 즉 바이너리 데이터의 수신이 종료하면, 플래그 영역(114)에 「리얼 타임 처리 허가」를 설정하여, 모드(E)로부터 모드(A)로 이행한다.
이렇게 본 실시예에서는, 인쇄 장치가 비트 맵 처리 커맨드를 수신하면, 리얼 타임 커맨드를 금지하도록 설정되고, 비트 맵 처리 커맨드의 수신이 종료하면, 다시 리얼 커맨드 처리를 허가하도록 설정되기 때문에, 리얼 타임 처리 금지, 허가 커맨드를 준비할 필요는 없다.
한편, 정보 처리 장치에 있어서는, 비트 맵 처리 커맨드의 데이터 열에 리얼 타임 처리 커맨드의 데이터 열과 동일한 데이터 열이 포함되어 있어도, 이것을 의식하여 미리 리얼 타임 처리 금지 커맨드를 송신할 필요 없이, 비트 맵 데이터를 보다 간편하게 인쇄 장치에 송신하는 것이 가능하다.
(인쇄 장치의 통상 처리의 제 3 실시예)
본 실시예의 통상 처리는 프린터(101)가 수신하여, 수신 버퍼에 격납된 데이터를 FIFO 형식으로 해석하여 인쇄하는 처리이다. 도 14는 프린터(101)의 통상 처리의 제어의 흐름을 도시하는 플로우챠트이다. 통상 처리를 행하고 있는 도중이라도, 도 12, 13을 사용하여 도시한 수신 인터럽트 처리가 인터럽트에 의해 기동되는 경우가 있을 수 있다.
또한, CPU(103)는 수신 버퍼(111)에 처리하고 있지 않은 데이터가 남아 있는 동안은 해당 데이터를 취득하고, 남아 있지 않을 경우는 대기하여 상술한 수신 인터럽트 처리에 의해 수신 버퍼(111)에 데이터가 기억되는 것을 기다린다. 이러한 코로틴적인 처리가 실행되지만, 이하의 설명에서는, 간편함을 위해 상기 처리를 1회 행하여 1 바이트 데이터를 수신 버퍼(111)로부터 취득하는 경우와, 여러 회 행하여 다수 바이트의 데이터를 수신 버퍼(111)로부터 취득하는 경우를 합쳐, 「수신 버퍼로부터 데이터를 취득」이라 칭하는 것으로 한다.
우선, CPU(103)는 수신 버퍼(111)로부터 데이터를 취득하여(단계(S4010)), 그 데이터의 종류를 조사한다(단계(S4020)).
이 데이터가 비트 맵 데이터의 처리 커맨드 이외의 통상 처리 커맨드일 경우(단계(S4020); 기타), 리얼 타임 커맨드의 데이터 열은 이미 실행되고 있기 때문에 제외하고(단계(S4200)), 해당 커맨드에 대응된 처리를 실행하여(단계(S4210)), 계속 데이터가 있으면(단계(S4130)에서 Yes), 단계(S4010) 으로 돌아간다.
통상 처리에는 문자나 도형의 인쇄, 화상의 인쇄, 폰트 등록 혹은 불휘발 메모리로의 소정 데이터의 격납 등의 처리가 포함된다.
단계(4020)에서 화상 인쇄라 판단되면, 이미지 크기의 파라미터 취득(단계(S4030)) 후, 이에 연속되는 바이너리 데이터부를 취득(단계(40400), 프린트 버퍼로 전개하여(S4050), 인쇄가 캔슬되어 있지 않은지를 확인(단계(S4060)), Yes이면 인쇄 기구를 구동하여 인쇄를 실행하고(단계(S4070)), 인쇄 종료 후 프린트 버퍼를 클리어한다.
또한, 폰트 등록 커맨드의 경우는 폰트 정보를 취득하고(단계(4100)), 이에 연속되는 바이너리 데이터를 취득(S4110), 이것을 소정의 메모리 에어리어에 등록한다(단계(S4120)). 각각의 처리가 종료하면, 더욱 데이터가 없는지 확인하고(단계(S4130)), 없으면 종료로, 있으면 단계(S4010)로 돌아가 처리를 계속한다.
이렇게 수신 인터럽트 처리와 통상 처리를 구성해 두면, 리얼 타임 처리 커맨드의 데이터 열과 동일한 데이터 열을 파라미터로서 포함할 가능성이 있는 통상 커맨드(예를 들면, 화상 인쇄 커맨드나 폰트 등록 커맨드)의 데이터 열을 정보 처리 장치가 프린터에 대해 송신하고 싶을 경우, 이러한 커맨드를 실질적으로 리얼 타임 처리 금지 커맨드의 성격을 갖는 것으로 하여 취급, 이 커맨드에서 정의된 데이터의 종료 시에 리얼 타임 처리 허가 커맨드를 송신하면, 통상 커맨드의 파라미터 내에 우연히 포함되는 데이터 열에 의해 리얼 타임 처리가 실행되는 일은 없어 진다.
상기 어느 실시예에 있어서도, 데이터를 수신하는 수신·해석 처리, 리얼 타임 처리 커맨드를 실행하는 리얼 타임 처리, 통상 커맨드를 실행하는 통상 처리, 플래그를 설정하는 설정 처리는 CPU, RAM, CPU를 작동하는 프로그램을 격납한 ROM을 갖는 인쇄 장치의 제어 회로 내에서 실행되며, 각각 대응하는 프로그램과, 하드웨어와의 셋에 의해 수신 처리부, 리얼 타임 처리부, 통상 처리부, 지시부, 설정부를 구성하고 있다. 이들 처리부 각각의 일부 혹은 모두는 게이트 어레이 또는 DSP 등의 하드웨어로 대용하는 것도 가능하다.
이들 처리부의 프로그램은 ROM에 격납되는 것이 일반적이지만, 이들 프로그램을 플로피 디스크 혹은 CD-ROM 등의 자기 혹은 광 디스크 매체나 나아가서는 WEB 등의 사이트에 격납하여, 프린터에 셋 업하는 것도 가능하다.
이상 설명한 바와 같이, 본 발명에 의하면 이하의 효과를 낸다.
우선, 화상용 바이너리 데이터나 폰트 등록용 바이너리 데이터 등의 바이너리 데이터와, 리얼 타임 처리 커맨드를 의미하는 데이터 열을 구별하여 처리하는 인쇄 장치, 정보 처리 장치, 이들 제어 방법을 제공할 수 있다.
특히, 리얼 타임 처리 커맨드의 데이터 열과 동일한 바이트 패턴을 포함할 가능성이 있는 통상 커맨드의 데이터 열이라도 사용자는 그것을 의식하지 않고, 용이하게 처리시킬 수 있는 인쇄 장치, 정보 처리 장치, 이들 제어 방법을 제공할 수 있다.
리얼 타임 처리 커맨드 각각에 대해서, 그 실행을 금지 혹은 허가를 설정할 수 있기 때문에, 스테이터스 요구 등의 긴급성 높은 커맨드 처리는 항상 실행 가능하게 되기 때문에, 정보 처리 장치 측의 기능을 손상하지 않고, 또한 확실한 인쇄처리를 가능하게 했다.

Claims (24)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 정보 처리 장치에 접속되어, 소정의 커맨드 및 데이터 등으로 이루어진 데이터 열을 수신하고, 인쇄 및 상기 커맨드에 대응하는 소정의 처리를 실행하는 인쇄 장치의 제어 방법에 있어서,
    (a) 상기 정보 처리 장치로부터 송신된 리얼 타임 처리 커맨드, 통상 처리 커맨드의 1개 또는 그들의 조합을 포함하는 데이터 열을 수신하는 단계;
    (b) 상기 단계(a)에서 수신된 데이터 열에 포함되는 통상 처리 커맨드에 따라, 그 커맨드에 대응하는 통상 처리를 실행하는 단계;
    (c) 상기 단계(a)에서 수신된 데이터 열에 리얼 타임 처리 커맨드가 포함되어 있는 경우, 상기 통상 처리에 우선하여, 그 커맨드에 대응하는 리얼 타임 처리를 실행하는 단계; 및
    (d) 상기 단계(a)에서 수신된 데이터 열에 소정의 커맨드가 포함되어 있는 경우, 상기 단계(c)에서의 리얼 타임 처리의 실행을 금지 또는 허가하는 단계;를 포함하며,
    상기 소정의 커맨드는, 상기 통상 처리 커맨드 중, 바이너리 데이터를 취급하는 처리 커맨드이며,
    상기 바이너리 데이터를 취급하는 처리 커맨드를 수신하였을 때, 상기 리얼 타임 처리의 실행을 금지하는 것을 특징으로 하는, 인쇄 장치의 제어 방법.
  14. 제 13 항에 있어서,
    상기 바이너리 데이터의 수신을 종료한 후, 상기 리얼 타임 처리의 실행을 허가하는 것을 특징으로 하는, 인쇄 장치의 제어 방법.
  15. 제 13 항에 있어서,
    상기 리얼 타임 처리의 실행을 금지하는 소정의 커맨드를 수신한 후에 경과한 시간을 계측하여, 경과한 시간이 소정의 시간을 초과한 경우, 상기 리얼 타임 처리의 실행을 허가하는 것을 특징으로 하는, 인쇄 장치의 제어 방법.
  16. 제 13 항에 있어서,
    상기 리얼 타임 처리의 실행을 금지하는 소정의 커맨드를 수신한 후에 수신한 데이터 열의 길이를 계측하여, 그 데이터 열의 길이가, 소정의 길이를 초과한 경우, 상기 리얼 타임 처리의 실행을 허가하는 것을 특징으로 하는, 인쇄 장치의 제어 방법.
  17. 제 13 항에 있어서,
    상기 소정의 커맨드의 수신을 나타내는 스테이터스 정보를 격납하여, 상기 정보 처리 장치로부터 송신된 스테이터스 요구 커맨드를 수신하였을 때, 적어도 상기 리얼 타임 처리 금지 커맨드의 수신을 나타내는 스테이터스 정보를 송신하는 것을 특징으로 하는, 인쇄 장치의 제어 방법.
  18. 정보 처리 장치로부터, 그것에 접속된 인쇄 장치에, 커맨드 및 데이터 등으로 이루어진 데이터 열을 송신하는 방법으로서,
    (a) 어플리케이션 프로그램으로부터의 요구에 응답하여, 인쇄 장치에 통상 처리를 행하게 하기 위한 통상 처리 커맨드를 송신하는 단계;
    (b) 필요에 따라, 인쇄 장치에, 상기 통상 처리에 우선하여 실행되는 리얼 타임 처리를 행하게 하기 위한 리얼 타임 처리 커맨드를 송신하는 단계;
    (c) 상기 단계(a)에서 송신되는 통상 처리 커맨드가 바이너리 데이터를 취급하는 소정의 커맨드인 경우 해당 소정의 커맨드를 송신하기 전에, 인쇄 장치에 상기 리얼 타임 처리의 실행을 금지하는 리얼 타임 처리 커맨드를 송신하는 단계를 포함하는, 데이터 열을 송신하는 방법.
  19. 제 18 항에 있어서,
    정보 처리 장치로부터, 그것에 접속된 인쇄 장치에, 커맨드 및 데이터 등으로 이루어진 데이터 열을 송신하는 방법에 있어서,
    (d) 상기 바이너리 데이터의 송신이 종료하였을 때, 상기 인쇄 장치에 리얼 타임 처리의 실행을 허가하는 리얼 타임 처리 허가 커맨드를 송신하는 단계;를 더 포함하는, 데이터 열을 송신하는 방법.
  20. 제 18 항 또는 제 19 항에 있어서,
    정보 처리 장치로부터, 그것에 접속된 인쇄 장치에,커맨드 및 데이터 등으로 이루어진 데이터 열을 송신하는 방법에 있어서,
    (e) 상기 리얼 타임 처리 금지 커맨드, 허가 커맨드를 송신한 후, 이 커맨드가 정확하게 수신되었는지의 여부를 검증하는 스테이터스 요구 커맨드를 송신하는 단계;를 포함하는, 데이터 열을 송신하는 방법.
  21. 제 18 항에 있어서,
    정보 처리 장치로부터, 그것에 접속된 인쇄 장치의 커맨드 및 데이터 등으로 이루어진 데이터 열을 송신하는 방법에 있어서,
    (f) 상기 통상 처리의 커맨드가, 바이너리 데이터의 송신을 실행하는 커맨드로서, 그 데이터량이 소정의 량을 초과하는 경우에는, 그 통상 커맨드를 복수의 통상 커맨드로 분할하여 인쇄 장치에 송신하며,
    (h) 분할된 통상 커맨드를 인쇄 장치에 송신할 때마다, 그 송신에 앞서서, 상기 리얼 타임 처리 금지 커맨드를 송신하고,
    (i) 상기 분할된 통상 커맨드의 1개가 송신된 후, 다음 1개가 송신되기 전에, 어플리케이션 프로그램으로부터, 리얼 타임 처리의 요구가 있으면, 리얼 타임 처리 커맨드를 송신하는 단계를 더 포함하는, 데이터 열을 송신하는 방법.
  22. 삭제
  23. 정보 처리 장치로부터, 인쇄 장치에 데이터 열을 송신하기 위한 프로그램으로서, 청구항 18에 따른 단계를 구비하는 프로그램을 기록한 정보 기록 매체.
  24. 삭제
KR1020000013567A 1999-03-18 2000-03-17 시스템, 비트맵 데이터의 송신 제어 방법, 리얼 타임 커맨드의 송신 제어 방법 KR100772342B1 (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP99-074000 1999-03-18
JP7400099 1999-03-18
JP99-074001 1999-03-18
JP11074001A JP2000267830A (ja) 1999-03-18 1999-03-18 印刷装置、情報処理装置、これらの制御方法、および情報記録媒体
JP10423799A JP3812216B2 (ja) 1999-04-12 1999-04-12 印刷装置の制御方法
JP99-104237 1999-04-12

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020070004346A Division KR100837584B1 (ko) 1999-03-18 2007-01-15 시스템, 비트맵 데이터의 송신 제어 방법, 리얼 타임커맨드의 송신 제어 방법

Publications (2)

Publication Number Publication Date
KR20010006818A KR20010006818A (ko) 2001-01-26
KR100772342B1 true KR100772342B1 (ko) 2007-11-01

Family

ID=27301373

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020000013567A KR100772342B1 (ko) 1999-03-18 2000-03-17 시스템, 비트맵 데이터의 송신 제어 방법, 리얼 타임 커맨드의 송신 제어 방법
KR1020070004346A KR100837584B1 (ko) 1999-03-18 2007-01-15 시스템, 비트맵 데이터의 송신 제어 방법, 리얼 타임커맨드의 송신 제어 방법

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020070004346A KR100837584B1 (ko) 1999-03-18 2007-01-15 시스템, 비트맵 데이터의 송신 제어 방법, 리얼 타임커맨드의 송신 제어 방법

Country Status (4)

Country Link
US (8) US6906811B1 (ko)
EP (3) EP2933717A1 (ko)
KR (2) KR100772342B1 (ko)
CN (1) CN100340966C (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2933717A1 (en) * 1999-03-18 2015-10-21 Seiko Epson Corporation Printer, information processing apparatus, methods of controlling them, and storage medium carrying computer program
JP4560917B2 (ja) * 1999-10-15 2010-10-13 セイコーエプソン株式会社 プリンタ及びその制御方法
JP4227428B2 (ja) 2003-01-31 2009-02-18 キヤノン株式会社 情報処理装置及び該装置の制御方法
JP4296870B2 (ja) * 2003-07-18 2009-07-15 ブラザー工業株式会社 インクジェット記録装置
US20050200913A1 (en) * 2004-03-11 2005-09-15 International Business Machines Corporation Systems and methods for identifying complex text in a presentation data stream
US20050248597A1 (en) * 2004-05-05 2005-11-10 Kuhn William C Data stream reference to external resources
JP4975656B2 (ja) * 2008-02-01 2012-07-11 東京エレクトロン株式会社 情報処理装置、情報処理方法、およびプログラム
JP6029360B2 (ja) * 2012-07-09 2016-11-24 キヤノン株式会社 情報処理方法およびプログラム
US9098226B2 (en) 2012-08-14 2015-08-04 Seiko Epson Corporation ePOS printing over a network
JP6171530B2 (ja) * 2013-04-23 2017-08-02 セイコーエプソン株式会社 印刷制御装置、印刷システムおよび印刷制御方法
US9389672B2 (en) * 2014-03-19 2016-07-12 Apple Inc. Quality-of-service management in power-throttled storage devices
CN104044368B (zh) * 2014-07-02 2017-02-15 上海合合信息科技发展有限公司 打印机及其收费装置、运行方法,及其控制装置和方法
JP6551054B2 (ja) 2015-08-26 2019-07-31 セイコーエプソン株式会社 ドライバープログラム、及び、制御方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07186494A (ja) * 1993-11-08 1995-07-25 Seiko Epson Corp 印刷装置及びその制御方法並びに該印刷装置を用いた情報処理装置
JPH07319647A (ja) * 1994-05-25 1995-12-08 Canon Inc 印刷装置およびその制御方法
JPH08292851A (ja) * 1995-04-24 1996-11-05 Fuji Xerox Co Ltd 印刷装置
JPH0962466A (ja) * 1995-08-22 1997-03-07 Seiko Epson Corp 印刷方式及び印刷方法
JPH09164747A (ja) * 1995-10-13 1997-06-24 Seiko Epson Corp 印字装置及びその制御方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61195446A (ja) 1985-02-25 1986-08-29 Casio Comput Co Ltd 端末制御装置
JPS62102329A (ja) 1985-10-30 1987-05-12 Hitachi Ltd 印字装置
JPH04104319A (ja) * 1990-08-23 1992-04-06 Oki Electric Ind Co Ltd ヘキサダンプ装置の制御方法
JP2946245B2 (ja) 1991-04-12 1999-09-06 株式会社リコー 印字制御方法及びその印字制御装置
JPH05162422A (ja) * 1991-12-13 1993-06-29 Nec Corp 用紙検出装置
JPH06227091A (ja) 1993-01-30 1994-08-16 Star Micronics Co Ltd 印字装置
US6362896B1 (en) * 1993-11-08 2002-03-26 Seiko Epson Corporation Printing apparatus with a cash drawer control function, and a control method therefor
US5594653A (en) * 1993-11-08 1997-01-14 Seiko Epson Corporation Printing apparatus, a control method therefor, and a data processing apparatus using said printing apparatus
EP0657846B1 (en) * 1993-12-09 2002-03-13 Canon Kabushiki Kaisha Printer having power saving function
US5560030A (en) * 1994-03-08 1996-09-24 Texas Instruments Incorporated Transfer processor with transparency
DE69511522T2 (de) * 1995-04-19 1999-12-23 Fuji Xerox Co Ltd Steuerung des Befehlspuffers für ein Druckersystem
CN1161477A (zh) * 1995-08-31 1997-10-08 株式会社东芝 成像装置
DE69620537T2 (de) 1995-10-13 2002-10-24 Seiko Epson Corp Drucker und Verfahren mit Steuerfunktion für externe Geräte
JPH09146723A (ja) * 1995-11-20 1997-06-06 Ricoh Co Ltd プリンタ
JPH09323463A (ja) 1996-06-05 1997-12-16 Seiko Epson Corp 通信端末およびその制御方法
JPH10278364A (ja) * 1997-04-07 1998-10-20 Nec Corp ページプリンタ
JPH10333856A (ja) 1997-06-04 1998-12-18 Seiko Epson Corp 通信端末およびその制御方法、並びに当該制御プログラムが記録されたコンピュータ読み取り可能な記録媒体
EP2933717A1 (en) * 1999-03-18 2015-10-21 Seiko Epson Corporation Printer, information processing apparatus, methods of controlling them, and storage medium carrying computer program

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07186494A (ja) * 1993-11-08 1995-07-25 Seiko Epson Corp 印刷装置及びその制御方法並びに該印刷装置を用いた情報処理装置
JPH07319647A (ja) * 1994-05-25 1995-12-08 Canon Inc 印刷装置およびその制御方法
JPH08292851A (ja) * 1995-04-24 1996-11-05 Fuji Xerox Co Ltd 印刷装置
JPH0962466A (ja) * 1995-08-22 1997-03-07 Seiko Epson Corp 印刷方式及び印刷方法
JPH09164747A (ja) * 1995-10-13 1997-06-24 Seiko Epson Corp 印字装置及びその制御方法

Also Published As

Publication number Publication date
US8390835B2 (en) 2013-03-05
EP2284688A3 (en) 2011-05-11
US8345274B2 (en) 2013-01-01
KR20010006818A (ko) 2001-01-26
CN100340966C (zh) 2007-10-03
US8144357B2 (en) 2012-03-27
EP2284688B1 (en) 2015-02-25
US20120206767A1 (en) 2012-08-16
US7324222B2 (en) 2008-01-29
US6906811B1 (en) 2005-06-14
US20110249296A1 (en) 2011-10-13
CN1269564A (zh) 2000-10-11
US7995226B2 (en) 2011-08-09
KR20070015241A (ko) 2007-02-01
US7826075B2 (en) 2010-11-02
US20130141745A1 (en) 2013-06-06
US20080106752A1 (en) 2008-05-08
US20050141029A1 (en) 2005-06-30
EP1037138A2 (en) 2000-09-20
US20120215944A1 (en) 2012-08-23
US20110013229A1 (en) 2011-01-20
EP2933717A1 (en) 2015-10-21
EP2284688A2 (en) 2011-02-16
KR100837584B1 (ko) 2008-06-13
EP1037138A3 (en) 2001-09-26
US8559046B2 (en) 2013-10-15

Similar Documents

Publication Publication Date Title
KR100837584B1 (ko) 시스템, 비트맵 데이터의 송신 제어 방법, 리얼 타임커맨드의 송신 제어 방법
JP4496594B2 (ja) 印刷装置の制御方法
JP3812216B2 (ja) 印刷装置の制御方法
JP3852728B2 (ja) 印刷装置および情報処理装置
JP2006347065A (ja) 印刷装置
JP3284457B2 (ja) プリンタ
CN101221486B (zh) 印刷装置的控制方法以及印刷装置的控制装置
JP2000298566A (ja) 印刷装置、情報処理装置、これらの制御方法、及び情報記録媒体
JP2011238090A (ja) 印刷装置およびその制御方法
JP4635831B2 (ja) プリンタ及びプリンタの制御方法
JP2011235568A (ja) 印刷装置およびその制御方法
JP2021041698A (ja) 画像形成装置、画像形成方法及び情報処理プログラム
JP2000267830A (ja) 印刷装置、情報処理装置、これらの制御方法、および情報記録媒体
KR100565792B1 (ko) 프린터의 폰트 데이터 저장방법
JP2006256076A (ja) 画像形成装置
JP2000168177A (ja) 情報処理装置、周辺装置、フォント登録出力システム、これらの制御方法、及び情報記録媒体
JP2001202322A (ja) インターフェース装置、その制御方法および情報記録媒体
JP2005007823A (ja) 画像形成装置
JPH04314563A (ja) プリント装置
JP2005313500A (ja) 画像形成装置
JP2009086709A (ja) プログラム及び画像印刷システム
JP2005088376A (ja) 画像形成装置
JP2000296656A (ja) 印刷装置、情報処理装置、これらの制御方法、及び情報記録媒体

Legal Events

Date Code Title Description
AMND Amendment
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E801 Decision on dismissal of amendment
J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE AMENDMENT REQUESTED 20051111

Effective date: 20060630

E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
A107 Divisional application of patent
E902 Notification of reason for refusal
B701 Decision to grant
GRNT Written decision to grant
G170 Re-publication after modification of scope of protection [patent]
FPAY Annual fee payment

Payment date: 20121002

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20130924

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20141002

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20151001

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20181004

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20191002

Year of fee payment: 13