You do not have to change the ip address.
All roboguide robots can be reached on the ip address of the computer running roboguide. 127.0.0.1 is used internally only by roboguide.
Just make sure your firewall allows access to roboguide ports.
You do not have to change the ip address.
All roboguide robots can be reached on the ip address of the computer running roboguide. 127.0.0.1 is used internally only by roboguide.
Just make sure your firewall allows access to roboguide ports.
When I'm trying to call a sample KAREL-program 'hello_world.pc' I get status results unequal to 0.
KCL('LOAD PROG hello_world', status) -> returns 2014
2014 is file-014 which is "file not found".
According to the manual again:
Purpose: Loads a p-code file from the default storage device and default directory into memory using
the specified or default file name. The file type is assumed to be ``.PC.''
If file_spec is not specified, the default program is used. If the default has not been set, then the
message, ``Default program name not set,'' will be displayed.
Note For R-30iB Plus, R-30iB, and R-30iB Mate controllers, the KAREL option must be
installed on the robot controller in order to load KAREL programs.
The parent would stick around, which is probably what you call blocking.
According to the manual:
If you want the child task to be completely independent of the parent, a KAREL program can initiate
another task using the KCL or KCL_NOWAIT built-ins to issue a KCL>RUN command
It's a KAREL program so it doesn't use either, but it spawns the listener program using "start_task".
that doesn't really start a program I believe. It calls the function which happens to exist in a different program.
You need to use RUN_TASK.
Other posters are correct: fieldbus are often used.
For new controllers though R897 or external vision interface is easier. It takes care of everything, and is text based.
I've always been told it's not possible for regular Karel programs to provide values for the fields you refer to.
Whether that's true or not I can't say.
It's certainly the case Fanuc in their own programs is able to use POST_ERR to post those errors with the error string filled with the values they give to POST_ERR.
This is a bit terse.
What are you trying to do?
All evidence points to a custom OS, or derivative of an old embedded OS.
I would not expect any unix or windows heritage.
From what I'm hearing, it seems like they're trying to phase Karel out and get full functionality with the tp language.
There are thousands of Karel programs in V9.X of the system software, ranging from simple utilities used by TP programs to the major parts of programming standards like VW.
I doubt Fanuc is going to "phase out" Karel any time soon.
When it is not, it is often possible but a lot of work and pretty risky.
You will have to change the parameters for the servo's and the encoders and the pinout of the cables will be different as well.
have you ever performed such a conversion?
Fanuc uses $VIRTUALTIME.
But that also does not exist if not virtual, so as PnStarter writes, would not work in TP.
Just a note of caution: that version field is there for a reason.
Changes between 8.x and 9.x have been quite significant in some places, and there is no guarantee your programs will run correctly by manually overriding that value.
PACs are still used, just not by regular customers, like you and me.
Customers outside (north) america don't get load media with their robots.
Any time new options need to be installed, only Fanuc can do that. They do exactly as ps0f0r describes: take an image backup, perform a procedure similar to how roboguide reserializes a robot and then send the image back.
This still uses PACs, they just never get to customers directly.
You should be able to look this up in the error manual for your controller.
You could also use A website: Know FANUC alarm codes
http://linuxsand.info/fanuc/code-api/ROUT-030
You could take a look how https://github.com/gavanderhoorn/dominh does it.
DPM is not like EGM.
DPM is like EGM Path Correction.
Stream Motion (J519) is like EGM Position Guidance.
What I tried to explain is that Fanuc RSI is not capable of "controlling the position of the robot in real time".
It will only output the current position.
According to the documentation, the RSI option does not support input. It only outputs the current position of the robot using the RSI protocol.
4wheeled: what is it you actually want to do?
Discussing these Karel VM scheduling details is interesting, but perhaps not the most efficient way to go about achieving what your goal is.
You might already know, but delays exist for a reason. At least this one.
It prevents the round-robin scheduling from not being able to suspend your task.
Runaway programs are much harder to deal with without some forced yielding every now and then.