MULTIPHASE TRACTION ELEVATOR CONTROLLER AND METHOD OF USE
20250051129 ยท 2025-02-13
Assignee
Inventors
Cpc classification
B66B5/0018
PERFORMING OPERATIONS; TRANSPORTING
B66B1/3492
PERFORMING OPERATIONS; TRANSPORTING
B66B1/285
PERFORMING OPERATIONS; TRANSPORTING
International classification
B66B1/30
PERFORMING OPERATIONS; TRANSPORTING
B66B1/34
PERFORMING OPERATIONS; TRANSPORTING
Abstract
The present invention pertains to an advanced traction control system designed to enhance the performance of traction elevators. This system integrates multiple components and a novel S-curve algorithm to optimize acceleration and deceleration profiles, ensuring smooth transitions and improved ride quality. Key components include a central controller, motor room board, hall panel controllers, and a car panel controller. The system supports high-speed applications, accommodating speeds up to 1400 feet per minute. The S-curve routine is divided into acceleration, constant speed, and deceleration phases, with digital speed commands transmitted via a serial communication link to the motor drive every 10 milliseconds. This precise control reduces mechanical wear and enhances passenger comfort. The system can adapt to various speed profiles, including normal, short, inspection, and emergency power modes, ensuring optimal performance under different conditions. This invention significantly improves the efficiency, safety, and durability of traction elevator systems.
Claims
1. A control system for a traction elevator, the traction elevator including a car movably disposed in an elevator shaft, the car suspended by a hoist rope, the hoist rope motivated by a motor, the traction elevator further including a motion sensor reporting a car position in the elevator shaft, the control system comprising: a processor, including a memory and a timer; a motor controller, operatively connected to the motor and the processor; a control panel, operatively connected to the processor; and the memory containing a set of instructions, that when executed, cause the control system to: receive a destination command identifying a destination position from the control panel; choose a motion profile from a set of motion profiles; the set of motion profiles including a normal profile, a short distance profile, and emergency power profile and an inspection profile; determine an S-curve based on the motion profile; determine a cruise start position, a deceleration start position and a leveling start position based on the S-curve; monitor the car position to determine whether or not the car is at the cruise start position; until the car reaches the cruise start position, monitoring an elapsed trip time timer to determine if the car is in a first acceleration phase, a second acceleration phase or a third acceleration phase; sending a first signal to the motor if the car is in the first acceleration phase, a second signal to the motor if the car is in the second acceleration phase and a third signal to the motor if the car is in the third acceleration phase; monitor the car position to determine whether or not the car is at the deceleration start position; until the car reaches the deceleration start position, monitoring the elapsed trip time timer to determine if the car is in a cruising phase; sending a fourth signal to the motor if the car is in the cruising phase; monitor the car position to determine whether or not the car is at the leveling start position; until the car reaches the leveling start position, monitoring the elapsed trip time timer to determine if the car is in a first deceleration phase, a second deceleration phase or a third deceleration phase; sending a fifth signal to the motor if the car is in the first deceleration phase, a sixth signal to the motor if the car is in the second deceleration phase and a seventh signal to the motor if the car is in the third deceleration phase; monitor the car position to determine whether or not the car is at the destination position; until the car reaches the destination position, send an eighth signal to the motor if the car is in a leveling phase; and send a stop signal to the motor when the car reaches the destination position.
2. The control system of claim 1, wherein the motion profile further comprises: a set of time inflection points, a set of velocity inflection points and a set of position inflection points.
3. The control system of claim 2, wherein: a start velocity and a first velocity inflection point, of the set of velocity inflection points, define the first acceleration phase; the first velocity inflection point, of the set of velocity inflection points, and a second velocity inflection point, of the set of velocity inflection points, define the second acceleration phase; the second velocity inflection point, of the set of velocity inflection points, and a third velocity inflection point, of the set of velocity inflection points, define the third acceleration phase; the third velocity inflection point, of the set of velocity inflection points, and a fourth velocity inflection point, of the set of velocity inflection points, define the cruising phase; the fourth velocity inflection point, of the set of velocity inflection points, and a fifth velocity inflection point, of the set of velocity inflection points, define the first deceleration phase; the fifth velocity inflection point, of the set of velocity inflection points, and a sixth velocity inflection point, of the set of velocity inflection points, define the second deceleration phase; and the sixth velocity inflection point, of the set of velocity inflection points, and a seventh velocity inflection point, of the set of velocity inflection points, define the third deceleration phase.
4. The control system of claim 1, wherein: the normal profile includes a first set of parameters; the short distance profile includes a second set of parameters, different from the first set of parameters; the emergency power profile includes a third set of parameters, different from the first set of parameters and the second set of parameters; and the inspection profile includes a fourth set of parameters different from the first set of parameters, the second set of parameters and the third set of parameters.
5. The control system of claim 4, wherein the first set of parameters further comprises: J.sub.ia (Jerk-In Acceleration)=2 f/s{circumflex over ()}3; J.sub.0a (Jerk-Out Acceleration)=2 f/s{circumflex over ()}3; A (Acceleration)=2 f/s{circumflex over ()}2; V.sub.c (Contract Speed)=300 fpm; J.sub.id (Jerk-In Deceleration)=2 f/s{circumflex over ()}3; J.sub.od (Jerk-Out Deceleration)=0.8 f/s{circumflex over ()}3; D (Deceleration)=1 f/s{circumflex over ()}2; D.sub.L (Leveling Distance)=1 in; V.sub.i (Leveling Speed)=10 fpm.
6. The control system of claim 4, wherein the second set of parameters further comprises: J.sub.ia (Jerk-In Acceleration)=2 f/s{circumflex over ()}3; J.sub.0a (Jerk-Out Acceleration)=4 f/s{circumflex over ()}3; A (Acceleration)=3 f/s{circumflex over ()}2; V.sub.c (Contract Speed)=300 fpm; J.sub.id (Jerk-In Deceleration)=2 f/s{circumflex over ()}3; J.sub.od (Jerk-Out Deceleration)=4 f/s{circumflex over ()}3; D (Deceleration)=3 f/s{circumflex over ()}2; D.sub.L (Leveling Distance)=1 in; V.sub.i (Leveling Speed)=10 fpm.
7. The control system of claim 4, wherein the third set of parameters further comprises: J.sub.ia (Jerk-In Acceleration)=1.8 f/s{circumflex over ()}3; J.sub.0a (Jerk-Out Acceleration)=1.8 f/s{circumflex over ()}3; A (Acceleration)=1.5 f/s{circumflex over ()}2; E-power Speed=100 fpm; J.sub.id (Jerk-In Deceleration)=1.8 f/s{circumflex over ()}3; J.sub.od (Jerk-Out Deceleration)=1.8 f/s{circumflex over ()}3; D (Deceleration)=1.5 f/s{circumflex over ()}2; D.sub.L (Leveling Distance)=1 in; V.sub.i (Leveling Speed)=10 fpm.
8. The control system of claim 4, wherein the fourth set of parameters further comprises: J.sub.ia (Jerk-In Acceleration)=1.5 f/s{circumflex over ()}3; J.sub.0a (Jerk-Out Acceleration)=1.5 f/s{circumflex over ()}3; A (Acceleration)=1 f/s{circumflex over ()}2; V.sub.c (Contract Speed)=300 fpm; J.sub.id (Jerk-In Deceleration)=2 f/s{circumflex over ()}3; J.sub.od (Jerk-Out Deceleration)=0.8 f/s{circumflex over ()}3; D (Deceleration)=1 f/s{circumflex over ()}2; D.sub.L (Leveling Distance)=1 in; V.sub.i (Leveling Speed)=10 fpm; Inspection Speed=50 fpm.
9. The control system of claim 1, wherein the step of determining the S-curve further comprises: determining a maximum possible speed for the car.
10. The control system of claim 1, wherein the set of instructions further comprises instructions that when executed, cause the control system to: during one of the first acceleration phase, the second acceleration phase and the third acceleration phase, determine whether or not there has been a midflight destination change; and generate a revised S-curve based on the midflight destination change.
11. A method for controlling a traction elevator, the traction elevator including a car movably disposed in an elevator shaft, the car suspended by a hoist rope, the hoist rope motivated by a motor, the traction elevator further including a motion sensor reporting a car position in the elevator shaft, the method comprising: providing a processor, including a memory and a timer; providing a motor controller, operatively connected to the motor and the processor; providing a control panel, operatively connected to the processor; and providing the memory with a set of instructions, that when executed, cause the method to: receive a destination command identifying a destination position from the control panel; choose a motion profile from a set of motion profiles; the set of motion profiles including a normal profile, a short distance profile, and emergency power profile and an inspection profile; determine an S-curve based on the motion profile; determine a cruise start position, a deceleration start position and a leveling start position based on the S-curve; monitor the car position to determine whether or not the car is at the cruise start position; until the car reaches the cruise start position, monitoring an elapsed trip time timer to determine if the car is in a first acceleration phase, a second acceleration phase or a third acceleration phase; sending a first signal to the motor if the car is in the first acceleration phase, a second signal to the motor if the car is in the second acceleration phase and a third signal to the motor if the car is in the third acceleration phase; monitor the car position to determine whether or not the car is at the deceleration start position; until the car reaches the deceleration start position, monitoring the elapsed trip time timer to determine if the car is in a cruising phase; sending a fourth signal to the motor if the car is in the cruising phase; monitor the car position to determine whether or not the car is at the leveling start position; until the car reaches the leveling start position, monitoring the elapsed trip time timer to determine if the car is in a first deceleration phase, a second deceleration phase or a third deceleration phase; sending a fifth signal to the motor if the car is in the first deceleration phase, a sixth signal to the motor if the car is in the second deceleration phase and a seventh signal to the motor if the car is in the third deceleration phase; monitor the car position to determine whether or not the car is at the destination position; until the car reaches the destination position, send an eighth signal to the motor if the car is in a leveling phase; and send a stop signal to the motor when the car reaches the destination position.
12. The method of claim 11, wherein the step of choosing the motion profile further comprises: choosing a set of time inflection points, a set of velocity inflection points and a set of position inflection points.
13. The method of claim 12, wherein the step of choosing the set of time inflection points, the set of velocity inflection points and the set of position inflection points further comprises: choosing a start velocity and a first velocity inflection point, of the set of velocity inflection points, that define the first acceleration phase; choosing the first velocity inflection point, of the set of velocity inflection points, and a second velocity inflection point, of the set of velocity inflection points, that define the second acceleration phase; choosing the second velocity inflection point, of the set of velocity inflection points, and a third velocity inflection point, of the set of velocity inflection points, that define the third acceleration phase; choosing the third velocity inflection point, of the set of velocity inflection points, and a fourth velocity inflection point, of the set of velocity inflection points, that define the cruising phase; choosing the fourth velocity inflection point, of the set of velocity inflection points, and a fifth velocity inflection point, of the set of velocity inflection points, that define the first deceleration phase; choosing the fifth velocity inflection point, of the set of velocity inflection points, and a sixth velocity inflection point, of the set of velocity inflection points, that define the second deceleration phase; and choosing the sixth velocity inflection point, of the set of velocity inflection points, and a seventh velocity inflection point, of the set of velocity inflection points, that define the third deceleration phase.
14. The method of claim 11, further comprising the steps of: providing the normal profile with a first set of parameters; providing the short distance profile with a second set of parameters, different from the first set of parameters; providing the emergency power profile with a third set of parameters, different from the first set of parameters and the second set of parameters; and providing the inspection profile with a fourth set of parameters different from the first set of parameters, the second set of parameters and the third set of parameters.
15. The method of claim 14, further comprising the step of providing the first set of parameters as: J.sub.ia (Jerk-In Acceleration)=2 f/s{circumflex over ()}3; J.sub.0a (Jerk-Out Acceleration)=2 f/s{circumflex over ()}3; A (Acceleration)=2 f/s{circumflex over ()}2; V.sub.c (Contract Speed)=300 fpm; J.sub.id (Jerk-In Deceleration)=2 f/s{circumflex over ()}3; J.sub.od (Jerk-Out Deceleration)=0.8 f/s{circumflex over ()}3; D (Deceleration)=1 f/s{circumflex over ()}2; D.sub.L (Leveling Distance)=1 in; V.sub.i (Leveling Speed)=10 fpm.
16. The method of claim 14, further comprising the step of providing the second set of parameters as: J.sub.ia (Jerk-In Acceleration)=2 f/s{circumflex over ()}3; J.sub.0a (Jerk-Out Acceleration)=4 f/s{circumflex over ()}3; A (Acceleration)=3 f/s{circumflex over ()}2; V.sub.c (Contract Speed)=300 fpm; J.sub.id (Jerk-In Deceleration)=2 f/s{circumflex over ()}3; J.sub.od (Jerk-Out Deceleration)=4 f/s{circumflex over ()}3; D (Deceleration)=3 f/s{circumflex over ()}2; D.sub.L (Leveling Distance)=1 in; V.sub.i (Leveling Speed)=10 fpm.
17. The method of claim 14, further comprising the step of providing the third set of parameters as: J.sub.ia (Jerk-In Acceleration)=1.8 f/s{circumflex over ()}3; J.sub.0a (Jerk-Out Acceleration)=1.8 f/s{circumflex over ()}3; A (Acceleration)=1.5 f/s{circumflex over ()}2; E-power Speed=100 fpm; J.sub.id (Jerk-In Deceleration)=1.8 f/s{circumflex over ()}3; J.sub.od (Jerk-Out Deceleration)=1.8 f/s{circumflex over ()}3; D (Deceleration)=1.5 f/s{circumflex over ()}2; D.sub.L (Leveling Distance)=1 in; V.sub.i (Leveling Speed)=10 fpm.
18. The method of claim 14, further comprising the step of providing the fourth set of parameters as: J.sub.ia (Jerk-In Acceleration)=1.5 f/s{circumflex over ()}3; J.sub.0a (Jerk-Out Acceleration)=1.5 f/s{circumflex over ()}3; A (Acceleration)=1 f/s{circumflex over ()}2; V.sub.c (Contract Speed)=300 fpm; J.sub.id (Jerk-In Deceleration)=2 f/s{circumflex over ()}3; J.sub.od (Jerk-Out Deceleration)=0.8 f/s{circumflex over ()}3; D (Deceleration)=1 f/s{circumflex over ()}2; D.sub.L (Leveling Distance)=1 in; V.sub.i (Leveling Speed)=10 fpm; Inspection Speed=50 fpm.
19. The method of claim 11, wherein the step of determining the S-curve further comprises: determining a maximum possible speed for the car.
20. The method of claim 11, wherein the step of providing the memory with the set of instructions further comprises providing instructions that when executed, cause the method to: during one of the first acceleration phase, the second acceleration phase and the third acceleration phase, determine whether or not there has been a midflight destination change; and generate a revised S-curve based on the midflight destination change.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0027] In the detailed description of the preferred embodiments presented below, reference is made to the accompanying drawings.
[0028]
[0029]
[0030]
[0031]
[0032]
[0033]
[0034]
[0035]
[0036]
[0037]
[0038]
[0039]
[0040]
[0041]
[0042]
[0043]
[0044]
DETAILED DESCRIPTION OF THE INVENTION
[0045] In the description that follows, like parts are marked throughout the specification and figures for the same numerals. The figures are not necessarily drawn to scale and may be shown in exaggerated or generalized form in the interest of clarity and conciseness. Unless otherwise noted, all tolerances and uses of the term about indicate plus or minus 20%.
[0046] Referring to
[0047] Elevator system 100 includes mechanical system 101, motor system 102 and control system 103.
[0048] Mechanical system 101 includes elevator car 120 movably disposed within shaft 122. Shaft 122 is made up of a plurality of rails, such as rail 126. Elevator car 120 is guided up and down shaft 122, along rails 126 by a plurality of guide wheels, such as guide wheels 128. Mechanical doors, such as doors 131 are positioned adjacent shaft 122 at each floor level.
[0049] Motor system 102 includes drive motor 106, may either be a geared traction motor or a gearless traction motor. The drive motor 106 can also be either a DC or AC current motor. Drive motor 106 is mechanically coupled to traction sheave 107 mounted on the shaft of drive motor 106. Elevator car 120 is supported by hoist rope 119 which is reaved over traction sheave 107. Counterweight 116 is connected to hoist rope 119. Counterweight 116 offsets the weight of elevator car 120 and approximately half of its rated load and provides mechanical efficiency and operating smoothness to the system. When drive motor 106 is activated, it rotates traction sheave 107 thereby moving hoist rope 119, elevator car 120 and counterweight 116.
[0050] Governor rope 109 is also connected to elevator car 120 and is reaved over governor sheave 108, located at the highest point of travel of the car in shaft 122. Governor rope 109 is also reaved over pulley 110, located at the bottom of the elevator shaft. Pickup 115 is operably disposed adjacent governor sheave 108 to detect movement of the governor sheave, and hence elevator car 120 through optical or magnetic means, as is known in the art.
[0051] Control system 103 includes controller 140, car panel controller 132, control panels 148 and 155, sensor 144, motor room board 145, and pickup 115.
[0052] Controller 140 functions to receive command signals from the car panel controller and control panels and data from the various sensors and then to calculate motor commands based on profiles stored in memory, as will be further described.
[0053] Car panel controller 132 includes control buttons 134 and 135 and circuitry used to open and close the car doors. Control buttons 134 and 135 are used to instruct the car as to the destination and direction of travel. Car panel controller 132 is operatively connected to controller 140 through umbilical cord 142.
[0054] Control panels 148 and 155 are fixed externally to shaft 122. Control panel 148 includes up button 150 and down button 149. Likewise control panel 155 includes up button 156 and down button 157. Both control panel 148 and control panel 155 are operatively connected to controller 140. The control panels send call signals to the controller, as will be further described.
[0055] Sensor 144 is operatively connected to car panel controller 132, adjacent tape 146. Preferably, the sensor is an optical sensor. Tape 146 is originally fixed longitudinally inside shaft 122 and includes a printed code or gradations that indicate vertical position in the shaft. In use, sensor 144 records elevator velocity and position by constantly examining tape 146, and sending data back to controller 140, as is known in the art.
[0056] Motor room board 145 is operatively connected to controller 140. The motor room board acts as an interface to the controller and is responsible for the exchange of serial data between pickup 115 and drive motor 106 and generally managing communication and control signals throughout the system.
[0057] In operation, a passenger request signal for moving elevator car 120 in the up or down directions, to a specific destination, is received at car panel controller 132 or control panels 148 or 155. The request signal is sent to controller 140. Upon receipt of the signal, controller 140 conducts a number of calculations, and generates the appropriate signals to the motor room board, which activates the motor to control movement of elevator car 120, as will be further described.
[0058] Referring to
[0059] Controller 140 includes microprocessor 206 operatively connected to memory 208. Memory 208 includes instructions, that when executed by microprocessor 206 cause the system to function, as will be further described. The controller further includes display 205 and keypad 207, both operatively connected to the microprocessor. The keypad is used to provide instructions and data to the microprocessor. The display is used for the microprocessor to indicate the current status of the system and show the values of various operational parameters of the system. Preferably, controller 140 is the MR Board Model No. SR3032, available from Smartrise Engineering, Inc. of Irving, Texas.
[0060] Controller 140 is operatively connected to motor room board 145. Motor room board 145 is further operatively connected to drive motor 106. Motor room board 145 functions as the primary interface to the controller responsible for the exchange of serial data between the motor, brakes, safety equipment, the hall panel controllers and the car panel controller. It plays a pivotal role in managing communication and control signals throughout the system. The motor room board also includes various settings that configure functionalities such as CPU stop, learn mode, and motor tune processes, ensuring safety checks are completed before enabling the motor contactor.
[0061] Motor room board 145 receives command signals from controller 140 and is responsible for activating and deactivating drive motor 106 which results in raising and lowering elevator car 120. Preferably, motor room board 145 is the Smartrise Universal Board Model No. SR 3030, available from Smartrise Engineering, Inc. of Irving, Texas.
[0062] Controller 140 is further operatively connected to a number of hall panel controllers, such as hall control panels 148 and 155. In one embodiment, controller 140 supports up to 32 hall control panels. The hall control panels receive signals from hall call buttons and transmits them directly to the central controller, as will be further described. Preferably, the hall panel controllers are each a hall board Model No. SR 1060, available from Smartrise Engineering, Inc.
[0063] Controller 140 is further connected to car panel controller 132. Car panel controller 132 receives signals from call buttons and other safety mechanisms and passes them directly to controller 140. Car panel controller 132 is operatively connected to sensor 144. The car panel controller receives signals from sensor 144 related to the car's position and velocity, and passes them directly to controller 140, as will be further described.
[0064] Car panel controller 132 is further connected to car logic controller 209. Car logic controller 209 generates and sends control signals which regulate opening and closing the car doors (not shown). Car logic controller 209 is preferably the CLC Board available from Smartrise Engineering, Inc. of Irving, Texas.
[0065] Referring to
[0066] The phases may be demarcated by a series of time inflection points, velocity inflection points, and position inflection points. At T.sub.0, the car is at rest and the start velocity, V.sub.0, is zero. The position, X.sub.a, is the start position. At time, T.sub.a, the elevator car has reached velocity, V.sub.a, and position, X.sub.a. This is also the point where constant acceleration begins. When constant acceleration stops, the elevator car has reached velocity, V.sub.b and position, X.sub.b, at time, T.sub.b. The elevator car stops accelerating at time, T.sub.c, at which it has reached position, X.sub.c, and velocity, V.sub.c. This is also known as the cruise start position. At time, T.sub.d, the elevator ends its cruising phase and begins decelerating at velocity, V.sub.d, and position, X.sub.d. In a preferred embodiment, the velocity, V.sub.c, and V.sub.d, are equal.
[0067] At time, T.sub.e, the elevator car begins constant deceleration at position, X.sub.e, and at velocity, V.sub.e. At time, T.sub.f, the elevator car ends constant deceleration at position, X.sub.f, and velocity, V.sub.f. The elevator car begins leveling at position, X.sub.g, at time, T.sub.g, and at velocity, V.sub.g.
[0068] For acceleration, the first phase involves a constant positive jerk, resulting in a linear increase in acceleration and hence a parabolic growth in velocity. When acceleration is constant and jerk is zero, speed increases linearly until jerk takes on a constant negative value. This results in a linear decrease in acceleration and, consequently, a parabolic decay in velocity. The dynamics of the deceleration phase mirror those of the acceleration phase, though jerk and acceleration values can vary significantly between phases.
[0069] Although the deceleration curve is generally symmetric in shape to the acceleration curve, S-curve, the speed during deceleration is reduced to a minimum value which is referred to as the leveling speed. The elevator moves at that speed before eventually stopping when it reaches the destination position. The leveling speed and the distance at which the leveling speed is commanded (known as the leveling distance) are both predefined and adjustable parameters.
[0070] In operation, the elevator car accelerates from zero velocity to a constant high speed over an acceleration time. The car maintains this constant high speed for a finite time, until it reaches the slow-down position or transition position. The constant high speed should always be below the maximum speed of the elevator set during installation known as the contract speed. Upon reaching the transition position, the elevator car begins to decelerate from the constant high speed, through the deceleration time, toward the constant leveling speed. The elevator car moves through a transition distance when its velocity is between the constant high speed and the constant leveling speed during the transition time. After the transition distance, the elevator car reaches a constant leveling speed, and stays at this constant leveling speed, throughout the leveling distance, during the leveling time. After the leveling time, the car comes to a complete stop at the destination. The transition distance plus the leveling distance is known as the slowdown distance.
[0071] Referring then to
[0081] Referring then to
[0082] At step 402, the method begins.
[0083] At step 404, central controller 202 waits for an input from the keypad as to the class of operation. In a preferred embodiment, the class of operation can either be automatic or inspection. Once the input is received, the method moves to step 406.
[0084] At step 406, the microprocessor decides whether or not the class of operation is automatic. If so, the method moves to 408. If not, the method moves to step 410.
[0085] At step 408, the microprocessor moves to the automatic operation routine, as will be further described.
[0086] At step 410, the microprocessor decides whether or not a speed command has been entered on the keypad that is equal to zero. If so, the method returns to step 406. If not, the method moves to step 412.
[0087] At step 412, the microprocessor retrieves the inspection profile from memory.
[0088] In a preferred embodiment, the inspection profile comprises the following values.
TABLE-US-00001 Up Parameter Set Down Parameter Set J.sub.ia (Jerk-In Acceleration) = 1.5 f/s{circumflex over ()}3 J.sub.ia (Jerk-In Acceleration) = 1.5 f/s{circumflex over ()}3 J.sub.0a (Jerk-Out Acceleration) = 1.5 f/s{circumflex over ()}3 J.sub.0a (Jerk-Out Acceleration) = 1.5 f/s{circumflex over ()}3 A (Acceleration) = 1 f/s{circumflex over ()}2 A (Acceleration) = 1 f/s{circumflex over ()}2 V.sub.c (Contract Speed) = 300 fpm V.sub.c (Contract Speed) = 300 fpm J.sub.id (Jerk-In Deceleration) = 2 f/s{circumflex over ()}3 J.sub.id (Jerk-In Deceleration) = 2 f/s{circumflex over ()}3 J.sub.od (Jerk-Out Deceleration) = 0.8 f/s{circumflex over ()}3 J.sub.od (Jerk-Out Deceleration) = 0.8 f/s{circumflex over ()}3 D (Deceleration) = 1 f/s{circumflex over ()}2 D (Deceleration) = 1 f/s{circumflex over ()}2 D.sub.L (Leveling Distance) = 1 in D.sub.L (Leveling Distance) = 1 in V.sub.i (Leveling Speed) = 10 fpm V.sub.i (Leveling Speed) = 10 fpm Inspection Speed = 50 fpm Inspection Speed = 50 fpm
[0089] At step 414, the method moves to the inspection acceleration routine, as will be further described.
[0090] Referring to
[0091] At step 501, the method begins.
[0092] At step 502, the microprocessor waits for a motion command, typically received from a car control or a hall panel controller.
[0093] At step 503, a motion command is received, including a destination position.
[0094] At step 504, the microprocessor retrieves the destination position from the motion command.
[0095] At step 506, the microprocessor retrieves the car start position from either sensor 144 or pickup 115.
[0096] At step 508, the microprocessor calculates the trip distance by subtracting the start position from the destination position.
[0097] At step 510, the microprocessor decides whether or not the trip distance value is positive. If not, the method moves to step 512. If so, the method moves to step 514.
[0098] At step 512, the processor sets a flag indicating use of the down parameter set from the profile.
[0099] At step 514, the microprocessor sets a flag indicating that the up parameter set from the profile is to be used.
[0100] At step 516, the microprocessor decides whether or not the trip distance is considered short. In a preferred embodiment, the trip distance is considered short if it is less than five floors. However, in other embodiments, the trip distance may be considered short if it is any number of floors less than that required to reach the cruise start position, as will be further described. If the distance is considered short, the method moves to step 518. If not, the method moves to step 520.
[0101] At step 518, the microprocessor retrieves the short distance profile from memory. In a preferred embodiment, the short distance profile is as follows.
TABLE-US-00002 Up Parameter Set Down Parameter Set J.sub.ia (Jerk-In Acceleration) = 2 f/s{circumflex over ()}3 J.sub.ia (Jerk-In Acceleration) = 2 f/s{circumflex over ()}3 J.sub.0a (Jerk-Out Acceleration) = 4 f/s{circumflex over ()}3 J.sub.0a (Jerk-Out Acceleration) = 4 f/s{circumflex over ()}3 A (Acceleration) = 3 f/s{circumflex over ()}2 A (Acceleration) = 3 f/s{circumflex over ()}2 V.sub.c (Contract Speed) = 300 fpm V.sub.c (Contract Speed) = 300 fpm J.sub.id (Jerk-In Deceleration) = 2 f/s{circumflex over ()}3 J.sub.id (Jerk-In Deceleration) = 2 f/s{circumflex over ()}3 J.sub.od (Jerk-Out Deceleration) = 4 f/s{circumflex over ()}3 J.sub.od (Jerk-Out Deceleration) = 4 f/s{circumflex over ()}3 D (Deceleration) = 3 f/s{circumflex over ()}2 D (Deceleration) = 3 f/s{circumflex over ()}2 D.sub.L (Leveling Distance) = 1 in D.sub.L (Leveling Distance) = 1 in V.sub.i (Leveling Speed) = 10 fpm V.sub.i (Leveling Speed) = 10 fpm
[0102] At step 532, the microprocessor calculates the initial S-curve, as will be further described.
[0103] At step 534, the microprocessor starts a trip timer, as will be further described.
[0104] At step 536, the method proceeds to the acceleration routine, as will be further describe.
[0105] At step 520, the microprocessor decides whether or not the system is running on emergency power. In the preferred embodiment, the microprocessor receives a message from one or more of the car panel controller, the hall panel controllers, or the motor room board, indicating that a power failure has occurred, or that generator or battery backup power has been activated. Such a message sets a flag in memory that is interpreted by the microprocessor at this step.
[0106] If so, the method moves to step 524. If not, the method moves to step 522.
[0107] At step 522, the microprocessor retrieves the normal profile from memory and moves to step 532. In a preferred embodiment, the normal profile is as follows.
TABLE-US-00003 Up Parameter Set Down Parameter Set J.sub.ia (Jerk-In Acceleration) = 2 f/s{circumflex over ()}3 J.sub.ia (Jerk-In Acceleration) = 2 f/s{circumflex over ()}3 J.sub.0a (Jerk-Out Acceleration) = 2 f/s{circumflex over ()}3 J.sub.0a (Jerk-Out Acceleration) = 2 f/s{circumflex over ()}3 A (Acceleration) = 2 f/s{circumflex over ()}2 A (Acceleration) = 2 f/s{circumflex over ()}2 V.sub.c (Contract Speed) = 300 fpm V.sub.c (Contract Speed) = 300 fpm J.sub.id (Jerk-In Deceleration) = 2 f/s{circumflex over ()}3 J.sub.id (Jerk-In Deceleration) = 2 f/s{circumflex over ()}3 J.sub.od (Jerk-Out Deceleration) = 0.8 f/s{circumflex over ()}3 J.sub.od (Jerk-Out Deceleration) = 0.8 f/s{circumflex over ()}3 D (Deceleration) = 1 f/s{circumflex over ()}2 D (Deceleration) = 1 f/s{circumflex over ()}2 D.sub.L (Leveling Distance) = 1 in D.sub.L (Leveling Distance) = 1 in V.sub.i (Leveling Speed) = 10 fpm V.sub.i (Leveling Speed) = 10 fpm
[0108] At step 523, the microprocessor calculates the maximum possible speed for the run distance, as will be further described.
[0109] At step 524, the microprocessor retrieves the emergency power profile from memory. In a preferred embodiment, the emergency power profile is as follows.
TABLE-US-00004 Up Parameter Set Down Parameter Set J.sub.ia (Jerk-In Acceleration) = 1.8 f/s{circumflex over ()}3 J.sub.ia (Jerk-In Acceleration) = 1.8 f/s{circumflex over ()}3 J.sub.0a (Jerk-Out Acceleration) = 1.8 f/s{circumflex over ()}3 J.sub.0a (Jerk-Out Acceleration) = 1.8 f/s{circumflex over ()}3 A (Acceleration) = 1.5 f/s{circumflex over ()}2 A (Acceleration) = 1.5 f/s{circumflex over ()}2 E-power Speed = 100 fpm E-power Speed = 100 fpm J.sub.id (Jerk-In Deceleration) = 1.8 f/s{circumflex over ()}3 J.sub.id (Jerk-In Deceleration) = 1.8 f/s{circumflex over ()}3 J.sub.od (Jerk-Out Deceleration) = 1.8 f/s{circumflex over ()}3 J.sub.od (Jerk-Out Deceleration) = 1.8 f/s{circumflex over ()}3 D (Deceleration) = 1.5 f/s{circumflex over ()}2 D (Deceleration) = 1.5 f/s{circumflex over ()}2 D.sub.L (Leveling Distance) = 1 in D.sub.L (Leveling Distance) = 1 in V.sub.i (Leveling Speed) = 10 fpm V.sub.i (Leveling Speed) = 10 fpm
[0110] At step 526, the microprocessor calculates the initial S-curve, as will be further described.
[0111] At step 528, the microprocessor starts the trip timer.
[0112] At step 530, the microprocessor moves to the emergency power acceleration routine, as will be further described.
[0113] Referring to
[0114] At step 602, the method begins. In this method, a series of iterations is conducted to find an estimated distance less than or equal to the new requested destination and reduce maximum speed accordingly.
[0115] At step 603, the microprocessor sets a variable cycle limit to 10. This variable may assume other values.
[0116] At step 604, the microprocessor sets a counter variable i to 10. This variable may assume other values.
[0117] At step 605, the microprocessor calculates the ramp up distance, as will be further described.
[0118] At step 606, the microprocessor calculates the slowdown distance, as will be further described.
[0119] At step 608, the microprocessor calculates the estimated distance by adding the ramp up distance to the slowdown distance according to the following equation.
[0120] At step 610, the microprocessor decides whether or not the trip distance is greater than or equal to the estimated distance. If not, the method moves to step 611. If so, the method moves to step 615.
[0121] At step 615, the microprocessor sets the contract speed, V.sub.c equal to the maximum possible speed, V.sub.m.
[0122] At step 611, the microprocessor increments the cycle counter i by 1.
[0123] At step 612, the microprocessor determines whether the cycle counter i has met or exceeded the cycle limit. If so, the method moves to step 616. If not, the method moves to step 613.
[0124] At step 613, the microprocessor calculates the value of the reduced speed V.sub.r by use of the following equation:
[0129] At step 614, the microprocessor sets the V.sub.c variable equal to the reduced speed, V.sub.r. The method then returns to step 605.
[0130] At step 616, the microprocessor sets the contact speed, V.sub.c equal to the leveling speed, V.sub.i.
[0131] At step 617, the microprocessor returns the value V.sub.c.
[0132] Referring to
[0133] At step 618, the method begins.
[0134] At step 619, the microprocessor calculates values for time inflection points T.sub.a, T.sub.b, T.sub.c, T.sub.d, T.sub.e, and T.sub.f, according to the following equations:
[0169] At step 620, the microprocessor calculates values for velocity inflection points V.sub.a, V.sub.b, V.sub.c, V.sub.d, V.sub.e, V.sub.f, according to the following equations:
[0190] At step 621, the microprocessor calculates values for position inflection points X.sub.a, X.sub.b, X.sub.c, X.sub.d, X.sub.e, and X.sub.f, according to the following equations:
[0228] At step 622, the microprocessor calculates values for the cruise start position, the deceleration start position, the ramp up distance, the ramp down distance, and the leveling start position, according to the following equations:
[0231] At step 624, the method concludes and returns.
[0232] Referring then to
[0233] At step 702, the method begins.
[0234] At step 704, the microprocessor retrieves a value indicating the position of the elevator car by retrieving position data from sensor 144 or pickup 115.
[0235] At step 706, the processor determines whether or not the maximum speed, V.sub.c, has been reduced to a lower speed, such as V.sub.m or V.sub.i, as previously described. If so, the method moves to step 708. If not, the method moves to step 710.
[0236] At step 708, if not already done so, the maximum speed, V.sub.c, is then reset to the lower speed, e.g., V.sub.m or V.sub.i.
[0237] At step 712, the method returns to step 532, as previously described.
[0238] At step 710, the microprocessor polls the car panel controller and the hall panel controllers to determine whether or not a mid-flight destination change has been commanded. If not, the method moves to step 711. If so, the method moves to step 714.
[0239] At step 714, the processor determines whether or not the new destination is greater than the current destination in memory. In a preferred embodiment, the absolute value of the difference is used so as to compensate for the elevator car direction, up or down. If so, the processor moves to step 715. If not, the processor moves to step 726.
[0240] At step 715, the processor calculates a new run distance according to the following equation:
[0241] At step 716, the processor calculates the new maximum speed of the new run distance, as previously described. In a preferred embodiment, the step is carried out by repeating method 600.
[0242] At step 718, the microprocessor regenerates a new S-curve, as previously described. In a preferred embodiment, this step is accomplished by repeating method 601.
[0243] At step 719, the microprocessor then returns to step 704.
[0244] At step 726, the microprocessor determines whether or not the elevator car will arrive at the new requested destination before or after the cruise start position. If so, the method moves to step 728. If not, the method moves to step 730.
[0245] At step 728, the microprocessor resets the destination position to the new destination.
[0246] At step 730, the processor lowers the maximum speed value in V.sub.c by 20%, and moves to step 732.
[0247] At step 731, the microprocessor regenerates a new S-curve, as previously described. In a preferred embodiment, this step is accomplished by method 601.
[0248] At step 732, the microprocessor returns to step 504.
[0249] At step 711, the microprocessor checks a flag to determine whether or not the direction of travel is up. If so, the method moves to step 733. If not, the method moves to step 713.
[0250] At step 733, the microprocessor calculates the cruising start position according to the following equation.
[0251] The method then moves to step 734.
[0252] At step 713, the microprocessor calculates the cruise start position according to the following equation.
[0253] The method then moves to step 734.
[0254] At step 734, the processor calculates the distance traveled as previously described.
[0255] At step 736, the processor determines whether or not the distance traveled is less than the cruise start position. If not, the processor moves to step 738. If so, the processor moves to step 740.
[0256] At step 738, the processor moves to the cruising phase routine, as will be further described.
[0257] At step 740, the processor determines whether or not the destination position is less than the ramp up distance. If not, the moves to step 742. If so, the processor moves to step 762. The ramp up distance is calculated as previously described.
[0258] At step 742, the microprocessor retrieves the elapsed trip time from memory.
[0259] At step 744, the processor determines whether or not the trip time is between T.sub.0 and T.sub.a, according to the following equation.
[0260] At T.sub.0, the initial start velocity is zero.
[0261] If so, the processor moves to step 746. If not, the processor moves to step 748.
[0262] At step 746, the processor calculates the value of V.sub.a, as previously described.
[0263] At step 747, the processor sets the value of V equal to V.sub.a and moves to step 758.
[0264] At step 748, the processor determines whether or not the elapsed trip time is between the values of T.sub.a and T.sub.b, according to the following equation.
[0265] If so, the processor moves to step 750. If not, the processor moves to step 754.
[0266] At step 750, the processor calculates the values of V.sub.a and V.sub.b, as previously described.
[0267] At step 752, the processor sets the value of V equal to V.sub.b and moves to step 758.
[0268] At step 754, for the condition where the elapsed trip time, t, is between the values of T.sub.b and T.sub.c, the processor calculates the values of V.sub.a, V.sub.b and V.sub.e, as previously described.
[0269] At step 756, the processor sets the value of V to V.sub.c.
[0270] At step 758, the processor sends the value of V to the motor as an instantaneous speed command, in order to set the motor speed.
[0271] At step 760, the processor returns to step 704.
[0272] At step 762, the processor retrieves the elapsed trip time, t, from memory.
[0273] At step 764, the processor determines whether the elapsed time, t, is between the values of T.sub.0 and T.sub.a, according to the following equation.
[0274] If so, the processor moves to step 768. If not, the processor moves to step 772.
[0275] At step 768, the processor calculates the value of V.sub.a, as previously described.
[0276] At step 770, the processor sets the value of V to V.sub.a and moves to step 776.
[0277] As step 772, for the condition where the elapsed trip time, t, is between the values of T.sub.b and T.sub.e, the processor calculates the values of V.sub.a and V.sub.b, as previously described.
[0278] At step 774, the processor sets the value of V to V.sub.b.
[0279] At step 776, the value of V is sent to the motor to set the motor speed.
[0280] At step 778, the processor returns to step 704.
[0281] Referring then to
[0282] At step 801, the method begins.
[0283] At step 802, the processor determines whether or not the direction of travel is up, by checking preset flags, as previously described. If so, the method moves to step 803. If not, the methods moves to step 804.
[0284] At step 803, the processor calculates the deceleration start position according to the following equation.
[0285] The method then moves to step 805.
[0286] At step 804, the microprocessor calculates the deceleration start position according to the following equation.
[0287] The method then moves to step 805.
[0288] At step 805, the processor retrieves the elevator car position from sensor 144 or pickup 115.
[0289] At step 806, the processor calculates the distance traveled by the elevator car, as previously described.
[0290] At step 808, the processor determines whether or not the distance traveled is less than the deceleration start position, using the absolute value, as previously described. If not, the method moves to step 810. If so, the method moves to step 812.
[0291] At step 810, the processor moves to the deceleration phase routine, as will be further described.
[0292] At step 812, the processor determines whether or not the maximum speed V.sub.c has been reduced to V.sub.m, as previously described. If so, the method moves to step 814. If not, the method moves to step 816.
[0293] At step 814, the processor resets V.sub.c to the lower speed.
[0294] At step 818, the processor recalculates the S-curve, preferably according to method 601, as previously described.
[0295] At step 820, the processor returns to step 804.
[0296] At step 816, the processor determines whether or not there has been a mid-flight destination change by receiving an instruction from the car panel controller or one of the hall panel controllers. If not, the method moves to step 824. If so, the method moves to step 822.
[0297] At step 822, the microprocessor determines whether or not the new destination is greater than the current destination, using the absolute value. If not, the processor moves to step 840, if so the microprocessor moves to step 860.
[0298] At step 866, the microprocessor returns to step 804.
[0299] At step 824, the microprocessor determines whether or not the destination is a short floor by referring to a table in memory. If the destination is a short floor, then the microprocessor moves to step 834. If not, the microprocessor moves to step 832.
[0300] At step 834, V is set to the short floor maximum velocity, V.sub.sc, and the microprocessor moves to step 836. V.sub.sc is determined by referencing a table in memory. V.sub.sc is always below the contact speed V.sub.c.
[0301] At step 832, the variable V is set to the maximum speed V.sub.c.
[0302] At step 836, the value of V is sent to the motor to set the motor speed.
[0303] At step 838, the microprocessor returns to step 804.
[0304] At step 840, the microprocessor calculates a position difference according to the following equation.
[0305] At step 842, the microprocessor decides whether or not the position difference is greater than the slowdown distance. If not, the method moves to step 844. If so, the method steps moves to step 846.
[0306] At step 844, the request is rejected and the method returns to step 805.
[0307] At step 846, the microprocessor calculates a new slowdown position according to the following equation.
[0308] At step 848, the microprocessor resets the deceleration start position, X.sub.d, to the new slowdown position.
[0309] At step 850, the microprocessor returns to step 805.
[0310] At step 860, the microprocessor calculates additional speed required, V.sub.asr1, according to the following equation:
[0314] At step 862, the microprocessor decides whether or not the additional speed required, V.sub.asr1, is less than the contract speed, V.sub.c. If not, the microprocessor moves to step 864. If so, the microprocessor moves to step 866.
[0315] At step 864, the method returns to step 840.
[0316] At step 866, the microprocessor calculates lag distance according to the following equation:
[0319] At step 868, the microprocessors calculates the added acceleration start position according to the following equation:
[0322] At step 870, the microprocessors calculates the run distance according to the following equation:
[0325] At step 872, the microprocessor calculates additional speed required to reach the run distance according to the following equation:
[0330] At step 874, the microprocessor decides whether or not the newly generated maximum speed, V.sub.asr2, is greater than the original maximum speed V.sub.asr1. If not, the method moves to step 876. If so, the method moves to step 878.
[0331] At step 876, the request is rejected and the method returns to step 805.
[0332] At step 878, the microprocessor calculates his speed difference according to the following equation:
[0337] At step 880, the microprocessor sets V.sub.c to V.sub.sd.
[0338] At step 882, the microprocessor regenerates the S-curve, as previously described, using the new value of V.sub.c set to V.sub.sd.
[0339] At step 884, the microprocessor calculates the added acceleration distance using the new S-curve speed equations, as previously described.
[0340] At step 886, the microprocessor calculates a new cruise start position.
[0341] At step 888, the microprocessor sets the maximum speed, V.sub.c, to the newly generated max speed V.sub.asr2.
[0342] At step 890, the microprocessor recalculates the deceleration start position, X.sub.d, as previously described.
[0343] At step 892, the method returns to step 805.
[0344] Referring then to
[0345] At step 902, the method begins.
[0346] At step 904, the microprocessor determines the elevator car position by retrieving data from sensor 144 or pickup 115.
[0347] At step 906, the microprocessor calculates the distance traveled, as previously described.
[0348] At step 907, the microprocessor determines whether or not the distance traveled is equal to the trip distance. The trip distance is returned from memory and preferably is calculated according to the following equation:
[0351] If so, the method moves to step 908. If not, the method moves to step 910.
[0352] At step 908, the microprocessor sends a motor stop command to the motor.
[0353] At step 912, the microprocessor returns to wait state 502.
[0354] At step 910, the microprocessor determines whether or not the distance traveled is less than the leveling start position.
[0355] If not, the method moves to step 916. If so, the method moves to step 914.
[0356] At step 916, the microprocessor sets the variable V to V.sub.i, the leveling speed. At step 918, the value of V is sent to the motor to set the motor speed.
[0357] At step 920, the microprocessor returns to step 904.
[0358] At step 914, the microprocessor determines whether or not the destination is a short floor, as previously described.
[0359] If not, the method moves to step 922. If so, the method moves to step 944.
[0360] At step 922, the microprocessor retrieves the elapsed trip time, t, from memory.
[0361] At step 924, the microprocessor determines whether or not the value of, t, is between the value of T.sub.d and T.sub.e, according to the following equation.
[0362] If not, the method moves to step 928. If so, the method moves to step 926.
[0363] At step 926, the microprocessor calculates the value of V.sub.d, and V.sub.e, as previously described.
[0364] At step 930, the microprocessor sets the value of V to V.sub.d and moves to step 940.
[0365] At step 928, the microprocessor determines whether the elapsed trip time, t, is between the values of T.sub.e and T.sub.f according to the following equation.
[0366] If so, the method moves to step 932. If not, the method moves to step 936.
[0367] At step 932, the microprocessor calculates the value of V.sub.e and V.sub.f, as previously described.
[0368] At step 934, the value of V is set to V.sub.e and the method moves to step 940.
[0369] At step 936, for the condition where the elapsed trip time, t, is between the values of T.sub.f and T.sub.g, the microprocessor calculates the value of V.sub.f, as previously described.
[0370] At step 938, the value V is set to V.sub.f and the microprocessor moves to step 940.
[0371] At step 940, the value of V is sent to the motor to set the motor speed.
[0372] At step 942, the method returns to step 904.
[0373] At step 944, the microprocessor retrieves the elapsed trip time, t.
[0374] At step 946, the microprocessor determines whether the elapsed trip time is between the value of T.sub.d and T.sub.e according to the following equation.
[0375] If so, the microprocessor moves to step 948. If not, the microprocessor moves to step 952.
[0376] At step 948, the microprocessor calculates the values of V.sub.d and V.sub.e, as previously described.
[0377] At step 950, the microprocessor sets the value of V to V.sub.d and moves to step 956.
[0378] At step 952, for the condition where the elapsed trip time, t, is between the values of T.sub.f and T.sub.g, the microprocessor calculates the value of V.sub.f, as previously described.
[0379] At step 954, the microprocessor sets the value of V to V.sub.f and moves to step 956.
[0380] At step 956, the value of V is sent to the motor to set the motor speed. At step 958, the microprocessor returns to step 904.
[0381] Referring then to
[0382] At step 1002, the method begins.
[0383] At step 1004, the microprocessor retrieves the value of the elevator car position by polling sensor 144 or pickup 115.
[0384] At step 1006, the microprocessor calculates the distance traveled, as previously described.
[0385] At step 1008, the microprocessor determines whether or not the distance traveled is less than the cruise start position. If not, the microprocessor moves to step 1010. If so, the processor moves to step 1012.
[0386] At step 1010, the microprocessor moves to the emergency power deceleration phase routine, as will be further described.
[0387] At step 1012, the microprocessor retrieves the elapsed trip time, t.
[0388] At step 1014, the microprocessor determines whether or not the elapsed trip time, t, is between the values of T.sub.0 and T.sub.a according to the following equation.
[0389] If so, the microprocessor moves to step 1016. If not, the microprocessor moves to step 1018.
[0390] At step 1016, the microprocessor calculates the value of V.sub.a, as previously described.
[0391] At step 1020, the microprocessor sets the value of V to V.sub.a and moves to step 1030.
[0392] At step 1018, the microprocessor determines whether or not the elapsed trip time, t, is between the values of T.sub.a and T.sub.b according to the following equation.
[0393] If so, the microprocessor moves to step 1022. If not, the microprocessor moves to step 1024.
[0394] At step 1022, the microprocessor calculates the value of V.sub.a and V.sub.b, as previously described.
[0395] At step 1028, the microprocessor sets the value of V to V.sub.b, then moves to step 1030.
[0396] At step 1024, the microprocessor for the condition where the elapsed trip time, t, is between the values of T.sub.b and T.sub.c, the microprocessor calculates the value of V.sub.a, V.sub.b and V.sub.c, as previously described. V.sub.c in this instance is set as V.sub.emergency, the maximum velocity for emergency conditions.
[0397] At step 1026, the microprocessor sets the value of V to V.sub.emergency and moves to step 1030.
[0398] At step 1030, the value of V is sent to the motor set the motor speed.
[0399] At step 1032, the microprocessor returns to step 1004.
[0400] Referring to
[0401] At step 1102, the method begins.
[0402] At step 1104, the microprocessor retrieves the elevator car position by polling sensor 144 or pickup 115.
[0403] At step 1106, the microprocessor calculates the distance traveled, as previously described.
[0404] At step 1108, the microprocessor determines whether or not the distance traveled is equal to the trip distance. If not, the method moves to step 1110. If so, the method moves to step 1112.
[0405] At step 1112, the microprocessor sends a stop command to the motor.
[0406] At step 1114, the microprocessor returns to wait state 502.
[0407] At step 1110, the microprocessor determines whether or not the distance traveled is less than the deceleration start position. If so, the processor moves to step 1116. If not, the microprocessor moves to step 1118.
[0408] At step 1116, the value of V is set to the value of V.sub.emergency in memory and the method moves to step 1140.
[0409] At step 1118, the microprocessor determines whether or not the distance traveled is less than the leveling start position. If not, the microprocessor moves to step 1120. If so, the processor moves to step 1122.
[0410] At step 1120, the microprocessor sets the value of V to V.sub.i, the leveling speed, and moves to step 1140.
[0411] At step 1122, the microprocessor retrieves the elapsed trip time, t, from memory.
[0412] At step 1124, the microprocessor determines whether or not the elapsed trip time, t, is between the values of T.sub.d and T.sub.e, according to the following equation.
[0413] If so, the microprocessor moves to step 1126. If not, the microprocessor moves to step 1128.
[0414] At step 1126, the microprocessor calculates the value of V.sub.d and V.sub.e, as previously described.
[0415] At step 1130, the microprocessor sets the value of V to V.sub.a and moves to step 1140.
[0416] At step 1128, the microprocessor determines whether or not the value of the elapsed trip time, t, is between the value of T.sub.e and T.sub.f, according to the following equation.
[0417] If so, the microprocessor moves to step 1132. If not, the microprocessor moves to step 1134.
[0418] At step 1132, the microprocessor calculates the values of V.sub.e and V.sub.f, as previously described.
[0419] At step 1136, the microprocessor sets the value of V to V.sub.e and moves to step 1140.
[0420] At step 1134, the microprocessor for the condition where the elapsed trip time T is between the values of T.sub.f and T.sub.g the microprocessor calculates the value of V.sub.f, as previously described.
[0421] At step 1138, the microprocessor sets the value of V to V.sub.f and moves step 1140.
[0422] At step 1140, the value of V is sent to the motor to set the motor speed. At step 1142, the microprocessor returns to step 1104.
[0423] Referring then to
[0424] The method begins at step 1202.
[0425] At step 1204, the microprocessor retrieves the elevator car position by polling sensor 144 or pickup 115.
[0426] At step 1206, the microprocessor calculates the distance traveled, as previously described.
[0427] At step 1208, the microprocessor determines whether or not the distance traveled is less than the near terminal position. In a preferred embodiment, the near terminal position is an elevator car position within 2 inches to 2 feet of the top or the bottom of the elevator travel. This value is dependent on the mechanics of the particular elevator involved. The V.sub.near terminal value is stored in memory at system startup.
[0428] If not, the processor moves to step 1210. If so, the microprocessor moves to step 1212.
[0429] At step 1210, the microprocessor resets the value of V.sub.c to V.sub.inspection and moves to step 1214. V.sub.inspection is stored in memory at system startup.
[0430] At step 1212, the microprocessor resets the value of V.sub.c to V.sub.near terminal and moves to step 1214.
[0431] At step 1214, the microprocessor recalculates the S-curve. In a preferred embodiment the S-curve is recalculated according to method 601.
[0432] At step 1216, the microprocessor determines whether or not the distance traveled is less than the cruise start position. If not, the processor moves to step 1220. If so, the microprocessor moves to step 1218.
[0433] At step 1218, the microprocessor moves to the inspection cruising deceleration routine, as will be further described.
[0434] At step 1218, the microprocessor retrieves the elapsed trip time, t.
[0435] At step 1222, the microprocessor determines whether or not the value of, t, is between the value of T.sub.0 and T.sub.a, according to the following equation.
[0436] If so, the microprocessor moves to step 1224. If not, the microprocessor moves to step 1226.
[0437] At step 1224, the microprocessor calculates the value of V.sub.a, as previously described.
[0438] At step 1228, the value of V.sub.x is set to the value of V.sub.a and the microprocessor moves to step 1240. V.sub.x is the instantaneous velocity of the elevator car, which is stored in memory for later use.
[0439] At step 1226, the microprocessor determines whether or not the value of elapsed trip time, t, is between T.sub.a and T.sub.b, according to the following equation.
[0440] If so, the microprocessor moves to step 1230. If not, the microprocessor moves to step 1232.
[0441] At step 1230, the microprocessor calculates the values of V.sub.a and V.sub.b, as previously described.
[0442] At step 1236, the microprocessor sets the value of V.sub.x to V.sub.b and moves to step 1240.
[0443] At step 1232, for the condition where the elapsed trip time, t, is between T.sub.b and T.sub.c, the microprocessor calculates the values of V.sub.a, V.sub.b, and V.sub.c, as previously described. Here V.sub.c is set to V.sub.inspection.
[0444] At step 1238, the microprocessor sets the value of V.sub.x to V.sub.inspection.
[0445] At step 1240, the microprocessor sends the value of V.sub.x to the motor to set the motor speed.
[0446] At step 1242, the microprocessor returns to step 1204.
[0447] Referring then to
[0448] At step 1302, the method begins.
[0449] At step 1304, the microprocessor retrieves the elevator car position by polling sensor 144 or pickup 115.
[0450] At step 1306, the microprocessor calculates the distance traveled, as previously described.
[0451] At step 1308, the microprocessor determines whether or not the distance traveled is less than the near terminal position. If not, the method moves to step 1310. If so, the method moves to step 1312.
[0452] At step 1310, the microprocessor resets the value V.sub.c to the value of V.sub.near terminal.
[0453] At step 1314, the microprocessor recalculates the S-curve with the new value of V.sub.c. In a preferred embodiment the S-curve is calculated according to method 601.
[0454] At step 1316, the microprocessor sets the value of V to the difference between the near terminal velocity, V.sub.near terminal, and V.sub.x as determined in method 1200 according to the following equation.
[0457] At step 1318, the value of V is sent to the motor to set the motor speed.
[0458] At step 1320, the microprocessor determines whether or not the car is at the terminal position. If not, the method returns to step 1316. If so, the method moves to step 1322. In a preferred embodiment, when the elevator car is at a terminal, the microprocessor receives a near terminal indication from sensor 144 or pickup 115 indicating that the elevator car is at a terminal position.
[0459] At step 1312, the microprocessor determines whether or not a motion command change has been received from keypad 207. If not, the method returns to step 1304. If so, the method moves to step 1322.
[0460] At step 1322, the microprocessor determines a speed reduction value, V.sub.r, according to the following equation.
[0464] At step 1324, the microprocessor calculates a new speed V.sub.ns according to the following equation.
[0468] At step 1326, the microprocessor sends the value of V.sub.ns to the motor to set the motor speed.
[0469] At step 1328, the microprocessor sends a stop-motion to the motor when the car reaches the terminal position, as previously described, or when speed is reduced to zero.