Option to configure high on unscheduled stop for digital output.
What is it?
I would like the option of having a “high on unscheduled stop” to be able to send a signal to peripheral equipment and alert an operator that an unexpected stop has occured.
Why is it needed?
On a recent installation, we had wired the robot to a beacon sounder which was used to alert an operator upon various conditions during the program. We also wanted to sound the alarm in the event of a robot collision/prtective stop, and naturally looked to configure output for the alarm to be set to “high on unscheduled stop” but were frustrated to find that this is not an option, meaning that we would need to wire a relay to the output to invert the signal to acheive the functionality we desired. which feels like an unneccesary workaround for something that could and should be implemented into polyscope.
On a related note, I’m sure there would be people that wuild benefit from a “Low when running high when stopped” output, though it wasnt required for my specific use case.
This is exactly what we have been looking for. @sam.verity-hilton did you ever have a response on this? We have created a “workaround” but it is temperamental. We are not sure if the circuit is failing or the machine receiving the signal is tempermental. We are now looking to write some code using an Arduino but still need the high upon unscheduled stop function from the robot.
What a brilliant idea! We have a Robot unloading an automated Saw which we would like to “trip” whenever the Robot trips so that both machines work simultaneously with synergy especially in regards to safety.
High when not running wouldn’t quite work for this, as we would still want the saw to work without the robot assistant on occasion.
I think the function missing, or not being available in first place also has security reasons. Imagine if the signal cable broke - you would never get the warning sound even when there is an unscheduled stop. If the signal is set the high, if there is a broken connection it’ll also consider that.
There should be warning sounds/lights that are “low-active” and you should probably look into these.
I’m afraid this request has recieved no attention for the time being. We have used relays in the past to invert the signal, but its not an ideal solution and means we have more electronics to try and fit into the cabinet, when it seems a software solution from UR would make our lives much easier, especially as I wouldnt need this to be a safety rated function.
Wouldn’t using “set_runstate_standard_digital_output_to_value(outputId, state)” and using state 2 function this way?
I would think the only thing you would need to add is setting whatever Digital output to low when the program starts either in the “before start sequence” or inside your URCap if you are using one.
EX:
The problem is with high when not running is that I want the signal to go high only in an error state, hence on unexpected stop, rather then to just be high whenever a program is not playing. This method also leaves the IO open to control when a program is playing, which is not ideal.
I understand, then another possibility may be on this post about using RTDE to monitor the robot state and setting an IO.
I have not done much work with RTDE but this sounds like another possible workaround if you are using a PLC or URCap that can include this functionality.
Since PolyScope 5.9 (August 2020) there is support for configuring an I/O Action to fire in case of an unscheduled stop, which includes Protective Stop, E-Stop, Fault, Violation, runtime errors and similar. I.e. scenarios where the robot operation was aborted in an unexpected way.
Note that interruptions from Safeguard Stop are not included, as they in many scenarios happen frequently when used with safety equipment such as scanners, mats, guards, and are considered a stop caused by an action of the operator deliberately (by entering a restricted zone).
The functionality only supports setting the output (digital, analog, fieldbus) to a LOW state in case of the stop.
This is because the outputs must go low in case of a Fault, Violation or E-Stop, and hence only the LOW signal would be consistent in case of these interruptions.
During our design of this feature, we learned that many setups in practice will work fine with an active-low signal for eg. signal lights, audible alarms, or other signaling equipment.
If this is okay for your application; GREAT! PolyScope 5.9 and above will support this ability.
If you have a specific need for an active-high logic, I would be interested in understanding more about your scenarios;
Does it apply to any kind of stop, just Protective Stops, or so? Would digital, analog, or fieldbus signals be most relevant?
Thanks for raising your product needs,
Jacob, Product Management
At the risk of beating a dead horse nearly two years later, I’d like to see this feature as well. I specifically want an output to go high when the robot has a protective stop or fault. You could call this “High on unscheduled stop”.
I think I understand the concern here and believe RTDE could be a natural solution.
I forked the official RTDE Python library and modified it such that when the robot transitions from normal state to a protective stop an email is sent to a recipient.
The email aspect could be change to anything such as programmatically setting input / outputs or setting off an alarm controlled by the computer running the script.