VR robots Encoder Reset Procedure.
For External Axis, see pictures.
robot-forum.com/attachment/35865/robot-forum.com/attachment/35866/
Whoah, thank you a lot man!
What about maintenance code? dtruex how did you managed this step?
VR robots Encoder Reset Procedure.
For External Axis, see pictures.
robot-forum.com/attachment/35865/robot-forum.com/attachment/35866/
Whoah, thank you a lot man!
What about maintenance code? dtruex how did you managed this step?
Probably you have turned the robot on with axis override switch in override position. Look for this switch somewhere on the front of controller cabinet doors.
Hello,
Recently I was asked if I can help start up old welding station based on Pana Robo VR-006ALE2. Station was unplugged over year ago, and thus all of encoder batteries are already dead..
After powering the robot up, I get those errors:
Reset axis
RT UA FA RW BW TW
G1 G2
Can you please inform me or share some documentation about how to perform reset axis procedure on those robots? I found another thread where achencan shared service instruction covering this topic but for other robots series. At first I hoped that the procedure will be same as there, but after finding PCB on robot the markings of pins are totally different to those from aw-006 robots.
What about G1/G2 axes - I couln't find similar pcb (with RST jumper) possibility?
I will highly appreciate any kind of help from your side.
Sorry, I did not understand your post at all.
QuoteAnd in order to achieve repeatability of the robot's position in space, calibration is necessary
also under load.
Calibration, which one? You mean Load Data Determination?
Hello,
Many of times I went into discussion if completing Load Data Determination is crucial in improving point reaching accuracy of robot.
Just to be clear, I am aware of a neccessity of performing LDD in aspects of improved motion planning and lifetime of servos etc (and I always complete LDD), but I am pretty sure, that Load Data is only regarded in dynamics of robot, and has nothing to do when it goes about statics.
Let's assume that we have two same robots with the same tool, f.e. 160kg servo gun. Both robots have tool offset teached. On the first robot load data determination was performed, and the second one is without LDD.
Then we calibrate base with those heavy tools mounted on flange, using Indirect method (4 points, entering coordinates from plate). Are we gonna have difference in quality of those calibrations between those two robots, or not?
Below I attach quote from KSS8.2 SI Manual:
Quote5.11 Load data
The load data are factored into the calculation of the paths and accelerations
and help to optimize the cycle times. The load data must be entered in the robot
controller.
Hello,
I have faced an awkward situation in which universal outputs that are set with DOUT instruction to ON state, automatically reverts to OFF state after few seconds... What is interesting, such a situation occurs in remote mode only, if I set the same OT in TEACH or PLAY mode everything works as it should... I have spotted, that this problem affect at least two different OTs.
Hardware configuration is following - controller DX200, group R1, S1.
Because I needed independent control of R1 and S1 group (no synchro, S1 is rotating working table from first to second position only), I have created two main jobs, one for R1 group and second for S1. Each of them contain infinite loop in which robot or positioner waits for orders from PLC. Data exchange between both jobs and PLC is done using standard inputs output, from area not interfering with specific io's. Both main jobs are being started using PSTART instruction.
Please find below attached program fragments:
MasterJob
NOP
DOUT OT#(TableAllocated) OFF
DOUT OT#(RobotInStation) OFF
DOUT OT#(AppStarted) OFF
DOUT OT#(AppFinished) OFF
DOUT OT#(RobotReadyStart) OFF
PSTART JOB:MAIN_S1 SUB1
PSTART JOB:MAIN_R1 SUB2
END
MainS1
NOP
WHILE B000=B000 /// any better ideas for infinite loop on Yaskawa?
WAIT OT#(TableAllocated)=OFF
IF IN#(RequestTablePos1)=ON AND IN#(3873)=OFF AND IN#(3874)=ON THEN
CALL JOB:ROT_TABLE_R1O2
ENDIF
IF IN#(RequestTablePos2)=ON AND IN#(3874)=OFF AND IN#(3873)=ON THEN
CALL JOB:ROT_TABLE_R2O1
ENDIF
IF IN#(3873)=ON OR IN#(3874)=ON THEN
DOUT OT#(TableRdyToWork) ON
ENDIF
ENDWHILE
END
Display More
MainR1
NOP
'Init
DOUT OT#(AppStarted) OFF //reseting on init
DOUT OT#(TableAllocated) OFF //reseting on init
DOUT OT#(AppFinished) OFF //reseting on init
DOUT OT#(RobotInStation) OFF //reseting on init
DOUT OT#(RobotReadyStart) OFF //reseting on init
'
CALL JOB:CHECK_HOMEPOS
'
WHILE B000=B000
TIMER T=0.10
DOUT OT#(AppStarted) OFF //reseting in loop after finishing program
DOUT OT#(RobotInStation) OFF //reseting in loop after finishing program
DOUT OT#(TableAllocated) OFF //reseting in loop after finishing program
DOUT OT#(RobotReadyStart) ON //info to PLC that robot is ready for PGNO receiving
WAIT IN#(StartSeqFromPLC)=ON //release from PLC to start Switch instruction and jump in selected job
DOUT OT#(RobotReadyStart) OFF //setting start readiness to 0
DOUT OT#(AppFinished) OFF
SWITCH I100 CASE 0
CASE 10
CASE 20
CASE 40
DOUT OT#(AppStarted) ON
WAIT B000<>0
CALL JOB:0040_Program040 UF#(B000)
DOUT OT#(AppFinished) ON
CASE 320
DOUT OT#(AppStarted) ON
WAIT B000<>0
CALL JOB:0320_Program320 UF#(B000)
DOUT OT#(AppFinished) ON
ENDSWITCH
ENDWHILE
'
END
Display More
Please look at snippet from above:
DOUT OT#(RobotReadyStart) ON //at this line, robot should set RobotReadyStart OT to 1 and wait until line below (StartSeqFromPLC) is fullfilled
WAIT IN#(StartSeqFromPLC)=ON
DOUT OT#(RobotReadyStart) OFF
But after few (maybe 10 maybe 20 seconds), for unknown reason RobotReadyStart OT is switching to OFF state I double or even triple - checked this issue, and every time it works the same (transition from 1 to 0 is observed both on PLC and at IN / OUT card on Yaskawa's teachpendant...
I have no idea what is going wrong here, moreover I cannot find mistake in my code..
Later I have found out, that the same situation is with another output.
Is there maybe sth like maximum ON-state time for DOUT function? It would be stupid while we have PULSE instruction, but maybe?
Could this PSTART instruction be messing around? I expect that those PSTARTs execute only once, and start two parallel tasks with infinite loops inside.
Guys, please help me
Hello,
I'm realizing project on Yaskawa DX-200, remotely controlled by PLC (job selection).
I want to block possibility of restarting program run in remote mode, if the robot was driven out of its programmed path f.e. by operator.
How can I determine if the robot is on path or not?
I was supposing that such a situation is passed in signal 50400 (Sequence Continuing), below copied description from concurent io manual for Yaskawa.
QuoteDisplay MoreThese signals indicate that robot operation is in executing state in the sequence
of instruction as taught. These signals go ON when the initial job
is executed after the power is turned ON.
The same conditions as above are applied to the FWD and TEST operations
on the programming pendant.
These signals go OFF in the following cases.
When the cursor is moved by the operation such as change of the line No.
with the programming pendant at the robot stop.
When a different job is called up.
When edit operation (insertion, modification, deletion) is executed from
the programming pendant.
For a system with one robot, use signal No. 50400
However even if I manually jog a robot out of path, this signal still remains on.
I will be glad receiving suggestions from you
Finally I was given a right solution for my problem from Yaskawa Poland Technical Support.
Such a translation and rotation of vector relatively to its position can be done using MULMAT instruction (matrix multiplication). You just need to multiply origin vector by vector describing movement.
For example, if i want to relocate TCP 10mm along its Z+ axis I need to:
1. Use Gettool to get tcp data and save it into P or LP variable.
2. Declare translation/rotation vector, in this particular example it is : (0,0,10,0,0,0) - once again it can be declared using P or LP variable
3. Execute multiplication MULMAT LP_result LP_Original LP_vector
4. Use Settool to overwrite tcp with new calculated data.
GETTOOL and SETTOOL are in fact optional, and are not available in standard configuration.
I don't know how to do it programmatically, but you can go into the tool data and manually key in the numbers. If it won't let you, it is because you need to set a certain parameter, I think.
Yeah, but numeric manual input prerequires mathematical calculations that must be conducted externally, it is possible to do once, twice in certain situations, but what when I need to control actual tool length (let's assume tool which shortens during process), and there is need to calculate it every 10 cycles...
I cannot believe that such a possibility does not exist on Yaskawa robots, but in fact I cannot find it out...
Use an IMOV command. Set up the amount you want to move in the P variable you want (ie. P020) and then programIMOV P020 TF V=200
This should accomplish want you want to do. Just make sure you choose to do it in TF (tool frame) on the IMOV command
Oh, now I see that my question was set not clear enough.
I do not ask how to move physical tool (robot) relatively by vector, but how to modify tool declaration.
Let's suppose that we have declared tcp1 for welding torch f.e. ( X 85.0 , Y 0.0, Z 300.0, RX 30.0, RY 0.0, RZ 0.0 ), and for some reason I want to put new tcp2 which is located 10mm further along tcp1's axis Z.
In this particular example, I can calculate it easily using some basic geometrical laws, but things get much more complicated when you have your tool twisted in all axes...
On Kuka executing following line:
TOOL_DATA[1]=TOOL_DATA[1]:{X 0.0, Y 0.0, Z 10.0, A 0.0, B 0.0, C 0.0}
results in relocating TCP point 10 mm along actual tool1 Z-axis direction.
I want to find out how to do this with Motoman.
Hello,
I have a problem and cannot find a solution.
I have declared tool. I want to move TCP location along current tool Z axis for example 10 mm. How can I do this with Yaskawa robots?
I already know that on KUKA robots I can do this this way: Tool_data[1]:{X -30.5,Z 20}. This colon is called as 'Geometric Operator'.
Hello Guys,
Is it possible to configure outputs in such a way, that a possibility to changing its state (f.e. from 0 to 1 or from 1 to 0) is only when the deadman is pressed? I mean I want it to acts exactly as it acts on Kuka robots - there to change the value of an output you must keep deadman switch pressed - other way it is impossible
Controller IRC5, Robotware 6.06
Best regards!
Hello guys,
I have already spent a few hours going through topics related to safety over X11 on KRC4 controllers. I do have to create some eplans, as well as to choose proper higher level safety controller configuration, but still need to clarify some questions... What's more, I will not have acces to the controller in next 2 weeks, so I can't test anything by myself
Controller is KRC4 Compact type with X11 safety connector and Beckhoff I/Os. I have got paper-version eplan but it is covering not all interfaces
1. X55 Connector
2. X11 Connector
I hope, that you guys will help me with my questions
Best regards!