@kuriousdesign/machine-sdk 1.0.64 → 1.0.69

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 (77) 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/index.d.ts +0 -2
  8. package/dist/custom-types/Devices/index.js +0 -2
  9. package/dist/custom-types/Recipe.d.ts +2 -0
  10. package/dist/custom-types/Recipe.js +9 -1
  11. package/package.json +1 -1
  12. package/src/abb/enums/GCs.mod +44 -44
  13. package/src/abb/enums/PartLocationIds.mod +13 -13
  14. package/src/abb/enums/RobTasks.mod +18 -18
  15. package/src/abb/enums/States.mod +20 -20
  16. package/src/abb/procs/MainModule.mod +188 -188
  17. package/src/abb/records/DeviceDataTypes.mod +35 -35
  18. package/src/custom-types/AppState.ts +115 -115
  19. package/src/custom-types/BaseDevice/Actions.ts +45 -45
  20. package/src/custom-types/BaseDevice/ApiOpcua.ts +71 -71
  21. package/src/custom-types/BaseDevice/Device.ts +224 -224
  22. package/src/custom-types/BaseDevice/DeviceCmds.ts +45 -45
  23. package/src/custom-types/BaseDevice/DeviceConstants.ts +9 -9
  24. package/src/custom-types/{Devices → BaseDevice}/DeviceTypes.ts +60 -60
  25. package/src/custom-types/BaseDevice/Processes.ts +38 -38
  26. package/src/custom-types/BaseDevice/index.ts +7 -6
  27. package/src/custom-types/Bridge.ts +8 -8
  28. package/src/custom-types/Com.ts +19 -19
  29. package/src/custom-types/Devices/Axis.ts +222 -222
  30. package/src/custom-types/Devices/Conductor.ts +14 -14
  31. package/src/custom-types/Devices/Pot.ts +24 -24
  32. package/src/custom-types/Devices/Robot.ts +208 -208
  33. package/src/custom-types/Devices/index.ts +3 -4
  34. package/src/custom-types/GlobalConstants.ts +98 -98
  35. package/src/custom-types/HMI.ts +52 -52
  36. package/src/custom-types/Machine.ts +130 -130
  37. package/src/custom-types/Part.ts +238 -238
  38. package/src/custom-types/RackData.ts +22 -22
  39. package/src/custom-types/Recipe.ts +250 -240
  40. package/src/custom-types/RecipeManagerFB.ts +10 -10
  41. package/src/custom-types/TaskQueue.ts +86 -86
  42. package/src/custom-types/UserManagerFB.ts +7 -7
  43. package/src/custom-types/index.ts +14 -14
  44. package/src/enums/Colors.ts +79 -79
  45. package/src/enums/DeviceId.ts +116 -116
  46. package/src/enums/ExtrusionType.ts +5 -5
  47. package/src/enums/OpcuaDatatype.ts +27 -27
  48. package/src/enums/Pages.ts +21 -21
  49. package/src/enums/States.ts +173 -173
  50. package/src/enums/TaskId.ts +37 -37
  51. package/src/enums/index.ts +9 -9
  52. package/src/functions/colorMapping.ts +43 -43
  53. package/src/functions/index.ts +2 -2
  54. package/src/functions/mqtt-helpers.ts +20 -20
  55. package/src/functions/topicMapping.ts +6 -6
  56. package/src/index.ts +3 -3
  57. package/src/plc-tags/index.ts +38 -38
  58. package/src/plc-tags/mqtt.ts +9 -9
  59. package/src/plc-tags/opcua.ts +3 -3
  60. package/src/styles/animations.css +15 -15
  61. package/tsconfig.json +13 -13
  62. package/dist/custom-types/Devices/Device.d.ts +0 -111
  63. package/dist/custom-types/Devices/Device.js +0 -108
  64. package/dist/custom-types/PartData.d.ts +0 -11
  65. package/dist/custom-types/PartData.js +0 -2
  66. package/dist/custom-types/RecipeData.d.ts +0 -7
  67. package/dist/custom-types/RecipeData.js +0 -2
  68. package/dist/enums/Errors.d.ts +0 -6
  69. package/dist/enums/Errors.js +0 -28
  70. package/dist/enums/Priorities.d.ts +0 -18
  71. package/dist/enums/Priorities.js +0 -24
  72. package/dist/enums/RobPositions.d.ts +0 -12
  73. package/dist/enums/RobPositions.js +0 -16
  74. package/dist/enums/Warnings.d.ts +0 -6
  75. package/dist/enums/Warnings.js +0 -18
  76. /package/dist/custom-types/{Devices → BaseDevice}/DeviceTypes.d.ts +0 -0
  77. /package/dist/custom-types/{Devices → BaseDevice}/DeviceTypes.js +0 -0
