Welcome, Guest. Please login or register.
Did you miss your activation email?
May 23, 2012, 07:32:23 PM
Home Help Login Register
News: Any Problems or Experience with Industrial Robots ?
Register and place your Question / Answer to worldwide Robotexperts right here !

+  Robotforum | Support for Robotprogrammer and Users
|-+  Industrial Robot Help and Discussion Center
| |-+  KUKA Robot Forum (Moderators: Werner Hampel, Martin H, SkyeFire)
| | |-+  KRL-XML
0 Members and 1 Guest are viewing this topic. « previous next »
Pages: [1] Print
Author Topic: KRL-XML  (Read 1159 times)
rajang369
Guest
« on: April 06, 2010, 03:34:52 PM »

Hello all,

I my previous post i had mentioned about the KRL-XML connection from the external PC using the file xmlapiconfig.xml file.
I tried my best to connect to the robot from external PC, using the sample program given by the Kuka, but it was of no use. So i had a small server-client socket program. I tried it and it worked i could send and receive messages from either sides.

Now my main aim is to move the robot remotely. So presently i do not understand how to using xml commands to move the robot from an external PC.  It would be great if someone could help me out with this problem.

Thank you
Rajan
Logged
mookie
Global Moderator
*****
Offline Offline

Gender: Male
Posts: 419



« Reply #1 on: April 06, 2010, 05:52:33 PM »

eek.,

define moving the robot remotely...

you could send the positional data to the robot for the target position you would like, and have it go to there, but i dunno about you jogging the robot remotely
Logged
SkyeFire
Global Moderator
*****
Offline Offline

Posts: 1784



« Reply #2 on: April 06, 2010, 09:31:35 PM »

There are no commands to control the robot via KRL-XML.  The best you can do is set up a program in the robot that loops continuously, checking for positional data coming over the XML link and moving the robot to those coordinates.

With RSI-XML you can come closer to controlling the robot in realtime, but you would still have to create an RSI module in the robot to receive in incoming positional data.

Logged
rajang369
Guest
« Reply #3 on: April 07, 2010, 12:48:20 PM »

Thank you very much for the replys,,,i'll try and keep you guys informed.

Regards
Rajan
Logged
SkyeFire
Global Moderator
*****
Offline Offline

Posts: 1784



« Reply #4 on: April 13, 2010, 11:52:55 PM »

The program will have to be in KRL.  The robot doesn't run programs in XML, it just transceives data in XML format.

You should start with the test programs included with the KRL-XML package, in the DOC directory on the install CD (or on the copy of the install CD on the robot's D drive).

The basic pattern of the program would be something like:
Code:
WHILE KeepGoing
  GET(P1) ; call routine to get E6POS data for P1
  LIN P1
ENDWHILE

You'll have to write the GET routine to suit your specific application.  The example program should provide a reasonable skeleton to build from.

This will result in stop-and-go motion at every point, but this is a necessary first step before trying to get fancier.
Logged
rajang369
Guest
« Reply #5 on: April 14, 2010, 10:56:33 AM »

Hi skyefire,,,

I checked for the test programs,,,but i only have the documentation file in that folder, It would be great if you could send me those test programs, if you have them.....:)

regards
rajan
Logged
SkyeFire
Global Moderator
*****
Offline Offline

Posts: 1784



« Reply #6 on: April 14, 2010, 01:48:59 PM »


...you just posted that you "finally got connected with the KUKA sample program."  That's the program I was talking about (although it's in the DEMO directory, not the DOC directory -- I messed up on that).  The demo program, as far as I recall, was already set up to send a POS or FRAME variable, so you've already got most of what you need. 
Logged
rajang369
Guest
« Reply #7 on: April 19, 2010, 04:27:42 PM »

Hi,

I would like to know if i can use variable in the place of constants,,,when defining the positions for the robot

i.e can i write the motion command in the following way

ptp {POS: x pos1, y pos2, z pos3, 10, 20, 30}

instead of  ptp{POS: x 10, y 13, z 14, 10, 20, 30}

Thank you
Regards
Rajan
Logged
rajang369
Guest
« Reply #8 on: April 19, 2010, 05:51:41 PM »

Hi all,

PTP P1 (move the robot to P1) P1 is a constant defined in the .DAT file
Now I receive new set of positions from  server program (TCP/IP communication, KRL-XML)
I want to move the robot to this new position, In this case can I define another position P2 and assign the received position to P2?


But KUKA manual says that P2 must be defined a  constant
So how do i achieve this functionality?
If possible please send me a sample code also,I hope this should do the needful

Thank you
Regards
Rajan
Logged
SkyeFire
Global Moderator
*****
Offline Offline

Posts: 1784



« Reply #9 on: April 20, 2010, 05:06:54 PM »

KRL does not allow the use of variables inside {}.  So a E6POS variable has to be constructed one element at a time.  It's a weakness of KRL, sadly.

So, You would need to do something like this:
Code:
DECL E6POS Pos1 ; declare position variable
;....
;Call XML comm routine
;XML puts XYZABC data into variables X_in, Y_in, etc
;....
Pos1.X = X_in
Pos1.Y = Y_in
Pos1.Z = Z_in
Pos1.A = A_in ; rotation around Z
Pos1.B = B_in ; rotation around Y
Pos1.C = B_in ; rotation around X
PTP Pos1 ; move to Pos1

Logged
optimus_prime
Full Member
***
Offline Offline

Posts: 168


« Reply #10 on: April 20, 2010, 05:28:55 PM »

Skyfire is correct, piecewise initialization helps.
Logged
Pages: [1] Print 
« previous next »
Jump to:  


Login with username, password and session length

Powered by MySQL Powered by PHP Powered by SMF 1.1.16 | SMF © 2011, Simple Machines Valid XHTML 1.0! Valid CSS!