PLLS Motor Sort Algorithm

To determine the order in which the motors (pumps) are started when using a Process Lead Lag Standby Motor Group (PLLS) instruction, signed integer bit patterns for each motor are sorted by numeric value. During sorting, bit patterns are evaluated in this order:
  • Out of service bit
  • Status value
  • Priority value
  • User-input value
  • Preference value
  • Current position value
Out of Service (Bit 31)
This bit is used to flag the motor out of service (value = 1) and automatically send it to the bottom of the list. If this bit = 0, the motor is free to operate and bits 5…30 determine its start order.
If multiple motors are out of service, bits 5…30 determine their position at the bottom of the list.
Out of service motors are not commanded and are not counted as running even if actually running.
Status Value (Bits 30…28)
The status of the motor determines the value of these bits:
  • 100 - The motor is in Hand and is not available to stop
  • 010 - The motor is in Auto and is free to start or stop
  • 001 - The motor is Off and is not available to start
If all motors have the same value, these bits do not affect the sort; the next set of bits become the determining factor in the sort.
Priority Value (Bits 27…23)
These bits are next in the order of precedence for sorting the array list. The value of these bits corresponds to the number entered in the Motor Priority field in the Motor Configuration dialog box.
The highest priority value has a pattern of 11111 (31), the next highest priority value is 11110 (30), and so forth.
If this priority is not to be used for the sort, set the priority value to zero for every motor.
If all motors have the same value, these bits do not affect the sort; the next set of bits become the determining factor in the sort.
User-input Values (Bits 22…15)
If the Status Values are equal and the Priority values are equal, enter values in these bits to sort the motors in the array list to the desired order.
The highest user-input value has a pattern of 11111111 (255), the next highest user-input value is 11111110 (254), and so forth.
If this value is not to be used for the sort, set the value to zero for every motor.
If all motors have the same value, these bits do not affect the sort; the next set of bits become the determining factor in the sort.
Preference Value (Bits 14…10)
These bits are next in the order of precedence for determining the order of the motors in the array list. The value of these bits corresponds to the number entered in the
Motor Preference
box in the
Motor Configuration
dialog box.
The highest preference value has a pattern of 11111 (31), the next preference value is 11110 (30), and so forth.
If this value is not to be used for the sort, set the value to zero for every motor.
If all motors have the same value, these bits do not affect the sort; the next set of bits become the determining factor in the sort.
Current Position (Bits 9…5)
IMPORTANT:
The current position bits are the only set of bits that cannot be equal.
These bits are next in the order of precedence for determining the order of the motors in the array list. The value of these bits corresponds to the value of the current position of the motor in the list, and the value is established by the PLLS instruction. There is no user entry for this field.
  • Lead motor - 11111 (31)
  • First Lag motor - 11110 (30)
  • Second Lag motor - 11101 (29) and so on
The Status value, Priority value, User-input value, and Preference value must be equal for all motors for the Current Position to be a determining factor in the sort.
Provide Feedback
Have questions or feedback about this documentation? Please submit your feedback here.