Within the overhead material handling industry, applications involving dual hoists can be inefficient, costly to implement and wrought with safety concerns. Before the use of Programmable Logic Controllers (PLCs), dual trolley loads were raised utilising two separate motor and drive packages. Since the hoists operated independently, the loads often would rise at incongruent speeds, causing an un-even lift and potentially unsafe working conditions.

Until recently, the only remedy for this situation was to use a PLC in conjunction with the motor and drive packages. Two drives would be applied to two separate motors and encoders, giving hook position feedback to a PLC. The PLC would control the drives in order to synchronise the speeds of each hook. Though it accomplished the mission of synchronising the hook speeds, it also increased the complexity and cost of the operating system.

Current products and techniques tend to be either open loop or require an extra sensor of some sort. Open loop products give a simultaneous run command and expect the two hoists to follow the same command well enough to perform a synchronised lift. Other devices require a load cell or some other tension/torque measurement device to detect loading of individual cables and adjust speed on drives based on load. One final method is to monitor position from each motor in an external device, such as a PLC, and then adjust the speed command to individual drives based on the position feedback from their respective motor and encoder.


The hoist synchronisation software package allows one or more driven motors to be synchronised to a master encoder signal for driving hoist motors. With the present invention’s apparatus and method, a Programmable Logic Controller (PLC) is no longer necessary. In its place a master and slave inverter operation is used to control the hoists. The master encoder provides a pulse reference to the slave that results in the slave commanding its motor to rotate at the speed commanded by that pulse reference. The slave drive, implemented as a Variable Frequency Drive (VFD), monitors the pulse feedback from both the master encoder and the slave’s own encoder. The slave will then compensate for any position errors by adjusting its motor’s output speed, resulting in near perfect alignment between the system master motor and the slave motor. While both drives are running there is no accumulation of position error, so alignment will always be maintained.

Additionally, when utilising the new hoist software, the slave VFD possesses the ability to automatically resynchronise the hoists. Automatic resynchronisation can be used in multiple configurations. This feature is enabled or disabled via parameter settings that can provide three optional settings of 0 – no automatic resynchronisation (hold error); 1 – automatic synchronisation enabled with position error zeroed by upper limit (synchronise); and 2 – automatic synchronisation enabled with position error zeroed by multi-function input (synchronise with clear error).

With a parameter setting of 0 – no automatic resynchronisation (hold error), the slave will hold the position error to zero when either drive operates independently. Thus the resynchronisation function is disabled. Once the drives are stopped and a command is given to utilise both hoists together, they will maintain their current position relative to one another.

With the parameter set to 1 – automatic synchronisation enabled with position error zeroed by upper limit (synchronise), both hoists can be run to the upper limit and any accumulated position error is cleared out. From that point the hoists will maintain their respective positions to one another. If one hoist is run individually and then both hoists are synchronised again, they will be resynchronised to their initial relative positions to one another without having to go to the upper limits to even them out.

With a setting of 2 – automatic synchronisation enabled with position error zeroed by multi-function input (synchronise with clear error), the accumulated position error can be cleared at any point by using a multi-function input. This allows the hoists to be set to any position, either aligned or offset from each other, and the accumulated position error is cleared. The hoists will then run together at their respective positions while in the hoist synchronisation mode. If one hoist is run individually and then both hoists are run again, they will resynchronise to their respective positions without having to again clear the position error with the multi-function input.

The slave VFD also possesses an electronic gearing feature that allows for synchronisation of two or more hoist systems that have unequal hook speeds due to mechanical differences. Consequently the slave can operate at a ratio of the master as though the two were mechanically coupled through belts or gearing.

Software implementation

