Quote(can't subtract 2**16=2147483648 at once because of maximum integer value..)
Karel has special Constants:
MAXINT +2147483647
MININT -2147483648
I believe you can use them to assign and check values...
Quote(can't subtract 2**16=2147483648 at once because of maximum integer value..)
Karel has special Constants:
MAXINT +2147483647
MININT -2147483648
I believe you can use them to assign and check values...
Hi hoitzing,
Quote
Short of mapping the 32-bit signed integer to individual DI's and then reconstructing* the value myself..
I think that's the (easiest) way to go..
no GI; just DI-Array[32] --> R[x] e.g. inside BG logic
(there might be other ways too..)
QuoteIs there a file that stores the KAREL positions in a backup?
The Karel-Vars, Positions and other are stored inside ".vr" files.
".sv"-files are (technically) also karel variable files.
A ".vr" file does not need a corresponding ".pc"-karel-program.
best regards
PnsStarter
Hello leidai5,
QuoteAs far as I know, the only two ways to change the representation of a PR is either manually on the TP or by doing PR[X]=JPOS
The representation of a Posreg can be changed with a Karel-Prog too.
AND
using a command like
PR[1]= UTOOL[1]
will change the Reprentation to the type "POSITION"
you see something like NX, NY...
..
Hallo,
add :
%ENVIRONMENT REGOPE
It is described quite well in the documentation:
SET_JPOS_REG Built-In Procedure
...
%ENVIRONMENT Group :REGOPE
---
best regards
PnsStarter
Hi,
maybe the PMC function is or was used.
Accessing the (internal)PMC-IO's is done via the "10000++ " ID's.
from PMC pdf:
QuoteDisplay MoreDO[10001-10136] K0-16
DO[10137-10160] K900-902
DO[11001-23000] R0-1499
GO[10001-11500] D0-2999
Memory for K, R, D of PMC is assigned to DO, GO of Robot.
This assignment is for compatibility with conventional models.
The assignment for K, R, D is available only for these assignment patterns. Any
other assignment pattern (Ex. Assign K0 to DO[1-8]) is not available.
best regards
PnsStarter
QuoteSo How can I send the file in MD: to FR:?
Setup your FTP-Client to the FR device. At fanuc controllers the default device is md. So you have to configure the remote folder at the ftp-client site. good clients are filezilla or totalcommander
easiest way is to use BG Logic..
Does anyone know if there is a way to modify thoses activeX objects ?
You can't. The activeX controls are like an EXE-file on windows. A binary blob.
The iPendant uses an arm-version of these controls. (On windows it's x86)
Best regards
PnsStarter
Hello,
You should use the "FR"-Device.
fr:
fr:\data\
best regards
PnsStarter
Hi,
Use multiple networks.
Put either Ethernet/IP or vision-process into another sub-net/port.
On R30iB(Plus) controllers, you may be able to use the dedicated fanuc vision port for YOUR vision process.
Best regards
PnsStarter
Hi,
Quote
My question is simple, is it possible to index a system variable
No you can't.
You have to code it by hand with select/case and/or LBL/JMP LBL
e.g.
For [R189:Index]=1 to 255
JMP LBL[R[189]]
...
LBL[1]
$PLST_GPR1[1].$Payload=R[190:Value_Payload]
..
JMP LBL[1000]
...
LBL[255]
$PLST_GPR1[255].$Payload=R[190:Value_Payload]
...
JMP LBL[1000]
LBL[1000]
ENDFOR
Display More
you can also use a sub program(with select case inside) for setting vars
e.g.
best regards
PnsStarter
Hi i_robot72
in the past I always used the "$MC_PATH" variable for this, which only exists on virtual robots.
You can intercept with Karel if this is present.
But in TP this is not possible.
Since some time I use in TP for this : "$NULL_CYCLE"
On a virtual controller this is normally zero and does not change!!!
On the real controller it changes its value between MinINT and MaxINT.
So you can check this against zero to determine that the controller is virtual.
Best regards
PnsStarter
Very good point! I'm going to try this on the actual robot and see if it has to do anything with that actually. Because before I remember my bytes being in big-endian format but when running it on the virtual robot it is in little endian which is really weird. But that could account for the wrong end of the information taken. Why would the virtual robot use little endian while the robot pendant itself use big endian?
Yes. it is like you said.
I believe it's because the real controller is based on fanuc's "more unix like" os and/or processor type.
The virtual controller runs "inside"windows X86/64..
Hello,
if you have roboguide installed, check this folder:
"c:\ProgramData\FANUC\FRVRC Media\V9.40\product\gige\"
check the ".cam" files e.g. b_aca1920_48gm.cam --> acA1920-48gm
.. so this is a "compatibility list" for your specific Controller-Version (V9.4,V9.1)
You can also check the FR or MD device at the real controller for ".cam" files
I tried that by myself.
First I borrowed and then bought a camera from a "basler" reseller.
Best regards
PnsStarter
Hi StoopidEngineer,
a lot of people are using ultraedit. I think there are a couple of "highlighters" available.
Or you can use vs code or vs codium . Plugins are available.
But don't expect too much. Fanuc's TP is not very TXT-file-friendly:
- Comments may or may not be shown inside the ls file
- Indirect arguments
- line numbers...
...
best regards
PnsStarter
Hi DZonzi,
yes it is possible.
Use a macro(with a DI to execute)
within your (macro)program use the INC instruction .
..
PROGRAM MACRO_X+
PR[x] = 10,0,0,0,00
PR[y] = LPOS
L PR[y] 20mm/sec Offset PR[X] INC
...
think about safety, frames, feedback etc!!
Hi,
at real robot:
Create a program.
Teach one point at the left side(table surface) in front of the robot.
--> P[1]
Move(instruction) the robot with an offset of 500mm(1000mm) to Y-, measure.(WORLD COORD)
!PR[1]= 0,0,0,0,0,0
!PR[1,Y]= -500
J P[1] 25% fine;
L P[1] 100mm/sec fine Offset PR[1];
Is your measurment result ~500mm ?
No? --> Mastering,Calibration is not correct.
By the way , why did you master the robot?
Best regards
PnsStarter
Hi,
As gpunkt wrote:
Check your tool frame!
best regards
PnsStarter
I believe Background Logic was introduced in
R-J3iC (R30iA) --> V7.x