Shift Register Not Tracking

In the attached image, encoder pulses are scaled to constant relative time at three different line speeds: 16Hz; 8Hz; 4Hz; Hz ≡ pulse/s.

Assumptions
  • BSR (Bit Shift Right); reject pusher touches bottle at bit position 0
  • 16 encoder pulses model distance from camera to reject
    • PLC inserts fail bit at bit position 16
  • ΔTreject = 0.25s: pusher delay is 250ms and constant for all, i.e. independent of, line speeds
    • from PLC writing the output bit to command fully retracted pusher to extend, to pusher (or air) touching bottle
    • PLC needs to issue reject trigger signal 0.25sbefore fail bit reaches bit position 0
      • i.e. before modeled reject bottle reaches modeled reject pusher
  • Camera inspection has no delay; fail bit is written at bit position 16 i.e. at camera position*
Result
  • Fail bit position at which PLC issues reject trigger is linear with line speed:
Trigger Position = ΔTreject * speed

This is what @Steve Bailey said in Post #2.

* Adding an inspection delay, e.g. ΔTinspect = 25ms between camera inspection trigger at bit position 16 and fail signal received by PLC, when failed bottle is "at" a downstream bit position, simply adds that delay to the Trigger Position calculation:

Trigger Position = (ΔTinspect + ΔTreject) * speed
 

Attachments

  • Untitled.png
    Untitled.png
    47.4 KB · Views: 5
Last edited:
One idea is to slow down to a low constant speed for reject, and then after the reject is done resume to normal speed.
You won't make any friends in production with a suggestion like that.
And the OP stated that the reject timing was fine at normal line speed, but too early at low speed.
 
Last edited:
Boy, I should learn not to post after 18 hour days...lol. I explained to myself how it's an inverse proportional function and then called it linear. 100 lashes for me.

Talk about not seeing the forest for the trees.

I will say in "practical" terms, most production lines run within a relative narrow confine of speed range and therefore linear approximation works 99% of the time. But in theory from 0 to infinity, ASF and Bitboy are completely accurate that across that range, it's a decay function.

Mea culpa all around :)
We've all been there. I still have vivid memories of that day realising that dwell time and speed were not linear, and it completely broke my brain. I couldn't focus on anything else until I'd rewired my brain to make sense of it 🙃
 
We've all been there. I still have vivid memories of that day realising that dwell time and speed were not linear, and it completely broke my brain. I couldn't focus on anything else until I'd rewired my brain to make sense of it 🙃
heh. Multiplying by unity is one thing; dividing by unity is a whole 'nuther ball o' wax.
 

Similar Topics

Hey guys, I have to work on a project using AB plc. I have 12 indeed conveyors from which boxes are enter into the main conveyor. The main...
Replies
4
Views
1,954
Hi guys, I am pretty new when it comes to programming. I am working with CX-Programmer and I am having a problem where I have a sensor on my...
Replies
6
Views
692
Hi all, i have a very slow indexing machine where we are looking to make everything as bulletproof as possible, money is not much of a factor...
Replies
12
Views
3,069
Good morning (EST), I am trying to implement the code below in on an S7-1200. It's barely half a dozen instructions, but I am stuck; I have not...
Replies
26
Views
5,694
Hi everyone I am completely new to using shift registers and am a bit stuck, my shift register works as should, it is for an overhead conveyor...
Replies
55
Views
15,629
Back
Top Bottom