ModPos vs Modifying Values
I am the lead robot programmer in my laser welding plant, but have several people under me that work with robots. Their daily work consists of reteaching the welds and the welded components are in specification.
The problem I have is when they reteach the welds, they go into the program data or select the robtarget -> view value and then change the X,Y, or Z values instead of driving the robot into the new position and ModPos. Because we are primarily laser welding, our robots are enclosed inside a light tight box with no way of viewing the robot while in auto. In manual, the laser is disabled so there is no safety concern and they can drive the robot into position and have a view of where the robot is pointing.
The issue with modifying robtarget values instead of ModPos is that they can "fat-finger" the numbers when typing in the new values or forget the decimal point. This could cause the robot to crash and damage our laser optic (~$20k each) or cause bad welds that don't meet specification because they adjusted in the wrong direction.
Maybe it's just the plant I work in and the people we have working for us, but no matter how many times we tell them not to type in values and use ModPos instead, they want to do what is quickest and easiest even though it's not the best/safest way to do the job.
Is there a way to prevent them from modifying values and only use ModPos? I have looked into UAS and user levels, but it groups ModPos and modifying values into the same group grant.
Comments
-
If you use hotedit, it will at least limit how much it can be changed. Still nothing to prevent them from viewing the data and changing...or is there? Just came to me as I was answering, try to declare your robtargets in a noview module. I don't have time today to test it.Lee Justice0
-
I don't know your process, but if you can predict that someone would reteach at certain times, you could wrap the move in a Move Instruction with a Boolean to turn "teach" on or off.Before:MoveL bla;After:WhateverL bla;PROC WhateverL(INOUT robtarget input)IF bTeachMode = True THENUINumTune(input.x) ! allow them to adjust in certain directions before then doing the move?ENDIFMove L input;ENDPROC
0 -
Hello,Or you can have a copy of each robtarget (theoretic values) in noview module and check current values doesn't differ too much from theoretic ones.
☑️2024 - RobotStudio® User Group0 -
What version of controller and software? There used to be an absolute limit modpos setting which would store the original robtarget as data type o_robtarget.Lee Justice0
-
5.14.2031 is the version.
I thought about creating a world zone around each weld and it would trigger it if they moved outside the zone, however we have about 30 welds per cell and that is a lot of teaching world zones.
0
Categories
- All Categories
- 5.5K RobotStudio
- 396 UpFeed
- 18 Tutorials
- 13 RobotApps
- 297 PowerPacs
- 405 RobotStudio S4
- 1.8K Developer Tools
- 250 ScreenMaker
- 2.8K Robot Controller
- 316 IRC5
- 61 OmniCore
- 7 RCS (Realistic Controller Simulation)
- 798 RAPID Programming
- AppStudio
- 3 RobotStudio AR Viewer
- 18 Wizard Easy Programming
- 105 Collaborative Robots
- 5 Job listings