Sometimes I/O - interconnect has also some easy solutions
Sometimes I/O - interconnect has also some easy solutions
When you have enabled that mastering menu. Jog robot close as close as possible to zero position marks and try first quick mastering if mastering is really needed. After that you can press calibrates and then you should see each axis current position. If values are close to zero everything should be ok. But if there are 'far away' then you need to do zero position master.
If you application is very accuracy needed one. Then I recommended to do JIG mastering.
Did you check what can found from Handling tool operator manual? There is topic Password setup. If I remember right you can track down active sp_id for robot web server from some xml file (passscrn.xml).
I would like to monitor robot position with safety monitoring space. I'm planning to define space , "always on"+"working space" and not sop at boundaries. I check from manual that there are some variables which can be used internally $SR_RANGE_OK[]. But when space is set to "not stop" that is not working.
Have someone idea how I can sort this thing out. Is it possible to map those status to some internal I/O or something similar?
Robot is brand new, with version 8.5
I think you can start with these option. Dynamic uframe is also nice to have.
A05B-2600-J686 ! Coordinated Motion Package
A05B-2600-R700 ! Dynamic UFrame
There is also possible to purchase to roboguide option:
A08B-9410-J693 CAD CONVERTER
Like HawkME earlier mentioned. That controller doesn't have FLAGS available. Instead of flags you can use Do's or Registers. Registers are maybe to easiest to use.
Is this now totally the first time when you are using software? Sometimes you need to run the program first time in administrator. Next set you language setting from your PC, there are some settings like decimal what should be used.
When you are defining utool for robot active uframe is not affecting to TCP values.
So we are planning to use robot external axis to control press. This press force should be possible to control with parameter. I was looking from manual and found out some commands.
With this command I can set up maybe force how much servo should use "force"
SET_TORQUE_LIMITS(8, {lower -xxxx, upper xxxx, monitor #OFF, max_vel 0.5, max_lag 200})
But then what I know from previous projects. Servo will get heat pretty fast even servo power is used for keeping the wanted forced. Does anybody has idea how that servo can be set to "brake" and then it's not heating so much.
Of course this whole thing/solution is based on idea that servo is strong/big enough and it's brake is also strong enough to keep to force.
If anybody has any example about code how this should be me. That would be really nice
If I remember right the system variable which will disable that check is
Do you also have PLC in your system? I would say that, instead to make pretty complicated system. You can also make it via I/O interface:
in sps program:
IF($MODE_OP==#EX) and ($PRO_ACT) and (SpeedRequestHMI) THEN
$OV_PRO = SpeedFromHMI (group input or analog input value)
ENDIF
HI there,
We have first cell with ABB robot in our factory. System is already up and running. But there is some issues with that. Main issues is coming from operators that they are still learning how cell is working and tehy really like to start robot always with low speed and then increase speed when they have make sure that robot is doing what it should. But when they are setting robot to AUTO mode from key selector. Speed will always go to 100%. How to prevent this and is these some settings what can be changed for this. I already saw some mentions about auto condition reset, but this didn't not help
Did you also configured your I/Os? Because if those are not configured, this might happen.
So I like to define a cubic area at where robot can move freely. But when robot is going outside that define cubic it should check that there is a dedicated input signal on. And if that signals drops down during movement outside this cubic. Robot need to stop.
I have define that cubic like this:
WZBoxDef\Inside,shOutsideDev,corner1,corner2;
But how I can make that monitoring active all the time? Should I use interrupts or something else?
Ok, then I rest my case and make individual signals for each alarm/error type.
Yes there is two different type of system outputs and with those I can debug alarms. But just in case If I press EStop button from pendant. None of those goes on? I know that there is dedicates system output signal for that. But is it really so that there in no only one signal which could be used for all kind of alarm status reading?
Yes, that execution error is more or less what Im looking for. But it signals stays on until you press start button again. Is there any outputs which will be on only that time when alarm is not reset? Or is it with ABB that basically when you press start you will also reset alarm.
Maybe this topic is already discussed here. But with my search I couldnt found out hwat I was looking for. My problem is taht I ahve been working mostly with KUKA and Fanuc robotics. Both of those have pretty similar I/O interface which I can use to show status in cell HMI. But with ABB I cannot show error status with digital output.
So in rapid side I'm using:
ErrWrite Header,Text1\RL2:= Text2;
SystemStopAction /Stop
WIth these commands I'm able to print certain message to display and stop robot movement. But is there any solution which will automatically set some digital output on?
Display MoreWhich controller? IRC5? S4? Do you mean the speed override from the pendant? If you do, I made this code a few years ago to send the value to the PLC so the operators can't slow the robots down without us knowing about it. You'd need to map a group output to the PLC if using this specific functionality. The proc is called from Main so it checks every cycle:
! Declarations
LOCAL VAR num flexpendspeed;
LOCAL VAR num flexactual;
!
! Procedures
!
PROC speed_check()
! Capture speed selected by flexpendant user
flexpendspeed:=CSpeedOverride();
!
IF flexpendspeed=100 THEN
! Sets group output value to 100 if speed is 100%
SetGO go_SpeedValue,100;
!
ELSEIF flexpendspeed<100 THEN
! Remove any decimals from speed value
flexactual:=Round(flexpendspeed\Dec:=0);
! Set group output of actual speed to PLC
SetGO go_SpeedValue,(flexactual);
! Write speed information to flexpendant screen
TPErase;
TPWrite " Robot system speed is not 100%";
TPWRITE " Robot rendszer sebességét nem 100%";
!
ENDIF
!
ENDPROC
You need to tell us the controller type etc. when you ask this kind of question!
Thanks,
That was exactly what I was looking for!