Best Of
Re: Method for applying textures/graphics (color acceptable) to arbitrary part
I don't think there is any default smart component for texture change. 'Highlighter' can be used to change the color.
If you're somewhat familiar with C# programming, you could try coding your own smart component with RobotStudio SDK. It provides a more flexible way to edit the parameters of box_1.
If you're somewhat familiar with C# programming, you could try coding your own smart component with RobotStudio SDK. It provides a more flexible way to edit the parameters of box_1.
Re: Description/manual page entry for own Proc/Func inside Shared Modules
I have forwarded this feature request to the Product Manager of RobotStudio.
I'll keep you posted on any developments.
I'll keep you posted on any developments.
Description/manual page entry for own Proc/Func inside Shared Modules
Hi
I'm looking to create a sort of library for standard functions for our company to use in multiple robot applications.
I would like to make these inside a shared module, so all task can access these functions.
Since the software in a shared task is not visible in robotstudio, is there a way to:
Thanks in advance
I'm looking to create a sort of library for standard functions for our company to use in multiple robot applications.
I would like to make these inside a shared module, so all task can access these functions.
Since the software in a shared task is not visible in robotstudio, is there a way to:
- Show a short description when hovering over the function in light gray as "Update speed override for ongoing movement" when hovering over SpeedRefresh?
- Add a maual page entry so we can press F1 on a function to get its info?
Thanks in advance

Re: On the omnicore controller it ask to simulate waittime. How do I stop this from asking everytime?
Go to topic Controller, General Rapid and set SimulateMenu to No.

But sometimes you might want to keep the SimulateMenu for robot task, in that case you can do multiple smaller waittimes and the menu won't show.

But sometimes you might want to keep the SimulateMenu for robot task, in that case you can do multiple smaller waittimes and the menu won't show.
FOR i FROM 1 TO 5000 DO
waittime 0.1;
ENDFOR
Or you could use timer interrupt instead of locking the task in a waittime for 500 seconds. MODULE Module1
VAR intnum inPulseSignal;
PROC main()
!Setup timer-trap
CONNECT inPulseSignal WITH trapSignalPulse;
ITimer 500,inPulseSignal;
!Timer will now run once every 500s without locking the task
WHILE TRUE DO
!Do different stuff
waittime 0.01;
ENDWHILE
ENDPROC
TRAP trapSignalPulse
PulseDO DO10;
ENDTRAP
ENDMODULE
Re: What Does my piece connect to my top part of the smart gripper when im using the vacuum
When you make your attacher inside of simulation logic, uncheck the option to mount. Mount means it will move the part to the frame you have selected.
The other solution is in the attacher, make sure you have the flange set to vacuum, but that still requires the origin and the pick point to be the same. Good luck, let me know if that makes sense.
The other solution is in the attacher, make sure you have the flange set to vacuum, but that still requires the origin and the pick point to be the same. Good luck, let me know if that makes sense.

1
Re: Handling motion error 50050
Hallo, you may try to calculate a jointtarget from your intended robtarget. The function CalcJointT can generate an recoverable error, when the robotarget is out of reach. See description for the function.

1
Re: Moving Operator on a simulation
Hello, JPV.
I have also had situations where I wanted operator movement, and usually ended up doing just what you said, a linear move. I experimented with two other options for arm movement but never got so sophisticated as to include hands. While I abandoned the effort due to the time, I believe you have two paths.
1. Create a mechanism with joints for each part of the arm, and then you can create poses and move through them with a smart component or event manager.
2. Create a robot mechanism (which is beyond my pay grade) but I suspect if you could do this, you would then be able to use targets, fine points, etc to control the motion just like any robot.
Hope this helps, maybe someone with more experience can expand on how you would go about doing this.
I have also had situations where I wanted operator movement, and usually ended up doing just what you said, a linear move. I experimented with two other options for arm movement but never got so sophisticated as to include hands. While I abandoned the effort due to the time, I believe you have two paths.
1. Create a mechanism with joints for each part of the arm, and then you can create poses and move through them with a smart component or event manager.
2. Create a robot mechanism (which is beyond my pay grade) but I suspect if you could do this, you would then be able to use targets, fine points, etc to control the motion just like any robot.
Hope this helps, maybe someone with more experience can expand on how you would go about doing this.
Re: Global routine name main ambiguous.
The ambiguous error means there are two items with the same name.
PowerPac for Painting
Is the painting PowerPac not working with the 30 day trial version of RobotStudio?
Re: How do I do I treat the name of a data record as an alias
Hi.
I have parts of the source code for production manager flexpendant app, and there is an embedded module file that is used to generate a module.
I have parts of the source code for production manager flexpendant app, and there is an embedded module file that is used to generate a module.
MODULE {0} {2}PROC {1}() ! For error handling Use: ! RecoveryPosSet and RecoveryPosReset ! ! There is a limitation to the use of RecoveryPosSet. The Pathrecorder can not be turned on ! with RecoveryPosSet before a WaitSyncTask instruction, i.e. the robot can never escape past ! a WaitSyncTask instruction. Therefore, make sure that RecoveryPosSet is always used after ! the WaitSyncTask instruction in the RAPID program. ! <SMT> ENDPROC ENDMODULE
I don't think there is a way to modify this output if you want to use gap, the other option is to make a custom system completly.
Regarding filling the advpart, you could store all advpart data in files on the robot hdd, when a program is selected and executed you check for the file.
If it dosen't exist ask the operator to fill all values with UiNumEntry or other dialog instructions, then store all values in the file and use it next time.
This way you don't have to use the AdvPart at all, just check for the file with the correct program name, load all parameters and then execute your program.
Regarding filling the advpart, you could store all advpart data in files on the robot hdd, when a program is selected and executed you check for the file.
If it dosen't exist ask the operator to fill all values with UiNumEntry or other dialog instructions, then store all values in the file and use it next time.
This way you don't have to use the AdvPart at all, just check for the file with the correct program name, load all parameters and then execute your program.