Hello,
Is there a simple way to read the force?
e.g. How to have the Force value copied to a register every 1 sec?
Thank you in advance for your help,
Rollin - Fanuc Controller R-30iA
Hello,
Is there a simple way to read the force?
e.g. How to have the Force value copied to a register every 1 sec?
Thank you in advance for your help,
Rollin - Fanuc Controller R-30iA
Are you talking about servo disturbance, force control, or something else?
Hi fastfingers,
Thank you for your reply!
I have a 6 axis force sensor mounted on the end of the robot.
I am doing endurance testing on a part: I press down on the part, then repeat many times. This works. I am not doing any Force Control instructions at this time.
In addition, I simply would like to have the force the sensor is experiencing copied to a register, regularly, e.g every 1 second.
I have a program that can read registers and display the value on my PC.
The issue I am having is: How do I copy the force value to a register? Once I am able to do this, I will then be able to datalog, analyze and display the value on my PC.
It looks like the system variable $FORCE_SENSE.$force_data[1-6] has what you need. You can write a program with an instruction to write the value from the variable to a register.
The instruction would look like this:
R[1]=$FORCE_SENSE.$force_data[1]
R[2]=$FORCE_SENSE.$force_data[2]
and so on....
You would also need to figure out a way make this data constantly update when you want it to. A RUN statement with a looping program and a means of stopping that program would be one option.
Thanks! I will give that a try.
Let us know how it works. I have not tried pulling and storing raw force data before. I do have a force-equipped M-710 in the shop but am unable to use it for testing at the moment.
Will do. I will have access to the robot tomorrow morning.
[quote='fastfingers','https://www.robot-forum.com/forum/index.php?thread/&postID=129227#post129227']
It looks like the system variable $FORCE_SENSE.$force_data[1-6] has what you need. You can write a program with an instruction to write the value from the variable to a register.
The instruction would look like this:
R[1]=$FORCE_SENSE.$force_data[1]
R[2]=$FORCE_SENSE.$force_data[2]
and so on....
Checked my R-30iB / R-2000iC 210F (with Force Sensor) and the system variables you mention dont exist ??
Display More
[quote='fastfingers','https://www.robot-forum.com/forum/index.php?thread/&postID=129227#post129227']
It looks like the system variable $FORCE_SENSE.$force_data[1-6] has what you need. You can write a program with an instruction to write the value from the variable to a register.
The instruction would look like this:
R[1]=$FORCE_SENSE.$force_data[1]
R[2]=$FORCE_SENSE.$force_data[2]
and so on....
Checked my R-30iB / R-2000iC 210F (with Force Sensor) and the system variables you mention dont exist ??
I got the info from the software reference manual where it says the variable isn't directly accessible by menu. I have never tried the method I suggested and am not sure if it works.
Looks like you can read it with Karel.
Do you have Karel installed?
Hi pdl.
Thank you for your input!
Here are some of the options I have installed:
KAREL Cmd. Language (J650)
KAREL Run-Time Env (J539)
Force Control Basic (J876)
Force Control Fitting (J877)
Force Ctl. Contouring (J835)
The next step would be for me to write a simple Karel program: I don't know how to write a Karel program. I have the documentation, but do I need a special editor? If I use notepad can I just ftp the file to the controller? Can I use the Teach Pendant to edit a Karel program?
I tried writing this in a teach pendant program:
R [23] = ($FORCE_SENSE.$force_data[1]) but it displays "Invalid parameter name", so I guess it belongs in a Karel program.
I am using LabVIEW and a third-party LabVIEW toolkit that gives me an API to use to communicate with the robot. So far so good, except the API to read system variables has worked for common variables, but not for the force variables in our particular setup.
e.g. I am able to read from the common System Variables:
$FAST_CLOCK i.e. integer,
$ANGTOL[1] i.e. real,
$APPLICATION[1] i.e. string,
$BACK_EDIT[1].$backup_name) i.e. string,
but not from
$FORCE_SENSE.$force_data[1] -- Real
$FORCE_SENSE.$force. -- Vector
Tried to read system variables related to Force, of Integer type, without success: *SYSTEM* : Integer: $FORCE_SENSE.$sensor_type, $FORCE_SENSE.$sensor_port[6], $FORCE_SENSE.$sensor_port[1], $FORCE_SENSE.$sensor_data[1].
* Tried to read system variables related to Force, of Real type, without success: *SYSTEM* : Real: $FORCE_SENSE.$force, $FORCE_SENSE.$force[1], $FORCE_SENSE.$force.X, $FORCE_SENSE.$force.x.
At this point I am waiting for our local Fanuc distributor to come in and take a look.
Rollin
You will need roboguide (at the very least OLPC pro) to compile your Karel source into a loadable .pc file.
Thanks pdl!
Please keep us updated on any progress you make getting the values with Karel. I'm interested to hear if it works.
fastfingers,
I will be sure to keep you updated. It might take a week before I have an answer.
Ok, We found where the Force sensor data is located:
It's actually available in the system variables in this area: $CCC_GRP[1].xxx
e.g. $CCC_GRP[1].$REAL_FORCE
Sweet! Thanks for keeping us updated. I will try this out soon.
Here is the variable I used on a previous application. I remember there being a couple of diffrent sets of values, but that's the one that gave the raw forces from the sensor, and not some "auto calculated" values.
R[81:Start Force X]-$CCC_GRP[1].$FS_FORCE[1]
Hello everyone!
So how the command will look like on KAREL to get this system variable?