NI Home > Community > NI Discussion Forums

DigiMetrix

Reply
Member
Carmine84
Posts: 15
0 Kudos
Accepted Solution

Speed in mm/s

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.

Member
akempf
Posts: 8
0 Kudos

Re: Speed in mm/s

 

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.


 

 

Member
Carmine84
Posts: 15
0 Kudos

Re: Speed in mm/s

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

Member
akempf
Posts: 8
0 Kudos

Re: Speed in mm/s

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

 

 

Member
Carmine84
Posts: 15
0 Kudos

Re: Speed in mm/s

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

Member
akempf
Posts: 8
0 Kudos

Re: Speed in mm/s

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)

======================================

Member
Carmine84
Posts: 15
0 Kudos

Re: Speed in mm/s

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

Member
Carmine84
Posts: 15
0 Kudos

Re: Speed in mm/s

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.

Member
poe992002
Posts: 4
0 Kudos

Re: Speed in mm/s

[ Edited ]

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.

Member
IggyBoston
Posts: 4
0 Kudos

Re: Speed in mm/s

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