Figure 6 of the drawings shows the frequency generation portion of the software which is utilised to generate the slave motor signal utilising information from the master encoder and the slave encoder. Master encoder (108) provides information to the [slave drive] card channel #2 (118). Information from the input card (118) is used to calculate the speed from the master encoder (602) to provide an initial slave reference signal (604). The U1 series data outputs provides information for display or other monitoring of the operation of the drives. The slave reference signal (604) information is then utilised to calculate the speed after the appropriate reduction or increase according to the electronic gear ratio (606) to provide a new reference after gear signal (608). This new signal is then adjusted for proportional gain (610) and integral gain (612) to provide the frequency reference for the inverter (616). A transmittal of this reference to the inverter speed regulator (622) passes through the standard drive reference switch (618). The standard driver of the switch (618) is used to toggle between a standard drive reference signal (620) and the frequency reference for the inverter signal (616). This allows for independent operation of the drive with the standard drive reference or synchronous operation through the frequency reference. This switch (618) is controlled by an And Gate (634) which has inputs which include queries into the master’s operation mode (624), the slave’s operation mode (626), the input for the sync mode enable (628) as previously discussed, a terminal reference (630), and a second terminal reference (632). The master operation mode (624) and the slave’s operation mode (626) are checks to make sure that the hoists to be synchronised are both moving at a slow speed or stopped before initiating the synchronisation feature. This is a safety issue as well as a practical matter since the slave drive would fault if attempting to immediately go from a stopped position to full speed in order to synchronise position with the master drive. The terminal reference (630) is an input indicating that the drive is to move forward (terminal 1) or reverse (terminal 2). When in synchronisation mode, the slave drive only uses these inputs as a run command and then follows the master drive. The second terminal reference (632) is an indication that the run command is to come from the terminals as opposed to the keypad or serial communications. Once the frequency reference for the inverter (616) is passed to the inverter speed regulator (622) this [the frequency reference] is used to control the slave motor operation (104). The slave motor (104) is connected to a slave encoder (110) which passes information through a card channel (118) which provides information to both the inverter speed regulator (622) into a calculator for the number of counts from the slave per scan (678). This calculation (678) is then passed into the position error counter (654). Other inputs for the position error counter come from the card channel (118) which is connected to the master encoder (108). This other card channel (118) provides a signal to calculate the counts from the master with encoder ratios of (636) which sends remainder information to be saved (642) so that the encoder remainder (640) may be utilised in a next calculation of counts (636). The master PPR (638) also provides information both to the calculation of count (636) and the calculation of speed (602). The master PPR (638) is a parameter which indicates the number of pulses per revolution in the master drive’s encoder. Used in conjunction with the parameter for the slave drive’s encoder pulses per revolution, this determines the ratio between the master and slave drive for their respective encoder pulses per revolution. After the saving of the remainder (642) the input from the master encoder is used to calculate counts from the master with gear ratios (644). Output from the calculation of counts from the master encoder with gear ratios go through a similar process for saving the remainder (652) as a gear remainder (650) which is utilised in the next calculation of counts from the master (644). Other information provided to the calculation of counts from the master gear ratio (644) is provided by a gear ration numerator (646) and a gear ratio denominator (648). The gear ratio numerator (646) and gear ratio denominator (648) also provide information to the calculation of speed after gear ratio (606). Once the calculation of counts from the master of gear ratio (644) has passed through the saving of the remainder (652) the next step is position error counter (654).

The final input for the position error counter (654) comes from the resync select (694) which operates as a switch with three positions. The first position is represented as 0 which is clearing position of the error when not running (696). The second position is the accumulation position of error when not running when the position has cleared by the upper limit (UL2) input (698). The final switch position is the accumulate position error when not running position error clear by multi-function input (699).

This information is used by the position error counter (654) which provides information about the synchronisation error count (656). This information is passed onto the calculation position error proportional gain (658) which also utilises the position P gain (662). This information is applied through a + or -2 Hz limit to provide a position P gain (670) which is also added to the calculation speed after gear ratio provided by (606) at point (610). The position error count of (654) is also connected to calculate the position error integral gain (660) which utilises information from the position I time (664) and provides information to an inquiry of 0 if I time=0 sec (666) which is applied through a + or – 2.000 Hz limit (672) for the position I gain (674) which is added to the output of (610) through (612). Output from the position error count of (654) is also provided to the synchronisation error compare (680) which utilises a second input of the synchronisation error detection level (682) for the maximum allowed error. A pulse count equal to one motor revolution was used in this example. The synchronisation error compare (680) provides an output to the synchronisation error select switch (686) which is operated off of the synchronisation error select (684). This synchronisation error select (686) is connected to three outputs which the first is zero or does nothing (688), the second is synchronisation alarms (690) and the third one is synchronisation fault (692) to stop operation. This allows for the decision of how to operate the drive when the error exceeds a maximum error level.

The patent goes on to discuss in detail the flow chart for the software’s operation of the new features which allow for resynchronisation.