It's a nice trick, but if you think about it, the pendant is an arm based tablet running windows ce. Doom exists for windows on arm.
What's the output of ktrans /?.
you can run it in a windows commnad prompt
It's possible you don't need to create a workcell.
Make sure you have the 6.31 files in WinOLPC\versions and run ktrans from the command line with the version you need.
Of course this is possible.
There are hundreds of implementations of this.
There is a difference between possible and recommended or best practice though.
If you have not done so already: try the remote motion interface option.
What are you trying to achieve, specifically?
Fanuc has many interfaces to their robots, and writing Karel to implement a motion server might not be how you want to spend your time.
Have you looked at Remote Motion Interface R912?
From experience I know that appending to a file from karel can get very slow, especially when writing to usb.
The karel interpreter seems to seek the length of the file after opening, to get to the end, and that's slow.
Yes, I have done this myself.
What you describe is only the case when you command motion.
Starting state output is not tied to commanding motion, unless Fanuc has changed the option recently.
Don't start any TP program, don't execute any ibgn start instructions. Just send the data start packet and the controller should start sending you data. You must have your computer listening for UDP packets on the port you used to send the data start packet.
Of course if you have the option, you can also use high speed position output for this.
No, that's when you enable command mode.
State reporting can be enabled by sending the data start UDP message to the controller.
If you have stream motion, you should be able to enable the state server side of it.
It would let you record the robot's position without commanding it.
Kelidor: are you trying to control all robots complete from the PLC?
Tracking motion progress and using it for timing io signals and your other questions about ethercat en motion control seem to suggest it.
To add to what the others wrote:
Datas are processed with a KAREL program that is running with a RUN_TASK instruction and a "While true" with a Delay of 10 ms.
Almost all fanuc controllers run karel tasks at 8 ms internally. 10 ms is not an integer multiple of 8. This can lead to some unexpected scheduling of your task.
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.