Posts by dm.bogachev

    a memória do bo acabou e fizemos um backup via notepad++. E excluímos alguns programas do TP. Para gerar mais espaço interno. Queremos separar os programas porque se trata de uma célula com duas estações A e B. Então posso escolher qual programa quero enviar para o robô? Se for o caso, como fazer?

    Hi!


    There is a KIDE software made special for Kawasaki robots. You can open your backup and load any program you wish!


    Somehow like this

    Hello!


    Try this repository to get an example of python communication with Kawasaki robots

    GitHub - IgorMIV/khi_robot_terminal: Kawasaki Robot Terminal based on Pytrhon
    Kawasaki Robot Terminal based on Pytrhon. Contribute to IgorMIV/khi_robot_terminal development by creating an account on GitHub.
    github.com

    20WsEng Update- So i found where can i do such actions with select area monitoring option. In the picture i listed showing where i got both selected areas in safety input options listed in user safety input2 and input3. As to my knowledge only way to activate/deactivate walls are to connect external button on the physical board mentioned in external I/O manual. Or is there a way to add a signal so i can test it from i/f panel. Or i am totaly wrong by thinking adding physical button is the only way.?

    Hi! I think that you can use your robot digital I/O to control the Cubic-S safety inputs. And then you can use a signal in robot to activate or deactivate the safety zone

    Hi!

    I want to add my word about integration of robot with custom programs and frameworks.

    KRTerm is not the only way to communicate with robot and send commands. There are at least three more ways to control robot by external program.

    1. You can use KRCC dll (It's a .NET library, so you can use it only on Windows. May be mono will be OK with this library too, but I haven't tested it yet). You can download it from Kawasaki Download Center

    2. Also, there is a KRNX library, written on C++. For Windows and Linux OS. You can find it at kawasaki's github repository khi_robot

    3. You can use telnet client to establish communication with robot and send commands to it.


    I hope this information will help you

    Anyway, I don't know what are you talking about. Torch Interference is the only one dedicated signal. It doesn't have any relation to the other welding dedicated signals. Moreover, if you set 1000 as the value of Torch interference signal, it disables it. I'm 100% sure that robot will perform welding with disabled torch interference signal

    Hi!


    Torch interference is a signal for checking of the torch collision. It is not related to the welding start sequence.


    You should check the following conditions:

    1. Welding should be enabled on teach pendant. Check the Weld ON/OFF button. The green led should be on. If it doesn't, press A + Weld ON/OFF button to enable it


    2. Welding condition parameters should be not equal to zero. If you use block teaching, be ensure that Weld Current parameter is not equal to zero. If you use AS Language, the weld current parameter of W1SET instruction should be not zero too (W1SET weld_speed, weld_current....)


    3. Welding is basically executed in Repeat Mode. I know that there is a special function, which allows welding in teach mode, but It can be turned off on you robot, so use Repeat mode.


    I hope, it will help you

    this will causing, that the timer won't reset. Because the Signal stays HIGH.

    Well, it will RESET timer every time, the signal stays HIGH, my fault


    But if you need some kind of rising edge, then try this. It's a bit bulky, but should work


    BUT: As soon as another vacuum signal switches to HIGH, the timer should be reset.

    This prevents the vacuum from being switched off during operation.

    I think that if you will remove the .mi.trigger == FALSE from kwakisaki's code, the timer will be resetted every time the signals become HIGH. Now, as I can see, .mi.trigger blocks the first IF condition (IF ((SIG(9)==TRUE.....) after the first time any of signals became HIGH (because .mi.trigger became FALSE again only after .tme.dly-0.1 or if all the signals are FALSE)

    So, if you need to reset timer EVERY TIME, THEN ANY OF SIGNALS are HIGH, then just remove (.mi. trigger == FALSE) part

    IF ((SIG(9)==TRUE) OR (SIG(10)==TRUE) OR (SIG(11)==TRUE) OR (SIG(12)) AND (.mi. trigger == FALSE) THEN

    Hello!


    It's a very strange behaviour. If you already checked BASE and TOOL coordinates, the only idea I have is to check the robot model in Menu -> Aux. Functions -> 8. System -> 4. Software version


    I once had such problem with an old second-hand robot, so that's my idea.


    Also, could you get a backup from robot?

    This will only work in programs, but i would like to switch my vacuums also on my IF-Panel.
    So there is no option for a "MONITOR COMMAND" in which I can execute two commands.

    Consider using an autostart background program. You can add a button on your IFP with some internal signal and process it in background task. You also can add there some logic, which can reset TIMER as you want (Thanks Alexandru for idea). You can add in this background task (or made another) with something like. It will reset timer in Alexandru's code.

    Code
    .PROGRAM autostart2.pc()
        WHILE TRUE DO
            IF (SIG(9) OR SIG(10) OR SIG(11) OR SIG(12)) AND SIG(2001) THEN
                TIMER 7  = 0
            END
        END
    .END

    Hi!


    First of all, I wanna say that automatic recovery after Emergency stop release may be not very safety, so keep in mind all possible consequences.


    Now about your question.

    Quote

    - How to catch from a program, if E-Stop is pressed or released.

    You can use SWITCH(EMERGENCY) for checking the emergency state. Or, you can set a dedicated output signal "Emergency stop" to some internal signal i.e. 2001 and check it.


    Quote

    How to restart automatically a program that has been stopped... Hence, switch on the motors and restart the cycle.

    To turn on the motor, you shoud write MC ZPOWER ON. And after that add a little delay (about 0.2 s will be fine). Another way is set dedicated input signal "Ext. motor on" to some internal i.e. 2002 and then use SOUT 2002 = TRUE (SIGNAL instruction will not work for dedicated input internal signals)

    Same for cycle start. Use MC EXECUTE or "Ext. Cycle Start" dedicated input signal i.e. 2003.


    So, your autostart should be something like this:

    1 way

    Code
    .PROGRAM autostart.pc
    WHILE TRUE DO
        IF SIGNAL(-2001) THEN
            SOUT 2002 = TRUE
            TWAIT 0.2
            SOUT 2003 = TRUE
        END
    END
    .END

    2 way

    Code
    .PROGRAM autostart.pc
    WHILE TRUE DO
        IF NOT SWITCH(EMERGENCY) THEN
            MC ZPOWER ON
            TWAIT 0.2
            MC EXECUTE program
        END
    END
    .END

    Hi!


    If you need to switch off the same signals, consider PULSE instruction.


    And in your case, if condition goes right after the STIM command. It checks the signal once and then program goes further. You should use SWAIT command and then switch off the signals.

    Well my excuse is that I haven't even got a Kawasaki robot yet!
    I got Notepad++ and the AS plug-in because I have been generating AS code using Rhino/Grasshopper/HAL . HAL can output AS code.
    I see K-IDE is free. Is the simulation software K-Roset free also?

    Yes, KIDE is totally free and I'm using it for about 4+ years and it's really a brand new experience after the Notepad++ and other tools. I know, that K-ROSET has it's own AS editor, but it it doesn't have the features I use in the KIDE.


    K-ROSET has three license types. One of them is free, but you have a lot of limitations like you can add only robot and 1 object on scene. But you have a full virtual controller.

    You also can ask Kawasaki for a free two-month trial.

Advertising from our partners