09-09-2010 05:54 AM
Hi everyone, I'm a researcher in Pisa and I'm working with a Robot Denso (Scara, 4 axes) and ImagingLab Libraries. I'm trying to add a control to set the working speed in mm/s (working with Wincaps I used the option SPEED MPS without problems) but I'm not so sure about the way to implement it.
I tried to call a controller task just to set the speed, but I have a problem with the semaphore (i can't use TAKEARM because of RobSlave.pac).
Moreover, checking userextension.pac, I saw that there is an option (n. 81) called RBS_CMD_MPS;I tried to set it, but without good results.
Can you suggest me the simplest way to set the speed in mm/s?
Besides, reading the other topics and the manuals, I understood that there is no way to set different speeds for the joints (in my specific situation, it would be nice to have a speed for the z axis and another speed for the other coordinates). Can you confirm that this is not possible?
Thank you very much in advance for your replies.
Solved! Go to Solution.
09-09-2010 06:32 AM
Hi Carmine,
basically I see three options to solve your problem:
1. Use the "UserExt" vi to call the function. The "command number" should be 10081 (defined in "UserExtension.pac").
2. Stop "RobSlave" while executing your task to set via PAC.
3. Ask ImagingLab to add this function (maybe in cooperation with DENSO).
It is not possible to set the speed for specific cartesian axis.
Hope this helps,
Alexander
@Carmine84 wrote:Hi everyone, I'm a researcher in Pisa and I'm working with a Robot Denso (Scara, 4 axes) and ImagingLab Libraries. I'm trying to add a control to set the working speed in mm/s (working with Wincaps I used the option SPEED MPS without problems) but I'm not so sure about the way to implement it.
I tried to call a controller task just to set the speed, but I have a problem with the semaphore (i can't use TAKEARM because of RobSlave.pac).
Moreover, checking userextension.pac, I saw that there is an option (n. 81) called RBS_CMD_MPS;I tried to set it, but without good results.
Can you suggest me the simplest way to set the speed in mm/s?
Besides, reading the other topics and the manuals, I understood that there is no way to set different speeds for the joints (in my specific situation, it would be nice to have a speed for the z axis and another speed for the other coordinates). Can you confirm that this is not possible?
Thank you very much in advance for your replies.
09-09-2010 07:40 AM
Hi Alexander,
1) I already tried to use the "UserExt" vi to call the function with command number 10081, but I was not able to set the speed. WIth Labview, I can set 8 parameters of the MPS subfunction; I tried to set them but without any good result. Do you know if there is a particular combination of these parameters in order to set the speed?
2) I also tried to stop the RobSlave.pac with the Denso_RobSlave vi, but it looks like it doesn't stop and I receive the error message about the semaphore (I think the problem is the while loop in which I use these Vi's); the only way in which I'm able to set the speed in mm/s by calling a Denso task it's at the beginning of my vi, before starting the RobSlave; anyway, I prefer to have the option to change the speed inside my while-loop, so the user can change it at any moment.
3) I'm in contact with ImagingLab, if I can't solve the problem with one of the first two options I'll ask them to add the function.
Thank you very much for your support.
Carmine
09-09-2010 08:32 AM
Hi Carmine,
> WIth Labview, I can set 8 parameters of the MPS subfunction
normally the MPS command only takes one parameter. So I am
little bit confused why you have 8?
Maybe you have a different version of the IL library. In my version
I can only see "command number" and "parameters" for input
where parameters is an array of float values.
The underlying protocol takes an array of 10 float values, the
first value being the command number. The second should be
the parameter for the MPS function. But I cannot see the
implemention of ImagingLab.
Alexander
09-09-2010 09:22 AM
Hi Alexander, you'right, I was not so clear!
The UserExt.vi inputs are: "command number", a numeric that I set to 10081 and "parameters", an array of float values, so i think that the implementation of ImagingLab is quite similar to yours. I'm not sure about the values that i need to set for "parameters"; i tried to set the first value with the speed that i need, but it doesn't seem to work. After your reply, i tried to set the first value to 10081 and the second value with the speed, but no results again (I mean, the arm moves, but not with the right speed). That's why I was wondering if there is a combination of values in order to call the vi correctly.
I attach a bmp with the labview interface that I have.
Thank you very much again!
Carmine
09-09-2010 10:10 AM
I am not sure how to set the parameters correctly. But repeating the command number in the array does
not look correct. My guess would also be to set the command number to 10018 (as you have done) and
set the first value of the array to the MPS argument.
I believe ImagingLab might be the best to clarify the parameters.
For your reference I copied the definition of the underlying b-CAP protocol:
======================================
VT_R4|ARRAY:
(<CommandNumber>,
<Parameter1>,<Parameter2>,
<Parameter3>,・・・,<Parameter9>)
Or
VT_I4: CommandNumber
Or
VT_VARIANT|ARRAY(VT_I4,
VT_R4|ARRAY>):
CommandNumber(VT_I4),
Parameter1,Parameter2,Parameter3,
…,Parameter9(VT_R4|ARRAY)
======================================
09-09-2010 10:35 AM
Yes, I also thought that there was no need to repeat the command number in the array, but the first attempt I did was with the first value with the MPS argument as you suggest so I tried other solutions.
I guess I will ask ImagingLab about the problem.
Thank you again, your help was very useful to understand better how the UserExt library works!
Mit wirklichen gruessen,
Carmine
09-15-2010 03:56 AM
Dear Alexander,
thanks for your help with the speed issue. At the end, I solved it by stopping "RobSlave" with the option "reset" and executing a dedicated task to set the speed in mm/s.
03-26-2012 11:30 AM - edited 03-26-2012 11:31 AM
Is there a way to find out if the robslave.pac is running? I get a speed error in the get speed VI. and is says the robslave is not running.
Thank for the help.
11-20-2013 01:55 PM
Alexander,
I'm looking to issue a TakeArm 1 or TakeArm 2 command in order to drive a 7th axis with the DRL. How do I find the definitions of the UserExtension.pac, and where can I obtain this PAC file? Thx, Iggy