Posts by AndreaLu

    thank you SkyeFire,this is the screen info of IR_STOPM: [kss 8.5]

    As we known,people can define the tool data(x,y,z ABC) in kuka's teachpad,but it would be more convient to wirte the tool data in src, something like this to define Tool 1 in .src file :


    Code
    &ACCESS RVP
    &REL 1
    &PARAM TEMPLATE = C:\KRC\Roboter\Template\vorgabe
    &PARAM EDITMASK = *
    DEF KUKAProg ( )
    
    Tool:ID=1,X=100,Y=0,Z=200,A=0,B=0,C=0   // something like this
    
    .............


    do you know how to do that exactly?Thank you very much

    i am learning RSI these days.I learned some from the demos of RSI package.

    But

    A big question around me:

    the question is:


    As we known,the robot can move only around a limitation of a "Fixed XYZABC pose"(in about 5mm)

    so this "Fixed XYZABC pose" is so important is acts like a "original pose".


    so..when the robot move a little away from this "Original" point, When robot have finished moving, the question is: How to update the "Original" pose by current pose? because in this way i can send new signals to robot to move a bigger range (if I always updating the Original pose)


    Thank you very much for help~

    That's not how RSI works. RSI is for realtime control. As such, you do not send it a destination. Instead, every 12ms (or 4ms for IPO-Fast mode), without fail, you must send the robot a corrective value. And the robot will attempt to apply this correction within 12 ms.


    This means that, if you send the robot a 1deg correction for A1, the robot will attempt to move at 1/0.12=83.3deg/sec, even if the robot is in Teach Mode. This is physically impossible for the robot to achieve, but it will try. And this will be very dangerous for anyone nearby. It will also probably generate faults.


    Moving the robot with RSI requires building a PID algorithm inside the RSI application, and sending the robot very small corrections. Those corrections are cyclically sampled and applied every IPO cycle, and need to be processed through a well-tuned PID in order to avoid acceleration faults, overshoots, hunting behavior, and other pitfalls. And those corrective inputs must scale down to 0 smoothly as the robot approaches the desired location.

    thank you SkyeFire,in "ethernet" example, the "target" of TCP is fixed(in this example is:PTP {A1 0, A2 -90, A3 90, A4 0, A5 90, A6 0}),in this example, robot just only move around this"target" in 5mm and 5 degree limitation.so ,my question is ,how can people change this "target" in program a little (i know the pose should be changed a little every time). so in this way robot can do more work( play pingpang or pick some thing)

    i am learning RSI 4.0 at kuka 8.5.

    and i run a "ethernet"example of rsi package.

    this is code of "ethernet" src:

    the result of this example is :when add or minus position value of TCP from PC server application,the robot moves a little(in 5mm and 5degree limit),so it cannot move too much.

    But i want robot move without this limit,for example i give robot a Angle or Line or PTP command,the robot TCP can go to to any postion in its reachable area.

    How to code it ,have you any example (src and server app)?

    Thank you!

    Thank you skyeFire,i will check them.

    i success on connect a PC and KUKA by ethernetkrl in a LOCAL network.(use a KUKA ethernetkrl demo "BinaryFixed" in installation package).

    Then,I put PC and KUKA in two different network(PC in 10.168.2.103, KUKA in 10.168.1.100),and use a techniq something like"openVPN",then PC can Ping KUKA(10.168.1.100),and KUKA can Ping PC(10.168.2.103),all are successfully,But i found PC and KUKA can not connect in BinaryFixed demo....(i have changed the BinaryFixed.xml to 10.168.2.103,and close all the firewall on KUKA and PC)

    Because they can Ping each other in different network,so i donnot know why they cannot establish connect by ethernetkrl,need you help,Thank you very much!


    Can't recognize the meaning of the program, but try:


    Thank you Hermann,i have tried your program,it works nice,and i can send another xml to robot even robot is runing in a interrupt method.after the previous interrup method has finished,immediatelly robot can run another 100 mm.
    but another request is,I really want to interrupt(means stop) a running interrupt method and to begin a new interrupt(also by xml),it means when the previous interrupt is running(maybe in Z-up 60mm),i send a new xml,and the robot can immediately stop robot,and make a 100mmZ-up?(it means in the final the robot total Z-up is 160mm),how to write the code,thank you very much!


    Veronica,i do have resume ,and as you told me ,i add "INTERRUPT OFF 89"at the InterMov,but also the problem exist.......

    i have a code,simplified here:


    when i make flag998 true(by send xml to robot),the robot will move up 100mm(it takes maybe 2 seconds),and when robot finish moving(it means i must wait 2 seconds later),when the robot is stop,then i send another xml to robot to make flag998 on,the robot will move another 100mm in Z,it is as i expected.no problem.
    but......if i send another xml before robot finishing moving up 100mm(i hope to brake the previous Z moving,and begin a new 100mm up),the robot will still moving untill the previous 100mm up moving is finished,then,robot will not go another 100mm up moving,and stop there refuse to moving any more(even i send xml to make flag998 true,robot will no move again...)......(so the only thing i can do is to restart the src file)
    any one can help?thank you very much!


    Try something like this:


    i tried, but failed,it show: impermissible program structure for resume....kss01584

    as the title,i really want to use a interrupt like this:
    the main program is in a loop where every 1 second to send something to external PC.
    and when the interrupt is on(by ethernet xml),the subprogram B will be called,in B, use LIN_REL to move up 10mm.then stop in its moved position,and return to main program.


    i wrote the src program,but the pedant tell me "repostion error",can you give some suggestion?i will be very glad to hear your advice.thank you.


    this is code:

    as the title,i really want to use a interrupt like this:
    the main program is in a loop where every 1 second to show something like $pos_act in pedant.
    and when the interrupt is on(by ethernet xml),the subprogram B is called,in B, use LIN_REL to move up 10mm.then stop in its moved position,and return to main program.


    i wrote the src program,but the pedant tell me "repostion error",can you give some suggestion?i will be very glad to hear your advice.thank you.


    this is code:


    You are trying to do some timing.... Hmmm... Why not use timer?


    when i run this program,the program meet a error in this place :INTERRUPT DECL 21 WHEN $TIMER[Sync]>T1 DO T1_Done()
    the pedant shows: Variable not declared in data list
    thank your for help.....

Advertising from our partners