Posts by ravitejagali
-
-
hello panic mode , hermann
here I am having 2 problems:
1)Why I can't declare real variables inside function2) When I try to use function it says: The declaration of function was not found.
-
hey panic mode ,
super man, I know where I am doing error. Thanks alot. -
hallo hermann,
I think you are correct, it was some some code anylzer problem. I hope I can do in this way in a .src file:
Code
Display MoreDeffct pos_value(x:in,y:in,z:in) Decl real z,y,z If varstate("x")==#initialized then xP.x =x Endif If varstate("y")==#initialized then xP.y =y Endif If varstate("z")==#initialized then xP.z =z Endif Endfct
same way not with DEF and End instead
DEFFCT.. ENDFCT
-
Hello panic mode ,
Thank you very much for your assistance. I wanted to clarify that the reason I mentioned using a void type for the function is because I intend to update global position variable inside the function when calling it.
I would like to utilize the function you provided. I have copied the function into a .src file, and within my program, I invoked the function by passing arguments.However, I encountered an issue. Despite using the function in my program, it still shows that the function is never used. Could you please explain why this might be happening?
Thank you for your help!
-
I'm currently working on a project in KUKA KRL, and I'm looking for a way to streamline my code by declaring a function that sets global position variables based on the values passed as parameters. Specifically, I want to pass X, Y, and Z coordinates to the function, and have it set the corresponding global variables accordingly.
For example, I want to achieve something like this:
; Function to set global position variables
VOID SetGlobalPosition(x, y, z)
; Set global position variables accordingly
END; Call the function with specific coordinates
SetGlobalPosition(-180, 0, 100)In the above code snippet, SetGlobalPosition is the function I want to declare. It should take three parameters: x, y, and z, and set the global position variables GLOBAL_X, GLOBAL_Y, and GLOBAL_Z accordingly.
Could anyone please provide guidance on how to declare such a function in KUKA KRL? Any examples or suggestions would be greatly appreciated!
Thank you in advance!
-
We have three similar robots lets say R1, R2, R3 with single controller, but they are placed in physical world like R3, R1, R2, is there any way to change the order of this mechanical unit group. Many thanks in advance.
-
After doing some more manual reading, turns out modifying S2C430 solves my problem.
Setting the parameter to 2 makes it work in my case. Woo.
Hallo paranoidandroid,
I tried with S2C430 parameter it didnt worked out, Instead of Single refrence point now Im using multiple refrence points.
Ty,
G:)
-
DIN LB001 SOUT#(60)
write in byte or local bytes and use in programm (1 in zone 0 not in zone)
example looks something like this
IFTHEN LB001=1 AND ( IG#(240)=3 OR IG#(240)=2 )
SETE P080 (3) 100000
ELSE
SETE P080 (3) -100000
ENDIF
SETE P080 TL#
-
Im having orientation problem, tried to change S2C430 parameter to 1 where the orientation of T axis should be constant but still it is changing. Please look at the pictures, the orientation from roby what I will (Ori_Good) and the orientation what my Calculated Point(Ori_Bad) do’s photos
-
Sorry. Can you be a bit more specific. I do not understand what your question is here.
For Ex: ablage_vor1 = {X 0, Y 0, Z 0, A 0, B 0, C 0} this position variable I declared it as E6pos which also includes E1 to E6 real values and status S, Turn T values. Should I need to declare these values also.
What I am doing is Very Simple, I go to my Pick Grip pos and see the actual position ans save this value and write it in my BASE_FRAME, Now I have shifted my Frame to PICK pos w.r.t this I calculate my Pick before pos and Pick after pos.
-
In the other programs you probably had a INI fold included at the beginning.Then these values are set using bas.src calls inside the INI-Fold.
The program template you get by creating a new program using the SmartHMI always has a INI Fold you probably did not notice until now.
Thats the difference between the simple user interface using Inline forms and trying to use plain KRL in expert mode. In the first case pretty much all necessary steps are hidden inside the Inline forms and system folds. If you want to use expert programming mode your programs can be a lot more flexible but on the downside you have to take care for everything yourself.
Fubini
hallo Fubini, its really usefull info. working with frames, tool offsets and user offsets i feel like fanuc and motoman little easy for me, but kuka can do alot. Other question regarding E6pos, -how about s, t values and E1 as this ís linear axis Im having the value it in my .Xpos
-
An the controller is absolutely right: You set the velocity for E1 in line 31 which obviously is after your initial PTP in line 27.
Also you miss out completely on setting the Acceleration on E1 using $ACC_EXTAX[1]. Again the controller speaks the truth.
Fubini
Hallo Fubini,
Thank U. As per Manuals the variables $VEL_EXTAX and $ACC_EXTAX are type of int and does the controller itself takes ptp as % and lin as m/sec . And in other programs I didnt declared these variables though working
-
Hallo All,
Im new with KUKA for calculating points, 6 Axis Robot with Linear Unit(KL3000). Would like to know where am I doing mistake. I go to my Grip position and look at actual position and write it in Base_Data, So looks approx. program:
Code
Display MoreDECL INT x_for DECL FRAME ablage_Greif[6,3] DECL E6POS ablage_vor1 DECL E6POS ablage_Vor DECL E6POS ablage_Nach Decl E6POS ablage_Nach1 Decl E6POS Grip_Null ablage_Greif[3,1] = {X 18917.34, Y 2690.61, Z 1346.42, A 180, B 0, C 90} ablage_vor1 = {X 0, Y 0, Z 0, A 0, B 0, C 0} ablage_Vor = {X 0, Y 0, Z 0, A 0, B 0, C 0} ablage_Nach1 = {X 0, Y 0, Z 0, A 0, B 0, C 0} ablage_Nach = {X 0, Y 0, Z 0, A 0, B 0, C 0} Grip_Null = {X 0, Y 0, Z 0, A 0, B 0, C 0} BASE_DATA[20]=ablage_Greif[3,1] $BASE = BASE_DATA[20] $TOOL = TOOL_DATA[2] FOR x_for = 1 TO 6 $ACC_AXIS[x_for] = 70 $VEL_AXIS[x_for] =70 ENDFOR ablage_vor1.X = ablage_vor1.X-750 ptp ablage_vor1 $VEL.cp = 0.1 $VEL_EXTAX[1] = 0.1 ablage_Vor.X = ablage_Vor.X -600 lin ablage_Vor ;Pick Pos lin Grip_Null ablage_Nach.Z=ablage_Nach.Z+200 lin ablage_Nach ablage_Nach1.Z = ablage_Nach1.Z+200 ablage_Nach1.X = ablage_Nach1.X-600 lin ablage_Nach1
Initial PTP Point itself, throwing velocity and acceleration of
E1 Axis not programmed..Many thanks for your time and consideration.
-
Is there any way to copy tooldata, in fanuc I can copy vale from position register to particular tool. Im getting tool data from PLC and with this tool data I need work, so if there any way please help me out. Many thanks in advance.
-
I have DX100 controller with two robots. Is it possible to override speed in that way for each robot seperately? It is very important for me to have them running with different speeds.
Hallo All,
How to control Override % , with one controller (YRC1000) with two robots and one positioner(R-250).
If I am changing S4C287 my IG number changing complete override. Is it possible to change for individual robot?
-
i hope you never opened .JBI file, you can open robot program with notpad and read it and make changes.
and if you backup, all type files you can open it with notepad.
-
If you change the value in fdat, there will be no error, robot moves with changed tool.
If you change the movement in HMI afterwards, you have to pay attention. The HMI uses different entries in the fold, and if you change only the speed in the online statement, HMI will change back the tool to the older value 😮. Crash can happen.
Thanks for your info
-
modifying inline form instructions (ILF) requires care because HMI makes changes in more than one place. --> loacl variables(local program position variables) are ment only for local programms I hope. You mean if position name is no where used except in the local progam still it changes the config of tool for other points
if you are learning how to manipulate ILF instructions by text editor, make change using HMI and compare before/after in BOTH files (SRC and DAT).--
if you want to find out what happens if you make particular change (in certain places only), try to run it and see how it behaves,
but keep in mind that you may be putting yourself and others in harms way. so always test changes in T1.--> For sure Not, no one will do like that atleast myself. I asked clearly (If I change tool by fdata, what happens? Does it brings tool mismatch error or does it moves to new tool point p1)
-
SLIN P1 Vel=2 m/s CPDAT1 Tool[1]:Toolo Base[0]
Here point p1 is taught with Tool no 1 and base no 0.
Inside folds we have fdata (frame data) , for the above point p1 fdat looks like this
DECL FDAT P1={TOOL_NO 1,BASE_NO 0 ,IPO_FRAME #BASE,POINT2[] " ",TQ_STATE FALSE}
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
If I change tool by fdata, what happens? Does it brings tool mismatch error or does it moves to new tool point p1