Hello,
I see that you are having the same issues I was with deciphering the status codes.
I wrote an excel sheet that I think will help you in the future...
https://www.robot-forum.com/robotforum/too…atus-converter/
I hope it helps,
MiRobotGuy
Hello,
I see that you are having the same issues I was with deciphering the status codes.
I wrote an excel sheet that I think will help you in the future...
https://www.robot-forum.com/robotforum/too…atus-converter/
I hope it helps,
MiRobotGuy
Hello,
I see that there is a USER2 screen on many Fanuc robots. Is this just a second screen where one can write messages to, or is there another purpose?
I wish to use this screen to write a display to, as many programmers already use the regular user screen.
Question 1. How do I utilize this screen in TPP?
Question 2. How do I utilize this screen in KAREL?
Thank You,
MiRobotGuy
Hello RF103,
I am communicating with a Linux based processor. It does accept partial messages, but they requested the data be sent as a single message if possible. I am writing the data with one instruction, but it appears (on the receiving side) as 2 messages.
I don't see any append file instruction where the robot would be limiting the message, so the problem may be on the other end?
Thanks for the reply.
MiRobotGuy
Hello,
I am trying to send a message of 166 bytes from the robot controller as one message via TCP/IP. For some reason, the robot is splitting the message at 128 bytes and sending the remainder as a separate frame.
Is there a setting (or file atr) to set to allow the robot to send the full frame as one message?
Thank You,
MI Robot guy
Hello,
Although I am not an expert, I will take a stab at answering these questions...
1) What will the code line mp_str='' will do ?
A) This instruction will clear the string before reading it, so that data from the next line will be the only data in this variable, and there will be no residual data.
2) The status of the connection is coming a hug number not a 1 or a 0 ? How should I approach?
A) I have created an Excel file that will convert the status value to an error code. Then the error code can be researched in the Fanuc eDocs. I believe this may help point you in the right direction.
https://www.robot-forum.com/robotforum/too…atus-converter/
3) What does READ file_var (xs::0::2, ys::0::2, angles::0::2) represent?
A) This will read the string values from the cognex system. xs, ys, and angles are all strings of 9 characters long. The numbers ::0 and ::2 are format specifiers. Look in the KAREL eDocs under 7.8 FORMATTING TEXT (ASCII) INPUT/OUTPUT for more information about these.
4) READ file_var(mp_str) ?? the file_var will access which file or variable from the cognex? Where am I able to get all the variables read in the fanuc tp pendant?
A) similar to #3
I hope this helps,
MiRobotGuy
Hello All,
I made a little Excel calculator to convert the status output from a karel built in to an error code value. Just thought I would post this if it is helpful for anyone.
Please let me know if its useful or you find something incorrect.
Thanks for the reply.
I would also like to explore the use of a file PIPE to share info from the robot to a linux machine. Does anyone have an example of a pipe file being shared from the robot and read from a linux or unix machine?
Thanks again,
Hello,
I have received this error when my program gets too big. To fix this issue really depends on the size of your KAREL program. You may be able to just take the variables and constant declarations and put them in another .KL file and %Include that in your Karel program.
If that does not work, you may be able to take some of your routines from your karel program file and put them in another karel program file and then %Include them, or declare them FROM the other file.
Basically, you have to make your program smaller.
Hope this helps,
Hello All,
Currently I am planning on running a Karel program to send data via socket messages. However, the robot that is the target for my project does not have the user socket message option. Before purchasing the option, I was wondering if there is a standard way to send data out (signed real values) that is by default available on all Fanuc robots?
Thanks in advance,
I am interested if anyone knows of a timeout function of the MSG_CONNECT as well...
OR, if the status of the socket can be checked while it is opened???
Honestly, I would just parse the text of the tp program (.ls) from the MD device.There are undocumented Karel functions described in this thread that can get the point number of a point, but have fun reverse engineering how they work.
Thank You
Now I will start running down this rabbit hole
MI Robot Guy
Hello,
Positions P[ # ] are local to the program that they are taught in. If you have the program LS file, they are stored within the program, at the bottom. Therefore, if you want to share regular positions, you have to copy the data from one program to another (in the same robot) or load the program from one robot into another.
Position Register PR[ # ] are Global, and can be used by all programs in that robot. Usually, data that is Global, will be stored in a VR file.
I hope this helps to clarify some,
MI Robot Guy
Hello,
$MOR_GRP[1].$currentline returns the last or current line that generated motion. If the line does not have motion instruction it will not change.
You can get destination position in World using $SCR_GRP[1].$DST_POS_X, Y and Z. In $SCR_GRP[1] you can also find robot's actual position in World.
You must enable $M_DST_ENB for this to work.
Also $DPOS_DST gives you the total length of linear motion described between two points.
Thank you for the reply.
Please allow me to clarify my question. I am looking to read the position coordinates (XYZWPREXT) from a TPP program without actually knowing the position number. I was thinking that I can use the system variable "$MOR_GRP[1].$currentline" to determine the current TPP Program line, but that does't correlate with the Position Number P#.
Any ideas?
Thanks,
MI Robot Guy
Hello All,
First post in a long time...
I am looking to write a karel program to read the positional information from a tpp program.
I can get the last LINE of the tpp program from the system variable $MOR_GRP[1].$currentline, but how can I tell what TPP position number (P#) it was, so that I can read it using the GET_POS_TPE built in?
OR is there an easier way of determining where the robot is trying to go?
Thanks in advance,
MI Robot Guy