Main Page | Data Structures | File List | Data Fields | Globals

si_mechanism Struct Reference

Si Microstep Drive Configuration Table. More...

#include <mechanism.h>


Data Fields

char Name [64]
 Device name (e.g. Filter), appears as Name=... in status messages.

int Topology
 Device drive topology, one of MECH_ROTARY or MECH_LINEAR.

int Resolution
 Microstep Resolution in microsteps/rev. Default is SI_RESOLUTION, currently not user-defined.

char Port [64]
 Microstep drive communications port (e.g., /dev/ttyS0 or 128.172.2.12:8016).

int FD
 Microstep drive comm port file descriptor, <0 if no drive connected.

long Timeout
 Serial communications timeout interval in seconds. Default is MECH_TIMEOUT sec.

long Polltime
 Drive status polling interval in msec. Default is MECH_POLLTIME msec.

int State
 Drive Motion state (SI_READY, SI_MOVING, SI_SFAULT, SI_WIEXEC, or SI_WTEXEC).

int Accel
 Motion profile acceleration in rev/s/s, range SI_MINVDOT to SI_MAXVDOT rev/s/s.

double Speed
 Motion profile speed in rev/s, range SI_MINVEL to SI_MAXVEL rev/s.

int Distance
 Motion profile move distance in microsteps, range +/-0 to SI_MAXMOVE microsteps.

int Decel
 Motion profile deceleration in rev/s/s, range SI_MINVDOT to SI_MAXVDOT rev/s/s.

double Current
 Motion profile drive current in Amps, range 0 to SI_IMAX.

double IdleCurrent
 Motion idle current in Amps, range 0 to SI_IMAX.

int Idle
 Enable/Disable drive idle (1=Enable/0=Disable).

char Inputs [SI_MAXINPUTS+1]
 Raw input sensor bit string, size $SI_MAXINPUTS+1.

char ISmask [SI_MAXINPUTS+1]
 Input Status (IS) Mask: 0 if input asserts low, 1 if input asserts high, size SI_MAXINPUTS+1.

int NPos
 Number of discrete (indexed) mechanism positions, 0 if a continuous drive.

int Offset
 Offset between the device and encoder positions (usually 0).

int StepPos
 Number of microsteps per indexed position.

int NData
 Number of position input data bits (1..SI_MAXINPUTS).

int EncPos
 Decimal encoder position.

int InPosAddr
 Address of the in-position bit (0 if unused, 1..SI_MAXINPUTS otherwise).

int InPos
 Value of the in-position bit (if used).

int OccupiedAddr
 Address of the position occupation bit (0 if unused, 1..SI_MAXINPUTS otherwise).

int Occupied
 Value of the position occupation bit (1=occupied/0=empty).

int HomeAddr
 Address of the home position sensor (0 if unused, 1..SI_MAXINPUTS otherwise).

int AtHome
 Value of the home sensor (1 or 0, if used).

int Position
 Device position (in steps from step-count home/zero position).

int StepsPerMM
 Number of microsteps per millimeter of physical travel (0 if unused).

int Limits
 Limit Switch Setting: MECH_NORMALLY_OPEN, MECH_NORMALLY_CLOSED, MECH_NOLIMITS.

int CWlimit
 Value of the clockwise limit switch input (1 if at limit, 0 if not).

int CCWlimit
 Value of the counterclockwise limit switch input (1 if at limit, 0 if not).

int BrakeAddr
 Address of the brake drive output (0 if unused, 1..SI_MAXOUTPUTS otherwise).

int Brake
 Brake is set (1) or released (0).

int Debug
 Enable/Disable drive-level debugging output (1=Enable/0=Disable).

int Abort
 A move abort has been issued (1=true/0=false).


Detailed Description

Si Microstep Drive Configuration Table.

Contains data on the configuration of a mechanism and the drive parameters of its Si microstep drive. Encapsulates all data we should need for operating any mechanism in a Rotary or Linear topology, indexed or continuous.

The contents of this struct can be initialized by the MechInitTable() function.


Field Documentation

char si_mechanism::Name[64]
 

Device name (e.g. Filter), appears as Name=... in status messages.

int si_mechanism::Topology
 

Device drive topology, one of MECH_ROTARY or MECH_LINEAR.

