The configurable outputs cannot be optionally selected for different voltages.
The Tool IO DOES have an option for 12v out.
The 12v and GND block are there for remotely turning the robot on and off with external hardware, but I suppose you could use the 12v as the source in this case. Take the 12v into one end of a normally open relay, then put your device power on the other end. You’d have to make sure your device is grounded to the GND block though. Then use a configurable output to turn the relay on and off. Otherwise it might be best to just externally source the 12v and still use the relay + robot output to toggle it on and off.
The first is used to emulate the cycle start button on my mill.
The second is being used to send the reset signal to my mill after the CNC notifies the robot controller it has completed it’s cycle.
Everything runs great from the I/O Input screen, both can be toggled and have been verified functional.
When I run inside the program, The cycle start i/o is set to high and then after that set to low.
It is cycling so quick the relay doesn’t have time to function.
I inserted a wait 1.0 second between the two commands.
Now for some reason my program pauses on the wait line and I have to hit play to resume the program.
Any insight or share a better method would be great.
I am so close to being able to run my first unmanned batch of parts.
Attached are two screen shots of the program running, it has paused itself at the wait line.
I have to hit resume/play to force the program to continue.
Let me know if you need any additional information.
ps. A prior post discussed a pulse ? where do I find that option in the programming tree ?
Is that on a newer software version ?
Can’t say I’ve ever seen the robot pause the program itself at a wait command… do you have anything wired to an input that’s set to pause the program?
If I do, it is non-intentional. That is way above my skill level at this point.
it’s a little weird.
I have also thought of just moving my “cycle start”=low further down in the program.
That just leaves the relay high for a bit. creating a natural passing of time.
I may try the set-pulse command and see if that fixes the issue as well.
Thanks for the banter back and forth, it’s helping me.
It’s making me feel sane and expanding my knowledge, even if it’s forcing me to think of another method.
Check in the IO Setup tab in the installation. Make sure none of the Inputs have “Pause Program” as an option. If you’ve wired some signal from your mill to a Pause Input command, what you might actually be seeing is you tell it to cycle start, it starts the cycle and signals on this input, which then pauses your program, misattributing the “Wait” command as the culprit because it just happened to be the executing command when the MILL caused the robot to pause. Seems pretty unlikely but like I’ve said I’ve just never heard of a Wait command causing the robot to pause.
A bit more detail on the Pulse option within the Set node –
In a case similar to yours, we trigger a gage to take a reading, so we set a pulse of 0.1 sec.
Set trigger=HI:Pulse 0.1
The script that Polyscope creates basically just does what we expect - sets the output on, waits 0.1 s & then shuts it off, using a thread construction:
thread SinglePulse125(): set_standard_digital_out(1, True) sleep(0.1) set_standard_digital_out(1, False) end singlePulse125 = run SinglePulse125()
So, I wouldn’t expect it to act any differently than what you’re doing now, but you could give it a try anyway if you’d like.
I also wonder if by any chance the program is looking ahead to your Wait Mill_Done = Hi command (it shouldn’t, but who knows?) and hanging there.