Ok, maybe not a difference then, but there must be a reason for the different prefixes?
Posts by rf103
-
-
Looking at the option list for any robot, we see 'Order No' starting with a 'J', an 'R' and an 'H'.
Does anyone know what the difference between these is (if any)?
-
You could try and see whether GET_VAR(entry, '*system*', '$RSPACE1[2].$SECND_VTEX[3]', your_variable, status) is a bit more cooperative.
your_variable needs to be of the correct type (so if $SECND_VTEX[3] is an INTEGER, your_variable should be an INTEGER, etc).
Accessing system variables that way is recommended anyway, as it makes your program a bit more portable.
-
You are correct that an "All of the Above" backup (sometimes called a User backup) does NOT contain KAREL .pc filesIs this perhaps something that is controller / system version / configuration dependent? I just checked and I have loads of AoAs with all the .pc files in them.
-
Perhaps iPendant screen saver is related?
-
I see in a backup of a controller that there are vr files. I suppose these are Karel variable files?Yes. As far as I know, they are Variable Records.
I don't see any pc files. I suppose pc files contain the programm code of Karel programms?Yes, those are the p-code files.
So, could this be right that a backup all of above contains vr files but no pc files?In my experience (R-30iA & B) an AoA also includes the .pc files, but it could depend on where they were located on the controller at the time of the backup (FR:, MD:, etc).
Other posters may know more about this.
Do we need sources to be able to edit the vr files?Well, no, but I do not know whether you'll be able to 'edit' them without the .pc files either. You can load a .vr into a Roboguide cell, but without the associated .pc file, it won't show up as program variables under either the Variables section in the Cell Browser or when using the TP.
If you have the sources of the program, you could use those to first compile the program and then load the .vr. Now the variables should show up in the normal places, but only if the sources are for a 'compatible version' of the program (ie: contain the same variable and type declarations and definitions).
What other Karel file types could there be? And for who of them do we need the sources?I can only think of .va files as being really related to Karel programs, but they are just the ASCII versions of the associated .vr files. You cannot use them to edit the .vrs: they're read-only and you can't reload them onto the controller after editing.
Other files that people may associate 'with Karel' could be .etx (Error Dictionaries), .ftx (Form Dictionary), .utx (User Dictionary), .stm (Server Side Includes for the web server option that can 'reach into Karel') and .cf (KCL File).
Those are all the source file extensions. Translated dictionaries end up with a .tx extension and are un-editable binaries. The other two are essentially text files, so they can be edited easily.
-
If I remember correctly there are some IO operations that do not necessarily reset / override the IO_STATUS of a previous operation. An example would be a READ on a file descriptor that has been configured with a timeout (SET_FILE_ATR(fd, ATR_TIMEOUT, ..)). If you don't clear the status prior to calling READ, a call to IO_STATUS() will return whatever it was before the READ in some cases. That makes checking it essentially useless, as you cannot be certain that you are looking at the result of the last READ.
Besides that, it is good practice to reset things to a known state before attempting any new operations, so you can safely reason about the results.
-
According to my Karel manual:
Quote
port_type specifies the code for the type of port whose comment is being returned. Codes are defined in FR:KLIOTYPS.KLYou can also find that file on any PC with Roboguide installed in the support directory of the software version you are building your Karel program for.
So for 7.70 that would be in C:\path\to\where\you\installed\roboguide\WinOLPC\Versions\V770-1\support.
-
my favorite part is that 2014 is not a listed code in the table. i would expect either 12327 Open file failed or 12328 file is not opened.2-014 is FILE-014: File not found
The Karel manual very rarely lists possible errors in the function descriptions, possibly because that would make the manual four times its current size.
-
I hate to ask the obvious, but did you use the correct name?
The following works for me in Roboguide (r30ia, v770, material handling):
IF ($MOR_GRP[1].$FILTER_EMPT=1),R[1]=(0) ; -
At least according to the environment files, $ROB_MOVE seems to have been introduced in V7.40.
Perhaps $FILTER_EMPT (from V6.40) could be an alternative?
(from here actually).
-
The question is still out there about editing the POSREG.va(ascii) file offline and getting it back into the controller like the LS files. Any Ideas?I've tried to do it from the teach Pendant in Controlled start and through export to/from loadset. But no luck yet.
As far as I know this cannot be done. The .va files are just a text version (ascii) of the .vr files, to make it easier to look at system variables off-line, or when using the built-in webserver.
It's a one-way system.
-
I would be interested in this as well.
-
You may want to look into some sort of mutual exclusion system if you start sharing variables between programs.
Karel has support for semaphores (CLEAR_SEMA, POST_SEMA and friends).
-
Thanks for all the responses. I did change the acc of the move to 150 used the POSREG lock and adjusted the servo off time. The response is much faster!!!Thanks again!!!
Can you provide any (gu)estimates on how much of an effect the lock has (without the ACC changes)? I'm trying to gauge if it's worth it to try and rewrite an application for it. Hard numbers (as in: cycle time differences) would be ideal.
-
I think DuhbCakes is suggesting you create these two tiny Karel programs, and call them from your TP program whenever you need to switch the SO on or off. Seems like an easy solution / workaround to me.
Unless of course the controller currently doesn't have the Karel option installed, then it becomes a different story.
-
Topic title says all really.
I have a pipe that is configured with ATR_PIPWAIT set to WAIT_NOTUSED. Reading from it with READ fd(..) works, as long as there is enough data (IO_STATUS is 0).
If the pipe does not contain enough data for what I'm trying to read, the READ returns immediately (thanks to the no-wait), and IO_STATUS is FILE-021 (EOF) as expected. But any data that was in the pipe is now also gone, which is not really useful, as subsequent READs will now not be able to retrieve it.
Anyone got any ideas? Am I doing this wrong?
-
I'm trying to figure out whether it is possible to create UDP sockets on a Fanuc controller (30iA/B, etc).
I haven't been able to find anything on the API side, and could only find a reference to what I believe is AF_INET in the $HOSTENT[n].$H_ADDRTYPE system variable (it's set to 2, which, at least on Linux, is AF_INET).
My system variable documentation mentions 'UDP' exactly once, in the description part of the $HOSTC_CFG[n].$SERVER_PORT field:
QuoteSpecifies the TCP or UDP port number on the server. For Cn: this is the porton the foreign computer. For Sn: this is the port on the robot controller
but does not give any more detail as to how to open such a socket.
Does anyone have any idea whether this is possible for users, or is this a system only thing?
-
rtyr: with "use the computer instead", do you mean real-time, or do you just want to do off-line programming?
-
I suggest you read up on system variables, TP programming and bg logic programs.