Crap, you are right. I just tested it out myself, and it just forces you back to the menu to change it when you try to apply the changes. Sorry for the misinformation.
Posts by Nation
-
-
This is totally allowable with a non collaborative arm, as long as the arm is fully stopped by the time a operator could be within the working space of the arm.
This is typically done with two zones on a set of scanners, a warning zone that slows the robot to something like 10%, and a stop zone, which is coupled to a DCS estop.
The slowdown usually handled via a background task that writes directly to $MCR.$GENOVERRIDE when the warning bit from the scanner comes on (or is dropped, if you want it to fail safe).
-
Edit: Gave SimonPL the wrong info, edited the post for the correct info. I thought you could assign the same user model to multiple groups.
User models are independent of groups, but you cannot attach the same user model to multiple groups. You have to create separate DCS zones and user models on a group by group basis.
Are you setting the group in your DCS setup?
TRACKER_G2 LINE 0 \T2\ ABORTED\\\\G1\\\\S/TOOL\\\\\\
DCS\\\\\\\\\\\\\\\\\\\\\\\\\\\ 0i0
Cartesian position check 1/14
No. 2 Status:SAFE
1 Comment: [***********************]
2 Enable/Disable: ENABLE
3 Method(Safe side):Diagonal(IN)
4 Group: 2
5 Target model 1: -1
6 Target model 2: 2
7 Target model 3: 0
(0:Disable,-1:Robot,-2:Tool)
8 User frame: 0
Position(mm):
Current Point 1 Point 2
9 X 1945.4 4601.0 -2682.0
10 Y 0.0 -2568.0 4086.0
11 Z 1095.0 4626.0 -1800.0
12 Stop type: Power-Off stop
13 disabling input: ---[ 0: ]
14 Use Stop Position Prediction: Yes -
I have never used the ASCII upload option, but we have considered buying it. How do positions work? I have pulled the text versions of TP programs, and they have P[1], P[2], and so on, but no indication of the values, so far as i can tell. If you do an ASCII upload, do you just teach the points at that time, and only pre-program the logic and where points will be used?Unless you are working with position registers, points are stored at the bottom of a program.
Code
Display More/PROG SUBTEST1 /ATTR COMMENT = ""; DEFAULT_GROUP = 1,*,*,*,*; /APPL /APPL AUTO_SINGULARITY_HEADER; ENABLE_SINGULARITY_AVOIDANCE : FALSE; /MN 1:J P[1] 6% FINE ; /POS P[1]{ GP1: UF : 0, UT : 2, CONFIG : 'N U T, 0, 0, 0', X = 677.025 mm, Y = -40.196 mm, Z = 310.901 mm, W = .000 deg, P = 70.000 deg, R = 150.000 deg }; /END
-
-
It will work with whatever is driving your DI[6] input, be that a push button, a relay, a write from an OPC server, whatever.
-
Dear Nation,In First range,
DI[1-320] Start point is mentioned as 1025
which means DI[1]=1025 , DI[2]=1026, DI[3]=1027......and so on,
so IF i have to "ON" DI signal , which of the below is correct.
DI[1]=ON
(or)
DI[1025]=ON
Please Answer.
Thank you for earlier clarification
As Atinder stated, the first method is correct, but I want to expand on it.
In reality all the DI/DO screen on the Fanuc is a map to all the devices (represented as Racks) attached to the robot. You only map the areas of the devices attached that you are interested in looking at.
On your system, the integrator was interested in some internal relays (likely to the PMC) starting at index 1025 to 1345, and so mapped them to DI[1] to DI[320]. So when the internal relay 1025 turns on, DI[1] will turn on, DI[2] turns on when internal relay 1026 is on, etc. -
I would really like to know how to do this. It would be useful for multiple things, how do I know if I have this option? It was a customer supplied robot. 710ic. The teach pendant does have a screen different from normal, it looks more modern.Take a look in your summary.dg file from a MD backup. You should see an option called Ascii Program Loader R796 or Ascii Upload R507. Something along the lines of ASCII. Easiest way to find out is to print a program, then try to load it. If it loads, you have it, if not you have to buy it ($500).
-
DI[449-512] is not used, is there any particular reason?Not really without knowing more about the system. You will have to ask whoever commissioned the robot on why they did that.
and DI[321-448] & DI[513-528] has same start point. Is this not a problem?Not a problem if they are on different racks.
See this post in the sticky for a description pf all known Racks.
-
Another method, if you have the ASCII loader option, is to take the program offline as a .ls file, open it up, go down to the position area, and do a find and replace of the UF: 1 to UF: 2 (or whatever your new frame number is), then load the new program.
-
You could use the UO[6:Fault] Bit to run the bell. I would tie it to the TP (UO[8:TP Enabled]) being off, so it is not constantly going off while you are teaching.
-
You can copy those files from the MD: device on the robot. Also you can view them on the robot's webserver.
-
I've had success with Kepware in the past on communicating to the robot. You need the GEOpen driver add on on the Kepware side, and the Basic HMI option on the robot side for kepware to communicate to. That is useful for getting stuff like register data, current IO state, or current position, but for programs I recommend a FTP setup like rAviteja_g mentioned.
-
Looks like the proper syntax is CALL_PROG(prog_name, prog_index).
- prog_name name of the program to call, as a string.
- prog_index index of the program. You don't need to set this, but it should be an int. -
I am not sure I follow what you are trying to do. You can't assign to argument registers, only read from them.
-
-
Line Tracking might be a good (albeit unconventional) fit for this. The robot matches its position to a provided encoder input at a very low level in the servo loop, so there would be little delay in the move.
-
Check out the attached picture.
-
That is pretty weird.
If you can't trust the timers, you might be able to roll your own timer functions if you build them on $FAST_CLOCK. It increments by 1 every 4 msec.
-
- Can we program 100% of a FANUC program in KAREL? Is there some function in TP not avalaible in KAREL?As far as I am aware, anything you can do logically in TP you can do in Karel.
- I've heard that you can't move the robot in KAREL, is that true?While I haven't personally done movement from karel, this is what I've heard: This is true if you want to move multiple groups (arms, arm and a positioner, etc). While you can still move the 1st group with Karel, Fanuc has been de-emphasizing movement from Karel for the last couple of controller generations. They want all arm movement to happen from TP programs.
- Also, how debugging work? Since KAREL it look 1-way compiled (as opposed to RAPID which is Interpreted), I wonder how it works.Horribly. Lots of print statements or writing vars to temp files. You can step through a karel program on the pendant, but you can't actually see what it is doing. It does report out what line number it is on though.
Feel free to add you personal opinion on the matter too.Unless there is some advanced reason you need Karel, I would recommend that you avoid Karel if you can.