I have a procedure in IRC5 RW6, where a SearchL instruction is used.
SearchL\Stop, diSearch\NegFlank, pRobFound, pRobEnd, v10, tGripper\WObj:=wobj1;
The documentation in the help is not completely clear to me.
If the signal diSearch is already low when the instruction SearchL is called, will an error ERR_SIGSUPSEARCH
be generated? Or will the search movement go through until pRobEnd is reached.
If the ERR_SIGSUPSEARCH would be generated, and there is an error handler at the bottom of the procedure, but the code in the error handler is empty, what will happen then?
Posts by Plc_User
-
-
I have a IRC5 rw6 robot with option Safemove Pro.
In the Visual Safemove configurator in Robotstudio I already made a 'capsule' around the tool.
Is it however possible to use multiple 'capsules' for the tool?
My tool has a long small bar connected to the flange of the robot and at the end of the bar there is the gripper that is larger then the bar it is connected to. So my idea was to use a separate small capsule for the bar, and a second capsule for around the gripper.
Is this possible, because for now I don't know how to do this? -
Consider, during initialisation (where the robot might not be anymore on a known path, I want to move the robot towards a safe range from where I can go to home.
So I make a movement from my actual position with certain XYZ offsets.
This position might however not be possible because joints might reach their limit.
Is there a way to test if an offset to a robottarget might be possible?
I know for a robtarget itself you can convert it to jointtarget and that conversion will tell you if it is possble.
However an offset to a robotarget cannot be used in that formula.
Is there another way to find out if an offset xyz to a robtarget will be reachable? -
In my IRC5 rw6 I have quite a large program and a lot of crossconnections.
Is there a way to see to see online info on the controller of memory and system utilisation?
If so, are there limits that must be watched out for? -
Is it possible in IRC5 rw6 to make digital outputs (fi communication on Profinet with plc) and virtual outputs remanent for power down-up?
Now I see the value goes always to 0 after power up-down or restart. I should want to keep my value (0 or 1) that was active before the restart. -
My robot is IRC5 rw6.
Consider I am at stanstill in position P1
I then have a motion instruction MoveL P2 ... z200...
then WaitDI di1
then motion instruction MoveL P3 .... fine ...
Consider the distance between points P1 -P2 is 1000 mm, between P2 -P3 is 1000 mm.
If di 1 becomes high 500 mm before P2 (long before the approximation zone), will the motion then come to a stop at P2,
or will it be just like di1 was high all the time?
Or if the read ahead program pointer can jump to the next motion instruction long before the approximation zone is reached, is
the aproximation then done as it should? -
I have a digital input that comes from an IO-module that I need in my programm undelayed.
On the other hand I also want a copy of that digital input, but with an offdelay.
I have no background task available.
My first solution was to send the real digital input to a virtual input by a crossconnection and to put an offdelay on that virtual input.
After testing however I noticed that a delay on that virtual input does not work.
How can I obtain my goal : using a digital input undelayed and in the same program also with a parametrized delay?
Wiring the electrical signal to two real inputs is no option.
It concerns IRC6 RW6. -
Is there in IRC5 a function that I can use to check if an interrupt is enabled with 'IWatch'.
I know it is not a problem to activate IWatch more then once, but I just want to know if a function to check if it is enabled is available. -
If I have multiple consecutive motion instructions with aproximation (f.i. z100),
is it then so that the program pointer only goes to the next line if the aproximation point is reached.
For instance we haveMoveL P1 z100, then MoveL P2 z100, then MoveL P3 z100.
At the beginning motion and program pointer will be at MoveL P1 z100. The program pointer will go to MoveL P2 z100 when the
approximation point near P1 is reached.
I need to know this because of the other (non motion) instructions that can be between the motion instructions, and I must be sure when they are executed. -
If the interrupt that wil stop the motion is triggered by a signal that is the result of a crossconnection, it matters how fast the crossconnections are executed : slower update time of crossconnections -> possibly longer distance before motion is stopped.
-
An interrupt can stop a started motion somewhere on the trajectory.
The reasons that can cause a stop are multiple and complex (and- or- nesting).
I have not option multitasking.
A logical combination of signals programmed as a crossconnection will be the signal that activates the interrupt that then will stop the motion. -
An additional question that I forgot :
if I have f.i. crossconnection 2 that uses the result of cross connection 1, and I want that cross connection 2 is calculated immediately after cross connection 1 (and not one cycle of 12 ms later) what is the trick to execute them in the order I want?
Is the order in the overview of cross connections in Robotstudio the order in which they are executed? -
I thought cross connections are executed every 12ms.
Does it matter if you have few or a very high amount of cross connections, towards this update cycle of 12 ms?
Can one be sure when using a hight amount of cross connections that they will still be executed every 12ms, or could the
update time be larger : f.i. 24-48-56 ms? -
I want to make a generic procedure for dropping of a product in a station.
I have four dropstations and want to use one an the same procedure, but with different arguments.
In these arguements, there will also be digital inputs, that may vary from state during execution of the procedure.
If such an input is used as an inout argument of the procedure call, will I get at any point in the procedure get the actual state (true,false) of the digital input, or will the IO-value only be passed when the program pointer enters the procedure and then not change anymore during the procedure execution? -
I was always tought that 'callibration' (not update revolution counters) was only neccesary when replacing a motor.
Can callibration also be lost (or callibration necessary) when the robot makes a heavy crasch?
What tools does it take to do the callibration of a robot? Is it one tool for all axes, or seperate tools?
What do they cost? Is there a difference in callibration of recent robot compared to older types? -
If a have a motion with reduced acceleration/decceleration, and I want to stop it the fastest way possible (while keeping on path) if an input comes high (only occasionally situation),
is it then best to put accset 100,100 just before the stopmove\quick instruction so that the stopmove can use the highest decceleration?
Or does it already use the highest decceleration nomather what accset was present before? -
We have new ABB robots IRC5 rw6.
They were ordered without the option 'multitasking', and when you look online in the controller at the installed options, the option is indeed not mentioned.
Strange thing is that in delivery state I see 'task 1' and 'task 2' in the task section.
I had prepared the software offline before delivery in Robotstudio in a station without multitasking and there it was not even possible to add a second task.
How can I interprete this, is in the real robot possible to run code in a background task (task 2),
or what does the 'task 2' do? I have put my prepared modules in 'task 1'. -
For this situation it only happens occasionally (crashdetection).
So, I can suppose that with \quick always the maximum decceleration possibity is used (for keeping on path), nomather what settings were effective before (accset) ? -
I use stopmove \ Quick in a trap routine to stop a motion when a sensor is activated.
This works, but I expected the decceleration distance to be smaller.
Is this method (stopmove\quick) the fasted way to stop a motion?
Is it dependant on the set acceleration at the moment that the stopmove is executed, or
does it always use the maximum possible acceleration-decceleration? -
I have IRC5 rw6. I have no multitasking option.
I want to execute some code when a digital input becomes high.
I succeed by using ISignalDI and trap routinge.
This works, but when the robotcycle is stopped (f.i. in manual and stop button pushed) the interrupt is not activated.
When the program cycle starts again the interrupt is not executed because the level was already high before and no
rising edge is seen. How can I solve that a least when the robotcycle starts again the interrupt is executed (alhtough it was high
before start cycle)?