Hi everyone,
I am working on a .src file that has 30mb in size. I knew that there's a size-limit for single .src file because the file should be loaded in VxWorks (RealTime OS), which has a restricted RAM size. However, thank god that our brilliant PRC has the functionality of <Splitting KRL for *** lines each> which automatically split my program into severak sub-programs, which all have size under 8 mb limitation.
However, when I get so happy to think that I can finally run my programs with ease, I cannot copy and paster them in KRC:/R1 folder and the system showed me
-- "No user memory available."
and only successfully loaded one of the files into R1 folder. I cleaned my KRC:/ folder from bottom to the top but still cannot load my programs in KRC directory.
I understand that there should be a over-all size limitation because it needs some spare RAM to process and guarantee safety. But it is too restrictive to only allow users to utilize 8 mb for all.
I am using Kuka KR10-1100 and has a KRC4-compact controller.
Is there some thing wrong with my KRC or it is a common problem? If it does, what is the reason to implement <Split functionality>, since even if we split the program into several smaller one, we still cannot load them in the KRC RAM?
The "Main Programs" are showed as followed:
&ACCESS RVP
&REL 1
&PARAM TEMPLATE = C:\KRC\Roboter\Template\vorgabe
&PARAM EDITMASK = *
DEF Foshan ( )
EXT Foshan_1()
EXT Foshan_2()
EXT Foshan_3()
;FOLD INI
;FOLD BASISTECH INI
GLOBAL INTERRUPT DECL 3 WHEN $STOPMESS==TRUE DO IR_STOPM ( )
INTERRUPT ON 3
BAS (#INITMOV,0 )
;ENDFOLD (BASISTECH INI)
;ENDFOLD (INI)
;FOLD STARTPOSITION - BASE IS 0, TOOL IS 1, SPEED IS 5%, POSITION IS A1 5,A2 -90,A3 100,A4 5,A5 10,A6 -5,E1 0,E2 0,E3 0,E4 0
$BWDSTART = FALSE
PDAT_ACT = {VEL 5,ACC 100,APO_DIST 50}
FDAT_ACT = {TOOL_NO 1,BASE_NO 0,IPO_FRAME #BASE}
BAS (#PTP_PARAMS,5)
PTP {A1 5,A2 -90,A3 100,A4 5,A5 10,A6 -5,E1 0,E2 0,E3 0,E4 0}
;ENDFOLD
;FOLD LIN SPEED IS 0.1 m/sec, INTERPOLATION SETTINGS IN FOLD
$VEL.CP=0.1
$APO.CVEL=70
;ENDFOLD
;FOLD RESET OUTPUTS TO DEFAULT VALUES (FALSE for DIGITAL, 0 for ANALOGUE
$OUT[1]=FALSE
$OUT[2]=FALSE
$OUT[3]=FALSE
$OUT[4]=FALSE
$OUT[5]=FALSE
$OUT[6]=FALSE
$OUT[7]=FALSE
$OUT[8]=FALSE
$ANOUT[1]=0.0
$ANOUT[2]=0.0
$ANOUT[3]=0.0
$ANOUT[4]=0.0
;ENDFOLD
Foshan_1()
Foshan_2()
Foshan_3()
END
-----------------------------------------------------------------
PS: There are some "unofficial tricks" to expand your single-file size limitation. Please refer: https://www.robot-forum.com/robotforum/kuka-robot-forum/krc4-no-physical-memory-cold-start-required/, Meigo62's reply.
I've tested it to expand the file limitation from dword:2000 to dword:4000 (4000 * 4kb = 15.6mb), but *BE CAREFUL* not to push it too high because this might crash your system and make it unable to connect the IP. (and take you some time to return to normal)
I am working on a .src file that has 30mb in size. I knew that there's a size-limit for single .src file because the file should be loaded in VxWorks (RealTime OS), which has a restricted RAM size. However, thank god that our brilliant PRC has the functionality of <Splitting KRL for *** lines each> which automatically split my program into severak sub-programs, which all have size under 8 mb limitation.
However, when I get so happy to think that I can finally run my programs with ease, I cannot copy and paster them in KRC:/R1 folder and the system showed me
-- "No user memory available."
and only successfully loaded one of the files into R1 folder. I cleaned my KRC:/ folder from bottom to the top but still cannot load my programs in KRC directory.
I understand that there should be a over-all size limitation because it needs some spare RAM to process and guarantee safety. But it is too restrictive to only allow users to utilize 8 mb for all.
I am using Kuka KR10-1100 and has a KRC4-compact controller.
Is there some thing wrong with my KRC or it is a common problem? If it does, what is the reason to implement <Split functionality>, since even if we split the program into several smaller one, we still cannot load them in the KRC RAM?
The "Main Programs" are showed as followed:
&ACCESS RVP
&REL 1
&PARAM TEMPLATE = C:\KRC\Roboter\Template\vorgabe
&PARAM EDITMASK = *
DEF Foshan ( )
EXT Foshan_1()
EXT Foshan_2()
EXT Foshan_3()
;FOLD INI
;FOLD BASISTECH INI
GLOBAL INTERRUPT DECL 3 WHEN $STOPMESS==TRUE DO IR_STOPM ( )
INTERRUPT ON 3
BAS (#INITMOV,0 )
;ENDFOLD (BASISTECH INI)
;ENDFOLD (INI)
;FOLD STARTPOSITION - BASE IS 0, TOOL IS 1, SPEED IS 5%, POSITION IS A1 5,A2 -90,A3 100,A4 5,A5 10,A6 -5,E1 0,E2 0,E3 0,E4 0
$BWDSTART = FALSE
PDAT_ACT = {VEL 5,ACC 100,APO_DIST 50}
FDAT_ACT = {TOOL_NO 1,BASE_NO 0,IPO_FRAME #BASE}
BAS (#PTP_PARAMS,5)
PTP {A1 5,A2 -90,A3 100,A4 5,A5 10,A6 -5,E1 0,E2 0,E3 0,E4 0}
;ENDFOLD
;FOLD LIN SPEED IS 0.1 m/sec, INTERPOLATION SETTINGS IN FOLD
$VEL.CP=0.1
$APO.CVEL=70
;ENDFOLD
;FOLD RESET OUTPUTS TO DEFAULT VALUES (FALSE for DIGITAL, 0 for ANALOGUE
$OUT[1]=FALSE
$OUT[2]=FALSE
$OUT[3]=FALSE
$OUT[4]=FALSE
$OUT[5]=FALSE
$OUT[6]=FALSE
$OUT[7]=FALSE
$OUT[8]=FALSE
$ANOUT[1]=0.0
$ANOUT[2]=0.0
$ANOUT[3]=0.0
$ANOUT[4]=0.0
;ENDFOLD
Foshan_1()
Foshan_2()
Foshan_3()
END
-----------------------------------------------------------------
PS: There are some "unofficial tricks" to expand your single-file size limitation. Please refer: https://www.robot-forum.com/robotforum/kuka-robot-forum/krc4-no-physical-memory-cold-start-required/, Meigo62's reply.
I've tested it to expand the file limitation from dword:2000 to dword:4000 (4000 * 4kb = 15.6mb), but *BE CAREFUL* not to push it too high because this might crash your system and make it unable to connect the IP. (and take you some time to return to normal)