Speed safety check

  • Hello everyone,
    I'm currently in an internship and i'm trying to define a zone where my robot R-2000 iC has to decrease his speed. I've already defined 'no-go zone' with DCS option and i've loaded all DCS options but i don't find where i can define a slow down area.
    Thank you in advance for your answer.
    (and sorry for all english mistakes i'm a young french student :icon_smile: )

  • Hello,
    I don't think you can do this as you imagine. DCS works as guard when something is wrong. You can use cartesian speed check in DCS, where you are able to specifiy maximum speed limit and when actual speed is over this limit robot will do something (stops, e-stops etc). But speed change itself has to be make in other way - speed in motion instructions, speed override function and so on.


  • Thank you for answering,

    So, according to you I have to program with KCL and macro (SLOWDOWN, SPEED,...) and CURPOS variable ?
    I have already uploaded R632 (Karel) and R648 (User Socket Messaging) but I can't open KCL window ("Show/Hide KCL")
    When I open KCL window there is the following error message (attached file)
    "KCL is not available on the active robot controller. Please confirm thata PORT is assigned to KCL/CRT"

    Any idea to solve this?

  • I've found how to do a new Karel (but not opening KCL window) file but is this slow down program ( i don't program yet) will run at every moment in background to control the speed?

  • Hello,

    First you want to associate Outputs to your safety zone and be able to check that particular output value (exemple ON when robot enter the zone).
    Then in your TPE or Karel background program, you will continuously check the value and use the information to trigger a speed decrease or increase (depending on whether the robot is entering or leaving the zone).

    If you choose the TPE option you can use the OVERRIDE instruction to reduce the overall speed of the movement. You can probably run the TPE program in Background logic so that it execute itself continuously.
    If you choose the Karel option, you need to add a REPEAT logic to make it execute more than once (And don't forget to add DELAY between the loop iteration !).

  • To have true safety with slow down in a zone, say interacting with a human, you need a collaborative robot. $$$
    But you can base speed on a register, use BG logic to set speeds, and use DCS speed check. However this requires a very intense risk assessment.

    Oh, well

  • Hello!
    Define your zone as non-stop and configure an output to the plc when the robot is inside that zone, them simply use that signal to drop safe speed signal to slowdown the robot.

    this solution would still need another CSC/JSC zone that actually stops the robot when it's speed exceeds the limit. Otherwise it has nothing to do with safety :)

  • I did this kind of application in last few weeks, and this is how I solved it:

    I used laser scanner with two defined fields - warning (non-safety output) field and safety (safety rated output) field. Warning field is wired with DI, safety field is handled by DCS input.
    In DCS is used speedcheck, this speedcheck is enabled or disabled by safety field (when nobody is in safety field, this speedcheck is disabled)

    When someone enters warning field then DI is triggered and this DI is handled by background program - used as a Hold signal and robot stops. Then this person enters safety field => speedcheck is enabled and speed of robot is guarded by DCS, in fact robot has to be stopped as speed limit is set to zero. Operator does his job, leaves danger zone (speedcheck disabled), leaves warning field and robot is started again by background logic (signal Start from UIs). If we face any trouble with warning field (which is non safety zone), we still have standard emergency stop zone controlled by DCS...

    For warning field is not necessary to use safety components or DCS, because slow-down/stop of robot is not handled by safe way (and as far as I know there is no way how to do it in safety rated way). Laser scanner could be replaced by one set of light curtain as a danger zone trigger and some other sensor for warning field.

    This solution has been approved by our local work safety office.

    according to original question - it seems to me that it's possible to use same logic (danger zone = zone where robot MUST move slow, warning field could be created as a non-stop zone in dcs, but it triggers slow-down procedure as skalactik wrote (there is one more option - use override select function... all you have to do is to do good setup of zones, warning has to be big enough to give time to robot for slow down before entering to danger zone)

    I hope it's possible to understand what I'd like to say...


  • Hello,
    First thank you for all your answers, it helped me a lot. After a talk with my manager we decide to define only a speed check area ( joint speed check and cart speed check option in the teach pendant)
    So i have already defined an angle (-30/-110 degrees) where joint1 can't access if his speed is more than 4 degrees/s. This angle is defined by the following options: stop type:Not Stop Mode: outside .
    So with that joint 1 can turn by -45 degree without be stopped (but there is an alarm on TP at joint position check).
    But my current issue is to ''say'' to joint 1: you're not allowed to go in -30/-110 zone if your too fast?
    I think i misunderstand the disabling input option. I can disabling restricted speed with disabling input JSC (set to 1 for example) but i don't understand how can i change JSC value when robot is in the restricted zone (-30/-110 degrees zone)

    If my question is not clear please don't hesitate to inform me.
    Best regards
    Thank you

  • As I mentioned before, you can use another zone, which is slightly wider than the stopping JSC/CSC zone - let's call it a warning zone, with Not stop parameter. You can then map the warning zone's JSC/CSC output, to a Flag or a DI and then use it in some BG-Logic (or just Override Select function available via MENU > Setup > Ovrd Select) to reduce the Override so that it is under the stopping zone's limit.

    The principle here is similar to what Tomas Kabourek has already written above.

  • I didn't expect an answer so soon thank you bidjez,
    I'm trying to do what you said but how can i associate a DI to a DCS not stop zone? (when robot is in set to JSC to 1 and whe he is out et to 2 for example) I wish i knew how to write it in BG_logic program but how can i know when the robot is in or out, with which piece of information?

    thank you fo your time and your patience ..

  • you can find the parameters to assign status of each DCS item in the manual.

    DCS is Rack 36. Slots:
    1 = SPI
    2 = SPO
    3 = SSI
    4 = SSO
    5 = SIR
    6 = CPC
    7 = CSC
    8 = SPC
    9 = JSC
    10 = CSI
    11 = CSO
    12 = CCL
    13 = CCR

    Points of each slot refer to appropriate elements of each DCS function. This means, that:

    - to assign a JSC[1] to DI[257], you have to do the following in the IO Config screen:
    DI[257-257]: Rack 36, Slot 9, Start Pt 1

    - to assign CSC[2] to DI[258]:
    DI[258-258]: Rack 36, Slot 7, Start Pt 2

    - to assign all 40 JSCs to DI[257-296]:
    DI[257-296]: Rack 36, Slot 9, Start Pt 1

    JSC/CSC and JPC/CPC signals are ON when their referred zone is SAFE (according to its setting - robot in or robot out) AND NOT disabled.

    You can also do some other tricks with assigning these DCS signals to PMC fro diagnostics/monitoring etc, but maybe another time...

  • To take the state of the sixth DCS zone status and assign it to DO 66:

    IF ($DCSS_PSTAT.$STATUS_CPC[6]=0),DO[66]=(ON)
    IF ($DCSS_PSTAT.$STATUS_CPC[6]=1),DO[66]=(OFF)

    To set robot speed to 10%:
    $MCR_GRP[1].$prgoverride = 10

  • Thank you,
    your answers were very instructive, i've found another way to solve my problem it's maybe not so clean but it works so what else? ( based on I/O connect/ disabling input and cart. speed check menus)

    I'm now facing to another problem: connection to the web browser (with a different IP), i have already change IPV4 config and i can ping the new IP 192.***..... but roboguide doesn't care about it and opens the 127.0..... IP web browser each time

    I'm such a noob but i don't give up i'll find how to solve it
    Thank you for all

  • You can add a web page to the Favorites page quite easily - just go to Browser's Favorites and click Add a Link.

    It is also possible to assign a website to one of the function keys when in Editor or Browser screen, and even assign an icon to it, but I've only seen it a few times and I am not sure how exactly to do this...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account
Sign up for a new account in our community. It's easy!
Register a new account
Sign in
Already have an account? Sign in here.
Sign in Now