Electronic survey Instrument

Abstract: An electronic survey instrument which is controlled in accordance with a computer program to restore normally a display image and a count value immediately before a power cut-off time when a power source is cut off and then resumed. The instrument includes a main system for operating in accordance with a survey program, and plural subsystems for operating based on a control signal from the main system. The main system includes resume means for saving information into a memory immediately before a power-off time and restoring the information saved in the memory at the next power-on time; means for storing end information representing that information has been saved into a memory to cut normally a power source off; and means for canceling an information restoring process by the resume means at the next power-on time when the end information has not been stored in the memory means.

Description: The present invention relates to an electronic survey instrument. Recently, as for various survey instruments having distance and angle measuring functions, many electronic survey instruments which are controlled based on a computer program have been proposed. In the conventional electronic survey instruments, since a data recorder connected to a survey instrument records survey data, when the power source therefor is cut off during surveying or after a surveying completion, the measurement data are stored on a recording portion in the data recorder. However, a display image and count values displayed on a display device of the survey instrument are cleared due to a power-off operation. Hence, when the system is resumed by the next power-on operation, it is needed to update a display image and to load it to a predetermined count value. GB-A-2 229 822 discloses an electronic survey instrument having a main system operating according to a surveying program, subsystems connected to the main system, a keyboard and a display. Such systems usually comprise a resume function intended to save current data immediately prior to a power cut-off. EP-A-0 415 376 discloses a system having a resume function for saving data in case of a power turn-off. Even when the system is not in the resume mode, the main system (CPU) data are saved and the power supply is turned off, if the battery is dismounted or the display section is removed from the body of the computer unit. The present invention provides an electronic survey instrument which can restore normally a display image, count values and so on immediately before a power-off time, when a power source is cut off and then resumed. Particularly, in the case where a power source is unexpectedly cut off or a battery, for example, is suddenly taken out, a runaway (or a crush) may occur at the time of the next power-on operation because a program will seek for information which should be restored from a memory in vain or will find improper information. The object of the present invention to provide an electronic survey instrument which can restore information saved in a memory at the following power-on time only in the case that the latest power-off operation was normally effected. The electronic survey instrument according to the present invention includes the features of claim 1. The main system includes resume means for saving information into a memory immediately before a power source is cut off and for restoring the information stored in the memory at the next power-on time; means for storing end information indicating that information saving process to the memory has been performed to cut normally off a power source; and canceling means for canceling an information restoring process by the resume means at the next power-on time in the case the end information has not been stored. Therefore, according to the electronic survey instrument of the present invention, since end information is stored in a normal power-off state, the information stored in a memory can be restored at the following power-on time only when the end information has been stored. No end information stored means that a power source has not been normally cut off. In this case, the canceling means cancels the restoring process, thus preventing a system runaway. These and other objects of the present invention will become apparent from the following drawings and detailed description taken in connection with the drawings. BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a general diagram showing an electronic survey instrument according to the present invention; Fig. 2 is a block diagram showing a relationship between principal systems; Fig. 3 is a flow chart showing a process ranging from a power-on operation to a main program loading and executing operation; Fig. 4 is a subroutine for "establishment of communication with subsystems" shown in the step 2; Fig. 5 is a subroutine for "establishment of communication with front display subsystem" shown in the step 2-5; Fig. 6 is a subroutine for "establishment of communication with rear display subsystem" shown in the step 2-6; Fig. 7 is a subroutine for "establishment of communication with angle measurement subsystem" shown in the step 2-7; Fig. 8 is a subroutine for "establishment of communication with inclination sensor subsystem" shown in the step 2-8; Fig. 9 is a subroutine for "establishment of communication with distance measurement subsystem" shown in the step 2-9; Fig. 10 is a subroutine for "establishment of communication with power source subsystem" shown in the step 2-10; Fig. 11 is a subroutine for "initialization of subsystems" shown in the step 3; Fig. 12 is a subroutine for "initialization of front display subsystem" shown in the step 3-1; Fig. 13 is a subroutine for "initialization of rear display subsystem" shown in the step 3-2; Fig. 14 is a subroutine for "initialization of side angle subsystem" shown in the step 3-3; Fig. 15 is a subroutine for "initialization of inclination sensor subsystem" shown in the step 3-4; Fig. 16 is a subroutine for "initialization of distance measurement subsystem" shown in the step 3-5; Fig. 17 is a subroutine for "initialization of power source subsystem" shown in the step 3-6; Fig. 18 is a subroutine for "wait for zero point crossing of telescope" shown in the step 6; Fig. 19 is a subroutine for "resume process" shown in the step 8; Fig. 20 is a subroutine for "activation of program from drive C" shown in the step 11; Fig. 21 is a subroutine for "activation of program from drive B" shown in the step 13; Fig. 22 is a subroutine "loading and execution of main program" shown in the step 14; Fig. 23 is a subroutine for "key entry process"; Fig. 24 is a subroutine for "power-off process" shown in the step 15-2; Fig. 25 is a subroutine for "automatic cut-off process" shown in the step 15-4; Fig. 26 is a subroutine for "power saving mode process" shown in the step 15-2-4; and Fig. 27 is a subroutine for "shutdown process" shown in the step 15-2-6. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Fig. 1 is a general diagram of an electronic survey instrument of the present invention. Fig. 2 is a block diagram showing a relationship between main systems. An embodiment of the electronic survey instrument according to the present invention will be explained with reference to Figs. 1 and 2. The electronic survey instrument includes a battery (not shown) within a housing 10, and a main system operated with a main CPU 20. The electronic survey instrument also includes a distance measurement subsystem 30 acting as a measurement subsystem A to survey actually; an angle measurement subsystem 32; an inclination sensor subsystem 33; a rear display subsystem 34 acting as a display subsystem B; a front display subsystem 35; a power source subsystem 37; and the other elements. Two memory card insertion slots are arranged on the upper and lower portions of the electronic survey instrument. A key board is connected to each of the rear display subsystem 34 and the front display subsystem 35. The main CPU 20 which operates a main system in accordance with a distance measurement program is arranged in the main system while sub-CPUs are arranged to corresponding various subsystems. The sub-CPUs are connected to the main CPU 20 via a communication interface 12 so as to perform a two-way communications. In concrete, as shown in Fig. 2, the main CPU 20 is connected to plural sub-CPUs 40, 41 to 45, and 47 via the bus 13 and a communication interface 12. The single main CPU 20 is connected to the plural sub-CPUs by parallel bus lines so that it can communicate to only one sub-CPU at a time. As a sub-CPU are included a distance measurement CPU 40 for operating the distance measurement subsystem 30; an angle measurement CPU 42 for operating the angle measurement subsystem 32; an inclination CPU 43 for operating the inclination sensor subsystem 33; a rear CPU 44 for operating the rear display subsystem 34; a front CPU 45 for operating the front display subsystem 35; a power source CPU 47 for operating the power source subsystem 37; and the like. Each sub-CPU includes both a communication portion to the main CPU 20 and a command operation portion each operating as an operating system. Moreover, each sub-CPU includes an application portion having both a system initializing portion and plural commands. Referring to Fig. 2, a ROM 14 for a general purpose operating system memory, a RAM 15, and a memory card interface 16 for interchanging data between memory cards 17 are connected to the bus 13. Explanation will be made below as for a manipulation and operation of the electronic survey instrument according to the present invention, with reference to the flow charts shown in Figs. 3 to 27. In Fig. 3, the flow chart shows a general main routine ranging from a step that the electronic survey instrument of the present embodiment is powered on to a step that a main program is loaded and then executed. When the power source is turned on, the hardware is first initialized (step 1). Then, whether communications between the main CPU 20 and all the subsystems are normally established is checked (step 2). All the subsystems are initialized (step 3). Next, a horizontal angle saved immediately before the power source is turned off is restored in the step 4. That is, horizontal angle information is restored based on horizontal angle data immediately before a power-off time saved in a backup region of a main memory. It is originally necessary to restore both the horizontal angle and the elevation angle. However, since the elevation angle information can be obtained easily in the following step 5, only the horizontal angle information which is difficult to obtain is obtained in this step. In the step 5, a zero-point crossing of an elevation angle is awaited. In the elevation angle measurement, the zero point of an elevation angle measuring encoder agrees with a reference direction, that is horizontal or vertical direction, of the optical axis of a telescope, it is necessary to perform a zero resetting operation at the reference position. This procedure is completed by rotating the optical axis of the telescope on the vertical plane and then resetting the count value of an encoder to zero when the telescope is agreed in the reference direction. In the present embodiment, since the optical axis of the telescope agrees with the horizontal direction with respect to the reference direction, the zero point crossing can be completed by rotating slightly the optical axis of the telescope. In the step 5, when it is judged that there is a zero point crossing waiting, the step 6 shown with the subroutine (to be described later) is executed. After the telescope has crossed the zero point, the process goes to the step 7. When the telescope does not cross the zero point, the process skips the step 6 but goes to the step 7. In the step 7, whether the resume process has been done at the previous power-off time is judged based on whether a resume flag is set. When a resume flag is set, the process goes to the subroutine regarding "resume process" in the step 8. In this case, the resume process restores an original program counter in addition to a display immediately before a power-off time, an operational status of a subsystem, illumination and the like. When a resume process has not been performed, a default drive A is set in the step 9. The drive A is a read-only drive formed as a ROM and stores a program that the survey instrument performs an operation necessary at a minimum. After the default drive is set to A, the activation information of the drive C is checked (step 10). The drive C is a drive for having an access with the memory card 17 inserted into the memory card insertion slot 11a shown in Fig. 1. Hence, in the step 10, it is checked on whether the memory card 17 to be read with the drive C is inserted into the memory card insertion slot 11a corresponding to the drive C. When affirmation is obtained in the step 10, the program from the drive C is activated in the subroutine shown in the step 11. In the case where the main program is utilized at the activation or it is judged that the memory card 17 to be read with the drive C has not been inserted into the memory card insertion slot 11a in the step 11, the activation information for the drive B is checked in the step 12. The drive B is a drive that has an access with the memory card 17 inserted into the memory card insertion slot 11b. Hence, in the step 12, it is judged whether the memory card 17 to be read with the drive B has been inserted into the memory card insertion slot 11b. When affirmation is obtained in the step 12, the program from the drive B is activated with a subroutine shown in Fig. 13. In the case where the main program is utilized at the activation or it is judged that the memory card 17 to be read with the drive B has not been inserted into the memory card insertion slot 11b in the step 12, the main program is loaded and executed in the step 14. Explanation will be made below as for "establishment of communication with subsystems" shown in the step 2 as the subroutine in Fig. 3, with reference to Fig. 4. A limited time, or a maximum response waiting time to communicate the CPU 20 with subsystems, is set in the step 2-1. The limited time setting is made to prevent a hang-up when communication is disabled due to a failure or other causes. In the present embodiment, the limited time is set to 200 ms but it can be varied with an application program. In the step 2-2, when number of times retransmission, or the limited time set in the step 2-1, has passed, or abnormal data has been received, the allowable number of times retransmission is set. Setting the number of times retransmission prevents the retransmission from being endlessly repeated. In the present embodiment, the number of times the retransmission is set 16, but it can be varied in accordance with an application program. Next, the maximum subsystem number is set in the step 2-3. Each subsystem is specified by a predetermined number. In this case, number is set to the maximum number of subsystems to be connected. In actual, six subsystems are set, including the front display subsystem 35, the rear display subsystem 34, the angle measurement subsystem 32, the inclination sensor subsystem 33, the distance measurement subsystem 30, and the power source subsystem 37. Then, in the step 2-4, when there are polling priority orders, or data output requests issued from plural subsystems at one time, a data output priority is set to a specific subsystem. In concrete, a priority is set to a subsystem with a fast data updating period to provide an improved response characteristic. An angle measurement subsystem which can update in about 50 ms is listed as a subsystem with a fast data updating period. The distance measurement subsystem updates data at about 0.5 to 3 seconds, in contrast to the angle measurement subsystem. Next, communication to each of subsystems is established in the steps 2-5 to the steps 2-10. These steps will be further described in detail with reference to the subroutines shown in Figs. 5 to 10. The order of communication establishment to each subsystem, described above, is not important. Fig. 5 shows the subroutine for the steps 2-5. In the step 2-5-1, a response confirmation request is first made to the front display subsystem. When there is a response, communication to the front display subsystem is established and then the subsystem is terminated. When there is no response, an error number is outputted to a reference output (step 2-5-2). A communication output port portion is allocated as the reference output. The display portion may be allocated as the reference output. In the present embodiment, an error number is outputted to a communication output port with a small number of components and with low failure probability. In each subroutine shown in Figs. 6 to 10, a response confirmation is requested to each subsystem. When there is a response, it is judged that communication is in an acceptance state. When there is no response, the same control as that described with Fig. 5 is performed to output an error number to a reference output. Hence the detailed explanation will be omitted. Next, a detail explanation will be made below as for "subsystem initialization" shown in the step 3. In the steps 3-1 to 3-6 shown in Fig. 11, all the subsystems in the electronic survey instrument according to the present embodiment are sequentially initialized. Here, the order of an initialization of each subsystem is not particularly important. First, control regarding "front display subsystem initialization" shown in the step 3-1 will be explained in detail with reference to Fig. 12. For initialization, a display buffer is first cleared in the step 3-1-1. Then, a display font, an attribute, and a letter size are set in the step 3-1-2. At first, it is needed to set an initial value by selecting freely the size and shape of letter displayed on the front display portion. An image field to be drawn is set in the next step 3-1-3. Since three physical image fields and three virtual image fields to be synthesized and displayed, it is needed to designate a specific image field to be displayed at a drawing time. Usually, a virtual image field used best of all is set as the image field to be drawn. Next, an image mode displayed on the front subsystem, or an image mode setting an arithmetic operation between three physical image fields, flashing, depth or the like, is performed in the step 3-1-4. Here, an arithmetic operation means an operation regarding a logical product or logical sum between liquid crystal layers of three physical image fields. By performing such an operation, a suitable image is displayed as one image. An animation display of an icon representing "being at work" is started in the step 3-1-5. The display portion can display an animation image representing a waiting time independently of other controls. After an initiation of this step, an animation mode is set to swing the image till a program activation image is actually established so that a lapse of time is displayed. In concrete, an hourglass animated on a screen displays a lapse of time till a program activation screen is established. In order to initialize the rear display subsystem shown in Fig. 13, a display buffer is cleared (in the step 3-2-1) while an image mode is set (in the step 3-2-2). Since each step is same as that in Fig. 12, a detail explanation is omitted. Next, explanation will be made as for "angle measurement subsystem initialization" shown in the step 3-3, with reference to Fig. 14. First, the number of times measurement is set to obtain a data average (step 3-3-1). That is, conventionally, it has been done to eliminate errors by performing a measuring operation in an angle measurement plural number of times to obtain an average value. However, in the present embodiment, the number of times measurement is set when the main CPU 20 is activated. In concrete, an average is calculated by performing an angle measurement 16 times for 50 ms. However, an application program can vary time and number of times. Next, a unit system of output angle is set (in the step 3-3-2). Degree data can be outputted using as an output angle unit system in the angle measurement portion an unit system selected from degree-minute-second, GON, MIL6400, MIL600, and radian. When a power source is switched on, the output system is set to a default unit using degree-minute-second. Next, a judging requirement for stability of degree measurement value is set in the step 3-3-3. The degree measurement portion outputs a flag indicating a stability of degree under measuring in addition to degree data. When data is not stable, for example, during a rotation of a telescope, a rough calculation is made in accordance with the flag to improve the response characteristic of a degree display. Hence, it is necessary to set an output requirement of the flag at an activation time. In the embodiment, it is judged that data is stable when the angle is maintained for 30 seconds or more after measuring a degree ten times. However, an application program can set other stable requirements. Thereafter, a data output enabling state is set in the step 3-3-4. Then, a measurement starting command is transmitted in the step 3-3-5. Next, explanation will be made as for an initialization of an inclination sensor subsystem shown in the step 3-4, with reference to Fig. 15. The inclination sensor subsystem is a program which process an output from an inclination sensor built in to detect the slope of a survey instrument with respect to a level direction. The control, performed in the steps 3-3-1 and 3-3-2, is similarly performed in the steps 3-4-1 and 3-4-2. In the steps 3-4-3 and 3-4-4, a data output enabling state is set and a measurement starting command is transmitted. The inclination sensor subsystem 33 does not set a judgment requirement because the stability of slope is not critical. Next, an initialization of the distance measurement subsystem shown in the step 3-5 will be described with reference to Fig. 16. First, it is judged whether the distance measurement subsystem is in a power saving mode (the step 3-5-1). Since the distance measurement subsystem consumes power most among all subsystems, a power saving mode is prepared therein. Thus, a power saving mode is usually set by turning off a power source or limiting current. Since the distance measurement procedure cannot be quickly prepared from a power saving mode, this power saving mode can be released in consideration of a response characteristic required. When it is judged to be a power saving mode, a power saving command is transmitted to the distance measurement subsystem (step 3-5-2). A power saving command is a command that shuts down partially or completely an operation or display in the distance measurement subsystem to reduce power consumption. In the present embodiment, both a digital system and an analog system in the distance measurement subsystem are shut down because of less warm-up time required. Such a power saving mode enables the power consumption of the distance measurement subsystem to halve. When it is judged that there is no power saving mode in the step 3-5-1, a light quantity balancing command is transmitted (step 3-5-3). The light quantity balancing means a light quantity adjustment where an ND filter arranged in at least an external optical path or an internal optical path is adjusted to maintain a fixed relationship between the strength of light passing along the external optical path (or the optical path where light is irradiated to a distance measurement target and receives light reflected thereon) and the strength of light passing along the internal optical path (or the optical path for obtaining a reference light compared with that in the external optical path in phase). Next, an initialization of a power source subsystem shown in the steps 3-6 will be explained with reference to Fig. 17. Here, a record of the latest turning-off of a power source is checked (step 3-6-1). In the power source subsystem, since a memory stores a record on whether a power source has been normally turned off at the latest power-off time, the main CPU 20 inspects it. If the power source has been normally cut off, end information representing that a power source has been normally turned off is recorded in the step 15-2-6-5 (to be described later). The step 3-6-1 is judged based on the end information. On the other hand, in the case where a battery is taken out carelessly without operating a power source key, the power source is cut without performing an information saving process to a memory by the resume means. At this time, if the system is set up without any measures to restore information from a memory by the resume means, it may run away without any recovery because the memory has no information or incomplete information. In order to avoid such a runaway, it is checked whether a power source is normally cut off based on the previous power-off record. At a result of checking, when a memory stores the end information representing that a power source has been normally cut off, the initialization of the power source subsystem is terminated without any change. When the memory does not store the end information, the resume flag is canceled (step 3-6-2). That is, when when the power source has not been normally cut off at a previous stage, a resume process is suspended temporarily during a current power-on period and without being turning off the resume function itself. When the resume flag is canceled, it is judged that there is no resume process in the step 7 so that a program is loaded in the steps 9 to 12. Next, explanation will be made as for a subroutine for a zero point crossing waiting mode of a telescope in the step 6, with reference to Fig. 18. First, a key entry is checked (step 6-1). Usually, while a telescope waits for a zero point crossing, a title or an operation request is fixedly displayed. While there is a key entry, an adjustment is made to obtain a visible liquid crystal image or an angle of visible field (step 6-2). In concrete, a visual field angle adjusting scale is displayed to operate in accordance with a key entry operation so that a polarizing orientation can be adjusted by varying a voltage applied to a liquid crystal layer. After a key entry is made to adjust a visual field angle of a liquid crystal or is not made, a zero point crossing is checked in the following step 6-3 in any case. Next, the resume process in the step 8 will be described below according to the subroutine shown in Fig. 19. In the resume process, an image content saved in a memory is transferred to the display subsystem (step 8-1) to resume an operation of the distance measurement subsystem saved (8-2). Thereafter, the illumination status saved are restored (step 8-3) and the registers saved are restored (step 8-4). Moreover, the program counter saved in a memory is restored (step 8-5). Thus, the status is restored to the program execution position held immediately before a power-off time (step 8-6). After an image is restored through a series of resume processes, the operational state of a subsystem and illumination are restored. Then the status is returned to the original program counter position. Hence, when "resume process" in the step 8 is executed, it is unnecessary to load a program in the steps 9 to 12 at a power-on time. Next, the subroutine for a program activation from the drive C in the step 11 will be explained with reference to Fig. 20. Here, at first, a presence of a batch command file name (for example, AUTOEXEC) is checked (step 11-1). Method of executing a program under MS-DOS includes a method using a command file and a method activating directly execution program. This subroutine uses the former method. A command file is used to activate a user program so that the existence of the command file is first checked. When the step 11-1 confirms the existence of the batch command file, a user program "AUTOEXEC. BAT" is loaded and executed (step 11-2). When the step 11-1 does not confirm the existence of a batch command file, the existence of an execution program (for example, USRMAIN) is checked (step 11-3). That is, in order to execute a program under MS-DOS, even when the existence of the command file is not confirmed, a user program can be activated if the existence of an execution program is confirmed. Hence, after the existence of the batch command file is checked, the execution of an execution program is checked. When the existence of an execution program is confirmed in the step 11-3, "USRMAIN" is loaded and executed (step 11-4). Next, in the case where the existence of a batch command file is not confirmed in the step 11-1 and the existence of an execution program is not confirmed in the step 1-3, the execution of a menu definition file "MAIN. CNF" is checked (step 11-5). In the case where the existence of a batch command file is confirmed in the step 11-1 and the existence of an execution program is confirmed in the step 11-3, all post-processes are shifted to an application program. Therefore, when a user tries to make a simple program and to execute it, he has to make all program selection menus or the like by himself. In this system, since a read-only drive menu program in a ROM form stored in the drive A is used for a menu selection and execution, a user's job is done only to form a definition file. "MAIN. CNP" file which can store a program's title to be activated as character data is used as a definition file. Hence, the existence of the menu definition file is checked in the step 11-5. When the existence of the menu definition file is confirmed, the default drive C is set to terminate the program. "program activation from drive B" subroutine shown in the step 13 is shown in Fig. 21. Since the subroutine shown in Fig. 21 is similar to "program activation from drive C" subroutine shown in Fig. 20, a detail explanation for it will be omitted. Next, a detail explanation will be made as for "load and execution of main program" in the step 14 in accordance with the subroutine shown in Fig. 22. As shown in the main routine in Fig. 3, "load and execution of main program" in the step 14 is executed in the case the default drive is set to A (step 9), the activation information for the drive C is checked (step 10), and the activation information of drive B is checked (step 12). In this case, when the drive C or B is not effectively driven in the step 10 or 12, the main program is loaded and executed with the default drive set to A. Similarly, even if the drive C or B is effective, the main program is loaded and executed in the step 14 when the subroutine shown in Fig. 20 or 21 has been ended while any drives register no user programs and the default drive is set to C or B in the step 11-6. Therefore, when the process goes to the step 14 with the default drive set to A in the step 9, "MAIN. CNF" is read as menu data from the default drive in the subroutine in Fig. 22 because the definition file of the default drive is "MAIN. CNF" file (step 14-1). Even if the default drive C or B is set in the step 11 or 13, "MAIN. CNF" is read as menu data in the step 14-1 because the definition file is formed of "MAIN. CNF", like the case of the default drive A. That is, even if the drive is set to any one of A, B and C, the definition file is read as menu data to load and execute the main program because the definition file is "MAIN. CNP". Next, a menu is displayed (step 14-2) to sustain a key entry waiting state (step 14-3). When a menu number or ENT is inputted through a key operation, the corresponding program is loaded and executed (step 14-4). With no key entry, time is displayed (step 14-5) and then the status returns to the step 14-1. In other words, in the step 14, the time is continuously displayed till a key entry allows the step 14-4. Next a routine including a power-off timing and a key entry process will be explained with reference to Fig. 23. The key entry process generally means a process that a keyboard entry calls back a status from a program. When a key operation is made to cut off a power source, the system automatically returns to a power-off state as a matter of course. However, in some cases, when an application program is in a key entry waiting state, the power-off process is automatically performed with no key entry. Building a power source keying process in a key entry process routine releases a programmer who makes an application program from the troublesome power source keying process so that it is prevented that a power-off process is activated at a risky timing. A series of routine in the key entry process includes an automatic power-cut-off process. Here, "key entry process" will be sequentially explained in the step 15. At first, the status of a power source key (or a power switch) is obtained in the step 15-1 to judge that the power source key has been depressed for a power-off process. With a power source key depressed, the power-off process in the step 15-2 (to be described later) is executed. If a power-off process has been completed or a power-off process is not forcibly executed by depressing down a power source key, an automatic cutoff checking is then performed (step 15-3). That is, when the automatic cut-off is in an on state, an automatic cut-off process is executed in the step 15-4 (to be described later). If an automatic cut-off process has been completed or an automatic cut-off process is not in an on state, a key entry is checked in the step 15-5. When there is a key entry, an input key code is obtained (step 15-6) to set a presence of a key inputting (step 15-7). When there is no key entry, no key entry is set (step 15-8). Next, the power-off process shown in the step 15-2 will be explained with reference to the subroutine in Fig. 24. First, an image content displayed currently is saved into a backup memory for a main memory (step 15-2-1). Next, a power-off message is displayed on the display screen (step 15-2-2) to bring to a key entry waiting state (step 15-2-3). In this state, an operable key includes a power saving key, a reset key, a power-off key, and an escape key. When the power saving key is depressed, a display content is restored after an execution of a power saving mode process (steps 15-2-4 and 15-2-8). On the other hand, when the reset key is depressed, the system is restarted (step 15-2-5). When the power-off key is depressed, a shutdown process is executed (step 15-2-6). When the escape key is depressed, a power-off mode is canceled (step 15-2-7). Next, a subroutine for an automatic cut-off process shown in the step 15-4 will be explained with reference to Fig. 25. This process is subjected to a main power source or only to a distance measurement subsystem. In the first step 15-4-1, idle time, or time during which no key operation is done continuously (or time during which a variation in degree is not detected), is accumulated. The idle time properly preset is between one to sixty minutes. Next, an automatic cut-off condition is judged and then it is judged whether the automatic cut-off process should be performed (step 15-4-2). The automatic cut-off condition is that time accumulated in the step 15-4-1 has reached a preset idle time and a distance measurement is not under operation. When the automatic cut-off condition has been established, a shutdown process is executed in the step 15-2-6. This shutdown process is similar to the shutdown process in "power-off process" in the step 15-2. Next, a subroutine regarding "power saving mode process" shown in the step 15-2-4 will be explained with reference to Fig. 26. Here, "power saving mode process" is prepared in the subroutine for "power-off process", but may be prepared as an independent process. The power saving mode process can be prepared to all subsystems. In the step 15-2-4-1, the status of all subsystems and devices by which a power source can be controlled is stored in a backup memory for a main memory. Next, in the steps 15-2-4-2, the subsystems and devices are shifted to a power saving mode. Thereafter, a message representing "being on a power saving" is displayed (step 15-2-4-3), the status is maintained till a key is depressed (step 15-2-4-4). When all subsystems and devices during a power saving mode are restored to an original state (step 15-2-4-5), the power saving message is erased (step 15-2-4-6). Next, the shutdown process in the steps 15-2 and 15-4 (step 15-2-6) will be explained in accordance with the subroutine shown in Fig. 27. When a power-down process is performed, a current horizontal angle display value is first held (step 15-2-6-1). The reason is that a reference point for a vertical angle can be easily determined but it is difficult in some cases to obtain again a display value of a horizontal angle. Sequentially, a presence or absence of a resume is checked (step 15-2-6-2). When there is no resume, a file in an open state is closed (step 15-2-6-3). When there is a resume, resume recommencement information is stored (step 15-2-6-4). That is, an image immediately before a power source is cut off, an operation state of a subsystem, illumination, a program counter, and the like are saved into a memory. After resume information is stored in the step 15-2-6-4 or a file opened in the step 15-2-6-3 is closed, the information that a power-off operation has been normally done is stored as end information (step 15-2-6-5). This end information is checked in the step 3-6-1. When the check result indicates that end information has been stored as described above, the resume means restores information saved in a memory in the step 8. If a power source should be unexpectedly cut off, for example, by carelessly taking out a battery, the power-off process in the step 15-2-6 cannot be executed as a matter of course. In this case, a resume flag is canceled in the step 3-6-2 so that the status cannot be go to the step 8. After the step 15-2-6-5 has ended, the power source is cut off.

