📄 cml_ampdef.h
字号:
/************************************************************/
/* */
/* Copley Motion Libraries */
/* */
/* Author: Stephen Glow */
/* */
/* Copyright (c) 2002-2005 Copley Controls Corp. */
/* http://www.copleycontrols.com */
/* */
/************************************************************/
/** \file
*/
#ifndef _DEF_INC_CML_AMPDEF
#define _DEF_INC_CML_AMPDEF
#include "CML_Settings.h"
CML_NAMESPACE_START()
/***************************************************************************/
/**
This enumeration holds the object identifiers of all of the objects in the
amplifier's object dictionary.
*/
/***************************************************************************/
enum AMP_OBJID
{
OBJID_CONTROL = 0x6040,
OBJID_STATUS = 0x6041,
OBJID_AMP_MODE = 0x2300,
OBJID_PWM_MODE = 0x2140,
OBJID_OP_MODE = 0x6060,
OBJID_OP_MODE_DISP = 0x6061,
OBJID_EVENT_STAT = 0x1002,
OBJID_EVENT_STAT_STICKY = 0x2180,
OBJID_EVENT_STAT_LATCH = 0x2181,
OBJID_FAULT_MASK = 0x2182,
OBJID_FAULTS = 0x2183,
OBJID_POS_ACT = 0x6064,
OBJID_POS_LOAD = 0x6064,
OBJID_POS_CMD = 0x6062,
OBJID_POS_ERR = 0x60F4,
OBJID_POS_MTR = 0x2240,
OBJID_VEL_ACT = 0x6069,
OBJID_VEL_MTR = 0x6069,
OBJID_VEL_CMD = 0x606B,
OBJID_VEL_LIM = 0x2230,
OBJID_VEL_LOAD = 0x2231,
OBJID_TARGET_VEL = 0x60FF,
OBJID_CRNT_ACT = 0x221C,
OBJID_CRNT_CMD = 0x221D,
OBJID_CRNT_LIM = 0x221E,
OBJID_INPUTS = 0x2190,
OBJID_PULLUPS = 0x2191,
OBJID_INPUT_CFG = 0x2192,
OBJID_OUTPUT_CFG = 0x2193,
OBJID_OUTPUTS = 0x2194,
OBJID_DEBOUNCE = 0x2195,
OBJID_PHASE_ANG = 0x2260,
OBJID_HALL_STATE = 0x2261,
OBJID_PHASE_MODE = 0x21C0,
OBJID_USTEP_RATE = 0x21C1,
OBJID_ANALOG_REF = 0x2200,
OBJID_HVREF = 0x2201,
OBJID_AMPTEMP = 0x2202,
OBJID_CNRT_U = 0x2203,
OBJID_CRNT_V = 0x2204,
OBJID_AENC_SIN = 0x2205,
OBJID_AENC_COS = 0x2206,
OBJID_HOME_METHOD = 0x6098,
OBJID_HOME_VEL = 0x6099,
OBJID_HOME_ACC = 0x609A,
OBJID_HOME_OFFSET = 0x607C,
OBJID_HOME_CRNT = 0x2350,
OBJID_HOME_DELAY = 0x2351,
OBJID_HOME_METHOD_EXT = 0x2352,
OBJID_HOME_ADJUST = 0x2353,
OBJID_PROFILE_TYPE = 0x6086,
OBJID_PROFILE_POS = 0x607A,
OBJID_PROFILE_VEL = 0x6081,
OBJID_PROFILE_ACC = 0x6083,
OBJID_PROFILE_DEC = 0x6084,
OBJID_PROFILE_JRK = 0x2121,
OBJID_PROFILE_QSTOP = 0x6085,
OBJID_QSTOP_MODE = 0x605A,
OBJID_HALT_MODE = 0x605D,
OBJID_PVT_DATA = 0x2010,
OBJID_PVT_BUFF_CT = 0x2011,
OBJID_PVT_BUFF_STAT = 0x2012,
OBJID_PVT_SEG_ID = 0x2013,
OBJID_TRJ_VEL = 0x2250,
OBJID_TRJ_ACC = 0x2251,
OBJID_TRJ_STATUS = 0x2252,
OBJID_POSERR_WIN = 0x2120,
OBJID_POSWARN_WIN = 0x6065,
OBJID_SETTLE_WIN = 0x6067,
OBJID_SETTLE_TIME = 0x6068,
OBJID_VELWARN_WIN = 0x2104,
OBJID_VELWARN_TIME = 0x2105,
OBJID_VEL_OUTFILT = 0x2106,
OBJID_HALLVEL_SHIFT = 0x2107,
OBJID_VEL_CMDFILT = 0x2108,
OBJID_CRNTLOOP = 0x60F6,
OBJID_VELLOOP = 0x60F9,
OBJID_POSLOOP = 0x60FB,
OBJID_VELLIM_MAXACC = 0x2100,
OBJID_VELLIM_MAXDEC = 0x2101,
OBJID_VELLIM_ESTOP = 0x2102,
OBJID_VELLIM_MAXVEL = 0x2103,
OBJID_CRNTLIM_PEAK = 0x2110,
OBJID_CRNTLIM_CONT = 0x2111,
OBJID_CRNTLIM_TIME = 0x2112,
OBJID_CRNT_SLOPE = 0x2113,
OBJID_SOFTLIM = 0x607D,
OBJID_SOFTLIM_ACCEL = 0x2253,
OBJID_MOTOR_MODEL = 0x6403,
OBJID_MOTOR_MFG = 0x6404,
OBJID_MOTOR_INFO = 0x6410,
OBJID_AMP_MODES = 0x6502,
OBJID_AMP_MODEL = 0x6503,
OBJID_AMP_MFG = 0x6504,
OBJID_AMP_WEB = 0x6505,
OBJID_AMP_INFO = 0x6510,
OBJID_REGEN_RES = 0x2150,
OBJID_REGEN_CONT = 0x2151,
OBJID_REGEN_PEAK = 0x2152,
OBJID_REGEN_TIME = 0x2153,
OBJID_REGEN_VON = 0x2154,
OBJID_REGEN_VOFF = 0x2155,
OBJID_REGEN_MODEL = 0x2156,
OBJID_REGEN_FLAGS = 0x2157,
OBJID_REF_SCALE = 0x2310,
OBJID_REF_OFFSET = 0x2311,
OBJID_REF_CALOFF = 0x2312,
OBJID_REF_DEADBAND = 0x2313,
OBJID_PWMIN_CFG = 0x2320,
OBJID_PWMIN_SCALE = 0x2321,
OBJID_PWMIN_FREQ = 0x2322,
OBJID_FGEN_CFG = 0x2330,
OBJID_FGEN_FREQ = 0x2331,
OBJID_FGEN_AMP = 0x2332,
OBJID_FGEN_DUTY = 0x2333,
OBJID_PROG_CRNT = 0x2340,
OBJID_PROG_VEL = 0x2341,
OBJID_AMP_NAME = 0x21A0,
OBJID_CANID_CFG = 0x21B0,
OBJID_CANMASK_LIMIT = 0x2184,
OBJID_CAP_CTRL = 0x2400,
OBJID_CAP_STAT = 0x2401,
OBJID_CAP_NDX = 0x2402,
OBJID_CAP_HOME = 0x2403,
OBJID_CAP_HSTIME = 0x2404,
OBJID_CAP_HSPOS = 0x2405,
OBJID_MISC_OPTIONS = 0x2420,
OBJID_CME2_CONFIG = 0x2421,
OBJID_ENCOUT_CONFIG = 0x2241,
OBJID_FIRMWARE = 0x2001,
OBJID_PDOREQUEST = 0x2002,
OBJID_USTEP_HOLDCRNT = 0x21D0,
OBJID_USTEP_HOLDTIME = 0x21D1,
OBJID_USTEP_VOLTIME = 0x21D5,
OBJID_CAM_CONFIG = 0x2360,
OBJID_CAM_DELAYF = 0x2361,
OBJID_CAM_DELAYR = 0x2362,
OBJID_CAM_VEL = 0x2363,
OBJID_TRACE_CHANNELS = 0x2500,
OBJID_TRACE_STATUS = 0x2501,
OBJID_TRACE_REF_PER = 0x2502,
OBJID_TRACE_SAMP_CT = 0x2503,
OBJID_TRACE_SAMP_MAX = 0x2504,
OBJID_TRACE_PERIOD = 0x2505,
OBJID_TRACE_TRIGGER = 0x2506,
OBJID_TRACE_DELAY = 0x2507,
OBJID_TRACE_START = 0x2508,
OBJID_TRACE_DATA = 0x2509,
OBJID_TRACE_RESERVE = 0x250A,
OBJID_TRACE_ADDR = 0x250B,
OBJID_TRACE_MEM = 0x250C,
OBJID_TORQUE_TARGET = 0x6071,
OBJID_TORQUE_DEMAND = 0x6074,
OBJID_TORQUE_RATED = 0x6076,
OBJID_TORQUE_ACTUAL = 0x6077,
OBJID_TORQUE_SLOPE = 0x6087
};
/***************************************************************************/
/**
Input pin configuration settings. The digital input pins located on an
amplifier can be programmed to perform some action. This enumeration
provides a list of the possible settings for an input pin.
Note that it is perfectly legal to program more then one input pin to
perform the same action. It's often useful to have two hardware disable
inputs for example. If either of these inputs becomes active, the amplifier
will be disabled.
Whether the inputs are configured to perform some action or not, it's still
possible to read them directly using the Amp::GetInputs function.
*/
/***************************************************************************/
enum INPUT_PIN_CONFIG
{
INCFG_NONE = 0x0000, ///< No function assigned to the input
INCFG_RESET_R = 0x0002, ///< Reset the amplifier on the Rising edge of the input
INCFG_RESET_F = 0x0003, ///< Reset the amplifier on the Falling edge of the input
INCFG_POSLIM_H = 0x0004, ///< Positive limit switch, active High.
INCFG_POSLIM_L = 0x0005, ///< Positive limit switch, active Low.
INCFG_NEGLIM_H = 0x0006, ///< Negative limit switch, active High.
INCFG_NEGLIM_L = 0x0007, ///< Negative limit switch, active Low.
INCFG_MOTOR_TEMP_H = 0x0008, ///< Motor temp sensor active high
INCFG_MOTOR_TEMP_L = 0x0009, ///< Motor temp sensor active low
INCFG_CLR_FAULTS_H = 0x000A, ///< Clear faults on edge, disable while high
INCFG_CLR_FAULTS_L = 0x000B, ///< Clear faults on edge, disable while low
INCFG_RESET_DISABLE_R = 0x000C, ///< Reset on rising edge, disable while high
INCFG_RESET_DISABLE_F = 0x000D, ///< Reset on falling edge, disable while low
INCFG_HOME_H = 0x000E, ///< Home switch, active high
INCFG_HOME_L = 0x000F, ///< Home switch, active low
INCFG_DISABLE_H = 0x0010, ///< Amplifier disable active high
INCFG_DISABLE_L = 0x0011, ///< Amplifier disable active low
INCFG_PWM_SYNC_H = 0x0013, ///< Sync input on falling edge, valid only on high speed inputs
INCFG_MOTION_ABORT_H = 0x0014, ///< Abort motion active high
INCFG_MOTION_ABORT_L = 0x0015, ///< Abort motion active low
INCFG_SCALE_ADC_H = 0x0016, ///< Scale analog reference input by a factor of 8 when high
INCFG_SCALE_ADC_L = 0x0017, ///< Scale analog reference input by a factor of 8 when low
INCFG_HIGHSPEED_CAPTURE_R = 0x0018, ///< High speed position capture on rising edge
INCFG_HIGHSPEED_CAPTURE_F = 0x0019 ///< High speed position capture on falling edge
};
/***************************************************************************/
/**
Output pin configuration settings. The digital output pins located on the
amplifier can be programmed to follow one or more bits in one of the
amplifier's status words.
This enumeration is used to specify which status word a particular output
pin will follow, and whether the output will be active high or active low.
Each output pin has a configuration value associated with it (which should
be programmed using one of the values of this enumeration), and a 32-bit
mask value. If the output pin is configured to follow a status register,
the mask identifies which bit(s) of the status register should be used to
control the output pin. If any of the masked bits in the status register
are set, then the output pin will go active.
*/
/***************************************************************************/
enum OUTPUT_PIN_CONFIG
{
/// The output pin follows the amplifier's event status register
/// and is active Low.
OUTCFG_EVENT_STATUS_L = 0x0000,
/// The output pin follows the amplifier's event status register
/// and is active High.
OUTCFG_EVENT_STATUS_H = 0x0100,
/// The output pin follows the latched version of the amplifier's
/// event status register and is active Low.
OUTCFG_EVENT_LATCH_L = 0x0001,
/// The output pin follows the latched version of the amplifier's
/// event status register and is active High.
OUTCFG_EVENT_LATCH_H = 0x0101,
/// The output pin is manually controlled using the Amp::SetOutputs
/// function, and the output is active Low.
OUTCFG_MANUAL_L = 0x0002,
/// The output pin is manually controlled using the Amp::SetOutputs
/// function, and the output is active High.
OUTCFG_MANUAL_H = 0x0102,
/// The output pin follows bits in the trajectory status register
OUTCFG_TRJ_STATUS = 0x0003,
/// The output pin will go active when the actual motor position is
/// greater then the first output parameter, and less then the
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -