$IN[1025] is alway true, it is allowed in T1, T2 modes, but not in AUT or EXT modes.
You need to change it to another input number you can operate and change.
There is a system variable CHK_MOVE_ENABLE or something like it that that could bypass this requirement but it is not recommended.
Posts by Nicolas Molina Methfessel
-
-
On the Jetson devices running Linux you can install Codesys runtime for Linux Codesys control for linux sl bundle. This gives you almost any communication on the Jetson side (or even a raspberry Pi) and you can program it like a PLC. You can pair that with any communication on the KRC side
-
In case this can help someone. I made 3 programs for my servos; Init, move to, reset. and sharing them below. (the program is for 4 servos that comply with Cia402 spec)
PS; did you have a problem with Distributed clock synchronization? Work visual won't build the application if I turn DC-synchron on.
Code: INIT_servo.src
Display More&ACCESS RVP &COMMENT inicializar servos de pinza DEF INIT_servos ( RDY :OUT) ;Declaration DECL BOOL RDY DECL BOOL RDY1 DECL BOOL RDY2 DECL BOOL RDY3 DECL BOOL RDY4 DECL INT C SIGNAL speed $IN[100] TO $IN[131] ;32 bit SIGNAL acc $IN[132] TO $IN[163] ;32 bit SIGNAL dec $IN[164] TO $IN[195] ;32 bit SIGNAL speed1 $OUT[356] TO $OUT[387] ;32 bit SIGNAL acc1 $OUT[388] TO $OUT[419] ;32 bit SIGNAL dec1 $OUT[420] TO $OUT[451] ;32 bit SIGNAL speed2 $OUT[556] TO $OUT[587] ;32 bit SIGNAL acc2 $OUT[588] TO $OUT[619] ;32 bit SIGNAL dec2 $OUT[620] TO $OUT[651] ;32 bit SIGNAL speed3 $OUT[756] TO $OUT[787] ;32 bit SIGNAL acc3 $OUT[788] TO $OUT[819] ;32 bit SIGNAL dec3 $OUT[820] TO $OUT[851] ;32 bit SIGNAL speed4 $OUT[956] TO $OUT[987] ;32 bit SIGNAL acc4 $OUT[988] TO $OUT[1019] ;32 bit SIGNAL dec4 $OUT[1020] TO $OUT[1051] ;32 bit RDY=FALSE RDY1=FALSE RDY2=FALSE RDY3=FALSE RDY4=FALSE RESET_CMD() Wait sec 0.5 ;servo 1 $OUT[316]=true ;operation mode $OUT[301]=true ;voltage given $OUT[302]=true ;quick stop $OUT[307]=true ;reset fallas ;servo 2 $OUT[516]=true ;operation mode $OUT[501]=true ;voltage given $OUT[502]=true ;quick stop $OUT[507]=true ;reset fallas ;servo 3 $OUT[716]=true ;operation mode $OUT[701]=true ;voltage given $OUT[702]=true ;quick stop $OUT[707]=true ;reset fallas ;servo 4 $OUT[916]=true ;operation mode $OUT[901]=true ;voltage given $OUT[902]=true ;quick stop $OUT[907]=true ;reset fallas FOR C=1 TO 10 STEP 1 ; 6 loops is enough to get to Ready ;servo 1 IF $IN[300] AND NOT $IN[303] THEN CONTINUE ON_ERROR_PROCEED speed1=speed acc1=acc dec1=dec $OUT[300]=true ;startup IF $IN[301] THEN $OUT[303]=true ;Drive Enable IF $IN[302] AND NOT $IN[303] THEN RDY1=true ENDIF ENDIF ENDIF ;servo 2 IF $IN[500] AND NOT $IN[503] THEN CONTINUE ON_ERROR_PROCEED speed2=speed acc2=acc dec2=dec $OUT[500]=true ;startup IF $IN[501] THEN $OUT[503]=true ;Drive Enable IF $IN[502] AND NOT $IN[503] THEN RDY2=true ENDIF ENDIF ENDIF ;servo 3 IF $IN[700] AND NOT $IN[703] THEN CONTINUE ON_ERROR_PROCEED speed3=speed acc3=acc dec3=dec $OUT[700]=true ;startup IF $IN[701] THEN $OUT[703]=true ;Drive Enable IF $IN[702] AND NOT $IN[703] THEN RDY3=true ENDIF ENDIF ENDIF ;servo 4 IF $IN[900] AND NOT $IN[903] THEN CONTINUE ON_ERROR_PROCEED speed4=speed acc4=acc dec4=dec $OUT[900]=true ;startup IF $IN[901] THEN $OUT[903]=true ;Drive Enable IF $IN[902] AND NOT $IN[903] THEN RDY4=true ENDIF ENDIF ENDIF IF RDY1 AND RDY2 AND RDY3 AND RDY4 THEN $OUT[307]=False ;reset fallas $OUT[507]=False ;reset fallas $OUT[707]=False ;reset fallas $OUT[907]=False ;reset fallas RDY=true EXIT ENDIF ENDFOR END
Code: Move_grip.src
Display More&ACCESS RVP &COMMENT mover pinza DEF Move_to (moveOK) ;Declaration DECL BOOL moveOK SIGNAL Target_posL $IN[196] TO $IN[227] ;32 bit target left gripper 1/1000mm SIGNAL Target_posR $IN[228] TO $IN[259] ;32 bit target right gripper 1/1000mm SIGNAL Tpos1 $OUT[324] TO $OUT[355] ;32 bit target servo1 1/1000mm SIGNAL Tpos2 $OUT[524] TO $OUT[555] ;32 bit target servo2 1/1000mm SIGNAL Tpos3 $OUT[724] TO $OUT[755] ;32 bit target servo3 1/1000mm SIGNAL Tpos4 $OUT[924] TO $OUT[955] ;32 bit target servo4 1/1000mm moveOK=FALSE Tpos1=Target_posL Tpos2=-Target_posL Tpos3=Target_posR Tpos4=-Target_posR Wait sec 0.5 CONTINUE ON_ERROR_PROCEED $OUT[305]=true ;execute/go to target CONTINUE ON_ERROR_PROCEED $OUT[505]=true ;execute/go to target CONTINUE ON_ERROR_PROCEED $OUT[705]=true ;execute/go to target CONTINUE ON_ERROR_PROCEED $OUT[905]=true ;execute/go to target LOOP if $in[313] THEN $out[260]=true ;servo1 moving ENDIF if $in[513] THEN $out[261]=true ;servo2 moving ENDIF if $in[713] THEN $out[262]=true ;servo3 moving ENDIF if $in[913] THEN $out[263]=true ;servo4 moving ENDIF IF $IN[311] AND $IN[511] AND $IN[711] AND $IN[911] AND not $in[313]AND not $in[513]AND not $in[713]AND not $in[913] THEN $OUT[305]=False ;execute/go to target $out[260]=FALSE ;servo1 moving $OUT[505]=False ;execute/go to target $out[261]=FALSE ;servo1 moving $OUT[705]=False ;execute/go to target $out[262]=FALSE ;servo1 moving $OUT[905]=False ;execute/go to target $out[263]=FALSE ;servo1 moving moveOK=True EXIT ENDIF ENDLOOP END
Code: RESET_CMD.src
Display More&ACCESS RVP &COMMENT reset comand word DEF RESET_CMD() SIGNAL CMD1 $OUT[300] TO $OUT[315] ;16 bit command word servo1 SIGNAL Mode1 $OUT[316] TO $OUT[323] ;8 bit control mode servo1 SIGNAL CMD2 $OUT[500] TO $OUT[515] ;16 bit command word servo1 SIGNAL Mode2 $OUT[516] TO $OUT[523] ;8 bit control mode servo1 SIGNAL CMD3 $OUT[700] TO $OUT[715] ;16 bit command word servo1 SIGNAL Mode3 $OUT[716] TO $OUT[723] ;8 bit control mode servo1 SIGNAL CMD4 $OUT[900] TO $OUT[915] ;16 bit command word servo1 SIGNAL Mode4 $OUT[916] TO $OUT[923] ;8 bit control mode servo1 CONTINUE ON_ERROR_PROCEED CMD1=0 CONTINUE ON_ERROR_PROCEED Mode1=0 CONTINUE ON_ERROR_PROCEED CMD2=0 CONTINUE ON_ERROR_PROCEED Mode2=0 CONTINUE ON_ERROR_PROCEED CMD3=0 CONTINUE ON_ERROR_PROCEED Mode3=0 CONTINUE ON_ERROR_PROCEED CMD4=0 CONTINUE ON_ERROR_PROCEED Mode4=0 END
-
Hello, did the time synchronization work?
I have 2 robots : KR120 R2900 ultra with KSS8.3.43 and KR700PA with KSS8.2.28
I am programing them on WorkVisual 6.0.24
I have connected 4 JMC Jasd4002-20B-EC Servomotors. The device description installed correctly, but when I build the code I get an error on the "DTM KUKA Extension Bus (SYS-X44): Slave 'JASD7502-XX-EC_A1' uses DC, is not compatible with the master.
When I turn off DC in all the servos I can install the to the robot the drives are recognized and I can write to it variables but after a will I get errors on the drives (AL 054) The same happen if on the PC I turn of the distributed clock.Turning ON time synchronization in Additional Controller Settings doesn't let me use DC-sync on the drives either (on Kss8.3.43, the KSS8.2.28 doesnt even have this option)
Am I missing something or is my KSS version to OLD. -
Thank you huythai for your reply,
Somehow I managed to operate the motor with KRL.
Currently, I use lots of SIGNAL, WAIT SEC and WAIT FOR, so the latency add up. But it has fulfilled the requirement I need.
I still have many things to learn, like SOE, PDO, and editing ESI. Once I have sorted these things out, I'll put a simple instruction of how I have done these. Hope that will help newbies like me.I am beginning to implement the same thing. I have connected 4 JMC Jasd7502 EC Servo drives to a KRC4 robot. They are installed with a working ESI. I can exchange IO between servos and Robot.
These servos will open and close a gripper to variable positions.
I am thinking of writing a KRL file with signals etc... to initialize drive, home, set target position and move.
Did your method work? could you share your KRL file? how bad is the latency? -
Sorry my Fault I didn't realize that older versions were not called KSS
but that was the password for windows 95-based robots.
Although I just tested that pressing ESC on login is enough. -
My account just got Verified. I am ordering the recovery usb 4.0
-
So it would be better (futureproof) if I get the Kuka recovery USB 4.0.
Do you know how long it takes for a Kuka account to be verified?It has been 9 days and I still can't order anything directly from Kuka. I gave them my company's website address, physical address, and all.
And on the Upgrade link, you sent me I get an empty folder message, maybe because my account isn't verified yet. -
Thank you for the recommendation. I will install it on a new drive, so I will have all the data on the old HDD and I have an image of the drive on a server just in case.
Can I update de KSS version? (within the 8.2.xx) that is great I have another robot on kss8.2.18 I would update that one too. And I have on Kss8.3.17 maybe I could ask for the latest Kss8.3.xxI am guessing those 8.Y.xx updates are mainly bug fixes?
I also read that on the Kuka recovery USB there is a BIOS update for exactly this motherboard D2608-K. So that will surely be some bug fix.
P.S. I found where to buy a recovery USB 3.0 from a spare parts reseller. On Kukas website, there is a new 4.0 but there is no information to know if it is compatible with these older robots
-
Thank you for the tip. I will ask for the image too.
-
for KSS 4.2 on the older KRC2 with Windows 95 User name = Administrator Password = KUKA
-
I will have to find a way to buy a KUKA USB. And having the USB I can replace the HDD with an SSD (this KRC4 came with an HDD)
The corruption surely happened because of bad batteries or even the CMOS battery on the motherboard.
This robot was not being used. I am installing 3 robots and setting them up. Installed and connected them. Replaced batteries, but the store had only 4, I replaced the first 2 robots, those were already mounted. I mounted this robot later. and had the batteries ready to change and did not do it. I am still beating myself for it. I even took the drives from the other two robots and have a restore image saved. I didn't even know that this had an HDD and not an SSD like the other 2.
Thank you, now I know that the only probable way out is the KUKA USB .Like having the mastering kit, better to not need it, but essential when you do, or set up a new robot.
-
P.S. Thank you, I am amazed at how quickly I got an answer with help/correction.
-
Sorry, my first time posting.
KSS version 8.2.16
Hardware KRC4. With the control computer motherboard D2608-K, that doesn't have a display output. Motherboard D3076-K and D3236-K have DVI-IThe problem started after a power loss. The smartpad would not connect and on the CSP the first (green) LED blinks and the Sixth LED (red) is on.
So I added a low-power GPU with a DVI-I output. Like the other Kuka control pc motherboards have. Connected a display to see what is going on.
I reinstalled Kuka's software from the KUKA_release file on drive D:
But still, I get the error that RTOS cant load.
Before seeing the RTOS cmd window I get another error that a library cannot be loaded.I would have tried with the KUKA USB but I don't have one and don't know where to get one. I live in Bolivia.
-
I have a KR240PA robot where the SmartHMI software won't load on the control PC and won't connect to the smart pad.
I added a GPU and a screen and found that when VXwork and RTOS are loading it detects that Windows is using all CPU cores.
In dual-core systems, Windows should be using one core and RTOS the other core.
Does anyone know where to fix that? The bios has a lot of options greyed out, saying you need to contact your administrator. There is a disable multicore option in the bios but no way to change it.