Getting Direction Bit by Bit

If you are reading this, then you understand that written English language flows from left to right across the page. Although second nature to us English language folks, this left to right flow is more or less arbitrary as far as world languages go. Arabic and Urdu, for example, flow right to left when you read them on the page, and, if you were only exposed to Urdu, you would think those English folks are nuts for writing in the wrong direction.

Well, (here comes my signature elegant segue), ConveyLinx is a product used worldwide and, sometimes, there is confusion, no matter the language of the user, as to what direction the motor rollers should turn in certain situations. In particular, sometimes jogging the motor from EasyRoll does not produce the same direction as when items are conveyed when in ZPA mode.conveylinx

When this happens, our English reading users immediately believe the module has inexplicably turned Urdu and is not surprised that the module is binge watching “The Big Sick” on Amazon video[1]. Likewise our Urdu reading users believe the module has gone English and will be expecting tea and scones at 4 p.m. Rest assured there is a logical explanation for this conundrum.

There are two Boolean values stored in registers on the module that determine the rotation direction of the motor roller. One we will call REAL and the other we will call FLOW. REAL is either a 1 for clockwise (CW) or 0 for counter clockwise (CCW). CW and CCW are referenced as looking at the motor roller from the cable end of the tube and the ConveyLinx module is on the same side of the conveyor as the cable end of the motor roller. A default “out of the box” ConveyLinx module has REAL = 1 which is CW. If you connect EasyRoll and change the direction of rotation to CCW, you are changing REAL = 0.

The FLOW value indicates how the flow of the ConveyLinx module was determined during the auto-configuration procedure. If upstream to this ConveyLinx module is connected to the left Ethernet port, then FLOW = 0. If upstream to this ConveyLinx module is connected to the right Ethernet port, then FLOW = 1.

When you jog the motor roller in EasyRoll, the FLOW value is ignored and the direction the motor roller rotates is determined by the REAL value. If you place the ConveyLinx module in PLC IO mode, there is no FLOW value recognized and a “run in the default direction” bit will rotate the motor roller as it is set in EasyRoll.

The only time the terms “forward” or “reverse” are meaningful is when a ConveyLinx module is in ZPA mode, and as expected, this is where the FLOW value comes into play. There are simple formulas for these:

 

ZPA FORWARD = XOR [REAL,FLOW][2]

 

ZPA REVERSE = NOT [ZPA FORWARD]

 

For example, if the upstream to a given configured module is connected to the left Ethernet port, then FLOW = 0 and if the module has REAL = 1, then XOR [1,0] = 1, thus the ZPA FORWARD direction is 1 = CW.

Another example would be that the upstream of a given configured module is connected to the right Ethernet port, then FLOW = 1 and if the module has REAL = 1, then XOR [1,1] = 0, thus ZPA FORWARD direction is 0 = CCW.

So, no matter if you have a proclivity to expect your written word to flow from left to right or right to left, with a bit of Boolean logic you can always figure out which way your motor rollers are going to turn.

 


[1] Obscure reference. This movie’s main character is a Pakistani stand-up comic in Chicago who sometimes will write a girl’s name in Urdu as a suave pick-up line.

 

[2] Refresher on Boolean logic: Exclusive OR (XOR) is XOR [1,0] = 1, XOR [0,1] = 1, XOR [1,1] = 0 and XOR [0,0] = 0. NOT is simply if it is a 1, then make it a 0; and if it is a 0 then make it a 1.