Kuka + ethernet communication (XML)

  • Hi


    I am working on a project which includes a Kuka robot which is controlled by a vision system. Right now we send the coordinates to the robot through a serial (rs232) connection. The problem is that the robot also has to answer back to the pc once in a while, and according to the Kuka manual, it is impossible to send data through the rs232 connection while the robot is moving. In order to reduce the cycle-times, we consider changing to ethernet instead of rs232. The communication through ethernet will require the "Kuka.Ethernet KRL XML" software package. Now my question is: When using this software, will it be possible to transmit data when the robot is moving?


    Thanks in advance!

  • Hello


    I'm working at the same project, but I don't know how to send variable from Matlab to the KUKA. I think that the best way is to update a file.dat via TCP while a KRL program is running, but I don't know how because I haven't any documentation. What do you think?


    puma

  • I dont know for sure if you can transmit the data back and forth while the robot is moving, but i know for sure that your data transmission rate will be much quicker.


    Im going to go out on a limb and say that im positive the robot needs to stop. You will find that anytime the robot is looking at an input, it will always pause to a degree.

  • "according to the Kuka manual, it is impossible to send data through the rs232 connection while the robot is moving."


    That can be solved, I know two ways to do it:


    a) precede each COPEN/CREAD/CWRITE/CCLOSE with a CONTINUE statement to let the program interpreter to execute those instructions it in advance. Depending on the instruction mix, you'll need to set $ADVANCE=5 or


    b) design a state machine which will run in a .sps file, which will handle all the communication in the background. While this approach is complex to program, it is more flexible.


    V.

  • this may help you, but to be honest I think that this solution is too expensive and complex for what you need.


  • Thanks for the PDF! It looks very interesting. You said that it might be too expensive... what is the price of the product? More than €5000?


    The last time I had to buy it, the EthernetKRLXML tech package cost approximately $1200 in US Dollars. There shouldn't be any hardware cost, since the ethernet is run through the port on the MFC card. If the MFC card is already being used by Windows (say, for remote backups), then you'll need to buy a separate KRC-qualified ethernet card for Windows to use (there's a 3COM card that's certified for use in KRC-2s, but avoid the Intel cards). The larger expense would probably be in man-hours learning the setup and altering your existing program to use ethernet rather than serial communications, but that shouldn't be hard if you have a good grasp of KRL and some time to work the bugs out.

  • Hi!


    I just want to bring a small update. We have tested whether it was possible to move while communication via a serial connection. It seems to work fine, if a CONTINUE statement is put in front of each of the CREAD and CWRITE commands. It even works when $ADVANCE is set to 1.


    With Kuka KRL XML 1.1 it is also possible to communicate while the robot is moving. However, the EKX_WriteInteger command stops the $ADVANCE pointer, even if a CONTINUE statement is put in front of it. This problem can be avoided by converting the integer to a character array (with SWRITE), and then using EKX_WriteString instead.
    :dance2:


    /RoboticsMan

  • It is also possible to read coordinates from binary file with Kuka SoftPLC and send them to KRL-program. That way it is a lot easier than with XML.

  • I think that it isn't as speed as RSI XML !


    Maybe I wrong but XML must be the faster system of communication for KUKA (Although is not simple to learn! :bawling:).
    How much SoftPLC cost?


    puma

  • hi Gilles74,


    thanks. I have a little manual of crosscomm, but my company is kuka integrator.
    I have develop openshowvar for help us in robot software develop. :smiling_face:
    Also, I heve develop a library for VB6 for read and write a robot variable. This library is not free. I can ask to my boss if is possible to trade it.


    nowire

  • Hi.
    Now I'm digging into XML configuration files and there is CREAD and CWRITE
    for example:


    GLOBAL DEFFCT EKI_STATUS EKI_Init(strChannelName[]:IN)
    DECL CHAR strChannelName[]
    DECL STATE_T Stat
    DECL MODUS_T Mode
    DECL EKI_STATUS Ret

    Ret = EKI_NULL_STATUS
    Mode = #SYNC

    IF ($ERR.Interpreter==#R_INT) THEN
    CONTINUE
    CWRITE($FCT_CALL,Stat,Mode,"EFC_eki_Init",strChannelName[])
    ELSE
    CWRITE($FCT_CALL,Stat,Mode,"EFC_eki_Init",strChannelName[])
    ENDIF

    Ret.Msg_No = -Stat.Msg_No

    showMsgDepend(Ret)

    RETURN Ret
    ENDFCT


    hm soo there is just needed driver for Ethernet ? (EthernetKRL.o) ?


    Marek

  • Wait, what? The XML configuration files for EKI are supposed to be written once, as part of the robot config. You're not supposed to modify them from your KRL program.


    And even then, you can't use those files without having installed the EKI option Tech Package.

Advertising from our partners