No announcement yet.

Conveyor reject blowoff.

  • Filter
  • Time
  • Show
Clear All
new posts

  • Conveyor reject blowoff.

    I writing a program for a conveyor reject using the Click PLC. The program was original written in a Mitsubishi PLC by me a long time ago.
    Basically the operator watches parts move past them on a conveyor and pushes a button to activate a blow off down the line. I used two timers to set (1) the time the blow off air solenoid is open. And (2) the delay time is when the part is in front of the air blow after the reject PB is pushed.

    There is no timing signal or feed back from the conveyor. ( no encoder on conveyor belt)

    Ii believe the first time I used just a bunch of timers set up in a row to keep the different reject time for each part.

    Is there a better way to do this? Can I use a bit shift even though I don't have a timing signal from the conveyor.

    thanks, john

  • #2
    Or use a drum instruction.
    Why worry? If you've done the best you can, worrying won't make it any better

    - Walt Disney


    • #3
      If the conveyor speed is consistent then a shift register would be applicable. If the response time of the operator is roughly the same and a suitably short shift trigger is used then you should be able to work it out.



      • #4
        If the converyor has no variable speed and is just a motor running at full speed always then you could base things off the speed that conveyor moves, or if you have a VFD controlling conveyor speed you could always read the RPM from the VFD over modbus and use that as a sort of feedback to figure out your timing. Im thinking something along the lines of a shift register that has a column for every inch of the entire conveyor belt, or maybe just a column for every inch along the top of the converyor travel, with a "0" inserted by the PLC in the shift register every time the conveyor moves 1 inch. The speed at which a new value is shifted in is based on the RPM currently running. Then, if the operator presses the button for reject, you could either insert a "1" instead every time a value gets shifted in if the button is being held, or you can use a button press to tell the PLC to insert "x" number of 1's in a row (maybe 4-5 inches worth of on-time) corresponding to how long the blow-off needs to stay on, then go back to inserting 0's. As the values travel down the shift register, when they reach whatever column position is the location of your blow-off then if there is a 1 in that place the blower is on, if there is a 0 then the blower is off.

        if you have a variable speed motor control that has no communication ability, and dont have an encoder or anything like that then you wont be able to use this method.
        You may however be able to get a cheap prox sensor that could count something going by and feed that into a click high speed input and use it to run a counter or something, and then get feedback that way. There are quite a few $20-25 sensors that would be able to do this as long as you have something that can be counted as it turns while the conveyor is moving.
        Last edited by MikeN; 01-14-2019, 05:14 PM.


        • #5
          There are better ways to do it, but involve some automation: relay, relay power, a timer and a photoeye. No plc. And the contactor for blower.

          But letís focus at the way you do it
          If say the conveyor moves with 10cm/s and the reject blower is located 3m down,
          if object has a +/- 20cm margin of error for operator to enable the reject ( 4 seconds time to decide)
          1. The time delay is (3m-40cm)/(10cm/s)=26s
          2. Blow time is 8s
          3. Conveyor spacing between objects is 1m, insuring a dead band of 2s between two consecutive pushes of reject button.

          In similar conditions your automation will always work.

          I think what you have is good enough. The operator will always be there, the conveyor will always move at constant speed, the parts will always be spaced correctly. Why change it?
          Last edited by Alexandru; 01-15-2019, 12:44 AM.