Nice info thanks.Does anyone know how to reset manually without rebooting the entire PC?
Goto: Display > Input/Outputs > I/O Drivers and then press the reset button. I think you need to be logged in as Expert level or higher aswell.
Nice info thanks.Does anyone know how to reset manually without rebooting the entire PC?
Goto: Display > Input/Outputs > I/O Drivers and then press the reset button. I think you need to be logged in as Expert level or higher aswell.
I would try auto
Yeah, should be auto according to KUKA support, I had this problem a year ago and they told me to set this to auto. And it have been working since that change actually.
I use the KUKA.RecoverySoftware 2.0 that we bought from KUKA. It works very well and is very easy to use, both clone and restore images.
Using it on a KRC4.
Both answers works very well but the SPS suggestion fits our application best.
Thank you both for your help!
Thanks for both suggestions, I will try to test them today!
Best Regards,
borelius
Hello,
(Using KRC4)
I wonder if it's possible to create a Boolean variable that have multiple robot outputs connected to it, so when I change the state of the bool the outputs should be the same?
I have tried something like this.
The above code works for a single output and only locally.
I would like to be able to set more than one output to the same variable and with that variable be able to use it anywhere in the program and it should trigger the outputs accordingly.
Thanks in advance,
borelius
Works like a charm!
Thank you panic!
Hello again,
I have another question regarding the communication programming.
In WoV i grouped up 8 outputs on the robot for 1 Byte on the Profibus so in the Robot I would like to assign a variable for that Byte, so when I set that variable to for example the decimal value "52" I want it to set the according bits in that byte so the dec value is 52.
So I grouped $OUT[40] - [47] so if the dec value is 52 I want it to set the bits 42,44,45:
$OUT[40] = FALSE
$OUT[41] = FALSE
$OUT[42] = TRUE
$OUT[43] = FALSE
$OUT[44] = TRUE
$OUT[45] = TRUE
$OUT[46] = FALSE
$OUT[47] = FALSE
Is there a easy way to accomplish this or do I need to write a function for this?
In a PLC I would just declare a Byte variable and then link that variable to the profibus and just set the value = 52.
Hi panic,
Yeah it was the IOCTL i was intrested in! I think I know how to use it, thank you!
Hi,
Thanks for your reply!
I had the wrong GSD file for the EL6731 so now it works with the I/O mapping
Now I only wonder how to use profibus communication from KRL code? Could someone post a small example for sending/retrieving data?
I have the "Beckhoff EL6xxx.xml" file but dont know If I have the correct GSD, I generated one by myself from Beckhoffs System Manger..
I added two pictures to show you how It looks in my WoV.
I can add the EL6731 but cant add anything on the "Profibus IO"
Ah ok good
Check your inbox!
Still curious if anyone have installed a Beckhoff Profibus card?
Hello,
We are thinking about using Profibus communication on our Robots and would like to use it with a Beckhoff Profibus Slave, EL6731-0010 (http://beckhoff.com/el6731/), I have been trying to configure this with no success so far. I don't know if it is even possible to use a Beckhoff Profibus for KUKA?
We have a KR C4 Compact.
I added the Profibus terminal in the WorkVisual but couldn't add the GSD file for it, I was able to add the GSD file to the DTM-catalog but when adding it to the "Profibus I/O" nothing happened.
After that I tried to download the new project to the Robot and I got some Profibus configuration errors.
I have done some searching on the forum for configuring the Profibus and what I understand there should be two files that you need to configure on the Robot, pfbms.ini and iosys.ini but I can't find them on the Robot. I don't know if there is some kind of limit in the KR C4 Compact for Profibus usage?
Regards,
Jack
You need to declare x1Calc correctly. Right now the system don't know what type x1Calc is. If you want it to be a position you need to declare it like you did with x1.
DECL POS x1, x1Calc
Thank you very much Greedy, that worked!
That will just create a third option with the button "Anytext" on it and I only want 2 options for the second message.
I have tried used the Clear_KrlMsg function but the program still stores the SoftKey parameters...
If it was that simple but can't do that.
Getting the "String expected" error when trying to do that.
Hello,
I'm trying to create a small program that will generate a few Dialog message for the user to answer to.
My problem is when the second message is created it will show a Soft Key from the previous message aswell.
This is a draft from my code and I'm using KSS 8.2.3
;//Create FIRST message
_msgSide = {modul[] "Teach", Nr 7, msg_txt[] "Which side needs to be calibrated?"}
SK[1] = {sk_Type #value, sk_txt[] "A-Side"}
SK[2] = {sk_Type #value, sk_txt[] "B-Side"}
SK[3] = {sk_Type #value, sk_txt[] "None. Exit"}
;//Generate message
_nHandleSide = Set_KrlDlg (_msgSide, par[], SK[], opt)
IF (_nHandleSide > 0) THEN
WHILE (Exists_KrlDlg(_nHandleSide, _keynumber))
WAIT SEC 0.1
ENDWHILE
SWITCH _keynumber
CASE 1
;do something
CASE 2
;do something
CASE 3
;do something
ENDSWITCH
ENDIF
;//Create SECOND message
_msgCheck = {modul[] "Teach", Nr 8, msg_txt[] "JOG the Robot in Position. Is the TOOL in position?"}
SK[1] = {sk_Type #value, sk_txt[] "Yes"}
SK[2] = {sk_Type #value, sk_txt[] "No. Exit"}
;//Generate message
_nHandleCheck = Set_KrlDlg (_msgCheck, par[], SK[], opt)
IF (_nHandleCheck > 0) THEN
WHILE (Exists_KrlDlg(_nHandleCheck, _keynumber))
WAIT SEC 0.1
ENDWHILE
SWITCH _keynumber
CASE 1
;do something
CASE 2
;do something
ENDSWITCH
ENDIF
Display More
So when the Second message is created I will have the third button in the message from the first message aswell.
So how can I clear the SoftKey(SK[]) parameters before creating the next message?
Best Regards,
Jack