@kuriousdesign/machine-sdk 1.0.65 → 1.0.70

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/.github/workflows/publish.yml +28 -0
  2. package/README.md +28 -51
  3. package/dist/custom-types/BaseDevice/Device.d.ts +1 -1
  4. package/dist/custom-types/BaseDevice/Device.js +1 -1
  5. package/dist/custom-types/BaseDevice/index.d.ts +1 -0
  6. package/dist/custom-types/BaseDevice/index.js +1 -0
  7. package/dist/custom-types/Devices/Conductor.js +0 -1
  8. package/dist/custom-types/Devices/index.d.ts +0 -2
  9. package/dist/custom-types/Devices/index.js +0 -2
  10. package/dist/custom-types/Recipe.d.ts +1 -0
  11. package/dist/custom-types/Recipe.js +2 -0
  12. package/package.json +1 -1
  13. package/src/abb/enums/GCs.mod +44 -44
  14. package/src/abb/enums/PartLocationIds.mod +13 -13
  15. package/src/abb/enums/RobTasks.mod +18 -18
  16. package/src/abb/enums/States.mod +20 -20
  17. package/src/abb/procs/MainModule.mod +188 -188
  18. package/src/abb/records/DeviceDataTypes.mod +35 -35
  19. package/src/custom-types/AppState.ts +115 -115
  20. package/src/custom-types/BaseDevice/Actions.ts +45 -45
  21. package/src/custom-types/BaseDevice/ApiOpcua.ts +71 -71
  22. package/src/custom-types/BaseDevice/Device.ts +224 -224
  23. package/src/custom-types/BaseDevice/DeviceCmds.ts +45 -45
  24. package/src/custom-types/BaseDevice/DeviceConstants.ts +9 -9
  25. package/src/custom-types/{Devices → BaseDevice}/DeviceTypes.ts +60 -60
  26. package/src/custom-types/BaseDevice/Processes.ts +38 -38
  27. package/src/custom-types/BaseDevice/index.ts +7 -6
  28. package/src/custom-types/Bridge.ts +8 -8
  29. package/src/custom-types/Com.ts +19 -19
  30. package/src/custom-types/Devices/Axis.ts +222 -222
  31. package/src/custom-types/Devices/Conductor.ts +14 -14
  32. package/src/custom-types/Devices/Pot.ts +24 -24
  33. package/src/custom-types/Devices/Robot.ts +208 -208
  34. package/src/custom-types/Devices/index.ts +3 -4
  35. package/src/custom-types/GlobalConstants.ts +98 -98
  36. package/src/custom-types/HMI.ts +52 -52
  37. package/src/custom-types/Machine.ts +130 -130
  38. package/src/custom-types/Part.ts +238 -238
  39. package/src/custom-types/RackData.ts +22 -22
  40. package/src/custom-types/Recipe.ts +250 -247
  41. package/src/custom-types/RecipeManagerFB.ts +10 -10
  42. package/src/custom-types/TaskQueue.ts +86 -86
  43. package/src/custom-types/UserManagerFB.ts +7 -7
  44. package/src/custom-types/index.ts +14 -14
  45. package/src/enums/Colors.ts +79 -79
  46. package/src/enums/DeviceId.ts +116 -116
  47. package/src/enums/ExtrusionType.ts +5 -5
  48. package/src/enums/OpcuaDatatype.ts +27 -27
  49. package/src/enums/Pages.ts +21 -21
  50. package/src/enums/States.ts +173 -173
  51. package/src/enums/TaskId.ts +37 -37
  52. package/src/enums/index.ts +9 -9
  53. package/src/functions/colorMapping.ts +43 -43
  54. package/src/functions/index.ts +2 -2
  55. package/src/functions/mqtt-helpers.ts +20 -20
  56. package/src/functions/topicMapping.ts +6 -6
  57. package/src/index.ts +3 -3
  58. package/src/plc-tags/index.ts +38 -38
  59. package/src/plc-tags/mqtt.ts +9 -9
  60. package/src/plc-tags/opcua.ts +3 -3
  61. package/src/styles/animations.css +15 -15
  62. package/tsconfig.json +13 -13
  63. package/dist/custom-types/Devices/Device.d.ts +0 -111
  64. package/dist/custom-types/Devices/Device.js +0 -108
  65. package/dist/custom-types/PartData.d.ts +0 -11
  66. package/dist/custom-types/PartData.js +0 -2
  67. package/dist/custom-types/RecipeData.d.ts +0 -7
  68. package/dist/custom-types/RecipeData.js +0 -2
  69. package/dist/enums/Errors.d.ts +0 -6
  70. package/dist/enums/Errors.js +0 -28
  71. package/dist/enums/Priorities.d.ts +0 -18
  72. package/dist/enums/Priorities.js +0 -24
  73. package/dist/enums/RobPositions.d.ts +0 -12
  74. package/dist/enums/RobPositions.js +0 -16
  75. package/dist/enums/Warnings.d.ts +0 -6
  76. package/dist/enums/Warnings.js +0 -18
  77. /package/dist/custom-types/{Devices → BaseDevice}/DeviceTypes.d.ts +0 -0
  78. /package/dist/custom-types/{Devices → BaseDevice}/DeviceTypes.js +0 -0