@@ -1,208 +1,208 @@
1
- // {attribute 'qualified_only'}
2
- // {attribute 'strict'}
3
- // TYPE RobWaypoints :
4
- // (
5
- // NONE := 0, //do not remove or change this
6
- // HOME := 1, //identifier for the robot's home position
7
- // FIXTURE_LEFT_PERCH := 2, //identifier for the fixture perch position
8
- // FIXTURE_RIGHT_PERCH := 3, //identifier for the fixture perch position
9
- // TOOL_PERCH :=4
10
- // );
11
- // END_TYPE
12
-
13
- export enum RobWaypoints {
14
- NONE = 0,
15
- HOME = 1,
16
- FIXTURE_LEFT_PERCH = 2,
17
- FIXTURE_RIGHT_PERCH = 3,
18
- TOOL_PERCH = 4
19
- }
20
-
21
- export function robotWaypointToString(waypoint: RobWaypoints): string {
22
- switch (waypoint) {
23
- case RobWaypoints.NONE:
24
- return 'None';
25
- case RobWaypoints.HOME:
26
- return 'Home';
27
- case RobWaypoints.FIXTURE_LEFT_PERCH:
28
- return 'Fixture Left Perch';
29
- case RobWaypoints.FIXTURE_RIGHT_PERCH:
30
- return 'Fixture Right Perch';
31
- case RobWaypoints.TOOL_PERCH:
32
- return 'Tool Perch';
33
- default:
34
- return 'Unknown';
35
- }
36
- }
37
-
38
- // {attribute 'qualified_only'}
39
- // {attribute 'strict'}
40
- // TYPE RobTools :
41
- // (
42
- // NONE := 0, //do not remove or change this
43
- // WEIGHING_GRIPPER := 1, //identifier for the weighing gripper tool
44
- // APPLICATOR := 2, //identifier for the applicator tool
45
- // CAMERA := 3 //identifier for the camera tool
46
- // );
47
- // END_TYPE
48
-
49
- export enum RobTools {
50
- NONE = 0,
51
- WEIGHING_GRIPPER = 1,
52
- APPLICATOR = 2,
53
- CAMERA = 3
54
- }
55
-
56
- export function robotToolToString(tool: RobTools): string {
57
- switch (tool) {
58
- case RobTools.NONE:
59
- return 'None';
60
- case RobTools.WEIGHING_GRIPPER:
61
- return 'Weighing Gripper';
62
- case RobTools.APPLICATOR:
63
- return 'Applicator';
64
- case RobTools.CAMERA:
65
- return 'Camera';
66
- default:
67
- return 'Unknown';
68
- }
69
- }
70
-
71
- // {attribute 'qualified_only'}
72
- // {attribute 'strict'}
73
- // TYPE RobTasks :
74
- // (
75
- // NONE := 0, //do not remove or change this
76
- // RETRIEVE_TOOL := 1, //param0: toolId (identifier from Tools enum specifying which tool to retrieve, e.g., WEIGHING_GRIPPER, APPLICATOR, CAMERA), checks for tool presence; if missing, moves to "Home" and signals fault
77
- // RETURN_TOOL := 2, //param0: toolId (identifier from Tools enum specifying which tool to return to the tool rack)
78
- // GO_TO_WAYPOINT := 3, //param0: positionId (identifier from Positions enum specifying the target waypoint, e.g., FIXTURE_PERCH, HOME), moves robot to the specified position
79
- // GRIP_PART := 4, //param0: partId (identifier of the part to grip, e.g., part 1), performs a diagonal lift (½" up, ½" away from fixed clamp side) for clearance
80
- // SAMPLE_WEIGHT := 5, //param0: sampleCount (number of weight samples, e.g., XX), param1: sampleDuration (duration in seconds, e.g., 2), waits briefly then records average weight over the period
81
- // REPOSITION_AND_RELEASE_PART := 6, //no params: moves back ¼" toward fixed clamp, down ¼", opens gripper to drop tube onto false bottom, returns to perch position
82
- // REMOVE_FALSE_BOTTOMS := 7, //no params: removes false bottoms from the fixture(s)
83
- // HOME_SQUEEGEE_MOTOR := 8, //no params: homes the squeegee motor while moving to fixture perch position
84
- // WIPE_APPLICATOR := 9, //no params: cleans the applicator (detailed cleaning procedure TBD)
85
- // PERFORM_APPLICATION_TASK := 10, //param0: tubeId (identifier of the tube to process, e.g., tube 1), applies the task to the specified tube
86
- // INSERT_FALSE_BOTTOMS := 11, //no params: slides false bottoms back into place in the fixture(s)
87
- // TAKE_IMAGES := 12 //param0: tubeList (list of tube IDs to image), captures images and sends to HMI for display (most recent as large image, others in album view)
88
- // );
89
- // END_TYPE
90
-
91
- export const RobTasks = {
92
- NONE: 0,
93
- RETRIEVE_TOOL: 1,
94
- RETURN_TOOL: 2,
95
- GO_TO_WAYPOINT: 3,
96
- GRIP_PART: 4,
97
- SAMPLE_WEIGHT: 5,
98
- REPOSITION_AND_RELEASE_PART: 6,
99
- REMOVE_FALSE_BOTTOMS: 7,
100
- HOME_SQUEEGEE_MOTOR: 8,
101
- WIPE_APPLICATOR: 9,
102
- PERFORM_APPLICATION_TASK: 10,
103
- INSERT_FALSE_BOTTOMS: 11,
104
- TAKE_IMAGES: 12
105
- };
106
-
107
- export function robotTaskToString(task: number): string {
108
- switch (task) {
109
- case RobTasks.NONE:
110
- return 'None';
111
- case RobTasks.RETRIEVE_TOOL:
112
- return 'Retrieve Tool';
113
- case RobTasks.RETURN_TOOL:
114
- return 'Return Tool';
115
- case RobTasks.GO_TO_WAYPOINT:
116
- return 'Go To Waypoint';
117
- case RobTasks.GRIP_PART:
118
- return 'Grip Part';
119
- case RobTasks.SAMPLE_WEIGHT:
120
- return 'Sample Weight';
121
- case RobTasks.REPOSITION_AND_RELEASE_PART:
122
- return 'Reposition And Release Part';
123
- case RobTasks.REMOVE_FALSE_BOTTOMS:
124
- return 'Remove False Bottoms';
125
- case RobTasks.HOME_SQUEEGEE_MOTOR:
126
- return 'Home Squeegee Motor';
127
- case RobTasks.WIPE_APPLICATOR:
128
- return 'Wipe Applicator';
129
- case RobTasks.PERFORM_APPLICATION_TASK:
130
- return 'Perform Application Task';
131
- case RobTasks.INSERT_FALSE_BOTTOMS:
132
- return 'Insert False Bottoms';
133
- case RobTasks.TAKE_IMAGES:
134
- return 'Take Images';
135
- default:
136
- return 'Unknown';
137
- }
138
- }
139
-
140
-
141
- // TYPE RobSts :
142
- // STRUCT
143
- // Cfg:DeviceTemplateCfg; //read-only, references _cfg
144
- // ActiveToolId:INT;
145
- // ActualWaypoint:INT;
146
- // TargetWaypoint:INT;
147
- // ActualZone:INT;
148
- // WaypointPlan: RobWaypointPlan;
149
- // SqueegeeIsCalibrated:BOOL; //required once per job
150
- // SqueegeeIsHomed:BOOL; //required after every tool change
151
- // END_STRUCT
152
- // END_TYPE
153
-
154
-
155
- // TYPE RobWaypointPlan :
156
- // STRUCT
157
- // Cnt:INT;
158
- // activeIndex:INT;
159
- // list:ARRAY[0..RobConstants.MOVE_PLAN_LEN -1] OF INT;
160
- // END_STRUCT
161
- // END_TYPE
162
-
163
- export interface RobWaypointPlan {
164
- cnt: number;
165
- activeIndex: number;
166
- list: number[];
167
- }
168
-
169
-
170
- export interface RobCfg {
171
- }
172
-
173
- export interface RobSts {
174
- cfg: RobCfg;
175
- activeToolId: number;
176
- actualWaypoint: number;
177
- targetWaypoint: number;
178
- actualZone: number;
179
- waypointPlan: RobWaypointPlan;
180
- squeegeeIsCalibrated: boolean;
181
- squeegeeIsHomed: boolean;
182
- }
183
-
184
- export interface RobDataDEPRECATED {
185
- zone: RobZoneData;
186
- pos: RobWaypoints;
187
- dest: RobWaypoints;
188
- cartesian: RobPositionData;
189
- //taskReq: TaskId; //incoming task request
190
- //taskData: TaskData;
191
- recipeOffsets: RobPositionData[];
192
- }
193
-
194
- export interface RobPositionData {
195
- x: number;
196
- y: number;
197
- z: number;
198
- wdeg: number;
199
- pdeg: number;
200
- rdeg: number;
201
- }
202
-
203
- export interface RobZoneData {
204
- cncHorzShuttle: boolean;
205
- waypointShuttle: boolean; //Joint moves, wrist is holding parts upright and at a distance that allows robot to rotate about J1 without fear of collision, basically just moving J1
206
- dcsNoGo: boolean;
207
- outsideOfCnc: boolean;
208
- }
1
+ // {attribute 'qualified_only'}
2
+ // {attribute 'strict'}
3
+ // TYPE RobWaypoints :
4
+ // (
5
+ // NONE := 0, //do not remove or change this
6
+ // HOME := 1, //identifier for the robot's home position
7
+ // FIXTURE_LEFT_PERCH := 2, //identifier for the fixture perch position
8
+ // FIXTURE_RIGHT_PERCH := 3, //identifier for the fixture perch position
9
+ // TOOL_PERCH :=4
10
+ // );
11
+ // END_TYPE
12
+
13
+ export enum RobWaypoints {
14
+ NONE = 0,
15
+ HOME = 1,
16
+ FIXTURE_LEFT_PERCH = 2,
17
+ FIXTURE_RIGHT_PERCH = 3,
18
+ TOOL_PERCH = 4
19
+ }
20
+
21
+ export function robotWaypointToString(waypoint: RobWaypoints): string {
22
+ switch (waypoint) {
23
+ case RobWaypoints.NONE:
24
+ return 'None';
25
+ case RobWaypoints.HOME:
26
+ return 'Home';
27
+ case RobWaypoints.FIXTURE_LEFT_PERCH:
28
+ return 'Fixture Left Perch';
29
+ case RobWaypoints.FIXTURE_RIGHT_PERCH:
30
+ return 'Fixture Right Perch';
31
+ case RobWaypoints.TOOL_PERCH:
32
+ return 'Tool Perch';
33
+ default:
34
+ return 'Unknown';
35
+ }
36
+ }
37
+
38
+ // {attribute 'qualified_only'}
39
+ // {attribute 'strict'}
40
+ // TYPE RobTools :
41
+ // (
42
+ // NONE := 0, //do not remove or change this
43
+ // WEIGHING_GRIPPER := 1, //identifier for the weighing gripper tool
44
+ // APPLICATOR := 2, //identifier for the applicator tool
45
+ // CAMERA := 3 //identifier for the camera tool
46
+ // );
47
+ // END_TYPE
48
+
49
+ export enum RobTools {
50
+ NONE = 0,
51
+ WEIGHING_GRIPPER = 1,
52
+ APPLICATOR = 2,
53
+ CAMERA = 3
54
+ }
55
+
56
+ export function robotToolToString(tool: RobTools): string {
57
+ switch (tool) {
58
+ case RobTools.NONE:
59
+ return 'None';
60
+ case RobTools.WEIGHING_GRIPPER:
61
+ return 'Weighing Gripper';
62
+ case RobTools.APPLICATOR:
63
+ return 'Applicator';
64
+ case RobTools.CAMERA:
65
+ return 'Camera';
66
+ default:
67
+ return 'Unknown';
68
+ }
69
+ }
70
+
71
+ // {attribute 'qualified_only'}
72
+ // {attribute 'strict'}
73
+ // TYPE RobTasks :
74
+ // (
75
+ // NONE := 0, //do not remove or change this
76
+ // RETRIEVE_TOOL := 1, //param0: toolId (identifier from Tools enum specifying which tool to retrieve, e.g., WEIGHING_GRIPPER, APPLICATOR, CAMERA), checks for tool presence; if missing, moves to "Home" and signals fault
77
+ // RETURN_TOOL := 2, //param0: toolId (identifier from Tools enum specifying which tool to return to the tool rack)
78
+ // GO_TO_WAYPOINT := 3, //param0: positionId (identifier from Positions enum specifying the target waypoint, e.g., FIXTURE_PERCH, HOME), moves robot to the specified position
79
+ // GRIP_PART := 4, //param0: partId (identifier of the part to grip, e.g., part 1), performs a diagonal lift (½" up, ½" away from fixed clamp side) for clearance
80
+ // SAMPLE_WEIGHT := 5, //param0: sampleCount (number of weight samples, e.g., XX), param1: sampleDuration (duration in seconds, e.g., 2), waits briefly then records average weight over the period
81
+ // REPOSITION_AND_RELEASE_PART := 6, //no params: moves back ¼" toward fixed clamp, down ¼", opens gripper to drop tube onto false bottom, returns to perch position
82
+ // REMOVE_FALSE_BOTTOMS := 7, //no params: removes false bottoms from the fixture(s)
83
+ // HOME_SQUEEGEE_MOTOR := 8, //no params: homes the squeegee motor while moving to fixture perch position
84
+ // WIPE_APPLICATOR := 9, //no params: cleans the applicator (detailed cleaning procedure TBD)
85
+ // PERFORM_APPLICATION_TASK := 10, //param0: tubeId (identifier of the tube to process, e.g., tube 1), applies the task to the specified tube
86
+ // INSERT_FALSE_BOTTOMS := 11, //no params: slides false bottoms back into place in the fixture(s)
87
+ // TAKE_IMAGES := 12 //param0: tubeList (list of tube IDs to image), captures images and sends to HMI for display (most recent as large image, others in album view)
88
+ // );
89
+ // END_TYPE
90
+
91
+ export const RobTasks = {
92
+ NONE: 0,
93
+ RETRIEVE_TOOL: 1,
94
+ RETURN_TOOL: 2,
95
+ GO_TO_WAYPOINT: 3,
96
+ GRIP_PART: 4,
97
+ SAMPLE_WEIGHT: 5,
98
+ REPOSITION_AND_RELEASE_PART: 6,
99
+ REMOVE_FALSE_BOTTOMS: 7,
100
+ HOME_SQUEEGEE_MOTOR: 8,
101
+ WIPE_APPLICATOR: 9,
102
+ PERFORM_APPLICATION_TASK: 10,
103
+ INSERT_FALSE_BOTTOMS: 11,
104
+ TAKE_IMAGES: 12
105
+ };
106
+
107
+ export function robotTaskToString(task: number): string {
108
+ switch (task) {
109
+ case RobTasks.NONE:
110
+ return 'None';
111
+ case RobTasks.RETRIEVE_TOOL:
112
+ return 'Retrieve Tool';
113
+ case RobTasks.RETURN_TOOL:
114
+ return 'Return Tool';
115
+ case RobTasks.GO_TO_WAYPOINT:
116
+ return 'Go To Waypoint';
117
+ case RobTasks.GRIP_PART:
118
+ return 'Grip Part';
119
+ case RobTasks.SAMPLE_WEIGHT:
120
+ return 'Sample Weight';
121
+ case RobTasks.REPOSITION_AND_RELEASE_PART:
122
+ return 'Reposition And Release Part';
123
+ case RobTasks.REMOVE_FALSE_BOTTOMS:
124
+ return 'Remove False Bottoms';
125
+ case RobTasks.HOME_SQUEEGEE_MOTOR:
126
+ return 'Home Squeegee Motor';
127
+ case RobTasks.WIPE_APPLICATOR:
128
+ return 'Wipe Applicator';
129
+ case RobTasks.PERFORM_APPLICATION_TASK:
130
+ return 'Perform Application Task';
131
+ case RobTasks.INSERT_FALSE_BOTTOMS:
132
+ return 'Insert False Bottoms';
133
+ case RobTasks.TAKE_IMAGES:
134
+ return 'Take Images';
135
+ default:
136
+ return 'Unknown';
137
+ }
138
+ }
139
+
140
+
141
+ // TYPE RobSts :
142
+ // STRUCT
143
+ // Cfg:DeviceTemplateCfg; //read-only, references _cfg
144
+ // ActiveToolId:INT;
145
+ // ActualWaypoint:INT;
146
+ // TargetWaypoint:INT;
147
+ // ActualZone:INT;
148
+ // WaypointPlan: RobWaypointPlan;
149
+ // SqueegeeIsCalibrated:BOOL; //required once per job
150
+ // SqueegeeIsHomed:BOOL; //required after every tool change
151
+ // END_STRUCT
152
+ // END_TYPE
153
+
154
+
155
+ // TYPE RobWaypointPlan :
156
+ // STRUCT
157
+ // Cnt:INT;
158
+ // activeIndex:INT;
159
+ // list:ARRAY[0..RobConstants.MOVE_PLAN_LEN -1] OF INT;
160
+ // END_STRUCT
161
+ // END_TYPE
162
+
163
+ export interface RobWaypointPlan {
164
+ cnt: number;
165
+ activeIndex: number;
166
+ list: number[];
167
+ }
168
+
169
+
170
+ export interface RobCfg {
171
+ }
172
+
173
+ export interface RobSts {
174
+ cfg: RobCfg;
175
+ activeToolId: number;
176
+ actualWaypoint: number;
177
+ targetWaypoint: number;
178
+ actualZone: number;
179
+ waypointPlan: RobWaypointPlan;
180
+ squeegeeIsCalibrated: boolean;
181
+ squeegeeIsHomed: boolean;
182
+ }
183
+
184
+ export interface RobDataDEPRECATED {
185
+ zone: RobZoneData;
186
+ pos: RobWaypoints;
187
+ dest: RobWaypoints;
188
+ cartesian: RobPositionData;
189
+ //taskReq: TaskId; //incoming task request
190
+ //taskData: TaskData;
191
+ recipeOffsets: RobPositionData[];
192
+ }
193
+
194
+ export interface RobPositionData {
195
+ x: number;
196
+ y: number;
197
+ z: number;
198
+ wdeg: number;
199
+ pdeg: number;
200
+ rdeg: number;
201
+ }
202
+
203
+ export interface RobZoneData {
204
+ cncHorzShuttle: boolean;
205
+ waypointShuttle: boolean; //Joint moves, wrist is holding parts upright and at a distance that allows robot to rotate about J1 without fear of collision, basically just moving J1
206
+ dcsNoGo: boolean;
207
+ outsideOfCnc: boolean;
208
+ }
@@ -1,5 +1,4 @@
1
- export * from "./Axis";
2
- export * from "../BaseDevice/Device";
3
- export * from "./DeviceTypes";
4
- export * from "./Robot";
1
+ export * from "./Axis";
2
+
3
+ export * from "./Robot";
5
4
  export * from "./Pot";
