Hi
Any experience with the error "ORI_TYPE variable write protected in module BAS, line 590" ?
Line 590: ON_ERROR_PROCEED.
KR C4, 8.3.x
Hi
Any experience with the error "ORI_TYPE variable write protected in module BAS, line 590" ?
Line 590: ON_ERROR_PROCEED.
KR C4, 8.3.x
your code? kss message number?
Hi. The msg. number is 1388.
you need to help narrow it down. there is not enough of information and nobody is willing to sift through thousands of lines of code...
program module you shared does not include matching DAT file but at least BAS.SRC is authentic for KSS8.3, build 129 (of course you never mentioned KSS version).
you also don't specify where in program fault happens, if you are trying to set some parameters by other task such as Submit etc.
line 590 in BAS.SRC does try to manipulate $ORI_TYPE inside sub called CP_DAT().
This is called by BAS(#CP_PARAMS) and tries to read LDAT which is of course in your missing DAT file.
Hi Forum,
I hope you don't mind if i join to this dialogue, about the same problem.
Robot info:
-KR C 2 (V5.6.12)
KS V5.6.62
So, the problem:
I am using an ultrasonic sensor which will give back a sign when the gripper reaches the right distance.
I have two point. PTP P2 and LIN P3. P3 point is the bottom of the material stack. The robot can't reach this position, because there is no other material, if it reach it the robot go home. I attached the program. When the ultrasonic sensor perceive the material(and would like to jump to the interrupt) the problem/error appears:
$ORI_TYPE variable write protected in module BAS line 545.
msg number:1388
i attach this program line too.
The program pointer end in line 88(in my src), when the error appears.
I hope you don't mind for hungarian language, if it is a problem i will translate it to english.
The program is not ready towards the end so there are some empty line.
I hope you can help me guys, thanks for your help in advance!
Cheers,
Not sure about the root cause, but my first thought is to try not using inline-form points inside the ISR. Try writing a raw KRL "LIN XPx" command instead of the menu-driven point. If BAS isn't called from inside the ISR, then this error shouldn't happen.
pretty sure motion planner would not be happy if motion in main program is not stopped when interrupt is triggered and then you try to issue another motion from ISR - at the same time...
Left out the RESUME command?
pretty sure motion planner would not be happy if motion in main program is not stopped when interrupt is triggered and then you try to issue another motion from ISR - at the same time...
Sorry if i missunderstand it but you mean i missed $advance=0 in the main program?
Left out the RESUME command?
I would not like to use resume in this ISR, because here will be and other interrupt trigger "section" and there will be a resume after that.
don't know, did not have time to actually check the code yet.
just mentioned that certain things may be not be accessible...
not very readable (Hungarian does not help - names look Klingon and formatting Pakled ).
If it helps i translate the program name to english😂😂
Anyway, thanks for your help. I’ll try it tomorrow😁👍
SOLVED!!!!
Thanks for your help guys. SkyeFire really appreciate your help! IT WORKED
Just have to changed what you said and worked!:)
So, guys unluckily i didn't get result with advance command.
I write down the important code detail:
DEF Robcell_v1()
INI
INTERRUPT DECL 4 WHEN $IN[5]==TRUE DO Approximation_toMaterial()
INTERRUPT DECL 2 WHEN $IN[5]==FALSE DO Gripper_grab_material()
;INTERRUPT DECL 5 WHEN $IN[4]==FALSE DO Set_aside_palett()
WAIT FOR $IN[3]==TRUE ;Start button on HMI
WAIT FOR $IN[4]==TRUE ;Wait for material stack
PTP XHOME
REPEAT
;INTERRUPT ON 5 This will set aside the palett when the sensor don't sense material on the conveyor.The material what it grapped was the palett that's
why the robot will set aside it. The program what i need for this not
finished.
Moving_totheMaterialstack()
INTERRUPT OFF 2
INTERRUPT OFF 4
;Moving_totheAssemblyMachine()
$ADVANCE=3
UNTIL $IN[4]==TRUE ; this is a sensor which is sense the Material stack is in position or not in the conveyor
DEF Moving_totheMaterialstack()
PTP P2 ;this is a point above the material stack
INTERRUPT ON 4
LIN P3 ; This point is under the material stack, what the robot never reach.
PTP XHOME ; Just in case i add this point, but it never happen.
INTERRUPT OFF 4
END
DEF Approximation_toMaterial()
WAIT SEC 0
INTERRUPT OFF 4
INTERRUPT ON 2
BRAKE
PTP $POS_ACT
LIN P3 ; This is the same point like in the Moving_totheMaterialstack() program, but here the Vel of the rob is 0.5 m/s.
INTERRUPT OFF 2
END
Gripper_grab_material()
WAIT SEC 0
INTERRUPT OFF 2
BRAKE
PTP $POS_INT
OUT 10 'GRIPPER_ON' State=True
WAIT SEC 0.2
RESUME
END
Display More
I think i wrote everything in my previous comment what is important about the robot.
I attach the picture what the robot write to me:
I hope i wrote everything right.
Thanks for your help in advance (again) guys.:)