Abstract:
In a system including a controller and peripherals connected to the controller, a plurality of statuses represents states of each of the peripherals. Most general statuses useful for controlling the peripheral are taken as statuses in a highest layer of a tree structure, and it is branched to statuses of lower layers successively. When a signal of a certain status, which has no lower statuses which branches further therefrom, signals of the statuses between the certain status and the most general status relevant to the certain status are changed successively. Simultaneously, the information of the statuses on which the signals are changed is transmitted to a controller. Thus, the status information can be transmitted surely to the controller.

Description:
BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates to a system comprising one or more peripherals and a controller connected to the peripherals, and in particular to status management of the peripherals including a method of data transmission between the peripherals and the controller. 
     2. Description of the Prior Art 
     In a system including a controller and peripherals, the controller controls the operation of the peripherals generally. In order to control the operation of the peripherals, the controller needs to check the current states in the peripherals. If a peripheral is a laser printer, the states of the peripheral such as &#34;no paper&#34;, &#34;no toner&#34; and &#34;jam&#34; are represented as bi-level signals. Each of these states is called as status, and the peripherals store status signals of &#34;1&#34; or &#34;0&#34;. 
     FIG. 1 shows a system including a controller 110 and three peripherals 120, 140 and 160 connected to the controller 110. Further, FIG. 1 shows a directed tree structure on the first peripheral 120, while the controller 110 stores all status signals received from the peripherals 120, 140 and 160. 
     In the directed tree structure on the first peripheral 120 shown inside a block thereof in FIG. 1, a most comprehensive status &#34;A-1&#34; is located in a first layer. Next, three statuses &#34;A-11&#34; &#34;A-12&#34; and &#34;A-13&#34; branched from &#34;A-1&#34; are located in a second layer Then, three statuses &#34;A-111&#34; &#34;A-112&#34; and &#34;A-113&#34; are branched from &#34;A-11&#34; in a third layer. Similarly, two statuses &#34;A-121&#34; and &#34;A-122&#34; are branched from &#34;A-12&#34; and four statuses &#34;A-131&#34; &#34;A-132&#34; &#34;A-133&#34; and &#34;A-134&#34; are branched from &#34;A-13&#34;. Statuses such as &#34;A-111&#34;, from which there are no branch statuses, correspond to sensors provided in the peripheral 120. For example, if an output of a sensor in correspondence to the status &#34;A-111&#34; is changed from &#34;0&#34; to &#34;1&#34;, the peripheral 120 rewrites the status signal for the status from &#34;0&#34; to &#34;1&#34;. It is to be noted that there is only one path from a status from which no statuses branch to the root &#34;A-1&#34;. Then, the peripheral further rewrites the status signals of the statuses &#34;A-11&#34; and &#34;A-1&#34; successively. 
     Previously, data transmission on the statuses in the peripheral 120 by the peripheral 120 to the controller 110 is started after the status signal of the status &#34;A-1&#34; in the first layer is rewritten. The peripheral 120 transmits to the controller 110 that the status signal of the status &#34;A-1&#34; in the first layer is rewritten. Then, it checks the statuses in the second layer and transmits to the controller 110 that the status signal of the status &#34;A-11&#34; in the second layer is rewritten. Finally, it checks the statuses in the third layer and transmits to the controller 110 that the status signal of the status &#34;A-111&#34; in the third layer is rewritten. As explained above, the peripheral 120 checks the values of status signals of statuses from the first layer to lower layers successively so as to transmit information on all the rewritten statuses to the controller 110. 
     As shown in FIG. 1, the controller 110 stores all status signals received from the peripheral 120. When the controller 110 receives the status data of the status &#34;A-1&#34;, it rewrites the value of the status signal of the status &#34;A-1&#34; from &#34;0&#34; to &#34;1&#34;. When the controller 110 receives the status data of the status &#34;A-11&#34;, it rewrites the value of the status signal of the status &#34;A-11&#34; from &#34;0&#34; to &#34;1&#34;. Finally, when the controller 110 receives the status data of the status &#34;A-111&#34;, it rewrites the value of the status signal of the status &#34;A-111&#34; from &#34;0&#34; to &#34;1&#34;. 
     In the system explained above, transmission interval of status signals from the peripherals 120-160 to the controller 110 varies with the number of the statuses located in a path in the tree structure and the operation situation of the peripheral such as interrupt. Therefore, the controller 110 cannot decide when data transmission from the peripheral is completed. Then, the controller may not recognize the status data correctly. For example, when the status data of &#34;A-1&#34; is received, the controller 110 first checks the status in the first layer because of the efficiency of search. Then, it checks the status of the second layer. However, it may happen that the status information on the second layer has not yet been received at that time. 
     SUMMARY OF THE INVENTION 
     An object of the present invention is to provide a status management system and a status management method wherein a peripheral can transmit changes of status signals to a controller thereof more correctly. 
     In a system including a controller and peripherals connected to the controller, a plurality of statuses represents states of each of the peripherals and they are used to control the operation of the peripherals. Most general statuses useful for controlling each peripheral are taken as statuses in a highest layer of a tree structure, and they are branched to statuses of lower layers successively. When a signal of a certain status which has no lower statuses which branches further therefrom, signals of statuses between the certain status to a most general status relevant to the certain status are changed successively. Simultaneously, the information of the statuses on which the signals are changed is transmitted successively to a controller from a status in the lowest layer among the changed statuses. Thus, the status information can be transmitted surely from the peripheral to the controller. 
     An advantage of the present invention is that the controller can grasp the states of the peripherals surely. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     These and other objects and features of the present invention will become clear from the following description taken in conjunction with the preferred embodiments thereof with reference to the accompanying drawings, and in which: 
     FIG. 1 is a diagram of a controller and three peripherals and statuses in tree structures; 
     FIG. 2 is a block diagram of a host computer, a printer controller and a laser printer; 
     FIG. 3 is a sectional view of a laser printer; 
     FIG. 4 is a diagram of statuses in a three-layer tree structure; 
     FIG. 5 is a flowchart of status management of a machine controller, 
     FIG. 6 is a flowchart of status transmission by the machine controller to the printer controller; and 
     FIG. 7 is a flowchart of status verification by the printer controller. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     Referring now to the drawings, wherein like reference characters designate like or corresponding parts throughout the several views, FIG. 2 shows a system of an embodiment of the invention including a printer controller 200 as a controller of the invention and a laser printer 1 as a peripheral of the invention. The printer controller 200 can control a plurality of peripherals including the laser printer 1. However, only the laser printer 1 is illustrated in FIG. 2 for the convenience of explanation. 
     The printer controller 200 generates bit map data according to signals received from a host computer 300 and transmits the data to the laser printer 1, while it also determines print format and controls the laser printer 1. The printer controller 200 has a memory 210 for managing the status signals of all statuses of the laser printer 1. The values of status signals stored in the memory 210 are rewritten according to status information transmitted from the laser printer 1 so as to keep them the same as those of the status signals stored in the laser printer 1. When the laser printer 1 is controlled, the status signals stored in the memory 210 are checked by a predetermined process to grasp the situation of the laser printer 1. 
     The laser printer 1 is controlled by a machine controller 100 including a memory 101. The states of the laser printer 1 are represented as a tree structure of statuses explained below with reference to FIG. 4, and the memory 101 stores the status signals. 
     A host interface 301 is provided between the host computer 300 and the printer controller 200, while two kinds of communication media are provided between the printer controller 200 and the laser printer 1: an image interface 201 for transmitting bit map data from the printer controller 200 to the laser printer 1 and a control interface 202 for exchanging the information between the printer controller 200 and the laser printer 1 for print control. The control interface 202 is a bi-directional serial interface which can send and receive data in the unit of one byte (or eight bits). 
     FIG. 3 shows the laser printer 1 which can print an image of two colors. The laser printer 1 has the machine controller 100 which has the memory 101 for storing status signals of all the statuses and manages each status of the laser printer 1. The laser printer 1 performs print operation according to information received from the printer controller 200. 
     The laser printer 1 has a photoconductor drum 10, and a first sensitizing charger 11, a first development unit 12 of a first color, a second sensitizing charger 13, a second development unit 14 of a second color, a charger 15 for separating a sheet of paper, a cleaning unit 16 for removing remained toners, and an eraser lamp 17 for discharging remained charges. Image data received from the host computer 300 or the like through the printer controller 200 are subjected to a data processing to modulate optical intensities of a beam emitted by first or second laser device 2, 3. The laser beam emitted from the first laser device 2 is moved by a beam scan system 4 and propagates through an f-θ lens 5 and a mirror 6 to the photoconductor drum 10 which has been sensitized by the first charger 11. Thus, a first electrostatic latent image is formed on the photoconductor drum 10. The first development unit 12 develops the latent image with toners of the first color. Further, the laser beam emitted from the second laser device 3 is moved by the beam scan system 4 and propagates through the f-θ lens 5 and the mirror 8 to the photoconductor drum 10 which has been sensitized by the second charger 12. Thus, a second electrostatic latent image is formed on the photoconductor drum 10 and the second development unit 14 develops the latent image with toners of the second color. 
     Cassettes 21, 22, 23 and 24 for automatic paper feed are provided at a bottom portion of the laser printer 1 and a cassette 25 of an elevator type is provided at a side of a cabinet of the laser printer 1 as an option. The sizes and numbers of sheets of paper stored in the cassettes 21-25 are sensed by sensors SE11-SE15. A sheet of paper stored in the cassettes 21-25 is fed automatically by rollers 32 and 33 to a timing roller 34 and held there, or a sheet of paper is supplied by hand through a roller 42 to the timing roller 34. The sheet of paper is supplied further to the photoconductor drum 10 in synchronization with the formation of the toner image, and the charger 15 transfers the toner image to the sheet of paper. The paper is carried by a carriage belt 35 to a fixing unit 36 for fixing the toner image. 
     A reversal unit 50 comprises receive rollers 51, discharge rollers 52, reversal rollers 53, 54 and a switch-back path 58. Claws 56 and 57 can take one of two positions according to a selected mode. The reversal unit 50 is used with the claw 56 to receive a sheet of paper in the switch-back path 58 with the roller 51, 54 and to discharge the sheet of paper with the rollers 53, 54 to a tray 60 with its face down (non-reversal mode). It is also used to discharge a sheet of paper directly with the rollers 51, 52 to the tray 60 with its face up (reversal mode). It is further used with the claw 57 to send the sheet of paper to a re-feed path 38 for two print modes for printing images on two faces of the sheet (two-face print mode) and for printing a further image to form a synthesized image (synthesis print mode). In the two-face print mode, a sheet of paper is first carried to the switch-back path 58 and guided to the re-feed path 38 with the rollers 54, 55 and the claw 57. In the synthesis print mode, a sheet of paper is guided to the re-feed path 38 with the rollers 53, 55 and the claw 57 without reversing it. 
     The laser printer 1 has many sensors in order to grasp the operation condition to control the operation. It has the sensors SE11-SE15, as explained above, to check remaining sheets of paper in the cassettes 21-25. It has sensors (not shown) for checking toners remaining in the first and second development units 12, 14. In the re-feed path 38, three sensors SE1-SE3 are provided to determine a position of paper jam. Further, though not shown, there are provided three sensors for checking the openness of doors, three sensors for checking wear of components, sensors for checking errors of the first and second sensitizing chargers 11, 13, and the like. 
     The output signals of these sensors and the like correspond to statuses from which no statuses branch in a tree structure as shown in FIG. 4. The machine controller 100 manages the changes of the sensors between print operations. Usually, the status is set as &#34;1&#34; in a situation where there is no need to communicate with the printer controller 200. When it recognizes a change of a sensor output signal, a status signal of a status in correspondence to the sensor is changed from &#34;1&#34; to &#34;0&#34; or from &#34;0&#34; to &#34;1&#34;, and it transmits the information on the status to the printer controller 200. 
     FIG. 4 shows all statuses classified as a directed tree structure consisting of three layers of the laser printer 1. As mentioned above, the status signals for the statuses are stored in the memory 101 provided in the machine controller 100. 
     As shown in FIG. 4, five comprehensive statuses belongs to a first status group in a first or highest layer: &#34;Error&#34; status for representing states such as occurrence of no paper in a cassette and the like, &#34;warning&#34; status for representing states to be warned such as occurrence of no toners in a development unit, &#34;stop&#34; status for representing states such as motor error to stop the printer operation, &#34;standby&#34; status for representing states such as no fuse to bring the laser printer 1 to a standby state, and &#34;busy&#34; status for representing states that the laser printer 1 is under print operation. These statuses in the first status group represent the most comprehensive states to be managed by the machine controller 100 and the printer controller 200. The tree structures shown in FIG. 1 has only one status in the first layer for the simplicity of explanation. However, in general, the number of statuses in the first layer, or the most comprehensive states, is larger than one. 
     Four of the five statuses in the first status group in the first layer are branched to statuses in a second layer. For example, the error status in the first layer branches to four statuses in an 11-th status group in a second layer: &#34;No papers&#34; for representing states that there are no papers in one of the cassettes 21-24, &#34;no toners&#34; for representing states that no toners exist in one of the development units 12, 14, &#34;jam&#34; for representing states that a sheet of paper is not carried normally and &#34;open cover&#34; for representing states that covers are open. 
     Similarly, a status in the first layer branches to statuses in the second layer. The warning status branches to statuses of &#34;warn no toners&#34; and &#34;component change&#34; in an 11-th status group. The stop status branches to statuses of &#34;motor error&#34; &#34;charger error&#34; and &#34;sensor error&#34; in a 12-th status group. The standby status branches to statuses of &#34;no fuse&#34; and &#34;dirty polygon mirror&#34;. The busy status does not have any branches. 
     A status in the second layer branches to statuses in a third layer. The &#34;no paper&#34; status in the 11-th status group branches to four statuses of &#34;cassette 21&#34; &#34;cassette 22&#34; &#34;cassette 23&#34; and &#34;cassette 24&#34; in a 111-th status group for identifying a cassette wherein no papers exist. It is assumed here that the cassette 25 as an option is not attached. 
     Similarly, the &#34;no toners&#34; status branches to statuses of &#34;development unit 12&#34; and &#34;development unit 14&#34; in a 112-th status group for identifying a development unit wherein no toners exist. The jam status branches to statuses of &#34;first position&#34;, &#34;second position&#34; and &#34;third position&#34; in a 113-th status group for identifying a position at which a sheet of paper is detected. The open cover status branches to statuses of &#34;first cover&#34;, &#34;second cover&#34; and &#34;third cover&#34; in a 114-th status group for identifying an opened cover. 
     Further, the &#34;warn no toners&#34; status in the 12-th status group branches to statuses of &#34;development unit 12&#34; and &#34;development unit 14&#34; in a 121-th status group for identifying a development unit for which there is no toner warning. The &#34;component change&#34; status branches to statuses of &#34;first component&#34;, &#34;second component&#34; and &#34;third component&#34; in a 122-th status group for identifying a component on which a warning is given as to a change time for maintenance. The &#34;motor error&#34; status in the 13-group does not have any branches. The &#34;charger error&#34; status branches to statuses of &#34;sensitizing charger 11&#34; and &#34;sensitizing charger 12&#34; in a 132-th group for identifying a sensitizing charger on which an error is detected. The &#34;sensor error&#34; status does not have any branches. The &#34;no fuse&#34; status and the &#34;dirty polygon mirror&#34; status in the 14-th status group do not have any branches. 
     In the tree structure, it is to be noted that there is only one path from a status which does not have any branches to a status in the first layer. If a status which does not have any branches is changed, the other statuses along a path starting from that status are also changed successively. 
     There exist twelve status groups in the illustrated tree structure. Each status group may be stored as an array consisting of a plurality of bits. Each bit of the array corresponds to a status in the status group. 
     The memory 101 in the machine controller 100 stores all the statuses shown in FIG. 4. The machine controller 100 checks the sensors provided in the laser printer 1 during print operation. Each sensor corresponds to one status which does not have any branches. 
     When an output signal of at least one sensor is detected to be changed, the machine controller 100 rewrites a status in the lowest layer in correspondence to the sensor and statuses in the upper layers which include the status in the lowest layer. FIG. 5 shows a flowchart of status management of the machine controller 100. First, it is checked at step S10 if a sensor output signal is changed or not. If the answer is YES at step S10, the status in correspondence to the sensor is rewritten at step S12. If, for example, a sensor SE1 provided at the first position in the laser printer 1 detects a jam, the &#34;first position&#34; status in the 113-th status group in the third layer is rewritten from &#34;0&#34; to &#34;1&#34; in the memory 101. Next, it is checked at step S14 if the rewritten status has a comprehensive status thereof in an upper layer or not. If the answer is YES at step S14, the comprehensive status in the upper layer in correspondence to the rewritten status is rewritten at step S16. In the above-mentioned example, the jam status in the 11-th status group in the second layer as a comprehensive status of the statuses in the 113-th status group is rewritten from &#34;0&#34; to &#34;1&#34;. Otherwise, the flow returns to the main flow. Further, it is checked again at step S18 if the rewritten status has a comprehensive status thereof in an upper layer or not. If the answer is YES at step S18, the comprehensive status in the upper layer (or the first layer in this case) in correspondence to the rewritten status is rewritten at step S20. In the above-mentioned example, the error status in the first status group as a comprehensive status of the statuses in the 11-th status is rewritten from &#34;0&#34; to &#34;1&#34;. Then, the flow returns to the main flow. 
     Information on re-written statuses is transmitted by the machine controller 100 through the control interface 202 to the printer controller 200. As shown in FIG. 6, the data transmission to the printer controller 200 is carried out as soon as a change of status signal is detected. Therefore, the printer controller 200 has updated data always. 
     FIG. 6 shows a flowchart of transmission to the printer controller 200 of status information by the machine controller 100. The transmission processing is performed in response to an interrupt request inputted from the printer controller 200 to the machine controller 100 while other control processings including the status management of FIG. 5 are performed by the machine controller 100. When the machine controller 100 receives the interrupt request from the printer controller 200 during the other processings such as the status management, the machine controller 100 interrupts the other processing and performs the transmission processing. In the transmission, information on the rewritten statuses is sent from a status in the lowest layer. First, it is checked at step S30 if any status in the status groups in the third layer is changed or not. If the answer is YES at step S30, the information of the rewritten status (for example, first position) is transmitted to the printer controller 200 at step S32. Next, it is checked at step S34 if any status in the status groups in the second layer is changed or not. If the answer is YES at step S34, the information of the rewritten status (for example, jam) is transmitted to the printer controller 200 at step S36. Further, it is checked at step S38 if any status in the first status group in the first layer is changed or not. If the answer is YES at step S38, the information of the rewritten status (for example, error) is transmitted to the printer controller 200 at step S40. Then, the flow returns to the main flow. 
     The printer controller 200 rewrites values of status signals according to the information transmitted by the machine controller 100. When the printer controller 200 rewrites a status in the first layer, it has already rewritten corresponding statuses in the second and third layer according to the order of the transmitted statuses. After the status of the first layer is rewritten, the printer controller 200 performs status verification in order to grasp the states of the laser printer 1. In the status verification processing, it is to be noted that information on the rewritten statuses is verified from statuses in the first layer for the efficiency of search. Because the machine controller 100 has transmitted status information from a status from the lowest order among the rewritten statuses, even if information on the rewritten statuses is verified from statuses in the first layer, the verification can be performed without error. 
     FIG. 7 shows a flowchart of the status verification by the printer controller 200. First, status information transmitted from the machine controller 100 is stored in the memory 210. Then, it is checked at step S102 if any status in the first status group in the first layer is changed or not. If the answer is NO at step S102, the flow returns to the main flow readily. If the answer is YES at step S102, the rewritten status is verified at step S104. Next, it is checked at step S106 if the rewritten status has a status group belonging thereto in an lower layer or not. If the answer is YES at step S106, the rewritten status in the status group is verified at step S108. Further, it is checked again at step S110 if the rewritten status has a status group belonging thereto in a lower layer or not. If the answer is YES at step S110, the rewritten status in the status group is verified at step S112. Then, the flow returns to the main flow. 
     In the present embodiment, the printer controller is provided as a unit outside the printer. However, the printer controller may be provided inside the printer. 
     Although the present invention has been fully described in connection with the preferred embodiments thereof with reference to the accompanying drawings, it is to be noted that various changes and modifications are apparent to those skilled in the art. Such changes and modifications are to be understood as included within the scope of the present invention as defined by the appended claims unless they depart therefrom.