int si_mechanism::Resolution
 

Microstep Resolution in microsteps/rev. Default is SI_RESOLUTION, currently not user-defined.

char si_mechanism::Port[64]
 

Microstep drive communications port (e.g., /dev/ttyS0 or 128.172.2.12:8016).

int si_mechanism::FD
 

Microstep drive comm port file descriptor, <0 if no drive connected.

long si_mechanism::Timeout
 

Serial communications timeout interval in seconds. Default is MECH_TIMEOUT sec.

long si_mechanism::Polltime
 

Drive status polling interval in msec. Default is MECH_POLLTIME msec.

int si_mechanism::State
 

Drive Motion state (SI_READY, SI_MOVING, SI_SFAULT, SI_WIEXEC, or SI_WTEXEC).

int si_mechanism::Accel
 

Motion profile acceleration in rev/s/s, range SI_MINVDOT to SI_MAXVDOT rev/s/s.

double si_mechanism::Speed
 

Motion profile speed in rev/s, range SI_MINVEL to SI_MAXVEL rev/s.

int si_mechanism::Distance
 

Motion profile move distance in microsteps, range +/-0 to SI_MAXMOVE microsteps.

int si_mechanism::Decel
 

Motion profile deceleration in rev/s/s, range SI_MINVDOT to SI_MAXVDOT rev/s/s.

double si_mechanism::Current
 

Motion profile drive current in Amps, range 0 to SI_IMAX.

double si_mechanism::IdleCurrent
 

Motion idle current in Amps, range 0 to SI_IMAX.

int si_mechanism::Idle
 

Enable/Disable drive idle (1=Enable/0=Disable).

char si_mechanism::Inputs[SI_MAXINPUTS+1]
 

Raw input sensor bit string, size $SI_MAXINPUTS+1.

char si_mechanism::ISmask[SI_MAXINPUTS+1]
 

Input Status (IS) Mask: 0 if input asserts low, 1 if input asserts high, size SI_MAXINPUTS+1.

int si_mechanism::NPos
 

Number of discrete (indexed) mechanism positions, 0 if a continuous drive.

int si_mechanism::Offset
 

Offset between the device and encoder positions (usually 0).

int si_mechanism::StepPos
 

Number of microsteps per indexed position.

int si_mechanism::NData
 

Number of position input data bits (1..SI_MAXINPUTS).

int si_mechanism::EncPos
 

Decimal encoder position.

int si_mechanism::InPosAddr
 

Address of the in-position bit (0 if unused, 1..SI_MAXINPUTS otherwise).

int si_mechanism::InPos
 

Value of the in-position bit (if used).

int si_mechanism::OccupiedAddr
 

Address of the position occupation bit (0 if unused, 1..SI_MAXINPUTS otherwise).

int si_mechanism::Occupied
 

Value of the position occupation bit (1=occupied/0=empty).

int si_mechanism::HomeAddr
 

Address of the home position sensor (0 if unused, 1..SI_MAXINPUTS otherwise).

int si_mechanism::AtHome
 

Value of the home sensor (1 or 0, if used).

int si_mechanism::Position
 

Device position (in steps from step-count home/zero position).

int si_mechanism::StepsPerMM
 

Number of microsteps per millimeter of physical travel (0 if unused).

int si_mechanism::Limits
 

Limit Switch Setting: MECH_NORMALLY_OPEN, MECH_NORMALLY_CLOSED, MECH_NOLIMITS.

int si_mechanism::CWlimit
 

Value of the clockwise limit switch input (1 if at limit, 0 if not).

int si_mechanism::CCWlimit
 

Value of the counterclockwise limit switch input (1 if at limit, 0 if not).

int si_mechanism::BrakeAddr
 

Address of the brake drive output (0 if unused, 1..SI_MAXOUTPUTS otherwise).

int si_mechanism::Brake
 

Brake is set (1) or released (0).

int si_mechanism::Debug
 

Enable/Disable drive-level debugging output (1=Enable/0=Disable).

int si_mechanism::Abort
 

A move abort has been issued (1=true/0=false).


The documentation for this struct was generated from the following file:
Generated on Mon Jul 19 16:32:37 2004 for Si Microstep Controller API by doxygen 1.3.7