Claims: An electronic survey instrument comprising: a main system which is operated based on a survey program by a main CPU and produces an operational command; plural subsystems, each including a respective sub-CPU connected to said main CPU and comprising a survey subsystem for surveying in accordance with said operational command, a display subsystem for displaying a survey result obtained by said survey subsystem in accordance with said operational command, and a power source subsystem for controlling power sources for said main CPU, said survey system, and said display subsystem, in accordance with said operational command; resume means having a memory which stores information immediately before a power source is controllably cut off with said power source subsystem; and means for storing end information representing that information has been stored into said memory while said power source has been normally cut off; wherein said resume means restores information stored in said memory during a control process for turning on said power source again with said power source subsystem if said end information is being stored in said memory means, and wherein establishment of communication of the main CPU with all of the subsystems is checked and zero point crossing of the elevation angle of the instrument is awaited before the resume process of the resume means is initiated. An electronic survey instrument according to claim 1, further comprising cancelling means for invalidating a process done by said resume means when said power source is turned on again if there is no end information stored in said memory means. An electronic survey instrument according to claim 1, wherein said power source subsystem has a first process mode for cutting off at least one of said plural subsystems and a second process mode for cutting off all power sources of said main system and said plural subsystems, and wherein said resume means operates during a control process for cutting off said power source under said second process mode.

Inventors: KISHIMOTO HIROSHI, KISHIMOTO, HIROSHI
Applicants: NIPPON KOGAKU KK, NIKON CORPORATION
Application year: 1994
Main classification: G01C1
IPC codes: G09B25, G01C15, G06F1, G01C1