How to disable DCS from a program?

  • Hello guys,


    First time poster here.


    I'm programming a robot with multiple palettes with complex movements (= robot moves are not straight) and have designed multiple DCS points that i'd like to avoid, just to not hit anything during development (and production in the end). I'd like to disable certain DCS from a program at a certain point (for example, i'd like to disable palette DCS when loading onto the palette) and I know I can define external safety input that disables the DCS, but they all require to be physical switches/inputs. Can I use a register or internal output to set it to "ignore" ?


    If I'm doing it incorrectly using DCS in the first place, what's the best way to do it?


    Thanks!

  • Similar to DCS

    You create a zone and is directly connected to a DO and DI (of your selection).

    Play around, the DI allows you to get inside the area

    The DO indicates that you are inside or outside and you can use this to your purposes

    Retired but still helping

  • I've seen spc, but how do i stop the machine? Do I run a separate bg job that constantly looks for these outputs and stop if active? I'd rather have a more bullet proof method, but if this is the only way, i'll have to do it this way.


    One of the issue is also that i have 20 machine objects that i need to avoid, while, i think there are only 10 spcs (i will look tomorrow if it's possible to increase them ising controlled start)

  • PLC can help you with holding the robot


    Let me understand something. Did objects that you avoid, Are they fixed on space (column, door, tool )? maybe you have to program many different "escapes" paths and depending where you are you use a particular path.


    It's going to be a nightmare program with so many IF commands but at least you won't crash

    Retired but still helping

  • Please don't use this unless you are sure it is not a human safety concern.


    There are inputs calls NSI, non-safe inputs. You can configure any logic to turn them on and mute a DCS zone programmatically. If you use this then your DCS zone will no longer be safety rated.

  • Hi cmcraeslo,

    You can set internal safety DO to disable the DCS when running the program. First you have to define safety in Digital output by assigning the rack 36 and slot 0 start 1 in I/O configuration and go to DCS MENU and add NSI DO to parallel input for disabling input (example shown like image)

  • Please don't use this unless you are sure it is not a human safety concern.


    There are inputs calls NSI, non-safe inputs. You can configure any logic to turn them on and mute a DCS zone programmatically. If you use this then your DCS zone will no longer be safety rated.

    They are not human safety concern. There's external safety device (Pilz) that takes care of that (there are 5 locks and 5 safety sensors on the machine) and that devices triggers external reset immediately when something goes wrong/triggers.


    So, DCS in the robot will be used for nothing but to protect the machine from stupid moves (joint move is so unpredictable so that I want to make sure there's no funky moments)

  • Hi cmcraeslo,

    You can set internal safety DO to disable the DCS when running the program. First you have to define safety in Digital output by assigning the rack 36 and slot 0 start 1 in I/O configuration and go to DCS MENU and add NSI DO to parallel input for disabling input (example shown like)

    Hello.


    I played with this today:

    - I mapped rack 36, 0, 1 to 2 outputs, 75 and 76 (I have 2 different parts of the machine I need to enable or disable)

    - defined SIR[1] = NSI[1] and SIR[2] = NSI[2]

    - defined disabling input of SIR 1 or 2 in the DCS


    When I turn the DO[75/76] ON, I can see the DCS being disabled in the roboguide, but it turns the output OFF immediately after I turn it on.


    How can I trick the NSI to stay ON (or OFF) permanently when I demand it?

Advertising from our partners