Forum Migration Notice
We're transitioning to a more modern community platform by the end of this year. Learn about the upcoming changes and what to expect.
Smartgripper Vaccuum implementation in SearchL instruction
Can someone please help me with an issue I am facing with the vacuum function of my Smartgripper used in a project involving an Abb YuMi IRB14000 robot?
I am unsure of how to work with the SignalGI variable, which seems to be a requirement for my Smartgripper. I have tried using the SearchL or the Stop commands, but they do not seem to work with SignalGI.
The following instruction is getting error, because the SearchL command requires a 0/1 signal from a SignalDi input, but the "hand_ActualPressure2_L" is the SignalGi variable which I have because of the Smartgripper by default, and is not compatible with the SearchL command.
SearchL \Stop, hand_ActualPressure2_L, p10, p20, v50, GripperL;
So my currently working solution involves moving the robot 1 mm in a While loop To pick up an object, I am using SignalGI as a condition in the loop, but I am aware that this is not the most optimal approach.
MoveL p10, v100,fine,GripperL; g_VacuumOn2; WHILE hand_ActualPressure2_L > 88 DO MoveL Offs(endpos, 0,0, -1 * Z_position), v30, z0, GripperL; TPWrite ( ValToStr(hand_ActualPressure2_L) ); WaitTime 0.1; Z_position := Z_position + 1; ENDWHILE
Any advice or guidance on this matter would be greatly appreciated. Thank you for your help!
I am unsure of how to work with the SignalGI variable, which seems to be a requirement for my Smartgripper. I have tried using the SearchL or the Stop commands, but they do not seem to work with SignalGI.
The following instruction is getting error, because the SearchL command requires a 0/1 signal from a SignalDi input, but the "hand_ActualPressure2_L" is the SignalGi variable which I have because of the Smartgripper by default, and is not compatible with the SearchL command.
SearchL \Stop, hand_ActualPressure2_L, p10, p20, v50, GripperL;
So my currently working solution involves moving the robot 1 mm in a While loop To pick up an object, I am using SignalGI as a condition in the loop, but I am aware that this is not the most optimal approach.
MoveL p10, v100,fine,GripperL; g_VacuumOn2; WHILE hand_ActualPressure2_L > 88 DO MoveL Offs(endpos, 0,0, -1 * Z_position), v30, z0, GripperL; TPWrite ( ValToStr(hand_ActualPressure2_L) ); WaitTime 0.1; Z_position := Z_position + 1; ENDWHILE
Any advice or guidance on this matter would be greatly appreciated. Thank you for your help!
0
Answers
-
Hello,I think you can trig a routine with ISignalGI connected to hand_ActualPressure2_L.In this routine you can check its value then set a PERS bool that you use into SearchL.
☑️2024 - RobotStudio® User Group0 -
See if that fixes it...PERS bool conditionOk:=FALSE;VAR intnum sig1int;PROC main()CONNECT sig1int WITH iroutine1;ISignalGI gi1, sig1int;WHILE TRUE DOIF conditionOk conditionOk:=FALSE;SearchObj;ENDWHILEENDPROCTRAP iroutine1IF hand_ActualPressure2_L <= 88 ConditionOk:=TRUE;ENDTRAPPROC BuscaObj()SearchL \Stop, conditionOk=TRUE, p10, p20, v50, GripperL;Stop;ENDPROCTest and mark UP if it solved.0
Categories
- All Categories
- 5.6K RobotStudio
- 401 UpFeed
- 21 Tutorials
- 16 RobotApps
- 306 PowerPacs
- 407 RobotStudio S4
- 1.8K Developer Tools
- 250 ScreenMaker
- 2.9K Robot Controller
- 365 IRC5
- 86 OmniCore
- 8 RCS (Realistic Controller Simulation)
- 854 RAPID Programming
- 37 AppStudio
- 4 RobotStudio AR Viewer
- 19 Wizard Easy Programming
- 111 Collaborative Robots
- 5 Job listings
