Case Study – Tracking Report

We were called in to investigate issues with a new production line at a major food manufacturing plant.

After some investigation, it became apparent that whilst the software suffers from poor commenting, the actual code is well written, using AOI’s and function blocks, for the conveyor-to-conveyor movements. This has a very robust car plant style approach based on a well-structured sequencer. Furthermore, the signals are familiar with the use of hand shaking and interlocks.

However, we noted that the data tracking is not so robust. It suffers under two heads.

  • Firstly, it relies on simple edge detection of the bags for data transfers.
  • Secondly, the lack of sensors. For the avoidance of doubt, described below are the event sources that ‘crank the handle’ of the tracking system.
    • CM01- The bag check weigher.
      The Bag at Check Weigher is OK. AND the Raw weight > 0 AND the Barcode Matches the expected from Sacchi AND Finally Check Weigher passed.
    • CM-02 – The metal detector.
      The metal detector conveyor identifies a bag when receiving new barcode data. CM02_BS01.BCR_New_Data
    • CM-03 – The X-ray machine.
      The Xray conveyor has no PEC wired to the LVP conveyor. There is no code to track the bag from CM-02 to CM-04. Indeed, the data ‘leap frogs’ from CM-02 to CM-04.
    • CM-04 – The Transfer conveyor.
      The transfer conveyor consists of a PEC[4] conditioned by AOI_DI (no access to logic) and time extended.
      PEC[4] One shot rising of the bag and Drive in Automatic
    • CM-05 – The Lift conveyor
    • Lift Conveyor Control Code
    • PEC[5] One shot rising of the bag and Drive in Automatic and an extra check that there is a sequence number in the tracked data for the bag.
    • CM-06 – The WIP conveyor.
      There is no data tracking on the WIP conveyor..
    • CM-07 – The Lift Exit conveyor.
      PEC[7] One shot rising of the bag and Drive in Automatic.
    • CM-08 – The Hopper Feed conveyor.
      PEC[5] One shot rising of the bag and Drive in Automatic and an extra check that there is a sequence number in the tracked data for the bag.

Detecting irregular bags with a PEC is a challenge.

Irregular shaped bags on a production line cause issues for tracking
The bag travels from left to right. Note how the front edge of the bag is not a nice crisp edge.
The range of bags we have to contend with on this one system
The range of bags that the manufacturer has processed for this system

When dealing with bags, the challenge is to filter out the variance of the bag.

Bags approximate to an oval. The conditioning control software must model as square.

The Controls software expected a box model, rather than an oval shaped box

When considering tracking bag detecting events:

CM01 and CM02 are robust as they do not care what shape the bag presents.

With the proposed flow rate, need to confirm that it is not possible to have two bags on adjacent conveyors CM-02 and CM-03. If this happens then the tracking data will be out by one.

How to square up the signal?

The conveyor control is using a robust sequencer to manage the movement of bags from one conveyor to another. Using a known step in the sequencer would produce a very robust event to transfer the data.

Fortunately, this application uses sequencers to move bags and boxes from conveyor to conveyor contained in the Station Control AOI.

Station Control AOI

The AOI deals with different orientations of conveyor junction. Further, it includes interlock conditions to prevent crashes either sending or receiving a bag or box.

Let us look at the internal sequencer.

The Internal Sequencer

Considering CM_04, this conveyor has neither a corner upstream nor downstream therefore is a ‘No Corner’.

Step 1 –     Waits for the overall system to be running. It waits for the PEC to be clear. It resets various signals.

It also monitors the previous conveyers, upstream, ‘Previous Ready to Send – Prev_RTS’ signal. Once confirmed, ‘It sets the ‘Ready to Receive – RTR’ signal and moves the sequencer to Step 2.

Step 2 –     Step 2 continues to monitor Prev_RTS  and also monitors the entry interlock. Once step 2 confirms both signals the conveyor motor starts. The bag begins its journey, and the sequencer moves to step 3.

Step 3 –     Step 3 waits for the bag to reach the PEC. Once confirmed, the motor stops and the Ready to Receive – RTR signal turns off (FALSE). The sequence transitions to Step 4.

Step 4 –     When a bag occupies the PEC, and the exit interlock is confirmed  ‘Ready to Send – RTS’ signal is set. It then waits for the next conveyor to confirm ‘Next Ready to Receive – Next_RTR’ signal. Then it will start the conveyor motor and , and the sequencer moves to step 5.

Step 5 –     Step 5 waits for the PEC to clear + 500ms, then turns off the motor and returns the sequencer to step 1.

As such, the sequence produces a positive process of coordinating the movement of the bag without hindrance by its irregular shape. Three interlocked sequencers control

Previous -> This -> Next conveyors.

When sequencers mesh, they behave as mechanical toothed gears. Because ‘gears’ do not slip we know as the sequencer enters step 4 the bag MUST have transferred correctly.

As such, the signals at PEC[4], PEC[5], PEC[7] & PEC[8] should be replaced with

On the rising edge of Station[4].Step = 4 , move the data from CM02 to CM04.

And similar for the other conveyors.  This is actually the technique we devised for our baggage handling systems back in 1998 at Heathrow Transfer baggage facility Terminal 3.

Hopper Transfer CM08 to CM014.

The Receiving_Bag_in_Hopper routine is quite complicated. It is trying to detect a flying bag entering the hopper. However, the Station_Control routine sequencer offers a secure event when a bag exits a conveyor.

Therefore,

On the rising edge of Station[8].Step = 5, move the data from CM08 to CM014.