We used to have several old AD controllers at my work, if you display is not clear you can remove the back cover and there at some adjusting potentiometers to adjust the display brightness, I used to do this with the unit powered up to see the results of adjusting, I think the adjustments are on the screen circuit board, very easy to do. But your screen in the photo does not look too bad compared to some we had.
Posts by tdevine77
-
-
Just an update with my findings,Here are the following commands I tried that worked: Note these commands would not work for me without specifying the 1: directly after the command, except for the List, Dir, and Help commands.
dir
help
List r1_pg0
Llimit 1:
Status 1:
Where 1:
Where1 1:
Kill 1:
Prime 1: r1_pg0Thanks for the help guys
Tommy D -
This is also an add on feature for some Kawasaki robots, I needed this feature but needed to purchase it to use it, I think the quote was between 1000 an 1500 dollars to have it added to 4 robots with the Kawasaki rep doing the upgrade. Just a thought to ensure this circular move option is actually installed on your controller.
-
Thanks for the info and quick response, I will give this a try Monday and let you know how it worked.
Thanks
-
I am working with a Toyota "S" controller robot, I am new to this controller but have used the older A, AD, C, D and E controllers. I like to use the keyboard on the pendant or KCWin32 to enter monitor commands but am struggling to enter a lot of useful commands I have used on past controllers. My issue is this controller can be connected to other robots and for each monitor command you must specify which robot the monitor command is for. Example r1_save programname. This specifies save robot 1 program file. My controller is set to program 1. If I want to use a monitor command such as WHERE1 I can not seem to get the syntax entered correctly to display the WHERE1 data, does anyone know how to enter monitor commands while specifying the robot number? I have tried several combinations such as r1_where1, robot1_where1, where1:r1 but each time I am not specifying my robot correctly because It always tells me I must specify my robot number. I know I can use the controller pendant aux functions to see this data but prefer to use keyboard commands.
Thanks
-
If you want to select in automatic then you could use RPS to tell the controller which program to run, or on startup you could write a PC program to automatically load your pg when obtaining automatic.
-
When you move your robot are you actually using "base" mode or "tool" mode? I can only see the movements in base mode to be off if your robot is not zeroed correctly, if in tool mode movements are based on the tool coordinates and not base.
-
Sounds like you need to zero.
-
Accuracy setting? If not giving actual controller error?
-
I am sorry I meant to say that when we need to raise or lower points we use the Point tool shift command not tcp command.
-
I posted and issue with loading files in another topic and did not want to clutter up the topic so now I am posting another question that is related to the file loading issue.
When loading a program I am sometimes asked:
>Setting ZLNEAR Again. Confirm! (Press Enter)
What is the ZLINEAR command and what is it used for? I searched out all my AS Language and operation and programming manuals but I can not find this command listed. (C controller)
Sometimes when we need to raise the tip a few millimeters to get more clearance from an object we use a TCP command to actually modify the tool setting which allows us to raise or lower all the points in a program without having to stop production and re-teach individual points. Could the ZLINEAR be related to the tool length being changed?
-
One way you can select different programs using the kawasaki controller is to use the RPS function (Random Program Select). This is a great way to select different programs using external signals. First you must enable RPS. Then you must wire up the dedicated RPS signals. The RPS signals work like binary, ex.
Signal input# Binary#
1 1
2 2
3 4
4 8
5 16
6 32
7 64Befor I go further you may need to know that when running programs using RPS the program names have a specific type of labeling, meaning you can not name your program "myfirstprogram" type of names. To select RPS programs your program must begin with pg and then the program #. Here is some example program names using RPS. pg1 or pg 21.
So now how do you select your program using RPS? first you must wire in your robot RPS dedicated signals as above to either switches or a PLC. So if I wanted to run my program that I have named "pg1" then I would need to turn on the dedicated signals that add up to 1 in binary. Which would be dedicated input signal 1.
If I wanted to run my program named "PG21" then I need to turn on dedicated signals 5, 3 and 1, in binary we add signal 5 = 16
signal 3 = 4
signal 1 = 1
--------------------
= 21 which is for pg21as far as turning on outputs using the controller in AS language you would use the Signal command. ex I want to turn on the controllers output #7, move the robot to 2 steps then turn output 7 off. In the example below you see that using the signal comand followed by the output # to turn the output on. To turn the output off using the signal command you must use a - sign befor the output.
1 Speed 100mm/s always
2 signal 7
3 lmove point1
4 lmove point2
5 signal -7
6 endAs far as making your program stop until it gets a desired signal or input look at using the WAIT or SWAIT commands followed by your signal #
Sorry this is'nt organised well I was in a hurry and hope this helps.
Tommy D -
So you are saying that if you have the teach pendant "T/P Enable" button activated and you press and hold a speed and then select a AXES to move it will only move in the positive direction? That sounds really funky.
Place the teach pendant in joint mode, now move each individual joint in the positive and negative directions. Can you move each individual joint in joint mode?
Do you hear any beeps from the teach pendant when you try to move in the negative direction? If so you are trying to move your robot out of its software limits and you will need to change the function for the settings.
-
OK here is some operations using the teach pendant for the A and AD series controlles.
HOW TO MOVE THE ROBOT AROUND
-To move the robot you must be in teach mode.
1. Press the "T/P ENABLE" button. It's red LED should illuminate when it is active. it stands for Teach Pendant Enabled.
2. Choose which coordinate style you would like to move your robot in. Press the button labled JOINT, TOOL or BASE. Your selection of the movement type will have a LED illuminated next to it. If you look at your AXES keys it will have different labling on it to corospond to which coordinate style you are using.JOINT = Allows you to move each individual joint regardless of the tool position. The AXES keys are labled 1, 2, 3, 4, 5, 6, 7 (7 is optional joint on robots, most do
not have this axes)BASE = Allows you to move the robot referencing from the tool center point in a straight line while maintaining tool orientation. The base coordinate system origin
is in the robots base which can be changed using Auxillary function 47. The AXES keys are labled X, Y, Z, RX, RY and RZ.TOOL = Allows you to also move the robot in a straight line, Its origin is the TOOL center point. The AXES keys are labled X, Y, Z, rx, ry and rz.
(The BASE coordinate system is best for begginers)
3. To move the robot you must now press and hold a speed selection button of High, Medium or Low speed.
High = >>>, Medium = >>, Low = >4. Next press one of the AXES directional buttons and your robot should now be moving.
HOW TO SELECT A PROGRAM
1. Press the "T/P ENABLE" button. It's red LED should be illuminated to show you it's in teach mode.
2. Press the "MODE SELECT" button one time.
-Your teach pendant display should now show a list of all robot programs stored in the controller.
3. Use the arrow keys on the pendant key pad to select / highlight the program that you wish to load on the stack.
4. Press the red "ENTER" button to select the highlighted program.
- The display should now show your programs name at the top of the screen. And in the middle of the screen the program should list the programs first step
number and data.HOW TO CHECK STEP THROUGH A PROGRAM
1. Press the "T/P ENABLE" button.
2. Select your program.
3. Press the "CHECK MODE" button. It's red LED lamp should illuminate showing that you are in check mode.
4. Press and hold a speed selection button of High, Medium or Low.
5. Press and hold the "CHECK STEP" button. Your robot should now be moving, Keep these buttons held in until the robot comes to a complete stop at the
variable taught location.
6. Repeat steps 4 through 5 above until you have checked through your program.
- To exit check mode press the "CHECK MODE" button. It's LED lamp should be off.HOW TO RE-TEACH A VARIABLE TO A NEW LOCATION
1. Using the "CHECK MODE" check step your robot t0 the variable step that you would like to re-teach to a new position.
2. Press the "CHECK MODE" button to deactivate check step mode. It's LED should be off.
3. Using the speed and axes buttons move your robot to the desired new position.
4. Press the button that is labled "POS .R and AUX .R" one time. Now the POS .R should have a LED lamp displayed beside it.
- POS .R = Positional re-write. This will enable you to only record or write new positional data in AS or BLOCK language.
- AUX .R = Auxillary re-write. This will enable you to only record or write new auxillary data in BLOCK language only. Auxillary data is speed, accuracy, etc...)
5. Press the red "R" button one time. this is the Record or Re-write initiate button.
-Note: After the button is hit one time your program display will automatically move to the next program step. If you accidently hit the record button twice
then you will also record the next steps variable positon to the same positin as the previous, SO ONLY HIT THIS BUTTON ONCE!!!
6. Press the "POS .R and AUX .R" button twice so that no LED's are now lighted.
7. You can now go back to "CHECK STEP" and continue step checking through your program. -
In my opinion the key board is necessary, There is a lot that can be done and executed from the keyboard that you can not due from the pendant. For example viewing your program your whole program, On the pendant you can only view a few steps at a time. Also if you learn how to use the keyboard commands then not only can you just program the AD controller but you can also program C and up. All commands are pretty much the same on all controllers. Also editing programs using the keyboard is a lot faster than using the pendant(adding, deleting, moving data around). If you are new to programming I would learn keyboard commands first then work your way into the pendant. But the pendant is easy to use also. The pendant does make programming in block language easier.
-
Me again, I just thought of somethng eles. If your robot was used as a welder its continuous path system switch may not be activated or on. The continuous path system switch will allow the robot to make smooth transitions from point to point without stoping. To turn this system switch on you can access it from the aux function 75 I think. To get there from the keyboard promp just type in >AUX " followed by the enter key" This should take you to the auxillary selection screen.
Also if it is a AD controller you should be able to select the keyboard fuction key for AUX to get there. The continuous path switch is labled as "CP" make sure to set it to on. Also it would be a good idea to document all of these in case you play with these setting to see what they do and get them out of whack. To save your program insert a disk into the side of the screen (Left side i think) and type in "SAVE" followed by a name with no spaces.
Ex.
>SAVE myfirstpg "followed by the enter key" It will save the controller data, programs and just everything.To load a program from disk
>LOAD myfirspg
to look what is on a floppy disk
>FDIR
-
If you would like I have a microsoft accel spread sheet that I have wrote up that has virtually all of the kawasaki keyboard command listed along with thier functions. I can not get it to you until sometime late next week, But if you give me your E-Mail then I would be more than happy to send you a copy one day.
In kawasaki language a taught point is actually called a "variable" this variables name only contains data for the stored position. This stored position data is stored as X Y Z O A T, You can think of X Y Z as a positon on a cartesian cordinate chart. The O A T are actual joint angles ( I think this is correct) and all this position data is saved for all 6 axis of the robot inside of the "variable". That is why when you write a program in AS language or Block language you must tell the robot what type of move (Lmove, Jmove etc..) to execute while advancing to the variables taught position. also a variable name can not have spaces in it, and I don't think it can start with a number but i am not sure.
I love teaching in AS language, Because just about anything that you can do with the teach pendant (Except for jogging the robot around) you can do with a command on the user keyboard screen prompt.
I do not know where you are in your programming but Lets pretend that I am going to set up a new program from scratch, The following is how I would do this.
I want a program that will trace the outline of a cardboard boxes 4 corners. After the forth corner I would like the robot to return to the first corner and stop.
I want this program to run at a speed of 25% and the point accuracy to be set to 20mm, Accuracy means that the robot will not continue to the next step in the program until the robot has reached the taught variables position by at least 20mm or less.1. On paper create your program as a list of steps. here is an example that you can try on your robot.
step# Command Variable Description
1 SPEED 25 ALWAYS This will set the speed of all variables to 25%
2 ACCU 20 ALWAYS This will set the accuracy of the robot to 20mm for all taught points.
3 LMOVE corner1 Variable named corner1 will perform a linear straight line move.
4 LMOVE corner2 Variable named corner2 will perform a linear straight line move.
5 LMOVE corner3 Variable named corner3 will perform a linear straight line move.
6 LMOVE corner4 Variable named corner4 will perform a linear straight line move.
7 LMOVE corner1 Variable named corner1 will perform a linear straight line move.Now lets create this program using only the User screen keyboard commands at the user prompt.
First how to create a program using AS language commands. We are going to use the "Edit" command or "ED" for short. The edit command will get us into edit mode which allows us to create, modify or delete program and program steps.
I want my program to be called "thebox" Notice no spaces in the program name.
At the user prompt type as below.
>ED thebox
now press enter key, you have now created a program called "thebox" and you are still in edit mode. you will now see the first step listed. I think this is how it will look, I can not really remember. but you will start typing in your program after typing each steps information press the enter key and you will automatically index to the next step to enter its data.
1
? "enter your text here" "then press the enter key"When you are finished entering all of your program steps we need to exit out of the "EDIT" mode so we type in the command "E" (this stands for exit editor mode) and press the enter key to execute the command line. it will lo0k like this.
8
? E "then press the enter key, If all of your programming is correct then you should be entering the "E" command on the step 8 line.Now you have created your first program we need to look at this program and make sure it looks correct. so 1st lets look at the robots directory to see what programs exist.
at the prompt type in the "DIR" command and press enter key. this should give you a list of all program names saved in the controller.
ex.
>DIR "followed by pressing the enter key"If your screen has more to display at the bottom that you can not see the press the space bar to scroll down further. or press enter to get back to the command prompt.
there should be a list of all the programs or only your program name "thebox", If your program name is displayed then you have created a program.
Now we want to go back and look at our programs contents to make sure we typed it in correctly. so we will use the "LIST" command. this will allow us to see all of our program steps in order, plus some other data.
at the prompt type in the LIST command followed by a space and then the program name that you wish to look at.>LIST thebox "followed by the enter key to execute the command entered at the prompt"
Your steps should look like this if entered correctly.
1 SPEED 25 ALWAYS
2 ACCU 20 ALWAYS
3 LMOVE corner1
4 LMOVE corner2
5 LMOVE corner3
6 LMOVE corner4
7 LMOVE corner1IF your program looks correct then hit the enter key to get back to the user prompt if not already there.
Now we have designed and programmed our program but there is still one thing missing. we need to assign our variables some location data.
To do this take your teach pendant and place it in teach mode and teach your robot to the 1st corner of your box (This is easier if you actually have a box on the floor but you can use an imaginary box) (Also it may be easier to move to each corner of the box in the base teaching mode (If you know how to get there)
once you are at your 1st box corner, go to the keyboard once again and we are going to use the "HERE" command. I like to use the here command to save my variables positions sometimes. At the prompt type the following.
>HERE corner1 "followed by the enter key, the here command will save the robots 6 axis current position data to the variable named corner1"Next move your robot to the 2nd corner of the box. again use the HERE command when you have the robot where you want it.
>HERE corner2 "followed by the enter key again"Next move your robot to the 3rd corner of the box.
>HERE corner3Move robot to the final corner number 4
>HERE corner4Now we have told the robot the positional data to each of our variables.
Now you can check step your program (in teach mode) to make sure everything looks good.
Now when you exit out of teach mode you can also execute your program from the keyboard (you can not have any external hold conditions)
To do this we are going to use the "EXECUTE" command or its shortcut command "EX".At the command prompt type in the following. Now may be a good time to turn down your repeat speed using the SPEED command due to this being the first time the program has ran. >SP 20
>EX thebox "followed by the enter key"
Now if the robot is set up correctly and you have motor power the program should execute and move to all the steps and stop when it gets to the end of it.
Here is a little something extra on the "EXECUTE" command. If you want to execute your program more than just 1 cycle you can follow up the command with a number say 3, and the robot will execute our program 3 times and then stop.
>EX thebox, 3 "followed by the enter key"Good luck and let me know how this goes.
Tommy D
-
Here is some info about the speed command that also pertains to the accuracy, accel and decel commands. any time one of these commands is entered into a program if it is followed by a ALWAYS statement then the speed will process each step at that speed until it encounters another speed command. here is an example.
1 Speed 100mm/s always
2 lmove point1
3 lmove point2In the above example point1 and point2 will move at a speed of 100mm/s.
example #2
1 speed 100mm/s always
2 lmove point1
3 lmove point2
4 speed 50mm/s
5 lmove point3
6 lmove point4In the above example point1 and point2 will move at a speed of 100mm/s, point3 will move at a speed of 50mm/s, and point4 will move at a speed of 100mm/s. Now you may ask why does point4 move at a speed of 100mm/s and NOT 50 mm/s, The answer to this is because the 50mm/s command was not followed by the ALWAYS statement, therefore only point3 was processed at a speed of 50mm/s and then the speed went back to the ALWAYS speed of 100mm/s.
Note: If the 50mm/s speed was followed by the ALWAYS command then all speed commands after that command would run at 50mm/s until the processor processed a different speed change again.
Now for your question of assigning a different speed to each point.
1 speed 200mm/s
2 lmove point1
3 speed 150mm/s
4 lmove point2
5 speed 100mm/s
6 lmove point3Now here is some more info you might like on the controller speed command.
not only can you assign speed movement in mm/s, but you can also assign speed as a percentage of overall robot capable speed.ex.
1 speed 100 always
2 lmove point 1
3 lmove point 2
4 lmove speed 50
5 lmove point 3Now to get even deeper. (I may be over doing it a bit) If you go to your main status screen, In the top right hand corner side you will see a REPEAT statement followed by a number. This REPEAT number can be set from 1 to 100 %, This is the controllers repeat spead, What is this repeat speed for? Well let me tell ya, The repeat speed is the controllers main speed command and is related to all the programs in the controller. If the repeat speed is set to 100% then all program speed statements will run at 100%.
Example.
Repeat speed is set to 100%, so point1 will run at 100% speed which is 200mm/s1 speed 200mm/s
2 lmove point1Now if I change the controllers repeat speed to say 50%, now the variable point1 will only move at 100mm/s, which is 50% of the controllers overall speed.
I love using this command after I have retaught robot points or executing a new program. because instead of going through and reducing all the speeds to do a safety run, I can simply turn down the repeat speed and watch the robot move slowly, then I can slowly ramp up the speed a little at a time until I i am sure everything looks good and the robot is not going to crash into anything due to a mistake I may have made.So now if you don't already know, you are probally wondering how do I change the repeat speed.
Go to the user prompt or keyboard
at the prompt type in the SPEED command followed by a space then the desired speed. followed by the enter key to accept the change.
Ex.>Speed 50 this will set the speed to 50% and should indicate on the status screen
another way to enter this cammand is using its command shortcut
Ex.>SP 50
I hope this helps Tommy D
-
also here is another problem you may have: in as language HERE command means to save your variable location to the current robot position.
ex. if your type HERE P1 at the command prompt you will save the current robots position to the P1 variable.
your program most likely as it is written is just saving the current robot position to all of your variable P1 P2 P3 and P4 to the same position, there fore your robot servos come on and the robot does not move due to all the points being in the same position. Your program is just telling it to save position data to your points and not to actually move anywhere.
Tommy
-
in as language you must tell the robot what type of move to use on each variable name ex:
LMOVE is a linear move
JMOVE is a joint move
CMOVE is a circular moveThis is how your program should look
1 Lmove P1
2 Lmove P2
3 Lmove P3
4 Lmove P4Also you can set the speed for the moves to occur at. Ex to move all points at a speed of 250 mm/s
1 speed 250mm/s always
2 Lmove P1
3 Lmove P2
4 Lmove P3
5 Lmove P4good luck I hoppe this is what you were looking for.