Signal for step number on robot is there

  • I want to get a output signal for the step number at which the robot is currently present. Is there any option for such in kawasaki robot

  • SYSDATA(MSTEP) returns the step number of the motion step in the program in execution. You might need to check if the robot is at a certain step and then the output signal is on.


    stepnr = SYSDATA(MSTEP)

    IF stepnr > 100 THEN

    SIGNAL 10

    ELSE

    SIGNAL -10

    END

  • Actually my purpose is to send continuously the step number at which the robot is presently operating to plc.


    So now take an example if the robot is stopped due to an error and someone moves the cursor down and if it restarts from there, then there chances of accident. So with step number feature I would have compared whether before and after exciting step number is same or not . It will act as safety point.


    A kind of intermediate start option like that in fanuc etc

  • Welcome to the forum.......... :beerchug:

    Actually my purpose is to send continuously the step number at which the robot is presently operating to plc.

    I agree with Alexandru

    SYSDATA is the correct function to use here.

    This can return many different kinds of parameters, so check out the AS manual for it's function.


    I assume you are running some kind of fieldbus between Kawasaki and PLC as from a hardwired perspective, that's a hell of a lot of wiring for some electrician to do..... :mad:

    You also need to consider just how many IO are available to you too, Kawasaki has some limitations.


    Using BITS, SYSDATA(MSTEP) running in sync with the motion routine should yield some results for you to build on.


    For example a simple background task to run that you can test:

    Code
    .PROGRAM stp_sniffer.pc
      again:
      BITS 2001,8 = SYSDATA(MSTEP)
      TWAIT 0.016
      GOTO again
    .END

    As you manually step, automatically step through the program, as long as the above is running, will control the signals output relative to the step no.


    In the above case, as long as the step no. is ALWAYS present and lies between 1 and 255, then you will send the BCD integer out on the signal allocation.


    With no program primed though, then step no, is not even 0 and ALL signals will likely be turned on.

    You will need to manage this, if the background task is running asynchronously to the motion routine.


    The above is not a 100% solution at all, but as a test, something to build on....... :top:

  • You can also do other safety stuff to avoid the collision:


    1. You can set some operations only available on level 3, therefore the operator will not have access.

    2. A background program that is monitoring in real time the actual position. For example if the robot is moved in manual mode and the operator will start the robot again, it can not be started.

    3. A watchdog for essential part in the robot programming. For example if you have multiple CALL function, at the beginning of the program it will check if the robot itself jumped into the program or not.

Advertising from our partners