@kuriousdesign/machine-sdk
Version:
Shared data types and helpers for machine-related repositories
125 lines (124 loc) • 3.65 kB
TypeScript
export declare enum AxisDriveTypes {
STINGRAY = 0,
BOSCH_FSOE = 1
}
export interface AxisCfg {
DriveType: AxisDriveTypes;
DriveId: number;
Unit: string;
AtPosTol: number;
IgnoreSoftwareLimits: boolean;
IgnoreLimitSwitches: boolean;
Ignores: boolean[];
SoftwareLimitPositive: number;
SoftwareLimitNegative: number;
OperationalPositionMin: number;
OperationalPositionMax: number;
HardStopPositive: number;
HardStopNegative: number;
SensorPositions: number[];
AxisType: number;
VerificationSensorOffsetFromZero: number;
SearchDistance: number;
hasRailBrakes: boolean;
AutoPositionVerifyDuringReset: boolean;
hasDynamicPositiveLimit: boolean;
hasDynamicNegativeLimit: boolean;
HomingToHardstopDir: number;
MaxCurrentWhileHomingToHardstop: number;
MaxCurrentNormalOperation: number;
updateScalingIsNeeded: boolean;
GearingPositionTolerance: number;
AxesPositionToleranceForSkew: number;
ShippingPosition: number;
KeepMasteredStatusAtStartup: boolean;
}
export interface AxisMotionProfileData {
speed: number;
acceleration: number;
jerk: number;
}
export interface AxisSts {
Cfg: AxisCfg;
actualPosition: number;
actualVelocity: number;
actualAcceleration: number;
ActualTorque: number;
ActualCurrent: number;
ActiveStreamType: number;
AxisRefState: number;
targetPosition: number;
targetSetpoint: number;
targetVelocity: number;
targetDir: number;
targetMaxCurrent: number;
targetTorque: number;
targetMotionProfileId: number;
targetMotionProfileData: AxisMotionProfileData;
TargetControllerMode: number;
setPosition: number;
setVelocity: number;
setAccel: number;
setTorque: number;
setJerk: number;
isEnabled: boolean;
isHoming: boolean;
isHomed: boolean;
isMastered: boolean;
mutingSwAndHwLimitsWhileHoming: boolean;
isStandstill: boolean;
isAtPosAndStandstill: boolean;
isJogging: boolean;
isMoving: boolean;
isGeared: boolean;
isTorquing: boolean;
DriveStatusMsg: string;
DriveHasError: boolean;
DriveIsStoppingMotor: boolean;
DriveStoppedMotor: boolean;
SoftMotionHasError: boolean;
SoftMotionErrorId: number;
ConfiguredSoftLimitTravelRange: number;
HomeOffsetFromZero: number;
CalculatedStoppingPosition: number;
TravelLimitNegative: number;
TravelLimitPositive: number;
RestrictedToSlow: boolean;
Sensors: boolean[];
targetEncoderSetpoint: number;
targetMasterAxisDevId: number;
targetMasterAxisRefPointer: any;
actualMasterAxisDevId: number;
actualMasterAxisRefPointer: any;
RecordedPosition: number;
ignoringRailBrakes: boolean;
EtherCatComms_OK: boolean;
RcHomingState: number;
RcControlMode: number;
isStreaming: boolean;
PositionDifference: number;
AxesPositionDifference_OK: boolean;
AxesPositionDifference_CORRECTABLE: boolean;
SkippingPositionCorrectionBeforeGearing: boolean;
DualAxisStopType: number;
}
export declare enum AxisMethods {
NONE = 0,
JOG_CMD = 1,
MOVE_ABS_CMD = 2,
MOVE_OP_MIN_MAX = 3,
ENFORCE_RAIL_BRAKES = 4,
START_STREAM = 5,
STOP = 6
}
export declare function axisMethodIdToString(method: AxisMethods): string;
export declare enum AxisProcesses {
NONE = 0,
VERIFY_POSITION = 1,
PERFORM_MASTERING = 2,
BACK_AND_FORTH = 3,
HOME_TO_HARDSTOP = 4,
ALIGNMENT_ANALYSIS_MOVE = 5,
MOVE_TO_SHIPPING_POSITION = 6
}
export declare function axisProcessIdToString(process: AxisProcesses): string;