@@ -1,99 +1,99 @@
1
- export interface GlobalConstants {
2
- HIDE_LEFT_TWO_COLUMNS: boolean;
3
- HIDE_RIGHT_COLUMN: boolean;
4
- }
5
-
6
- // {attribute 'qualified_only'}
7
- // VAR_GLOBAL CONSTANT
8
- // NUM_AXES:INT:=20;
9
- // MAX_NUM_NAUTILUS_AXES:INT:=20;
10
- // NUM_DEVICES:INT:=50; //get this from DeviceIds
11
- // //STEP_TIMEOUT: TIME := T#5000MS;
12
- // //TIMEOUT_ERROR_CODE_SHIFT: INT:= 10000;
13
- // //DEVICE_FAULTCODEARRAY_LEN:INT:=3;
14
-
15
- // MOMENTARY_PB: TIME:= T#250MS;
16
- // ROBOT_PART_COUNT: INT:=2;
17
- // //CNC_PART_COUNT: INT:=2;
18
- // RECIPE_COUNT_MAX:INT :=20;
19
- // HIDE_LEFT_TWO_COLUMNS:BOOL:=TRUE;//if true, the robot will pick/load the last two columns of the raw/done shelves
20
- // HIDE_RIGHT_COLUMN:BOOL:=TRUE;
21
- // HIDE_LEFT_ONE_COLUMN:BOOL:=FALSE;//this must be false if hide left two is true
22
- // SHELF_PART_COUNT: INT:=100;
23
- // NUM_OF_COLS:INT:=20; //total columns on shelf
24
- // PARTS_IN_COL:INT:=5; //total parts in a column
25
- // //DIAGONAL_PATTERN: BOOL:=TRUE;//is shelf picking/loading is diagonal pattern, otherwise its column picking/loading
26
- // //WASHER_PART_COUNT: INT:=2;
27
- // MACHINE_FAULTCODEARRAY_LEN: INT:=50;
28
- // MAX_NUM_INPUTS: INT :=50;
29
-
30
- // NUM_PARTS_XFER:INT:=10;
31
- // NUM_PARTS_IB:INT:=51;
32
-
33
-
34
- // NUM_LOG_ENTRIES:INT:=25;
35
- // TASK_LIST_LEN:INT:=25;
36
- // TASK_STORE_LEN:INT:=100 + TASK_LIST_LEN; //length of the array of stored (configured) tasks, the range of index 100 and greater are reserved for waypoints
37
- // TASK_LOG_LEN:INT:=25;
38
- // STATION_COUNT:INT:=6; //total number of designated areas that can hold parts: robot, raw shelf, preop, cnc, postop and done shelf
39
- // TOP_PRIORITY_COUNT:INT:=7; //total number of top priorities in the Priorities ENUM
40
-
41
- // //DEBUG_LOG_LEN:INT:=10;
42
- // DEFAULT_TASK_DURATION_SEC:INT:=5;
43
- // PARTDATA_COUNT:INT:= 25;//total count of parts contained in PartData struct
44
-
45
- // USERFRAME_COUNT:INT:=10;
46
- // //DEVICE_CHILDREN_ARRAY_LEN:INT:=10;
47
- // SYSTIME_TO_UTC_SCALAR:ULINT := LREAL_TO_ULINT(10E6);
48
- // NUM_PARTS_PER_FIXTURE:INT:=8;
49
- // //TASKQUEUE_LEN:INT:=100;
50
-
51
-
52
- // // HW SIDE
53
- // MAX_NUM_HW_CARDS:INT:=16;
54
- // END_VAR
55
-
56
- export const GCs = {
57
-
58
- NUM_AXES: 20,
59
- MAX_NUM_NAUTILUS_AXES: 20,
60
- NUM_DEVICES: 50, //get this from DeviceIds
61
- //STEP_TIMEOUT: TIME := T#5000MS;
62
- //TIMEOUT_ERROR_CODE_SHIFT: INT:= 10000;
63
- MOMENTARY_PB: 250, // TIME:= T#250MS;
64
- ROBOT_PART_COUNT: 2,
65
- //CNC_PART_COUNT: INT:=2;
66
- RECIPE_COUNT_MAX: 20,
67
- HIDE_LEFT_TWO_COLUMNS: true, //if true, the robot will pick/load the last two columns of the raw/done shelves
68
- HIDE_RIGHT_COLUMN: true,
69
- HIDE_LEFT_ONE_COLUMN: false, //this must be false if hide left two is true
70
- SHELF_PART_COUNT: 100,
71
- NUM_OF_COLS: 20, //total columns on shelf
72
- PARTS_IN_COL: 5, //total parts in a column
73
- //DIAGONAL_PATTERN: BOOL:=TRUE;//is shelf picking/loading is diagonal pattern, otherwise its column picking/loading
74
- //WASHER_PART_COUNT: INT:=2;
75
- MACHINE_FAULTCODEARRAY_LEN: 50,
76
- MAX_NUM_INPUTS: 50,
77
- NUM_PARTS_XFER: 10,
78
- NUM_PARTS_IB: 51,
79
- NUM_LOG_ENTRIES: 25,
80
- TASK_LIST_LEN: 50,
81
- TASK_STORE_LEN: 125, //length of the array of stored (configured) tasks, the range of index 100 and greater are reserved for waypoints
82
- TASK_LOG_LEN: 25,
83
- STATION_COUNT: 6, //total number of designated areas that can hold parts: robot, raw shelf, preop, cnc, postop and done shelf
84
- TOP_PRIORITY_COUNT: 7, //total number of top priorities in the Priorities ENUM
85
- //DEBUG_LOG_LEN:INT:=10;
86
- DEFAULT_TASK_DURATION_SEC: 5,
87
- PARTDATA_COUNT: 25, //total count of parts contained in PartData struct
88
- USERFRAME_COUNT: 10,
89
- //DEVICE_CHILDREN_ARRAY_LEN:INT:=10;
90
- SYSTIME_TO_UTC_SCALAR: 10E6, //ULINT := LREAL_TO_ULINT(10E6);
91
- NUM_PARTS_PER_FIXTURE: 8,
92
- //TASKQUEUE_LEN:INT:=100;
93
- // HW SIDE
94
- MAX_NUM_HW_CARDS: 16,
95
- NUM_ENTRIES_MACHINE_LOG: 100,
96
- MAX_NUM_RECIPES: 20,
97
- MAX_NUM_CAMERAS: 3,
98
- MAX_APPLICATOR_SETPOINTS: 10,
1
+ export interface GlobalConstants {
2
+ HIDE_LEFT_TWO_COLUMNS: boolean;
3
+ HIDE_RIGHT_COLUMN: boolean;
4
+ }
5
+
6
+ // {attribute 'qualified_only'}
7
+ // VAR_GLOBAL CONSTANT
8
+ // NUM_AXES:INT:=20;
9
+ // MAX_NUM_NAUTILUS_AXES:INT:=20;
10
+ // NUM_DEVICES:INT:=50; //get this from DeviceIds
11
+ // //STEP_TIMEOUT: TIME := T#5000MS;
12
+ // //TIMEOUT_ERROR_CODE_SHIFT: INT:= 10000;
13
+ // //DEVICE_FAULTCODEARRAY_LEN:INT:=3;
14
+
15
+ // MOMENTARY_PB: TIME:= T#250MS;
16
+ // ROBOT_PART_COUNT: INT:=2;
17
+ // //CNC_PART_COUNT: INT:=2;
18
+ // RECIPE_COUNT_MAX:INT :=20;
19
+ // HIDE_LEFT_TWO_COLUMNS:BOOL:=TRUE;//if true, the robot will pick/load the last two columns of the raw/done shelves
20
+ // HIDE_RIGHT_COLUMN:BOOL:=TRUE;
21
+ // HIDE_LEFT_ONE_COLUMN:BOOL:=FALSE;//this must be false if hide left two is true
22
+ // SHELF_PART_COUNT: INT:=100;
23
+ // NUM_OF_COLS:INT:=20; //total columns on shelf
24
+ // PARTS_IN_COL:INT:=5; //total parts in a column
25
+ // //DIAGONAL_PATTERN: BOOL:=TRUE;//is shelf picking/loading is diagonal pattern, otherwise its column picking/loading
26
+ // //WASHER_PART_COUNT: INT:=2;
27
+ // MACHINE_FAULTCODEARRAY_LEN: INT:=50;
28
+ // MAX_NUM_INPUTS: INT :=50;
29
+
30
+ // NUM_PARTS_XFER:INT:=10;
31
+ // NUM_PARTS_IB:INT:=51;
32
+
33
+
34
+ // NUM_LOG_ENTRIES:INT:=25;
35
+ // TASK_LIST_LEN:INT:=25;
36
+ // TASK_STORE_LEN:INT:=100 + TASK_LIST_LEN; //length of the array of stored (configured) tasks, the range of index 100 and greater are reserved for waypoints
37
+ // TASK_LOG_LEN:INT:=25;
38
+ // STATION_COUNT:INT:=6; //total number of designated areas that can hold parts: robot, raw shelf, preop, cnc, postop and done shelf
39
+ // TOP_PRIORITY_COUNT:INT:=7; //total number of top priorities in the Priorities ENUM
40
+
41
+ // //DEBUG_LOG_LEN:INT:=10;
42
+ // DEFAULT_TASK_DURATION_SEC:INT:=5;
43
+ // PARTDATA_COUNT:INT:= 25;//total count of parts contained in PartData struct
44
+
45
+ // USERFRAME_COUNT:INT:=10;
46
+ // //DEVICE_CHILDREN_ARRAY_LEN:INT:=10;
47
+ // SYSTIME_TO_UTC_SCALAR:ULINT := LREAL_TO_ULINT(10E6);
48
+ // NUM_PARTS_PER_FIXTURE:INT:=8;
49
+ // //TASKQUEUE_LEN:INT:=100;
50
+
51
+
52
+ // // HW SIDE
53
+ // MAX_NUM_HW_CARDS:INT:=16;
54
+ // END_VAR
55
+
56
+ export const GCs = {
57
+
58
+ NUM_AXES: 20,
59
+ MAX_NUM_NAUTILUS_AXES: 20,
60
+ NUM_DEVICES: 50, //get this from DeviceIds
61
+ //STEP_TIMEOUT: TIME := T#5000MS;
62
+ //TIMEOUT_ERROR_CODE_SHIFT: INT:= 10000;
63
+ MOMENTARY_PB: 250, // TIME:= T#250MS;
64
+ ROBOT_PART_COUNT: 2,
65
+ //CNC_PART_COUNT: INT:=2;
66
+ RECIPE_COUNT_MAX: 20,
67
+ HIDE_LEFT_TWO_COLUMNS: true, //if true, the robot will pick/load the last two columns of the raw/done shelves
68
+ HIDE_RIGHT_COLUMN: true,
69
+ HIDE_LEFT_ONE_COLUMN: false, //this must be false if hide left two is true
70
+ SHELF_PART_COUNT: 100,
71
+ NUM_OF_COLS: 20, //total columns on shelf
72
+ PARTS_IN_COL: 5, //total parts in a column
73
+ //DIAGONAL_PATTERN: BOOL:=TRUE;//is shelf picking/loading is diagonal pattern, otherwise its column picking/loading
74
+ //WASHER_PART_COUNT: INT:=2;
75
+ MACHINE_FAULTCODEARRAY_LEN: 50,
76
+ MAX_NUM_INPUTS: 50,
77
+ NUM_PARTS_XFER: 10,
78
+ NUM_PARTS_IB: 51,
79
+ NUM_LOG_ENTRIES: 25,
80
+ TASK_LIST_LEN: 50,
81
+ TASK_STORE_LEN: 125, //length of the array of stored (configured) tasks, the range of index 100 and greater are reserved for waypoints
82
+ TASK_LOG_LEN: 25,
83
+ STATION_COUNT: 6, //total number of designated areas that can hold parts: robot, raw shelf, preop, cnc, postop and done shelf
84
+ TOP_PRIORITY_COUNT: 7, //total number of top priorities in the Priorities ENUM
85
+ //DEBUG_LOG_LEN:INT:=10;
86
+ DEFAULT_TASK_DURATION_SEC: 5,
87
+ PARTDATA_COUNT: 25, //total count of parts contained in PartData struct
88
+ USERFRAME_COUNT: 10,
89
+ //DEVICE_CHILDREN_ARRAY_LEN:INT:=10;
90
+ SYSTIME_TO_UTC_SCALAR: 10E6, //ULINT := LREAL_TO_ULINT(10E6);
91
+ NUM_PARTS_PER_FIXTURE: 8,
92
+ //TASKQUEUE_LEN:INT:=100;
93
+ // HW SIDE
94
+ MAX_NUM_HW_CARDS: 16,
95
+ NUM_ENTRIES_MACHINE_LOG: 100,
96
+ MAX_NUM_RECIPES: 20,
97
+ MAX_NUM_CAMERAS: 3,
98
+ MAX_APPLICATOR_SETPOINTS: 10,
99
99
  };