On R30iA and earlier controllers, they reference limit errors by hex, as mentioned previously. Here is a table to translate:
Posts by Nation
-
-
What are you trying to accomplish?
There are ways to read the current speed, but there are other ways to force the robot to run at whatever speed you want at all times, or to force the speed to 100% at start up, and then allow the user to control the speed.
-
Well, its been 5 years. Anyone have any updates on what the control codes do?
-
Like in the robot, or in the tree? If it is the tree, you may have filtering turned on.
-
Nation Thank you so much that was great! SO Karrel just means the roboguide program into the TP.
Not really. Karel and TP are two different languages that can interact with each other, but have different capabilities, strengths and weaknesses.
TP is good for simple to moderately complex tasks, and well suited for motion. Karel is ill suited for motion, but great at complex stuff, such as custom communications, or advanced math/logic.
TP is nice because you can see exactly what the robot is doing on the pendant, and it is modifiable from the pendant.
Karel is nice for the opposite reasons. No one without the source code can modify the program, which helps when people decide to go exploring in the pendant and accidentally delete something.
-
Sergei Troizky I hear a lot about Karrel's here any tips to get a basic understanding?
Like what do you program it with then how do put it on the TP
It is programmed in Roboguide. The source code is a .kl file, and when compiled becomes a .pc file. You would then save the .pc file out, and load it into the real controller, and call it like a normal TP program. The only difference is that you won't be able to see inside of it.
-
I'm not sure if it fits exactly, but the position snap and map option (R596) does close to what you are looking for.
The robot will stream out over Ethernet the current commanded or actual Joint, or TCP values, or both at up to every 2ms. It also sends out a timestamp with the data.
What are you trying to accomplish with the knowledge of the current completion of the current move?
-
I'm not sure about your application, but I think the easiest would be to add in a 45 degree spacer/weldment in between the carriage and the robot base. That would rotate the robot about the Y axis. Plus or minus, it wouldn't matter. That would get the robot back into the "clear" (non-shaded) zone, allowing you to use the full range of motion.
The only other option is to try and stay out of the "no-go" area.
You might be able to get through there if you run the robot at teach speeds in auto, with low ACC modifiers attached to every point. Probably not in the cards for cycle time reasons.
-
I had the wrong diagram. Range is even more limited for the M20iD/35M. I think you are running in the "no go" area.
I think your only solution is a mechanical change. It you need that reach, you may need to add in an angle plate to get that area of the envelope back.
-
Fanuc does have an operational limit defined for when the robot is mounted at 90 degrees. You might be running around in that area, judging by the pictures.
Edit: wrong diagram. See my post below.
-
The area I'm getting confused on is the / operator. It is not a scaler function, since zero divided by anything should be zero. In terms of transform math, division isn't a valid operation. Is it inversion?
-
Does anyone have a list of what the various operators do to point data? I've dug around the RT Toolbox 3 help files, and the various manuals for Melfa-Basic V I can find, but I am having trouble finding anything.
I'm trying to figure out what the following line of code does, and I want to make sure I understand the various operations correctly. Specifically the '/' operator.
-
Check your IO interconnects, your reference positions, if there is a PMC running. Check for double assigned bits
-
I can explain the somehow:
In the USA and some other countries and also in almost all programming languages the "." is the decimal seperator.
If you live in a country where the "," is the decimal seperator, the "." will be ignored and you will get 10000 instead.
Interesting. A single bit flip could cause this, assuming they are sending the offsets via strings.
. in the ASCII table is 46, which is 0010 1110.
, in the ASCII table is 44, which is 0010 1100.
-
ChatGPT is not the best at math.
This is a classic unit cancellation problem.
1g is 9.81m/s2 = 9.81m/s2 * 1000mm/1m = 9810mm/s2
2000mm/s * 1/(9810 mm/s2 *0.6) = 2000mm/s * 1/5886mm/s2 = 2000mm/s *0.000169s2/mm = 0.33 seconds for robot 1 to accelerate to max speed.
1800mm/s * 1/(9810 mm/s2 *2) = 1800mm/s * 1/19620mm/s2 = 1800mm/s *
0.000051s2/mm = 0.09 seconds for robot 2 to accelerate to max speed.
Once robot reaches max velocity will it stay there even though its only covering 300mm and swinging back in the other direction? Like a 3d printer going back and forth.
No. It has to fully come to a stop and change direction.
-
I like your vision calibration floor.
Do you have the wheel defined as a part in your cell?
-
You have to ask your Fanuc rep for that. They will provide a spread sheet of the various axes stopping time for different stop modes (controlled, estop).
-
Correct me if I am wrong, but are not eds files for Ethernet/IP only?
EDS can represent devicenet devices as well.
-
If you go to the file menu, and select comm config, it should write the .eds file to whatever device you have active. I recommend UD1 for the usb port on the cabinet. If it has multiple comm methods, you will get multiple .eds files.
Source: Just did a robot with Ethernet/IP, Devicenet Safety, and Profinet on it.
-