Beginner, error checking

  • Hi :winking_face:


    I have question about error checking. How do you do it?

    I program in KIDE and sometimes i don't know if I wrote the program correctly.
    For example:
    I don't know how to change x parameter in position.
    DX(position) = variable

    Can i use it?

    How can i check if this is correct?
    Is there any debugger?

    Sorry, if I made mistakers in English:neutral_face:


    Thanks :grinning_face_with_smiling_eyes:

  • Hello,


    I dont know If there is any debugger tool for the AS language. It should be better If KIDE would have in the future a syntax check.


    You wrote correctly.

    Variable = DX(position)


    Usually i wrote the program in notepad++ having a plugin for the AS function and If there are any mistakes while loading the user has 2 options: delete that line or comment that line.

  • Thanks, i will check a plugin.

    I'm trying to change x possition robot from the HMI panel. So i need to write variable to possition.


    "Variable = DX(position)" it writes to a variable, I want the opposite.

    if i can't use : DX(position) = variable


    Maybe it is correctly:

    Decompose .point_temp[0] =pointx

    POINT .pointx= TRANS(variable, point_temp[1], point_temp[2], point_temp[3], point_temp[4] point_temp[5])

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

    The DX command can be used to return the 'x' component of a transform location.

    DY and DZ commands respectfully return the 'y' and 'z' components in the same way eg:


    x_value = DX(location).

    y_value = DY(location).

    z_value = DZ(location).


    This command ONLY obtains what is currently stored as the stipulated component and defines the value to the variable you stipulate.

    This value is stored as a decimal real number and carries no unit/magnitude.


    You can also use the DECOMPOSE command to create an array of ALL components associated with a transform or a precision point.

    (Usually this is better, as you then have all the data associated with the given location).


    DECOMPOSE tmp[0] = location

    DECOMPOSE tmp[0] = #location


    Once you have obtained the information, then adjustments to the values, or complete rewriting of the values can be achieved.

    In order to change ANY location or component of a location, you need to use a variation of the POINT command.


    So what you have written with the DECOMPOSE instruction is close to being correct, but syntactically needs refining.

    From what you have mentioned, you are just trying to replace the existing 'x' component of the target location with the value entered from the HMI.


    x.val.hmi = 500

    POINT .tmp_location = target_location

    DECOMPOSE .tmp[0] = .tmp_location

    POINT .tmp_location = TRANS(x.val.hmi,.tmp[1],.tmp[2],.tmp[3],.tmp[4],.tmp[5])

    POINT target_location = .tmp_location

    The above example is just showing you how to use the local variable as a workflow example.


    You could just have:

    x.val.hmi = 500

    DECOMPOSE .tmp[0] = target_location

    POINT target_location = TRANS(x.val.hmi,.tmp[1],.tmp[2],.tmp[3],.tmp[4],.tmp[5])


    When using local variables, you need to declare them first either by using a global variable, or a constant and then refer to them within the instruction.

    What you wrote would have created 'undefined variable' errors.

  • Everything working, thank you for help.


    I checked in terminal " point DX( location )" and there the program change possition. But I would like to issue a move to this possition on teach pendant before starting the program. Command "lmove possition" does't work, apears error " " Cannot ude thos command/instruction in current mode" I changed the mode to every way, and I still can't use this command. How can I move to this possition without writnig a program?

  • Dear all,

    I am as well a new Kawasaki robots programmer (also new to robot-forum.com)! I have experience with Fanuc ones however...


    A question: I use KIDE for programming (as far as I know it is the only IDE which you can call it that). However I do not understand how the "Inspect source code function" works (it's icon is a green eye).


    Is there a way to execute step-by-step the (non-movement) instructions (e.g. assignments, if,...) of a program using KIDE or the teachpendant or any other software (possibly inspecting the variables values)? Thanks!


    (Btw I find it unbelievable that Kawasaki did not produce in more than 30 years oof selling robots a decent piece of IDE for programming...😭😭😭)!!!

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


    KIDE is a beta application produced directly from KRG (Kawasaki Robotics Germany) and documentation as well as popularity is very low, you may be better directing specific questions regarding KIDE to them.


    I myself have never had the need to use IDE with Kawasaki as it is perfectly usable in it's current form, admittedly it could well do with revising in comparison to todays OEM offerings and that is why I use KROSET, the new version being released is supposed to have an IDE built in and personally I would wait for that, as this should be well documented and globally supported.


    As far as executing single steps, you can use EXECUTE command, stipulating the program and step no.

    In teach mode via the pendant, you only have CHECK ONCE function, however the CHECK function in Kawasaki is prioritized for motion checking and not individual steps.


    Btw I find it unbelievable that Kawasaki did not produce in more than 30 years oof selling robots a decent piece of IDE for programming

    Depends on what you're used to I suppose, programming Kawasaki without an IDE is easy when you know the product well enough.

Advertising from our partners