Difference between revisions of "Axis Setup Procedure"
(→Step#2: Setting user friendly axis name) |
(→SETUP.PRG) |
||
Line 73: | Line 73: | ||
</pre> | </pre> | ||
+ | |||
+ | ==Step #4:Position Units definition== | ||
+ | |||
+ | [[MC-Basic:axis.POSITIONFACTOR|<axis>.PositionFactor]] defines the position units that will be used in all position variables of the specified axis (pcmd, pfb, …) it consist of: | ||
+ | |||
+ | * Motor encoder resolution seen through the motion-bus (See EtherCAT, SERCOS, CanOPEN). How many counts are there in one motor revolution - stored in pos_units global variable (for each axis differently). | ||
+ | * Gear ratio (M:N) and/or the pitch of the linear screw (mm/rev). | ||
+ | |||
+ | :*Rotary axes: | ||
+ | ::For position in degrees PositionFactor is:PFAC = Pos_Units *(M/N)/360 | ||
+ | :*Linear axes: | ||
+ | ::For position in milli-meters PositionFactor is:PFAC = Pos_Units)/MPITCH |
Revision as of 13:43, 28 July 2014
Contents
Introduction
This series of slides will explain how to create and set an axis in the softMC controller. For that you will need:
- Running softMC (either a real, or virtual)
- User interface (Control.Studio)
Step #1: declare axis
In the first line of CONFIG.PRG file write the number of axes that will be in use:
Sys.Naxes = <number> … Program … End Program
Send this file to MC and run it by issuing these two lines from terminal window:
send config.prg reset all
Now you have your axes defined, it is easily to check issuing this command from terminal window:
->?axislist A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,A15,A16,A17
Step#2: Setting user friendly axis name
System default axis name are not very user friendly (a1,a2,a3, …) It is a good practice to rename them into something more meaningful. This is done in CONFIG.PRG file only , assigning to each axis now name (no double quotes sign) to <axis>.AxisName property.
Sys.Naxes = <number> … Program a1.AxisName = Xaxis a2.AxisName = Lift … End Program
Step#3: Preparing general axis setup
In order to set-up system axes one need to prepare setup program. Let’s call it SETUP.PRG. It is important to know:
- In order to access (write to) an axis property axis needs to be attached.
- For some of the properties axis needs to be disabled
SETUP.PRG
Program Call SetAxis(a1) Call SetAxis(a2) … End Program Sub SetAxis(ax as generic axis) With ax Attach En = 0 … <stuff goes here> … Detach End With End Sub
Step #4:Position Units definition
<axis>.PositionFactor defines the position units that will be used in all position variables of the specified axis (pcmd, pfb, …) it consist of:
- Motor encoder resolution seen through the motion-bus (See EtherCAT, SERCOS, CanOPEN). How many counts are there in one motor revolution - stored in pos_units global variable (for each axis differently).
- Gear ratio (M:N) and/or the pitch of the linear screw (mm/rev).
- Rotary axes:
- For position in degrees PositionFactor is:PFAC = Pos_Units *(M/N)/360
- Linear axes:
- For position in milli-meters PositionFactor is:PFAC = Pos_Units)/MPITCH