Abstract:
Disclosed is a printing apparatus including a priority identifier establishment unit. More particularly, the printing apparatus, processing an instruction designated by a priority identifier before another instruction, includes the priority identifier establishment unit that allows a priority identifier to be designated in various forms and methods. Since the priority identifier can be established in various forms and methods, the printing apparatus can achieve enhanced flexibility and effect in priority processing.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application claims the priority of Korean Patent Application No. 2008-0066580 filed on Jul. 9, 2008, in the Korean Intellectual Property Office, the disclosure of which is incorporated herein by reference. 
       BACKGROUND OF THE INVENTION 
       [0002]    1. Field of the Invention 
         [0003]    The present invention relates to a printing apparatus for establishing a priority identifier and a method of establishing a priority identifier, and more particularly, to a printing apparatus capable of establishing a priority identifier in various forms and methods to process an instruction, designated by the priority identifier, before another instruction. 
         [0004]    2. Description of the Related Art 
         [0005]    In general, printing apparatuses are connected to personal computers to print out documents or pictures. Also, printing apparatuses may be provided in data processing apparatuses such as point-of-sale (POS) terminals or electronic cash registers used for monetary transactions, to print out receipts and the like. Those printing apparatuses perform operations, including printing, in response to print data and instructions sent from host computers including personal computers. 
         [0006]    For example,  FIG. 1  is a block diagram illustrating the basic hardware configuration of a printing apparatus. The printing apparatus includes an interface unit  1  receiving data from a host computer or sending data to the host computer, a memory unit  2  storing various pieces of data, a print driving unit  4  controlling the driving of mechanical components within the printing apparatus, for example, a print part  6 , a motor part  7  and flange parts  8 , a sensor unit  5  detecting the status of the printing apparatus, and a central processing unit (CPU)  3  controlling the operation of the print driving unit  4  by checking data or instructions sent from the host computer via the interface unit  1  and checking the status of the printing apparatus based on the output signal of the sensor unit  5 . 
         [0007]    Printing apparatuses at an early stage of development interpreted and processed control instructions in First-In, First-out (FIFO) order. However, when an error occurs during the use of a printing apparatus, such as when paper supply is depleted or a printer cover is opened, or as an occasion arises, an instruction delivered later may need to be processed before an instruction delivered earlier. In response to this need, U.S. Pat. No. 5,594,653 discloses a printing apparatus that divides commands into instructions to be processed in real-time (hereinafter, referred to as ‘real-time instructions’) and instructions to be processed in FIFO order (hereinafter, referred to as ‘general instructions’) and enables the real-time instruction to be processed preferentially (i.e., first) over general instructions. 
         [0008]    However, if a command itself is determined to be a real-time instruction or a general instruction, every necessary real-time command needs to be established in advance by anticipating every possible circumstance that may occur in the printing apparatus at the time of command implementation. In this regard, a printing apparatus has been proposed that establishes an identifier for designating priority processing (hereinafter, referred to as ‘priority identifier’) in advance, and enables an instruction designated by the priority identifier to be processed preferentially over other instructions. However, this method may also be disadvantageous, in that the previously established prior-processing identifier restricts command implementation. 
       SUMMARY OF THE INVENTION 
       [0009]    An aspect of the present invention provides a printing apparatus including a priority identifier establishment unit that can establish priority identifiers in various forms and methods in order to process an instruction, designated by a priority identifier, preferentially (i.e., first) over other instructions. 
         [0010]    According to an aspect of the present invention, there is provided a printing apparatus operating according to data sent from a host computer, the printing apparatus including: a data reception unit receiving data sent from the host computer; a data processing unit detecting an establish instruction for establishing a priority identifier designating data, which is to be processed preferentially, in the printing apparatus by analyzing the data received in the data reception unit, and reading a priority identifier instructed by the establish instruction; and a memory storing the read priority identifier. 
         [0011]    The establish instruction may be set in the printing apparatus in advance. 
         [0012]    The priority identifier may include an identification value indicating a priority processing instruction, and information indicating a length of data of priority processing. Alternatively, the priority identifier may include an identification value for processing at least one successive command preferentially. Alternatively, the priority identifier may include an identification value indicating a start of priority processing and an identification value indicating an end of priority processing. 
         [0013]    According to another aspect of the present invention, there is provided a method of establishing a priority identifier in a printing apparatus operating according to data sent from a host computer, the method including: receiving data sent from the host computer; detecting an establish command for establishing a priority identifier designating data, which is to be processed preferentially, in the printing apparatus by analyzing the received data; reading a priority identifier indicated by the establish command; and storing the read priority identifier. 
         [0014]    According to another aspect of the present invention, there is provided a printing apparatus performing a printing operation according to data sent from a host computer, the printing apparatus including: a data reception unit receiving data output from the host computer; a priority identifier establishment unit performing establishment such that information about a priority identifier be transferable, the priority identifier designating data to be processed preferentially among the data received in the data reception unit; and a processing unit checking whether the data received in the data reception unit includes a priority identifier established by the priority identifier establishment unit, and performing priority processing on the data designated by the priority identifier. 
         [0015]    The priority identifier establishment unit may receive an establish instruction for establishing a priority identifier designating data, which is to be processed preferentially, from the host computer, and perform establishment to transfer the information about the priority identifier. 
         [0016]    The priority identifier establishment unit may include a non-volatile memory, or a dual in-line package (DIP) switch. 
         [0017]    The priority identifier may include an identification value indicating a priority-processing instruction, and information indicating a length of data requiring priority processing. Alternatively, the priority identifier may include an identification value for processing at least one successive command preferentially. Alternatively, the priority identifier may include an identification value indicating a start of priority processing and an identification value indicating an end of priority processing. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0018]    The above and other aspects, features and other advantages of the present invention will be more clearly understood from the following detailed description taken in conjunction with the accompanying drawings, in which: 
           [0019]      FIG. 1  is a block diagram illustrating the basic hardware configuration of a printing apparatus; 
           [0020]      FIG. 2  illustrates the configuration of a printing apparatus capable of establishing a priority identifier, according to an exemplary embodiment of the present invention; 
           [0021]      FIG. 3  is a flowchart showing a method of establishing a priority identifier, according to an exemplary embodiment of the present invention; and 
           [0022]      FIG. 4  illustrates a printing apparatus capable of establishing a priority identifier, according to another exemplary embodiment of the present invention. 
       
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
       [0023]    Exemplary embodiments of the present invention will now be described in detail with reference to the accompanying drawings. Detailed descriptions related to well-known functions or configurations will be ruled out in order not to unnecessarily obscure subject matters of the present invention. 
         [0024]      FIG. 2  is a functional block diagram of a printing apparatus according to an exemplary embodiment of the present invention. The printing apparatus includes: a data reception unit  21  receiving data sent from a host computer  10 ; a data transmission unit  25  sending data to the host computer  10 ; a priority identifier establishment unit  22  establishing a priority identifier, which designates data to be processed preferentially (i.e., first) over other data, by analyzing data received in the data reception unit  21 , and storing the established priority identifier; a processing unit  23  interpreting and processing an instruction, designated by the priority identifier, preferentially over another general instruction that has not been designated by the priority identifier, among the data received in the data reception unit  21 ; a print buffer  24  storing reception data classified as print data by the processing unit  23 ; a control unit  28  controlling the operation of the printing apparatus according to an instruction delivered from the processing unit  23  or performing control to read and print out the data stored in the print buffer  24 ; and a status memory  26  storing information about the status of the printing apparatus. 
         [0025]    In addition to the above configuration, the printing apparatus, as in the related art printing apparatus depicted in  FIG. 1 , may additionally include a plurality of sensors detecting the status of the printing apparatus, a print mechanism unit (not shown), and an error status storage unit  27 . Also, the printing apparatus may further include other existing known components for printing apparatuses. The functions of those components are identical to those in the existing apparatus. 
         [0026]    Basically, the printing apparatus processes data received from the host computer  10  in FIFO order. However, in the event that there is data or an instruction that needs to be processed before another data or instruction, the printing apparatus processes this data or instruction preferentially over others. To this end, the host computer  10  sends the printing apparatus a priority identifier as well as data that requires priority processing. 
         [0027]    The priority identifier is not a command that is performed directly in association with the operation of the printing apparatus, but is merely identification information that indicates that the accompanying print and instruction data has priority in processing, namely, that it needs to be processed preferentially. 
         [0028]    The priority identifier is not established in advance but may be established in various forms and methods by the priority identifier establishment unit  22  as an occasion arises. 
         [0029]    In detail, the priority identifier establishment unit  22  may include a data processor (not shown) and a memory (not shown). The data processor detects an establish instruction for establishing a priority identifier designating data, which is to be preferentially processed, by analyzing data sent from the host computer  10 , and reads a priority identifier instructed by the establish instruction. The memory stores the read priority identifier. 
         [0030]    Hereinafter, the establishment of the priority identifier in the priority identifier establishment unit  22  will be described in detail. 
         [0031]    The priority identifier establishment unit  22  may receive information for identifier designation from the host computer  10  and may establish an identifier according to the received information. Information received from the host computer  10  contains a predetermined identifier establish command for the establishment of an identifier. 
       Embodiment 1  
       [0032]    The host computer  10  may send a priority identifier which is to be used in combination with an identifier establish command. The priority identifier contains an identification value indicating a priority-processing instruction, and information indicating the length of data which is to be processed preferentially. 
         [0033]    For example, if an identifier establish command is set to [FF] in advance and the host computer  10  sends ‘[FF] [ACK] ’ &lt;2&gt;’ to the printing apparatus, the priority identifier establishment unit  22  detects [FF], an establish command. When the establish command is detected, [ACK] &lt; 2 &gt;, which is a priority identifier designated by the detected establish command [FF], is read and stored in the memory. The priority identifier, [ACK] &lt; 2 &gt;, allows two commands following [ACK] to be interpreted and processed before another instruction when [ACK] is detected from the received data. 
         [0034]    Thus, when data received from the host computer  10  contains [ACK], the processing unit  23  interprets, processes and executes two commands following [ACK] preferentially over another instruction. In detail, if the processing unit  23  receives ‘[ACK] [ESC] ! &lt;n&gt; [ETO] &lt;n&gt;ABCDFG [LF]’, the processing unit  23  processes ‘[ESC] ! &lt;n&gt;’ and ‘[EOT] &lt;n&gt;’, two commands following ‘[ACK] assigned as a priority identifier, before other general instructions. 
       Embodiment 2  
       [0035]    The host computer  10  may send a priority identifier which is to be used in combination with an identifier establish command. The priority identifier contains an identification value for the priority processing of only one successively received command. 
         [0036]    For example, if an identifier establish command is set to [FF] in advance and the host computer  10  sends ‘[FF] [ACK]’ to the printing apparatus, the priority identifier establishment unit  22  designates ‘[ACK]’ as a priority identifier. 
         [0037]    Thereafter, the processing unit  23  interprets, processes and executes only one command following ‘[ACK]’ before another instruction. In detail, if the processing unit  23  receives ‘[ACK] [ESC] ! &lt;n&gt; [EOT] &lt;n&gt;ABCDFG [LF]’, the processing unit  23  processes one command following ‘[ACK]’ designated as a priority identifier, that is, ‘[ESC] ! &lt;n&gt;’ preferentially over another general instruction. 
       Embodiment 3  
       [0038]    The host computer  10  may send an identification value indicating the start of priority processing and an identification value indicating the end of the priority processing, which are to be used in combination with an identifier establish command. 
         [0039]    For example, if an identifier establish command is set to [FF] in advance and the host computer  10  sends ‘[FF] [ACK] [NAK]’ to the printing apparatus, the priority identifier establishment unit  22  sets a priority-processing start identification value and a priority-processing end identification value to ‘[ACK]’ and ‘[NAK]’, respectively. 
         [0040]    Thereafter, the processing unit  23 , when receiving ‘[ACK]’, interprets, processes and executes at least one command received between ‘[ACK]’ and ‘[NAK]’ preferentially over another instruction. In detail, when receiving ‘[ACK] [ESC] ! &lt;n&gt; [EOT] &lt;n&gt; [NAK] 0123456 [LF]’, the processing unit  23  processes ‘[ESC] ! &lt;n&gt; [EOT] &lt;n&gt;’, an instruction received between ‘[ACK]’ and ‘[NAK]’, before another general instruction. 
         [0041]    Using an establish command has so far been described as a method for the host computer to establish a priority identifier in the printing apparatus. Hereinafter, other methods will be described. 
         [0042]    As for another method, the priority identifier establishment unit  22  reads information for identifier establishment from a non-volatile memory, and establishes a priority identifier according to the read information. In detail, information for identifier designation is stored on a specific address in the non-volatile memory in advance. When the designation of a priority identifier is necessary, the priority identifier establishment unit  22  may read the information for identifier establishment from the specific address in the non-volatile memory, and establish an identifier according to the read information. The information for the establishment of a priority identifier stored on the specific address in the non-volatile memory may have any one format among “an identification value indicating a priority-processing instruction and information indicating the length of data of priority processing”, “an identification value for allowing the priority processing of one or more successively received commands”, and “an identification value indicating the start of priority processing and an identification value indicating the end of priority processing”. 
         [0043]    As for another method, the priority identifier establishment unit  22  may establish an identifier by the use of at least one dual in-line package (DIP) switch. 
         [0044]    For example, in the case of using five DIP switches, each of the DIP switches may be matched to a specific identifier as follows: 
         [0000]    
       
         
               
               
               
               
               
             
           
               
                   
               
             
             
               
                 DIP #1 (ACK) 
                 DIP #2 (XON) 
                 DIP #3 (XOFF) 
                 DIP #4 
                 DIP #5 
               
               
                   
               
             
          
         
       
     
         [0045]    If all the five DIP switches are OFF, a priority identifier is not established. If DIP # 1  is ON, [ACK] is designated as a priority identifier, and if DIP  42  is ON, [XON] is designated as a priority identifier. 
         [0046]    In the case of using five DIP switches, DIP # 1  may be used to determine whether or not to execute priority processing, and DIP # 2 ,  3 ,  4  and  5  may be used to set the number of priority-processing commands. 
         [0047]    For example, if DIP # 1  is OFF, priority processing is not executed, and if DIP # 1  is ON, priority processing is executed. The number of commands for the execution of priority processing may be determined as follows:
   DIP # 2 : ON, # 3 : OFF, # 4 : OFF, # 5 : OFF: the number of priority processing instruction: 1   DIP # 2 : OFF, # 3 : ON, # 4 : OFF, # 5 : OFF: the number of priority processing instruction: 2   DIP # 2 : ON, # 3 : ON, # 4 : OFF, # 5 : OFF: the number of priority processing instruction: 3   DIP # 2 : OFF, # 3 : OFF, # 4 : ON, # 5 : OFF: the number of priority processing instruction: 4   
 
         [0052]      FIG. 3  is a flowchart of a method of establishing a priority identifier according to an exemplary embodiment of the present invention. 
         [0053]    The method of establishing a priority identifier according to an exemplary embodiment of the present invention, includes: receiving data sent from a host computer in operation S 310 ; detecting an establish command for establishing, in the printing apparatus, a priority identifier designating data which is to be processed preferentially by analyzing the received data in operation S 320 ; reading a priority identifier instructed by the establish command in operation  3330 ; and storing the read priority identifier in operation S 340 . 
         [0054]      FIG. 4  illustrates the configuration of a printing apparatus that processes data sent from a host computer by using a priority identifier according to the present invention. 
         [0055]    As shown in  FIG. 4 , the printing apparatus, which processes data sent from the host computer by using a priority identifier according to the present invention, and detects whether or not the sent data contains an establish command for establishing a priority identifier, thereby establishing a priority identifier in advance. 
         [0056]    The priority identifier is established by the priority identifier establishment unit  22 . In detail, a data reception unit  21  receives data sent from the host computer  10 . The priority identifier establishment unit  22  detects an establish command for establishing a priority identifier designating data, which is to be processed preferentially, in the printing apparatus by analyzing the received data, reads a priority identifier instructed by the establish instruction, and stores the read priority identifier, thereby establishing the priority identifier. Also, the priority identifier establishment unit  22  may transfer an existing priority identifier to a newly transmitted priority identifier. 
         [0057]    Hereinafter, the process of processing data in the printing apparatus after the priority identifier establishment unit  22  establishes the priority identifier will be described in terms of functions of each component. 
         [0058]    First, the host computer  10  checks whether print data and instruction data to be sent to the printing apparatus require priority processing. If there is a need for priority processing, the host computer  10  generates a priority identifier, which has already been established in the printing apparatus, and sends the priority identifier together with the print data and the instruction data to the printing apparatus. The printing apparatus, when receiving the data from the host computer  10 , checks whether to perform priority processing, using a preset priority identifier. If the data contains a priority identifier, the printing apparatus performs the priority processing on data designated by the priority identifier. If the priority identifier is absent in the data, the received data are processed in FIFO order. 
         [0059]    The printing apparatus includes the data reception unit  21 , the data transmission unit  25 , the priority identifier establishment unit  22 , a priority processing instruction switching part  41 , a reception buffer  42 , an instruction interpreter  43 , the print buffer  24 , the error-status storage unit  27 , the control unit  28  and the status memory  26 . 
         [0060]    In detail, the data reception unit  21  receives data sent from the host computer  10 , and the data transmission unit  25  sends data to the host computer  10 . If the received data contains a priority identifier pre-established by the priority identifier establishment unit  22 , the priority-processing instruction switching part  41  sends received data designated S by the priority identifier directly to the instruction interpreter  43 , and the remaining received data is output to the reception buffer  42 . The reception buffer  42  stores therein received data which is not designated by the priority identifier, and outputs the data in FIFO order. The instruction interpreter  43  interprets received data output from the priority-processing instruction switching part  41  as having the highest priority in processing, and received data output from the reception buffer  42  as having the next highest priority in processing, thereby distinguishing the instruction data from the print data and outputting the distinguished data. If the interpreted instruction is a status send instruction, the status information of the status memory  26  is sent to the host computer  10  via the data transmission unit  25 . The print buffer  24  stores received data classified as the print data by the instruction interpreter  43 , and the control unit  28  controls the operation of the printing apparatus according to the instruction data sent from the instruction interpreter  43 , or performs control to print out the data stored in the print buffer  24 . Also, the status memory  26  stores the status information of the printing apparatus. 
         [0061]    The priority-processing instruction switching part  41 , the reception buffer  42  and the instruction interpreter  43  are mere examples of the processing unit of  FIG. 2 , and various methods may be applied, provided that they allow for the priority processing of data using a priority identifier. 
         [0062]    As in an existing printing apparatus, the printing apparatus according to this exemplary embodiment of the present invention may further include a plurality of sensors detecting the status of the printing apparatus, print mechanism functions (not shown), and the error status storage unit  27 . In addition, the printing apparatus according to this exemplary embodiment of the present invention may further include general components used in known printing apparatuses, and the functions of those components are identical to those of existing like components. 
         [0063]    As set forth above, according to exemplary embodiments of the invention, a priority identifier can be established in various forms and methods in a printing apparatus capable of processing an instruction designated by a priority identifier preferentially over other instructions, so that the printing apparatus can cope properly with diverse situations that may be caused due to the environment of use. 
         [0064]    While the present invention has been shown and described in connection with the exemplary embodiments, it will be apparent to those skilled in the art that modifications and variations can be made without departing from the spirit and scope of the invention as defined by the appended claims.