Inspection prompting and reading recording system5399844Abstract An inspection prompting and reading recording system includes a portable computer having a display, a keyboard, a bar scanner, a memory, a processor, and a sound generator. Each group of components is provided with a respective bar code label. When the computer system scans one of these bar code labels, it automatically prompts an inspector to enter appropriate readings for the components of that group. These readings are checked against stored expected responses and the inspector is warned of an abnormal condition. The readings that make up the inspection for each group are stored in the computer system in component files, and the groups identify readings to be taken by listing the separate components. In this way, memory requirements of the computer system are reduced. Readings entered by an inspector are stored in a data module for later processing and use. Claims I claim: Description BACKGROUND OF THE INVENTION
TABLE 1
______________________________________
Inspection Defining Module
______________________________________
A. Route File A list of groups in the route, including the
following information for each group:
GBAR Group Bar Code, used as a pointer to
Group File;
GDESC Identifying message to be displayed for
individual group;
CHECKED Group Flag that starts equal to zero but is
changed to one after group has been
checked.
B. Group File A list of components that make up each
group, including the following information
for each component:
GBAR Group Bar Code;
CSERIAL Component Type Identifier, used as a
pointer to Reading File and Component
File;
GCSERIAL Identifier for individual component;
GCIDENT Supplemental description to be displayed for
individual component.
C. Reading File
A list of readings to be prompted and
recorded for each component type, includ-
ing the following information for each
reading:
CSERIAL Component Type Identifier;
RNAME Identifying message for reading to be
displayed as a prompt message;
RSERIAL Reading identifier;
LOW Lower limit or valid option, depending on
Response Code;
HIGH Upper limit or valid option, depending on
Response Code;
RCODE Response Code, used as a pointer to
Response File.
D. Response File
A list of Response Codes, including the
following information for each Response
Code:
RCODE Response Code;
RTYPE Reading response type: O = multiple
choice, R = numerical entry;
RTEXT Key identifying message to be displayed
with RNAME for multiple choice readings.
E. Inspector File
A list of valid inspector identification
numbers (IID).
F. Incident File
A list of valid incident codes (ICODE),
with a confirming message for each.
G. Component File
A list of component names to be displayed
(CDESC).
______________________________________
As apparent from Table 1, the Route File is a list of groups of components in the route, and each of the groups is characterized by a distinctive group bar code, which is contained on a respective machine readable label. As described below, these machine readable labels are placed near the physical location of the respective groups of components. The Group File provides a list of components that make up each of the groups. In this connection, a component is a piece of physical equipment to be inspected, and each component is characterized by a Component Type Identifier (CSERIAL), which is used as a pointer to a Reading File. In this way, the readings required for any particular type of component are stored only once, thereby reducing memory requirements and simplifying programming. For example, if during an inspection a certain type of component is inspected ten times, the information stored for prompting the readings for these ten separate inspections is stored only once in the Reading File. The Reading File provides a list of readings to be prompted and recorded for each component type. Note that the Reading File includes a Response Code that is used as a pointer to the Response File for the particular reading. The Reading File may also include information which specifies the expected responses (upper and lower limits for numerical readings, or the particular multiple choice readings) which are considered normal. The Response File provides an indication of the response type that is expected in response to the reading prompt (multiple choice or numerical entry), along with key identifying messages for individual multiple choice readings. For example, in this embodiment when the variable RTYPE is equal to 0 the expected user supplied reading is a multiple choice selection (such as an on/off reading), while when the variable RTYPE is equal to R, the expected user supplied reading is a numerical entry (such as a pressure reading or a temperature reading). The inspection defining module also includes an Inspector File that lists the valid inspector identification numbers, an Incident File that lists the valid incident codes and a confirming message for each, and a Component File that lists the component names. Incident codes are used by an inspector to record incidents, actions taken, or abnormal conditions. For example, the inspector can be provided with a card having a list of bar codes with the name of an incident, action, or condition associated with each bar code. The inspector can then scan the respective bar code when he wishes to record an incident, action taken or condition, thereby causing the appropriate incident code to be read by the label reader 20 of the portable computer system 10. FIG. 3 provides a schematic representation of the data module 32 of this embodiment. On occasion in the following discussion the contents of the data module will be referred to as an inspection log. This log includes a series of entries, and each entry is one of four types. The initial entry in the log is identified as a G entry, and it includes the inspector identification number (IID) and a time and date stamp. The time and date stamp is indicated by the symbol "TD" in FIG. 3. The second type of entry in the log is a group bar code entry indicated by the symbol "E". This entry includes the group bar code (GBAR) of a scanned machine readable label, along with a time and date stamp. The third type of entry in the log is a reading entry, indicated by the symbol "R". Each reading entry includes a user supplied reading (either a numerical reading or a multiple choice reading) and a time and date stamp. The fourth type of entry is an incident entry which is preceded by the symbol "I" and includes the incident code (ICODE) and a time and date stamp. Thus, the data module 32 records the information collected by the portable computer system 10 during an inspection. This information can readily be downloaded from the portable computer system 10 to a report generating computer (not shown) which can readily be programmed to use this information to generate appropriate reports summarizing the results of the inspection. FIGS. 4 through 14 are flow charts that define the program stored in the program module 28 of this embodiment. These flow charts will be discussed generally, and an example will be provided illustrating the operation of the computer system 10. Attached Appendix A is a printout of the program that is flow charted in FIGS. 4 through 14. This listing is intended as the primary disclosure, and in the event of any inconsistency between the listing and the flow chart, it is the listing that is to control. Appendix A also includes a listing for a report generating computer (not shown) that loads the inspection defining module 30 and generates reports based on the contents of the data module 28. Turning now to FIGS. 4 through 14, each of these figures is a flow chart of a respective routine included in the program module 28. The routine of FIG. 4 is the Program Start Routine, which is executed initially when power is supplied to the portable computer system 10. The Program Start Routine initially checks and displays the operating system version and the battery voltage, and then initializes appropriate variables and system settings. The routine then displays the main menu and waits for the inspector to press an appropriate key: the MODE key is used to shut down the computer system (FIG. 14), the F3 key is used to initiate routines (not shown) used to exchange data between the portable computer system 10 and the report generating computer, and the F4 key is used to perform miscellaneous functions (not specifically shown in the drawings). In the flow chart, the term "wand" is on occasion used to designate the portable computer system 10, and the term "PC" is on occasion used to designate the report generating computer (not shown). In the event an inspector wishes to initiate an inspection the appropriate action is to press the F1 key, which transfers control to the Get Inspector ID Routine of FIG. 5. As shown in FIG. 5, this routine first waits for an inspector ID number to be supplied via the keyboard 18. If the MODE key is pressed control branches to the Shut Down Routine of FIG. 14. If an ID number is supplied, the routine checks to determine whether the supplied ID number is present in the Inspector File. If not, an error message is displayed and control is returned to block 40. On the other hand, if the entered ID number corresponds to one of the stored inspector identification numbers (IID) then a G record is written into the log file in the data module 32, and control is transferred to the Get Group Bar Code Routine of FIG. 6. The Get Group Bar Code Routine recognizes a scanned group bar code and enters the appropriate E record in the log file. As shown in FIG. 6, this routine first waits for an appropriate data entry. If the MODE key is pressed control is transferred to the Review Unchecked Groups Routine of FIG. 13. In the normal course of events, the next data entry is a bar code input from the label reader 20. Once such a bar code input is received it is evaluated. First, if the scanned bar code input is equal to XX the prompt "Done With Route?" is displayed. If the inspector presses the yes button, control is transferred to the Shut Down Routine of FIG. 14. Otherwise control is returned to block 42. If the bar code input is equal to "ZZ" this is taken as an indication that further information from the keyboard 18 is to be recorded and written into the log file as an I record in block 44, before returning control to block 42. The bar code length is then checked to determine whether or not it is equal to two. If so, the scanned bar code input is used as a pointer for the list of valid incident codes (ICODE) in the Incident File. If the scanned bar code corresponds to one of the listed valid incident codes, the appropriate I record is written to the log file in block 44 and control is returned to block 42. Otherwise, an invalid entry message is displayed and control is returned to block 42. In this embodiment all of the Group Bar Codes are more than two characters in length, and if the bar code input is not equal to two characters in length, the Get Group Bar Code Routine then looks up the bar code in the Route File in block 46. If the bar code input corresponds to one of the stored values GBAR, an E record is written in the log file and control is transferred to the Component Loop Routine of FIG. 7. Otherwise, an invalid entry error message is displayed and control is returned to block 42. The Component Loop Routine of FIG. 7 initially starts at the top of the Group File and looks for the first component (CSERIAL) of the currently active group (GBAR). If no component is found an error message is displayed ("No Components For This Group") and the variable CHECKED is set equal to one in the Route File for the appropriate group, to indicate that this group has been checked. Then control is returned to the Get Group Bar Code Routine of FIG. 6. Assuming a component is found in block 48, the routine of FIG. 7 then looks up the component name (CDESC) in the Component File and displays the complete component name (GCIDENT and CDESC) before transferring control to the Reading Loop Routine of FIG. 8. Subsequent entries to the Component Loop Routine of FIG. 7 are via the entry point 3A, and they operate similarly to the portions of the routine described above. The Reading Loop Routine of FIG. 8 starts on initial entry at the top of the Reading File and looks for the first reading (RSERIAL) to be taken for the respective component. If no reading is found the variable CHECKED is set equal to one in the appropriate group, indicating that all readings have been taken for that group, and control is returned to the Get Group Bar Code Routine of FIG. 7. Assuming a reading is found in block 50, the appropriate response type (RTYPE) is looked up in the Response File, and the reading prompt (RNAME) is displayed. Control then branches depending upon whether or not the expected reading is a multiple choice reading or a numerical entry reading, as indicated by the variable RTYPE. In the event the expected reading is a multiple choice reading, the key identifying message is displayed and control is transferred to the Multiple Choice Reading Routine of FIG. 9. In the event the expected reading is a numerical entry, control is transferred to the Numerical Reading Routine of FIG. 10. As shown in FIG. 9, when the expected reading is a multiple choice reading the routine first waits for a key press or a scan of a machine readable label. In the event the N key is pressed, an R record is written to the log file indicating that there was no applicable reading taken, and control is returned to the reading loop of FIG. 8. In the event a bar code is scanned, the scanned bar code is compared with XX, ZZ and the valid incident codes, all in a manner similar to that described above in conjunction with FIG. 6. In the event a key is pressed that is not equal to N, the routine then checks in block 52 to determine whether or not the routine is to test for an abnormal reading. If so, the routine compares in block 54 the reading entered by the inspector with information stored in the variables LOW and HIGH indicating the expected response or responses that are considered normal readings. The routine of FIG. 9 deals with multiple choice readings, and a normal reading may be yes, no, on, off, or the like. In the event the reading entered by the user is the expected response (indicative of a normal condition) the appropriate R record is written in the log file and control is returned to the Reading Loop Routine of FIG. 8. Otherwise, a warning message is displayed, and control is transferred to the Get Resolution Codes Routine of FIG. 11. FIG. 10 shows the Numerical Reading Routine used when the reading type designated by the variable RTYPE is a numerical entry. This routine waits in block 56 for scan of a bar code from the label reader 20 or a key press from the keyboard 18. Bar codes are handled in the same manner as in the multiple choice reading routine of FIG. 9, as is the entry of the character N. If the entry is neither the character N nor a bar code, the routine checks in block 58 to determine whether the inspector supplied reading is to be tested against upper and lower limits. If not, the appropriate R record is recorded in the log file and control is returned to the Reading Loop Routine of FIG. 8. Otherwise, the routine compares the inspector supplied reading with the upper and lower limits of the variables LOW and HIGH in block 60. If the numerical reading supplied by the inspector is within the stored limits, the appropriate R record is stored in the log file. Otherwise, a warning message is displayed, and control is transferred to the Get Resolution Code Routine of FIG. 11. The Get Resolution Code Routine of FIG. 11 waits in block 62 for a scan of a resolution code from the label reader 20. If the scanned bar code does not have a length of two, an invalid entry error message is displayed and control is returned to block 62. If the scanned bar code is equal to ZZ, this is taken as a confirmation by the inspector that the previously entered reading was incorrect, and control is returned to the Reading Loop Routine of FIG. 8. If the scanned bar code is equal to ZZ the routine accepts a further keyboard entry as descriptive of an incident and then writes the appropriate R record and I record to the log file before transferring control to the Get Additional Resolution Codes Routine of FIG. 12. If the scanned bar code has a length of two and is not equal to VV or ZZ, the routine then looks up the scanned bar code in the Incident File, and if the scanned bar code corresponds to a valid incident code control is transferred to block 64. Otherwise, invalid entry error message is displayed and control is returned to block 62. The Get Additional Resolution Codes Routine of FIG. 12 first waits in block 66 for a bar code scan from the label reader. If the scanned bar code has an input length of zero, control is transferred to the Get Group Bar Code Routine of FIG. 6. Otherwise, if the scanned bar code length is not equal to two an error message is displayed and control is returned to block 66. If the bar code is equal to ZZ keyboard entries are accepted as defining an incident and an appropriate I record is recorded in the log file before transferring control to block 66. Otherwise the scanned bar code is used as a pointer to the Incident File and the appropriate I record is recorded before transferring control to block 66. FIG. 13 is a flow chart of the Review Unchecked Groups Routine, which can be entered from the Get Group Bar Code Routine of FIG. 6. The routine of FIG. 13 starts at the top of the Route File and reads a record from the Route File. If this record is the end of file record, the message "End of Unchecked Groups" is displayed and control is returned to the Get Group Bar Code routine of FIG. 6. Otherwise, if the variable CHECKED for the respective group is equal to zero the group name is displayed until a key is pressed. If the key is the F4 key control is returned to block 68 to get the next record from the route file. If the pressed key is the MODE key control is transferred to the Get Group Bar Code Routine of FIG. 6. If the variable CHECKED is not equal to zero, this is taken as an indication that the respective group has been checked, and control is returned to block 68. In this way, the inspector can confirm whether or not all of the groups in the inspection have been checked, and if not can receive an indication of the names of the remaining unchecked groups. This assists an inspector in completing the inspection without inadvertently leaving groups unchecked. The Shut Down Routine of FIG. 14 is executed on command to close files, reset variables, and place the portable computer system in a standby mode. Having described the program module 28, the inspection defining module 30, and the data module 32, it is now possible to illustrate the operation of the portable computer system 10 in a concrete example. This example is, of course, highly simplified, but it nevertheless illustrates important points in the operation of the system 10. This example is organized around the groups of components illustrated in FIG. 15. As shown in FIG. 15, there are three groups in this example, identified by the symbols 70, 72 and 74. Each of the groups 70, 72, 74 includes a respective machine readable label 76. These labels 76 are physically applied in the vicinity of the respective components, and the labels 76 are readable by the label reader 20. In this example, the labels 76 are optical bar code labels as indicated in FIG. 15. The group 70 is in this example identified as the South Catwalk Group, and it includes two components, the Metering Module and the Distribution Panel. The Recirculation Area Group 72 includes a single component, the Recirculation Module, and the Boiler Area Group 74 includes a single component, the Boiler. Each of the components is to be inspected by the inspector, who is to record readings regarding the states of each of the components. FIG. 16 provides in schematic form information regarding the two components included in the South Catwalk Group 70. Note that each of the components is associated with multiple readings, and that each reading includes a reading prompt (RNAME). Each multiple choice reading includes a key identifying message (RTEXT), and some of the readings include expected response information (LOW and HIGH). The reading prompt (RNAME) is displayed on the display 22 to describe the reading to be taken by the inspector. The key identifying message (RTEXT) is displayed on the display 22 to indicate to the inspector the choices available for a multiple choice reading. The expected response information is not displayed, but is used by the computer system 10 to test for abnormal conditions. FIGS. 17 and 18 illustrate the displays for two of the readings shown in FIG. 16. In the first reading, the inspector is prompted to inspect the Metering Module and to determine whether the metering pump is running. Note that the lowermost line of the display includes the reading type prompts "YES" and "NO", aligned respectively with the buttons F1 and F4. These prompts are used to indicate that pressing the button F1 indicates that the metering pump is running, while pressing the button F4 indicates that the metering pump is not running. This is an example of a multiple choice reading. FIG. 18 provides an example of a numerical reading, such as the third reading of FIG. 16. In this reading the inspector is prompted to enter the water supply pressure for the Metering Module. The last line of the display in this example includes the number 62, which is the numerical reading actually entered by the inspector. In use, the inspector scans the machine readable labels 76 for the individual groups of components in any desired order. Returning to FIG. 15, if the Inspector scans the label 76 for the Recirculation Area Group 72, the portable computer system 10 automatically determines which components are included in the scanned group, and then automatically prompts the inspector to take the required readings for those components. Once a reading is entered, the computer system 10 checks to determine if the entered reading is of the expected type, i.e., multiple choice or numerical entry. If not, the reading is not stored in the log file. Assuming the inspector supplied reading is of the expected type, the system 10 then checks to determine whether or not the inspector supplied reading is indicative of an abnormal condition. The abnormal condition check is optional, and is not required for all readings. However, if an abnormal condition is indicated, the computer system 10 generates a warning signal, for example a warning tone and an error message, to alert the inspector to check the most recent reading for accuracy. The inspector can also add incident codes identifying an abnormality, an action that was taken, or an action that should be taken. All of this information is recorded in the log file for later use. When all of the readings for a particular group have been taken, the inspector is prompted to scan the machine readable label 76 for a next group. This process continues until all of the readings of the all of the components of all of the groups have been taken. The inspector can, if necessary, obtain an indication of whether any unchecked groups remain, and if so, the names of the unchecked groups. FIG. 19 is an example of a report that can be generated by a report generating computer (not shown) in response to the log file of the data module 32. After an inspection is completed, the log file contained in the data module 32 can be downloaded into a report generating computer (now shown) which utilizes the entries of the log file to generate a report such as that shown in FIG. 19. This report identifies the groups, components, and readings of the inspection, along with the actually entered readings and the expected responses. In addition, time and date stamps are provided, in this case only for the time and date the machine readable labels 76 were scanned. This report also lists all incidents recorded by the inspector such as "Required Action Taken" or "Report To Supervisor". Also, out of range readings are automatically flagged. Of course, many other reports are possible. For example, reports can be generated that only indicate abnormal conditions, out of range or incorrect conditions, or equipment groups not checked. Also, reports can be generated that automatically list work order reports by craft for abnormalities that require more attention. Additionally, historical reports can be generated for individual components, equipment groups, inspectors, abnormalities or the like. From the foregoing description it should be apparent that the preferred embodiment described above provides many advantages. Significantly, the system 10 combines bar code technology with prompting technology such that only a limited number of machine readable labels must be scanned, yet the user is efficiently prompted to complete the inspection. This eliminates the inefficiency of a multitude of machine readable labels which must each be found and scanned to complete the inspection. Furthermore, the inspection is well documented and supervisors are provided with a tamper-proof record of when inspections were made. Because the inspector must actually be in the physical vicinity of the components to scan the machine readable labels, the possibility of a fabricated inspection is generally reduced. The system 10 eliminates or reduces handwritten entries, and it allows reports to be generated efficiently without transcription errors. Paperwork is substantially eliminated. Also, the system 10 allows the inspector to take gauge readings quickly and accurately, and by automatically flagging an abnormal condition the system encourages an inspector to confirm that an abnormal condition is real rather than the result of an erroneous data entry. All of these features combine to provide a system with excellent efficiency of operation and use. Of course, if should be understood that a wide range of changes and modifications can be made to the preferred embodiment described above. A wide variety of hardware can be used to implement this invention, and it is certainly not limited to the particular details of construction described above. Additionally, those skilled in the art will recognize that a wide variety of programming techniques can be used to implement the functions described above, and it is not intended that this invention be limited to the specific programming techniques illustrated in the drawings or included in the enclosed listing.. Also, the various aspects of this invention can be used separately rather than in combination. For example, a system employing the first aspect of this invention as described above need not necessarily test readings for abnormal conditions, and a system employing the second aspect of this invention as defined above need not organize the inspection defining module in terms of components rather than readings. Though the use of machine readable labels and a label reader is preferred, some alternative embodiments include neither. Such embodiments may rely on the inspector to enter identifying data for the group manually via the keyboard of the system 10. It is therefore intended that the foregoing detailed description be regarded as illustrative rather than limiting, and that it be understood that it is the following claims, including all equivalents, which are intended to define the scope of this invention.
|
Same subclass Same class Consider this |
||||||||||
