Home› Robot Safety
Discussion
Back to discussions page
Tim_Smith
Posts: 38 Apprentice
Light curtain and area scanner for safety on UR |
3.7K views
|
Answered | |
/ Most recent by matthewd92
in Robot Safety
|
33 comments |

Hi DoF Community,
I am working on a project using Universal Robots, and the customer is very worried about safety. In this case, the customer is worried about the robot having to hit someone for it to stop. So I proposed using a light curtain or an area scanner to slow down the robot when a person comes within 3 meters and have the robot stop when someone is within 1 meter of the robot. Has anyone used a light curtain or an area scanner for increased safety on a Universal Robots cell? How easily can I interface the light curtain with the robot's controller? How can I communicate with the robot when the light curtain's signal is triggered?
Thanks,
Tim
I am working on a project using Universal Robots, and the customer is very worried about safety. In this case, the customer is worried about the robot having to hit someone for it to stop. So I proposed using a light curtain or an area scanner to slow down the robot when a person comes within 3 meters and have the robot stop when someone is within 1 meter of the robot. Has anyone used a light curtain or an area scanner for increased safety on a Universal Robots cell? How easily can I interface the light curtain with the robot's controller? How can I communicate with the robot when the light curtain's signal is triggered?
Thanks,
Tim
I have used a light curtain to slow down a UR3. The output of the light curtain is an input to the robot. Then using that input as a trigger for a thread to slow the UR3 down from 100% to 10%. You can do the same thing with a safety mat or a safety scanner.
To do the auto stop/start you just wire the safety output into the safeguard stop of the controller
If you want to use the thread route realize that this is technically not safety rated as there is no redundancy to the method and there is no guarantee that it would work every time unlike using the safety controller built in to the robot. You will need to call the speed slider using a TCP socket but here is the instruction on how to do that.
@matthewd92 Thanks for mentioning the option of using the safety controller. I hadn't thought of this option, and the fact that this option covers the redundancy is really great! So in my program I will have to monitor both the rising edge and the falling edge of the light curtain's. Could you share a snippet of code that explains how to use the logic signal from the light curtain or the safety mat to change the robot's speed?
Thanks a lot for the information!
If you want to use the speed slider you would just have an event running that is looking for the digital input to change (either go low or high depending on if you are using the NC or NO output of the light curtain). Once it changed you would send to the local host at port 29999 the speed slider percentage that you want it set at.
Something like this:
Event input=True #Set the speed slow
socket_open("127.0.0.1",30002)
Event input=False #Set the speed back to normal
socket_open("127.0.0.1",30002)
As you can see in the last two statements, I set "btnState:=LightCurtain", then the wait statement holds the speed until the wait state is not equal to LightCurtain. Basically, while the input is on, the thread waits at the last statement.
This works great if you want to have a two stage process, first slowing down the robot say at the 3 meters away, then go the safety circuit at 1 meter. We use the safety circuit with safety mats on some of our robots, not because of the robot, but because we are running a small press being fed by the robot. I choose the speed control because I am driving screws and a complete stop causes problems. Whereas the slow down is still fast enough to drive the screw most of the way into the part.
We recently tested some light curtains for a client. So we decided to try the reduce mode of the UR. The setup was so easy. The light curtains that the client had were Reer Light Curtains. They have a way that you can wire them out such that they are in AUTO RESET mode. This is what we used in the video below. Then we hooked up the light curtains output to inputs of a safety relay. We then wired the output of the safety relays to the safety inputs of the UR controller. Then in the SAFETY setting of the UR we simply assigned the values of the plugged inputs to reduced mode. So in the video you see the robot going at roughly 3000mm/s and then switching to about 450mm/s when the operator moves his arms across the curtains.
I believe we could have bypassed our safety relay. However the light curtains are not the only safety devices in the robot cell. The way we manage our safety for E-stop and fences are through loops that if are open when a Estop or fence is open. Our light curtains are giving 0 or 24VDC depending on the state (broken or not) they are in. So to fit this in our usual loop we kept the relay.
Does that make sense?
Robotiq Integration Coach
[email protected]
1-418-380-2788, option 3
here is a picture for the values setup in the safety parameters. I did not save the program but my points in the program where linear points with 10mm blend radius, speed of 3000mm/s and accel of 2000mm/s2.
Thank you very much.
We are actually in the process of switching to a Siemens S7-1200F PLC as it gives us the ability to control the safety systems as well as gives us a PLC and access to Profinet for expansion IO which is way faster than modbus IO expansion.
Hello Matthew, I should connect two light curtains and thee RFID-door-switches to an UR5e. Each safety device should be connected to an safeguard input. My mistake was, that I thought that I can configure the safety inputs of the controller as safeguard-stop inputs.
Have you an little schematic of the relay connections? I don't understand your explanation.
Thanks a lot, Fabian
This will by far be the easiest and safest way to connect more than 1 or 2 items to a UR controller.
The three door switches are connected in row. That is allowed. So i have only three devices with each two OSSD's. Are there no possibility to solve this with a simple relay circuit?
We don't want any external safety controller because it should be a simple and manageable "special machine". We have a lot of big totally complex machines.
https://www.phoenixcontact.com/online/portal/de/?uri=pxc-oc-itemdetail:pid=2904958&library=dede&pcck=P-05-01-01-03-01&tab=1&selectedCategory=ALL
For each curtain one relay. Then I connect the closers contact in row on the safeguard input.
My earlier point though still needs to be heeded as the robot will turn off outputs if the system were to fault. If this were to occur while the operator was in the safety area this could lead to a part being dropped if the vacuum on signal is when the output is high and so when the system faults the output would turn off and so would the vacuum. I have seen many system faults with safety systems as operators will enter the safety area and then try to use the free drive button to move the robot, this does not work and if they try to force it to move will cause a safety violation as the safety system is monitoring the robot position and watching for any motion as there should be none during a safeguard stop.
The way I wire the light curtains
OSSD1: s0
OSSD2: s1
But I did not know if I should connect anything to the 24V of each in the safety inputs of the robot. I was also in doubt to supply the sender and receiver of the light curtain, Can I supply them from digital outputs from the robot or they need to be wired in a specific way ?
May I ask you what do you mean by aligned properly and how can I check if the OSSD are turning ?. I think they are turning since the robot does not even continue initialization due to safety guard stop