@@ -1,222 +1,222 @@
1
- export enum AxisDriveTypes {
2
- STINGRAY = 0,
3
- BOSCH_FSOE = 1
4
- }
5
-
6
- //ignored-
7
- export interface AxisCfg {
8
- DriveType: AxisDriveTypes;
9
- DriveId: number; // use either the BoschDrives enum or the Nautilus Drives enum
10
- Unit: string;
11
- AtPosTol: number; // note: this may already be defined in the drive (if using bosch fsoe) difference between data.actualPosition and data.targetPosition below threshold and used during validation to determine if checked position matches the stored mastering position
12
-
13
-
14
- IgnoreSoftwareLimits: boolean;
15
- IgnoreLimitSwitches: boolean;
16
-
17
- Ignores: boolean[]; // use AxisPermissives ENUM
18
-
19
- SoftwareLimitPositive: number; // this is the limit that will produce an error if exceeded
20
- SoftwareLimitNegative: number;
21
- OperationalPositionMin: number; // this is the nominal operation minimum
22
- OperationalPositionMax: number;
23
- HardStopPositive: number;
24
- HardStopNegative: number;
25
- SensorPositions: number[];
26
- //ignored-MotionProfiles: AxisMotionProfileData[]; // normal use case motion profiles, not e-stopping or error related
27
- AxisType: number;
28
-
29
- //ignored-ValidationSensor: AxisSensors; // used for homing or position verification
30
- //ignored-PositionReferencingMethod: PositionReferencingMethods; // homing or position verification
31
- VerificationSensorOffsetFromZero: number;
32
- SearchDistance: number; // allowed distance to search beyond operation limit to find the validation sensor
33
- hasRailBrakes: boolean;
34
- AutoPositionVerifyDuringReset: boolean; // set to true if you want the axis to automatically try to position verify during reset
35
- hasDynamicPositiveLimit: boolean;
36
- hasDynamicNegativeLimit: boolean;
37
-
38
- HomingToHardstopDir: number; // use -1.0 for negative and 1.0 for positive
39
- MaxCurrentWhileHomingToHardstop: number; // if homing in neg direction, then use a negative value only used if using home_to_hardstop_<dir> as the position verification method.
40
- MaxCurrentNormalOperation: number; // max current allowed during normal operation, ignore unless using homing to hardstop
41
-
42
- updateScalingIsNeeded: boolean; // set this to TRUE to enforce scaling changes
43
- //ignored-SoftMotionScalingParams: SoftMotionScalingParams;
44
-
45
- // DUAL AXIS ONLY
46
- GearingPositionTolerance: number; // mm, (dual Axis only) used for checking differences between geared axes while synced
47
- AxesPositionToleranceForSkew: number; // mm, (dual Axis only) used for checking if axes have gone beyond their mechanical limit for position differences before ruining the machine
48
-
49
- ShippingPosition: number; // mm, this should be something that is between the hardstop positions
50
- KeepMasteredStatusAtStartup: boolean; // if TRUE, this will maintain the mastered status/homed status of the axis after a power cycle
51
- }
52
-
53
- export interface AxisMotionProfileData {
54
- speed: number; // this must be greater than zero
55
- acceleration: number; // used for accel and decel
56
- jerk: number;
57
- }
58
-
59
-
60
-
61
- export interface AxisSts {
62
- Cfg: AxisCfg; // read-only
63
-
64
- actualPosition: number;
65
- // actualSetpoint: number; // use the enum associated with setpoints
66
- actualVelocity: number;
67
- actualAcceleration: number;
68
- ActualTorque: number;
69
- ActualCurrent: number;
70
- //ignored-ActualControllerMode: SMC_CONTROLLER_MODE;
71
-
72
- ActiveStreamType: number;
73
-
74
- AxisRefState: number; // uses SMC_AXIS_STATE;
75
-
76
- targetPosition: number; // used for MoveAbs or MoveRel, change value before issuing your mc cmd, result should be echoed in setPosition after corresponding MC Cmd
77
- targetSetpoint: number;
78
- targetVelocity: number; // used for jogging, change value before issuing your mc cmd, result should be echoed in setVelocity after corresponding MC Cmd
79
-
80
- targetDir: number; // used for jogging and moving, 1.0 for fwd and -1.0 for bckwd
81
- // targetAccel: number;
82
- targetMaxCurrent: number; // only used for homing to hardstop of swing arms
83
- targetTorque: number; // not used
84
- targetMotionProfileId: number;
85
- targetMotionProfileData: AxisMotionProfileData; // used for moving and jogging, change value before issuing your mc cmd, result should be echoed in setVelocity/setAcceleration after corresponding MC Cmd
86
- TargetControllerMode: number; // uses SMC_CONTROLLER_MODE;
87
-
88
- setPosition: number; // this value is updated by the drive
89
- setVelocity: number; // this value is updated by the drive
90
- setAccel: number; // this value is updated by the drive
91
- setTorque: number; // this value is updated by the drive
92
- setJerk: number; // this value is updated by the drive
93
-
94
- // STATUS BITS
95
- isEnabled: boolean;
96
- isHoming: boolean; // used to indicate that axis in the process of homing or used to indicate that axis is in the process of verifying its position
97
- isHomed: boolean; // used to indicate that axis has homed to a sensor and updated its position accordingly or used to indicate that position has been verified, useful when using absolute encoders that don't require homing (overwriting of known zero position)
98
- isMastered: boolean; // used to indicate that axis has been mastered, useful for axes that require position verification as their position referencing method
99
-
100
- mutingSwAndHwLimitsWhileHoming: boolean;
101
- //ignored-DriveHwLimitsEnforcement: AxisLimitEnforcements; // this status is set after calling the set software limits
102
- //ignored-DriveSwLimitsEnforcement: AxisLimitEnforcements;
103
-
104
- // MOTION STATES - these are all mutually exclusive
105
- isStandstill: boolean; // axis is not moving (within zero velocity threshold)
106
- isAtPosAndStandstill: boolean; // axis is at the target position and at standstill
107
- isJogging: boolean; // axis is rotating with velocity cmd
108
- isMoving: boolean; // axis is moving to a position
109
- isGeared: boolean; // axis is moving synchronously with another axis
110
- isTorquing: boolean; // axis is in torque mode and actively applying torque
111
-
112
- // DRIVE RELATED
113
- DriveStatusMsg: string;
114
- DriveHasError: boolean;
115
- DriveIsStoppingMotor: boolean; // is True when motor faults and starts stopping itself
116
- DriveStoppedMotor: boolean; // True after motor finishes stopping itself. clears when you reset the motor
117
-
118
- SoftMotionHasError: boolean;
119
- SoftMotionErrorId: number; // uses SMC_ERROR;
120
-
121
- ConfiguredSoftLimitTravelRange: number; // determined by the sw limits;
122
- HomeOffsetFromZero: number; // units, this is a read-only value, the retain var HomeOffsetFromZero is used (this might be deprecated)
123
-
124
- CalculatedStoppingPosition: number;
125
- TravelLimitNegative: number;
126
- TravelLimitPositive: number;
127
-
128
- //ignored-Permissives: AxisPermissiveStsData[]; // Array of NUM_PERMISSIVES length
129
- RestrictedToSlow: boolean; // (TODO: replace this with NOT Permissives.FullSpeed_OK) used to speed limit the axis when it is not homed or has software and hardware limits disabled
130
-
131
- //ignored-RailBrakes: RailBrakeInputs;
132
- Sensors: boolean[]; // Array of MAX_NUM_SENSORS length
133
-
134
- targetEncoderSetpoint: number;
135
-
136
- targetMasterAxisDevId: number;
137
- targetMasterAxisRefPointer: any; // TypeScript doesn't have direct pointer equivalents
138
- actualMasterAxisDevId: number;
139
- actualMasterAxisRefPointer: any; // TypeScript doesn't have direct pointer equivalents
140
-
141
- RecordedPosition: number; // use this to save position information, useful for mastering and position verification processes
142
- //ignored-Interlocks: AxisInterlocks;
143
-
144
- ignoringRailBrakes: boolean;
145
- EtherCatComms_OK: boolean;
146
-
147
- // ROBOT CONTROLLER STATE
148
- RcHomingState: number; // uses enumRcAxisHomingState;
149
- RcControlMode: number; // uses enumRcAxisMode;
150
-
151
- isStreaming: boolean;
152
-
153
- // DUAL AXIS ONLY
154
- PositionDifference: number; // (Dual Axis Only) difference between the axes: axis1 - axis2
155
- AxesPositionDifference_OK: boolean; // (Dual Axis Only)status stating difference in position between two axes while moving or idle is acceptable, based on cfg.GearingPositionTolerance
156
- AxesPositionDifference_CORRECTABLE: boolean; // (Dual Axis Only)status stating difference in position between two axes able to be automatically corrected, based on cfg.AxesPositionToleranceForSkew
157
- SkippingPositionCorrectionBeforeGearing: boolean; // (Dual Axis Only)this is usually TRUE if the axes are first being setup
158
- DualAxisStopType: number; // uses DualAxisStopTypes; // (Dual Axis Only)
159
- }
160
-
161
-
162
- export enum AxisMethods {
163
- NONE = 0,
164
- JOG_CMD = 1,
165
- MOVE_ABS_CMD = 2,
166
- MOVE_OP_MIN_MAX = 3,
167
- ENFORCE_RAIL_BRAKES = 4,
168
- START_STREAM = 5,
169
- STOP = 6
170
- }
171
-
172
- export function axisMethodIdToString(method: AxisMethods): string {
173
- switch (method) {
174
- case AxisMethods.NONE:
175
- return "None";
176
- case AxisMethods.JOG_CMD:
177
- return "Jog Command";
178
- case AxisMethods.MOVE_ABS_CMD:
179
- return "Move Absolute Command";
180
- case AxisMethods.MOVE_OP_MIN_MAX:
181
- return "Move Operational Min/Max";
182
- case AxisMethods.ENFORCE_RAIL_BRAKES:
183
- return "Enforce Rail Brakes";
184
- case AxisMethods.START_STREAM:
185
- return "Start Stream";
186
- case AxisMethods.STOP:
187
- return "Stop";
188
- default:
189
- return "Unknown";
190
- }
191
- }
192
-
193
- export enum AxisProcesses {
194
- NONE = 0,
195
- VERIFY_POSITION = 1,
196
- PERFORM_MASTERING = 2,
197
- BACK_AND_FORTH = 3,
198
- HOME_TO_HARDSTOP = 4,
199
- ALIGNMENT_ANALYSIS_MOVE = 5,
200
- MOVE_TO_SHIPPING_POSITION = 6
201
- }
202
-
203
- export function axisProcessIdToString(process: AxisProcesses): string {
204
- switch (process) {
205
- case AxisProcesses.NONE:
206
- return "None";
207
- case AxisProcesses.VERIFY_POSITION:
208
- return "Verify Position";
209
- case AxisProcesses.PERFORM_MASTERING:
210
- return "Perform Mastering";
211
- case AxisProcesses.BACK_AND_FORTH:
212
- return "Back and Forth";
213
- case AxisProcesses.HOME_TO_HARDSTOP:
214
- return "Home to Hardstop";
215
- case AxisProcesses.ALIGNMENT_ANALYSIS_MOVE:
216
- return "Alignment Analysis Move";
217
- case AxisProcesses.MOVE_TO_SHIPPING_POSITION:
218
- return "Move to Shipping Position";
219
- default:
220
- return "Unknown";
221
- }
222
- }
1
+ export enum AxisDriveTypes {
2
+ STINGRAY = 0,
3
+ BOSCH_FSOE = 1
4
+ }
5
+
6
+ //ignored-
7
+ export interface AxisCfg {
8
+ DriveType: AxisDriveTypes;
9
+ DriveId: number; // use either the BoschDrives enum or the Nautilus Drives enum
10
+ Unit: string;
11
+ AtPosTol: number; // note: this may already be defined in the drive (if using bosch fsoe) difference between data.actualPosition and data.targetPosition below threshold and used during validation to determine if checked position matches the stored mastering position
12
+
13
+
14
+ IgnoreSoftwareLimits: boolean;
15
+ IgnoreLimitSwitches: boolean;
16
+
17
+ Ignores: boolean[]; // use AxisPermissives ENUM
18
+
19
+ SoftwareLimitPositive: number; // this is the limit that will produce an error if exceeded
20
+ SoftwareLimitNegative: number;
21
+ OperationalPositionMin: number; // this is the nominal operation minimum
22
+ OperationalPositionMax: number;
23
+ HardStopPositive: number;
24
+ HardStopNegative: number;
25
+ SensorPositions: number[];
26
+ //ignored-MotionProfiles: AxisMotionProfileData[]; // normal use case motion profiles, not e-stopping or error related
27
+ AxisType: number;
28
+
29
+ //ignored-ValidationSensor: AxisSensors; // used for homing or position verification
30
+ //ignored-PositionReferencingMethod: PositionReferencingMethods; // homing or position verification
31
+ VerificationSensorOffsetFromZero: number;
32
+ SearchDistance: number; // allowed distance to search beyond operation limit to find the validation sensor
33
+ hasRailBrakes: boolean;
34
+ AutoPositionVerifyDuringReset: boolean; // set to true if you want the axis to automatically try to position verify during reset
35
+ hasDynamicPositiveLimit: boolean;
36
+ hasDynamicNegativeLimit: boolean;
37
+
38
+ HomingToHardstopDir: number; // use -1.0 for negative and 1.0 for positive
39
+ MaxCurrentWhileHomingToHardstop: number; // if homing in neg direction, then use a negative value only used if using home_to_hardstop_<dir> as the position verification method.
40
+ MaxCurrentNormalOperation: number; // max current allowed during normal operation, ignore unless using homing to hardstop
41
+
42
+ updateScalingIsNeeded: boolean; // set this to TRUE to enforce scaling changes
43
+ //ignored-SoftMotionScalingParams: SoftMotionScalingParams;
44
+
45
+ // DUAL AXIS ONLY
46
+ GearingPositionTolerance: number; // mm, (dual Axis only) used for checking differences between geared axes while synced
47
+ AxesPositionToleranceForSkew: number; // mm, (dual Axis only) used for checking if axes have gone beyond their mechanical limit for position differences before ruining the machine
48
+
49
+ ShippingPosition: number; // mm, this should be something that is between the hardstop positions
50
+ KeepMasteredStatusAtStartup: boolean; // if TRUE, this will maintain the mastered status/homed status of the axis after a power cycle
51
+ }
52
+
53
+ export interface AxisMotionProfileData {
54
+ speed: number; // this must be greater than zero
55
+ acceleration: number; // used for accel and decel
56
+ jerk: number;
57
+ }
58
+
59
+
60
+
61
+ export interface AxisSts {
62
+ Cfg: AxisCfg; // read-only
63
+
64
+ actualPosition: number;
65
+ // actualSetpoint: number; // use the enum associated with setpoints
66
+ actualVelocity: number;
67
+ actualAcceleration: number;
68
+ ActualTorque: number;
69
+ ActualCurrent: number;
70
+ //ignored-ActualControllerMode: SMC_CONTROLLER_MODE;
71
+
72
+ ActiveStreamType: number;
73
+
74
+ AxisRefState: number; // uses SMC_AXIS_STATE;
75
+
76
+ targetPosition: number; // used for MoveAbs or MoveRel, change value before issuing your mc cmd, result should be echoed in setPosition after corresponding MC Cmd
77
+ targetSetpoint: number;
78
+ targetVelocity: number; // used for jogging, change value before issuing your mc cmd, result should be echoed in setVelocity after corresponding MC Cmd
79
+
80
+ targetDir: number; // used for jogging and moving, 1.0 for fwd and -1.0 for bckwd
81
+ // targetAccel: number;
82
+ targetMaxCurrent: number; // only used for homing to hardstop of swing arms
83
+ targetTorque: number; // not used
84
+ targetMotionProfileId: number;
85
+ targetMotionProfileData: AxisMotionProfileData; // used for moving and jogging, change value before issuing your mc cmd, result should be echoed in setVelocity/setAcceleration after corresponding MC Cmd
86
+ TargetControllerMode: number; // uses SMC_CONTROLLER_MODE;
87
+
88
+ setPosition: number; // this value is updated by the drive
89
+ setVelocity: number; // this value is updated by the drive
90
+ setAccel: number; // this value is updated by the drive
91
+ setTorque: number; // this value is updated by the drive
92
+ setJerk: number; // this value is updated by the drive
93
+
94
+ // STATUS BITS
95
+ isEnabled: boolean;
96
+ isHoming: boolean; // used to indicate that axis in the process of homing or used to indicate that axis is in the process of verifying its position
97
+ isHomed: boolean; // used to indicate that axis has homed to a sensor and updated its position accordingly or used to indicate that position has been verified, useful when using absolute encoders that don't require homing (overwriting of known zero position)
98
+ isMastered: boolean; // used to indicate that axis has been mastered, useful for axes that require position verification as their position referencing method
99
+
100
+ mutingSwAndHwLimitsWhileHoming: boolean;
101
+ //ignored-DriveHwLimitsEnforcement: AxisLimitEnforcements; // this status is set after calling the set software limits
102
+ //ignored-DriveSwLimitsEnforcement: AxisLimitEnforcements;
103
+
104
+ // MOTION STATES - these are all mutually exclusive
105
+ isStandstill: boolean; // axis is not moving (within zero velocity threshold)
106
+ isAtPosAndStandstill: boolean; // axis is at the target position and at standstill
107
+ isJogging: boolean; // axis is rotating with velocity cmd
108
+ isMoving: boolean; // axis is moving to a position
109
+ isGeared: boolean; // axis is moving synchronously with another axis
110
+ isTorquing: boolean; // axis is in torque mode and actively applying torque
111
+
112
+ // DRIVE RELATED
113
+ DriveStatusMsg: string;
114
+ DriveHasError: boolean;
115
+ DriveIsStoppingMotor: boolean; // is True when motor faults and starts stopping itself
116
+ DriveStoppedMotor: boolean; // True after motor finishes stopping itself. clears when you reset the motor
117
+
118
+ SoftMotionHasError: boolean;
119
+ SoftMotionErrorId: number; // uses SMC_ERROR;
120
+
121
+ ConfiguredSoftLimitTravelRange: number; // determined by the sw limits;
122
+ HomeOffsetFromZero: number; // units, this is a read-only value, the retain var HomeOffsetFromZero is used (this might be deprecated)
123
+
124
+ CalculatedStoppingPosition: number;
125
+ TravelLimitNegative: number;
126
+ TravelLimitPositive: number;
127
+
128
+ //ignored-Permissives: AxisPermissiveStsData[]; // Array of NUM_PERMISSIVES length
129
+ RestrictedToSlow: boolean; // (TODO: replace this with NOT Permissives.FullSpeed_OK) used to speed limit the axis when it is not homed or has software and hardware limits disabled
130
+
131
+ //ignored-RailBrakes: RailBrakeInputs;
132
+ Sensors: boolean[]; // Array of MAX_NUM_SENSORS length
133
+
134
+ targetEncoderSetpoint: number;
135
+
136
+ targetMasterAxisDevId: number;
137
+ targetMasterAxisRefPointer: any; // TypeScript doesn't have direct pointer equivalents
138
+ actualMasterAxisDevId: number;
139
+ actualMasterAxisRefPointer: any; // TypeScript doesn't have direct pointer equivalents
140
+
141
+ RecordedPosition: number; // use this to save position information, useful for mastering and position verification processes
142
+ //ignored-Interlocks: AxisInterlocks;
143
+
144
+ ignoringRailBrakes: boolean;
145
+ EtherCatComms_OK: boolean;
146
+
147
+ // ROBOT CONTROLLER STATE
148
+ RcHomingState: number; // uses enumRcAxisHomingState;
149
+ RcControlMode: number; // uses enumRcAxisMode;
150
+
151
+ isStreaming: boolean;
152
+
153
+ // DUAL AXIS ONLY
154
+ PositionDifference: number; // (Dual Axis Only) difference between the axes: axis1 - axis2
155
+ AxesPositionDifference_OK: boolean; // (Dual Axis Only)status stating difference in position between two axes while moving or idle is acceptable, based on cfg.GearingPositionTolerance
156
+ AxesPositionDifference_CORRECTABLE: boolean; // (Dual Axis Only)status stating difference in position between two axes able to be automatically corrected, based on cfg.AxesPositionToleranceForSkew
157
+ SkippingPositionCorrectionBeforeGearing: boolean; // (Dual Axis Only)this is usually TRUE if the axes are first being setup
158
+ DualAxisStopType: number; // uses DualAxisStopTypes; // (Dual Axis Only)
159
+ }
160
+
161
+
162
+ export enum AxisMethods {
163
+ NONE = 0,
164
+ JOG_CMD = 1,
165
+ MOVE_ABS_CMD = 2,
166
+ MOVE_OP_MIN_MAX = 3,
167
+ ENFORCE_RAIL_BRAKES = 4,
168
+ START_STREAM = 5,
169
+ STOP = 6
170
+ }
171
+
172
+ export function axisMethodIdToString(method: AxisMethods): string {
173
+ switch (method) {
174
+ case AxisMethods.NONE:
175
+ return "None";
176
+ case AxisMethods.JOG_CMD:
177
+ return "Jog Command";
178
+ case AxisMethods.MOVE_ABS_CMD:
179
+ return "Move Absolute Command";
180
+ case AxisMethods.MOVE_OP_MIN_MAX:
181
+ return "Move Operational Min/Max";
182
+ case AxisMethods.ENFORCE_RAIL_BRAKES:
183
+ return "Enforce Rail Brakes";
184
+ case AxisMethods.START_STREAM:
185
+ return "Start Stream";
186
+ case AxisMethods.STOP:
187
+ return "Stop";
188
+ default:
189
+ return "Unknown";
190
+ }
191
+ }
192
+
193
+ export enum AxisProcesses {
194
+ NONE = 0,
195
+ VERIFY_POSITION = 1,
196
+ PERFORM_MASTERING = 2,
197
+ BACK_AND_FORTH = 3,
198
+ HOME_TO_HARDSTOP = 4,
199
+ ALIGNMENT_ANALYSIS_MOVE = 5,
200
+ MOVE_TO_SHIPPING_POSITION = 6
201
+ }
202
+
203
+ export function axisProcessIdToString(process: AxisProcesses): string {
204
+ switch (process) {
205
+ case AxisProcesses.NONE:
206
+ return "None";
207
+ case AxisProcesses.VERIFY_POSITION:
208
+ return "Verify Position";
209
+ case AxisProcesses.PERFORM_MASTERING:
210
+ return "Perform Mastering";
211
+ case AxisProcesses.BACK_AND_FORTH:
212
+ return "Back and Forth";
213
+ case AxisProcesses.HOME_TO_HARDSTOP:
214
+ return "Home to Hardstop";
215
+ case AxisProcesses.ALIGNMENT_ANALYSIS_MOVE:
216
+ return "Alignment Analysis Move";
217
+ case AxisProcesses.MOVE_TO_SHIPPING_POSITION:
218
+ return "Move to Shipping Position";
219
+ default:
220
+ return "Unknown";
221
+ }
222
+ }
@@ -1,14 +1,14 @@
1
- // {attribute 'qualified_only'}
2
- // {attribute 'strict'}
3
- // TYPE ConMethods :
4
- // (
5
- // NONE := 0, //do not remove or change this
6
- // UDPATE_PART := 1, //param0: partLocationId, param1: newPartState
7
- // TRANSFER_PART := 2, //param0: currentLocationId, param1: newLocationId
8
- // CONFIRM_PARTS_LOADED :=3, //no params
9
- // CONFIRM_PARTS_UNLOADED :=4, //no params
10
- // CLEAR_ALL_FIXTURE_PARTS :=5,
11
- // LOAD_ALL_FIXTURE_PARTS_RAW :=6
12
- // );
13
- // END_TYPE
14
-
1
+ // {attribute 'qualified_only'}
2
+ // {attribute 'strict'}
3
+ // TYPE ConMethods :
4
+ // (
5
+ // NONE := 0, //do not remove or change this
6
+ // UDPATE_PART := 1, //param0: partLocationId, param1: newPartState
7
+ // TRANSFER_PART := 2, //param0: currentLocationId, param1: newLocationId
8
+ // CONFIRM_PARTS_LOADED :=3, //no params
9
+ // CONFIRM_PARTS_UNLOADED :=4, //no params
10
+ // CLEAR_ALL_FIXTURE_PARTS :=5,
11
+ // LOAD_ALL_FIXTURE_PARTS_RAW :=6
12
+ // );
13
+
14
+
@@ -1,25 +1,25 @@
1
- // TYPE PotSts :
2
- // STRUCT
3
- // isPressurizing:BOOL;
4
- // AtTargetPressure:BOOL;
5
- // isDepressurized:BOOL;
6
- // ActualPressure:LREAL;
7
- // TargetPressure:LREAL;
8
- // LinerIsFlowing:BOOL;
9
- // State:INT;
10
- // BallValve_OPEN:BOOL;
11
- // BallValve_CLOSED:BOOL;
12
- // END_STRUCT
13
- // END_TYPE
14
-
15
- export interface PotSts {
16
- isPressurizing: boolean;
17
- atTargetPressure: boolean;
18
- isDepressurized: boolean;
19
- actualPressure: number;
20
- targetPressure: number;
21
- linerIsFlowing: boolean;
22
- state: number;
23
- ballValve_OPEN: boolean;
24
- ballValve_CLOSED: boolean;
1
+ // TYPE PotSts :
2
+ // STRUCT
3
+ // isPressurizing:BOOL;
4
+ // AtTargetPressure:BOOL;
5
+ // isDepressurized:BOOL;
6
+ // ActualPressure:LREAL;
7
+ // TargetPressure:LREAL;
8
+ // LinerIsFlowing:BOOL;
9
+ // State:INT;
10
+ // BallValve_OPEN:BOOL;
11
+ // BallValve_CLOSED:BOOL;
12
+ // END_STRUCT
13
+ // END_TYPE
14
+
15
+ export interface PotSts {
16
+ isPressurizing: boolean;
17
+ atTargetPressure: boolean;
18
+ isDepressurized: boolean;
19
+ actualPressure: number;
20
+ targetPressure: number;
21
+ linerIsFlowing: boolean;
22
+ state: number;
23
+ ballValve_OPEN: boolean;
24
+ ballValve_CLOSED: boolean;
25
25
  }