designbuildguy (Customer) asked a question.

Help adding a Next Button for Stage Programing

A little new here, so I hope I’m not overthinking this or using the wrong tools. (Using Do More on a BRX)

 

I am working on a program that will require the PLC to do a small task like move a conveyor belt, then wait for an operator to manually to a task while the PLC waits for a manual input after the operator has done his manual task – hot glue something on the widget then press a push button. Then the PLC needs to do a DIFFERENT small task than before (like spin the widget), then wait again for a manual task to be done by the operator while waiting for a push button to be pressed. This goes on for 8 cycles.  Each manual task will take a different amount of time to complete. 

 

I have the program set up using stages, each stage runs the small automated task and then turns on an indicator light over the bin of corresponding items to pick up and glue, thus telling the operator what to manually do/what part to use.   

 

I wanted to use the SAME push button as the “NEXT” button, but the way I have it currently programmed is obviously wrong because when I hit the next button it flies through all the stages, because it’s the same PB input that fills the rung to send it to the next stage.  I tried using an open contact, and a one shot leading edge contact, but they both gave the same result.  I thought about a short delay timer (like half a second) so that the PLC wouldn’t catch it in the same scan, but that seemed like a bad work around.

 

Is there a tool that I’m missing? Any suggestions are greatly appreciated.

 

Thanks!

-Bill


  • PouchesInc (Customer)

    I would use some sort of counter or increment instruction to hold a number for what stage you are on, and then when the "start next" button is pushed do a check to see what number should be active and start the corresponding stage.

    Also have a reset to bring everything back to the beginning of an edit where you can input the specific number you want to start if you want to skip ahead for some reason.

  • bcarlton (Customer)

    First the stages: after each motion/turn on light stage JMP to a following stage which will wait for a bit, let's say C1. When C1 turns on immediately RST C1 and JMP to the next motion stage.

    ​

    Now the button : At the start of the program, before any stage, place a rung which has a contact of each 'wait' stage in parallel. Following these place an edge contact of the button and SET C1, that's it.

    ​

    ​

    Expand Post
  • PonderingTurtle (Customer)

    I think you could use a bit that needs to be off for it to register the JMP and that also turns the bit on, then outside the stages if that bit is on it gets turned off say a falling button edge. Between that and using rising edge for the button push you should have to release the button before it will finish the next stage.

  • designbuildguy (Customer)

    Thanks all! I tried these, and as I was working on putting them into the PLC they sparked some other ideas. I tried a few more things and this is what I came up with. See attached pic (hope its big enough).

    One of my KEY TAKE-AWAYS was to have items BEFORE the stage logic (thanks @bcarlton) this way it is ran every time. This example was a simple light test. If I were to do an action I would do the action where I placed the red dots.

    Thanks again to the community for the help - it takes a village! If someone else has any other ideas feel free to keep sharing for me and for others in the future!

    Stage Push button

    Expand Post
    • bcarlton (Customer)

      Looks like a good start. There's always multiple ways to do things.​ My additions were to prevent multiple triggers.

    • Durallymax (Customer)

      Are you resetting the light outputs elsewhere? May be best to change them from SET to OUT and put an ST1 NO in front of them if they only need to be active for that stage.

      • HOST_franji1 (HOST Engineering)

        +1 Yes - one of the benefits of JMPing (disabling) stage is that some instructions "terminate", e.g. Timers will reset, OUT coils turn off. This can be a huge help in keeping clean logic, when you understand the behaviors.