@kuriousdesign/machine-sdk 1.0.65 → 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.
- package/.github/workflows/publish.yml +28 -0
- package/README.md +28 -51
- package/dist/custom-types/BaseDevice/Device.d.ts +1 -1
- package/dist/custom-types/BaseDevice/Device.js +1 -1
- package/dist/custom-types/BaseDevice/index.d.ts +1 -0
- package/dist/custom-types/BaseDevice/index.js +1 -0
- package/dist/custom-types/Devices/index.d.ts +0 -2
- package/dist/custom-types/Devices/index.js +0 -2
- package/dist/custom-types/Recipe.d.ts +1 -0
- package/dist/custom-types/Recipe.js +2 -0
- package/package.json +1 -1
- package/src/abb/enums/GCs.mod +44 -44
- package/src/abb/enums/PartLocationIds.mod +13 -13
- package/src/abb/enums/RobTasks.mod +18 -18
- package/src/abb/enums/States.mod +20 -20
- package/src/abb/procs/MainModule.mod +188 -188
- package/src/abb/records/DeviceDataTypes.mod +35 -35
- package/src/custom-types/AppState.ts +115 -115
- package/src/custom-types/BaseDevice/Actions.ts +45 -45
- package/src/custom-types/BaseDevice/ApiOpcua.ts +71 -71
- package/src/custom-types/BaseDevice/Device.ts +224 -224
- package/src/custom-types/BaseDevice/DeviceCmds.ts +45 -45
- package/src/custom-types/BaseDevice/DeviceConstants.ts +9 -9
- package/src/custom-types/{Devices → BaseDevice}/DeviceTypes.ts +60 -60
- package/src/custom-types/BaseDevice/Processes.ts +38 -38
- package/src/custom-types/BaseDevice/index.ts +7 -6
- package/src/custom-types/Bridge.ts +8 -8
- package/src/custom-types/Com.ts +19 -19
- package/src/custom-types/Devices/Axis.ts +222 -222
- package/src/custom-types/Devices/Conductor.ts +14 -14
- package/src/custom-types/Devices/Pot.ts +24 -24
- package/src/custom-types/Devices/Robot.ts +208 -208
- package/src/custom-types/Devices/index.ts +3 -4
- package/src/custom-types/GlobalConstants.ts +98 -98
- package/src/custom-types/HMI.ts +52 -52
- package/src/custom-types/Machine.ts +130 -130
- package/src/custom-types/Part.ts +238 -238
- package/src/custom-types/RackData.ts +22 -22
- package/src/custom-types/Recipe.ts +250 -247
- package/src/custom-types/RecipeManagerFB.ts +10 -10
- package/src/custom-types/TaskQueue.ts +86 -86
- package/src/custom-types/UserManagerFB.ts +7 -7
- package/src/custom-types/index.ts +14 -14
- package/src/enums/Colors.ts +79 -79
- package/src/enums/DeviceId.ts +116 -116
- package/src/enums/ExtrusionType.ts +5 -5
- package/src/enums/OpcuaDatatype.ts +27 -27
- package/src/enums/Pages.ts +21 -21
- package/src/enums/States.ts +173 -173
- package/src/enums/TaskId.ts +37 -37
- package/src/enums/index.ts +9 -9
- package/src/functions/colorMapping.ts +43 -43
- package/src/functions/index.ts +2 -2
- package/src/functions/mqtt-helpers.ts +20 -20
- package/src/functions/topicMapping.ts +6 -6
- package/src/index.ts +3 -3
- package/src/plc-tags/index.ts +38 -38
- package/src/plc-tags/mqtt.ts +9 -9
- package/src/plc-tags/opcua.ts +3 -3
- package/src/styles/animations.css +15 -15
- package/tsconfig.json +13 -13
- package/dist/custom-types/Devices/Device.d.ts +0 -111
- package/dist/custom-types/Devices/Device.js +0 -108
- package/dist/custom-types/PartData.d.ts +0 -11
- package/dist/custom-types/PartData.js +0 -2
- package/dist/custom-types/RecipeData.d.ts +0 -7
- package/dist/custom-types/RecipeData.js +0 -2
- package/dist/enums/Errors.d.ts +0 -6
- package/dist/enums/Errors.js +0 -28
- package/dist/enums/Priorities.d.ts +0 -18
- package/dist/enums/Priorities.js +0 -24
- package/dist/enums/RobPositions.d.ts +0 -12
- package/dist/enums/RobPositions.js +0 -16
- package/dist/enums/Warnings.d.ts +0 -6
- package/dist/enums/Warnings.js +0 -18
- /package/dist/custom-types/{Devices → BaseDevice}/DeviceTypes.d.ts +0 -0
- /package/dist/custom-types/{Devices → BaseDevice}/DeviceTypes.js +0 -0
|
@@ -1,225 +1,225 @@
|
|
|
1
|
-
import { DeviceTypes } from '
|
|
2
|
-
import { initialProcessData, ProcessData } from './Processes';
|
|
3
|
-
import { DeviceConstants } from './DeviceConstants';
|
|
4
|
-
import { ApiOpcuaData, initialApiOpcuaData } from './ApiOpcua';
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
export interface DebugLogData {
|
|
9
|
-
msg: string;
|
|
10
|
-
timeStamp: Date;
|
|
11
|
-
id: number;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
export const initialDebugLogData: DebugLogData = {
|
|
15
|
-
msg: '',
|
|
16
|
-
timeStamp: new Date(),
|
|
17
|
-
id: 0
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
export interface DeviceLogData {
|
|
22
|
-
list: DebugLogData[];
|
|
23
|
-
lastIndex: number; // index of the most recent recorded entries
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
export const initialDeviceLogData: DeviceLogData = {
|
|
27
|
-
list: new Array(DeviceConstants.NUM_LOG_ENTRIES).fill(null),
|
|
28
|
-
lastIndex: 0
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
export interface DeviceRegistration {
|
|
33
|
-
mnemonic: string; // short hand notation for the device, e.g. IB for Bufferwall, IBG for gantry
|
|
34
|
-
id: number; // this device id
|
|
35
|
-
childIdArray: number[]; // array of child device ids
|
|
36
|
-
parentId: number; // this is the parent id
|
|
37
|
-
deviceType: DeviceTypes; // type of the device
|
|
38
|
-
devicePath?: string[]; // full path of the device in the machine hierarchy
|
|
39
|
-
};
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
export const initialDeviceRegistration: DeviceRegistration = {
|
|
44
|
-
mnemonic: '',
|
|
45
|
-
id: 0,
|
|
46
|
-
childIdArray: [],
|
|
47
|
-
parentId: 0,
|
|
48
|
-
deviceType: DeviceTypes.Base, // Assuming Unknown exists in DeviceTypes enum
|
|
49
|
-
devicePath: []
|
|
50
|
-
};
|
|
51
|
-
|
|
52
|
-
export interface DeviceCfg {
|
|
53
|
-
safetyZoneId: number;
|
|
54
|
-
controllableByHmi: boolean;
|
|
55
|
-
autoReset: boolean;
|
|
56
|
-
ignore: boolean;
|
|
57
|
-
//ignore--OutboundAxisInterlocks: AxisInterlockCfgData[];
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
export const initialDeviceCfg: DeviceCfg = {
|
|
61
|
-
safetyZoneId: 0,
|
|
62
|
-
controllableByHmi: false,
|
|
63
|
-
autoReset: false,
|
|
64
|
-
ignore: false
|
|
65
|
-
};
|
|
66
|
-
|
|
67
|
-
export interface FaultData {
|
|
68
|
-
deviceId: number;
|
|
69
|
-
code: number; // this is deprecated
|
|
70
|
-
msg: string;
|
|
71
|
-
autoReset: boolean; // if this is true, the code will be reset by the fault monitor
|
|
72
|
-
resetFlag: boolean; // used by the fault monitor to know whether to clear an fault or not
|
|
73
|
-
logFlag: boolean; // when true, this fault hasn't been logged yet
|
|
74
|
-
timeStamp: Date;
|
|
75
|
-
stepNum: number; // of this device
|
|
76
|
-
parentStepNum: number;
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
export const initialFaultData: FaultData = {
|
|
80
|
-
deviceId: 0,
|
|
81
|
-
code: 0,
|
|
82
|
-
msg: '',
|
|
83
|
-
autoReset: false,
|
|
84
|
-
resetFlag: false,
|
|
85
|
-
logFlag: false,
|
|
86
|
-
timeStamp: new Date(),
|
|
87
|
-
stepNum: 0,
|
|
88
|
-
parentStepNum: 0
|
|
89
|
-
};
|
|
90
|
-
|
|
91
|
-
export interface DeviceFaultData {
|
|
92
|
-
list: FaultData[]; // Array of fault data
|
|
93
|
-
present: boolean; // status
|
|
94
|
-
childrenPresent: boolean; // status that children have errors
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
export const initialDeviceFaultData: DeviceFaultData = {
|
|
98
|
-
list: [],
|
|
99
|
-
present: false,
|
|
100
|
-
childrenPresent: false
|
|
101
|
-
};
|
|
102
|
-
|
|
103
|
-
export interface DeviceStatus {
|
|
104
|
-
state: number; // enum for States enum, same as the boolean states in the data structure
|
|
105
|
-
stepNum: number;
|
|
106
|
-
stepDescription: string;
|
|
107
|
-
|
|
108
|
-
colorCode: number; // color to indicate the current status for HMI purposes
|
|
109
|
-
statusMsg: string; // status string
|
|
110
|
-
|
|
111
|
-
error: boolean; // state, device or child has an error
|
|
112
|
-
killed: boolean; // device is de-energized
|
|
113
|
-
inactive: boolean; // waiting to be reset
|
|
114
|
-
resetting: boolean; // taking action to be idle
|
|
115
|
-
idle: boolean; // ready for auto tasks
|
|
116
|
-
running: boolean; // performing an active task (excludes tasks that just involve data exchange like recipe changing)
|
|
117
|
-
stopping: boolean;
|
|
118
|
-
paused: boolean; // action paused mid-task, able to be resumed (finish the task) or stopped (abandon task and back to idle or inactive)
|
|
119
|
-
aborting: boolean; // Aborting (Reacting TO E-Stop)
|
|
120
|
-
done: boolean; // finished with task, waiting for parent to drop the request
|
|
121
|
-
manual: boolean;
|
|
122
|
-
|
|
123
|
-
idleOrError: boolean; // useful to check for stopping
|
|
124
|
-
iifkm: boolean; // IdleOrInactiveOrFaultedOrKilledOrManual
|
|
125
|
-
rri: boolean; // ResettingOrRunningOrIdle
|
|
126
|
-
ipr: boolean; // IdleOrPausedOrRunning
|
|
127
|
-
kei: boolean; // KilledErrorOrInactive
|
|
128
|
-
runningOrStopping: boolean;
|
|
129
|
-
|
|
130
|
-
// Children Status
|
|
131
|
-
allChildrenIdle: boolean;
|
|
132
|
-
allChildrenKilled: boolean;
|
|
133
|
-
allChildrenInactive: boolean;
|
|
134
|
-
allChildrenIdleOrError: boolean;
|
|
135
|
-
|
|
136
|
-
commanderId: number; // used for external control
|
|
137
|
-
|
|
138
|
-
recordingLogs: boolean;
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
export const initialDeviceStatus: DeviceStatus = {
|
|
142
|
-
state: 0,
|
|
143
|
-
stepNum: 0,
|
|
144
|
-
stepDescription: '',
|
|
145
|
-
colorCode: 0,
|
|
146
|
-
statusMsg: '',
|
|
147
|
-
error: false,
|
|
148
|
-
killed: false,
|
|
149
|
-
inactive: false,
|
|
150
|
-
resetting: false,
|
|
151
|
-
idle: false,
|
|
152
|
-
running: false,
|
|
153
|
-
stopping: false,
|
|
154
|
-
paused: false,
|
|
155
|
-
aborting: false,
|
|
156
|
-
done: false,
|
|
157
|
-
manual: false,
|
|
158
|
-
idleOrError: false,
|
|
159
|
-
iifkm: false,
|
|
160
|
-
rri: false,
|
|
161
|
-
ipr: false,
|
|
162
|
-
kei: false,
|
|
163
|
-
runningOrStopping: false,
|
|
164
|
-
allChildrenIdle: false,
|
|
165
|
-
allChildrenKilled: false,
|
|
166
|
-
allChildrenInactive: false,
|
|
167
|
-
allChildrenIdleOrError: false,
|
|
168
|
-
commanderId: 0,
|
|
169
|
-
recordingLogs: false
|
|
170
|
-
};
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
export interface Device {
|
|
174
|
-
is: DeviceStatus;
|
|
175
|
-
errors: DeviceFaultData;
|
|
176
|
-
warnings: DeviceFaultData;
|
|
177
|
-
registration: DeviceRegistration;
|
|
178
|
-
cfg: DeviceCfg;
|
|
179
|
-
//ignore--instants: DeviceInstants;
|
|
180
|
-
|
|
181
|
-
execMethod: ProcessData;
|
|
182
|
-
task: ProcessData;
|
|
183
|
-
process: ProcessData; //read-only
|
|
184
|
-
script: ProcessData; //read-only
|
|
185
|
-
|
|
186
|
-
//ignore--instantsmission: ProcessData;
|
|
187
|
-
//ignore--instantssettings: DeviceSettings;
|
|
188
|
-
connectionStatus: boolean;
|
|
189
|
-
|
|
190
|
-
//ignore--instantsrequests: Array<DeviceActionRequestData>; //this can be written to outside of the device fb;
|
|
191
|
-
apiOpcua: ApiOpcuaData;
|
|
192
|
-
log: DeviceLogData;
|
|
193
|
-
//ignore--instantsudp: UdpData;
|
|
194
|
-
sts: unknown; // device specific status structure
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
export const initialSts: unknown = null;
|
|
198
|
-
|
|
199
|
-
export const initialDevice: Device = {
|
|
200
|
-
is: initialDeviceStatus,
|
|
201
|
-
errors: initialDeviceFaultData,
|
|
202
|
-
warnings: initialDeviceFaultData,
|
|
203
|
-
registration: initialDeviceRegistration,
|
|
204
|
-
cfg: initialDeviceCfg,
|
|
205
|
-
connectionStatus: false,
|
|
206
|
-
execMethod: initialProcessData,
|
|
207
|
-
task: initialProcessData,
|
|
208
|
-
process: initialProcessData,
|
|
209
|
-
script: initialProcessData,
|
|
210
|
-
apiOpcua: initialApiOpcuaData,
|
|
211
|
-
log: initialDeviceLogData,
|
|
212
|
-
sts: initialSts
|
|
213
|
-
};
|
|
214
|
-
|
|
215
|
-
// TYPE DeviceLogData :
|
|
216
|
-
// STRUCT
|
|
217
|
-
// List: ARRAY[0..DeviceConstants.NUM_LOG_ENTRIES-1] OF DebugLogData;
|
|
218
|
-
// LastIndex:INT; //index of the most recent recorde entries
|
|
219
|
-
// END_STRUCT
|
|
220
|
-
// END_TYPE
|
|
221
|
-
|
|
222
|
-
export interface DeviceLogData {
|
|
223
|
-
list: DebugLogData[];
|
|
224
|
-
lastIndex: number; // index of the most recent recorded entries
|
|
1
|
+
import { DeviceTypes } from './DeviceTypes'
|
|
2
|
+
import { initialProcessData, ProcessData } from './Processes';
|
|
3
|
+
import { DeviceConstants } from './DeviceConstants';
|
|
4
|
+
import { ApiOpcuaData, initialApiOpcuaData } from './ApiOpcua';
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
export interface DebugLogData {
|
|
9
|
+
msg: string;
|
|
10
|
+
timeStamp: Date;
|
|
11
|
+
id: number;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export const initialDebugLogData: DebugLogData = {
|
|
15
|
+
msg: '',
|
|
16
|
+
timeStamp: new Date(),
|
|
17
|
+
id: 0
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
export interface DeviceLogData {
|
|
22
|
+
list: DebugLogData[];
|
|
23
|
+
lastIndex: number; // index of the most recent recorded entries
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export const initialDeviceLogData: DeviceLogData = {
|
|
27
|
+
list: new Array(DeviceConstants.NUM_LOG_ENTRIES).fill(null),
|
|
28
|
+
lastIndex: 0
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
export interface DeviceRegistration {
|
|
33
|
+
mnemonic: string; // short hand notation for the device, e.g. IB for Bufferwall, IBG for gantry
|
|
34
|
+
id: number; // this device id
|
|
35
|
+
childIdArray: number[]; // array of child device ids
|
|
36
|
+
parentId: number; // this is the parent id
|
|
37
|
+
deviceType: DeviceTypes; // type of the device
|
|
38
|
+
devicePath?: string[]; // full path of the device in the machine hierarchy
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
export const initialDeviceRegistration: DeviceRegistration = {
|
|
44
|
+
mnemonic: '',
|
|
45
|
+
id: 0,
|
|
46
|
+
childIdArray: [],
|
|
47
|
+
parentId: 0,
|
|
48
|
+
deviceType: DeviceTypes.Base, // Assuming Unknown exists in DeviceTypes enum
|
|
49
|
+
devicePath: []
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
export interface DeviceCfg {
|
|
53
|
+
safetyZoneId: number;
|
|
54
|
+
controllableByHmi: boolean;
|
|
55
|
+
autoReset: boolean;
|
|
56
|
+
ignore: boolean;
|
|
57
|
+
//ignore--OutboundAxisInterlocks: AxisInterlockCfgData[];
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
export const initialDeviceCfg: DeviceCfg = {
|
|
61
|
+
safetyZoneId: 0,
|
|
62
|
+
controllableByHmi: false,
|
|
63
|
+
autoReset: false,
|
|
64
|
+
ignore: false
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
export interface FaultData {
|
|
68
|
+
deviceId: number;
|
|
69
|
+
code: number; // this is deprecated
|
|
70
|
+
msg: string;
|
|
71
|
+
autoReset: boolean; // if this is true, the code will be reset by the fault monitor
|
|
72
|
+
resetFlag: boolean; // used by the fault monitor to know whether to clear an fault or not
|
|
73
|
+
logFlag: boolean; // when true, this fault hasn't been logged yet
|
|
74
|
+
timeStamp: Date;
|
|
75
|
+
stepNum: number; // of this device
|
|
76
|
+
parentStepNum: number;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
export const initialFaultData: FaultData = {
|
|
80
|
+
deviceId: 0,
|
|
81
|
+
code: 0,
|
|
82
|
+
msg: '',
|
|
83
|
+
autoReset: false,
|
|
84
|
+
resetFlag: false,
|
|
85
|
+
logFlag: false,
|
|
86
|
+
timeStamp: new Date(),
|
|
87
|
+
stepNum: 0,
|
|
88
|
+
parentStepNum: 0
|
|
89
|
+
};
|
|
90
|
+
|
|
91
|
+
export interface DeviceFaultData {
|
|
92
|
+
list: FaultData[]; // Array of fault data
|
|
93
|
+
present: boolean; // status
|
|
94
|
+
childrenPresent: boolean; // status that children have errors
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
export const initialDeviceFaultData: DeviceFaultData = {
|
|
98
|
+
list: [],
|
|
99
|
+
present: false,
|
|
100
|
+
childrenPresent: false
|
|
101
|
+
};
|
|
102
|
+
|
|
103
|
+
export interface DeviceStatus {
|
|
104
|
+
state: number; // enum for States enum, same as the boolean states in the data structure
|
|
105
|
+
stepNum: number;
|
|
106
|
+
stepDescription: string;
|
|
107
|
+
|
|
108
|
+
colorCode: number; // color to indicate the current status for HMI purposes
|
|
109
|
+
statusMsg: string; // status string
|
|
110
|
+
|
|
111
|
+
error: boolean; // state, device or child has an error
|
|
112
|
+
killed: boolean; // device is de-energized
|
|
113
|
+
inactive: boolean; // waiting to be reset
|
|
114
|
+
resetting: boolean; // taking action to be idle
|
|
115
|
+
idle: boolean; // ready for auto tasks
|
|
116
|
+
running: boolean; // performing an active task (excludes tasks that just involve data exchange like recipe changing)
|
|
117
|
+
stopping: boolean;
|
|
118
|
+
paused: boolean; // action paused mid-task, able to be resumed (finish the task) or stopped (abandon task and back to idle or inactive)
|
|
119
|
+
aborting: boolean; // Aborting (Reacting TO E-Stop)
|
|
120
|
+
done: boolean; // finished with task, waiting for parent to drop the request
|
|
121
|
+
manual: boolean;
|
|
122
|
+
|
|
123
|
+
idleOrError: boolean; // useful to check for stopping
|
|
124
|
+
iifkm: boolean; // IdleOrInactiveOrFaultedOrKilledOrManual
|
|
125
|
+
rri: boolean; // ResettingOrRunningOrIdle
|
|
126
|
+
ipr: boolean; // IdleOrPausedOrRunning
|
|
127
|
+
kei: boolean; // KilledErrorOrInactive
|
|
128
|
+
runningOrStopping: boolean;
|
|
129
|
+
|
|
130
|
+
// Children Status
|
|
131
|
+
allChildrenIdle: boolean;
|
|
132
|
+
allChildrenKilled: boolean;
|
|
133
|
+
allChildrenInactive: boolean;
|
|
134
|
+
allChildrenIdleOrError: boolean;
|
|
135
|
+
|
|
136
|
+
commanderId: number; // used for external control
|
|
137
|
+
|
|
138
|
+
recordingLogs: boolean;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
export const initialDeviceStatus: DeviceStatus = {
|
|
142
|
+
state: 0,
|
|
143
|
+
stepNum: 0,
|
|
144
|
+
stepDescription: '',
|
|
145
|
+
colorCode: 0,
|
|
146
|
+
statusMsg: '',
|
|
147
|
+
error: false,
|
|
148
|
+
killed: false,
|
|
149
|
+
inactive: false,
|
|
150
|
+
resetting: false,
|
|
151
|
+
idle: false,
|
|
152
|
+
running: false,
|
|
153
|
+
stopping: false,
|
|
154
|
+
paused: false,
|
|
155
|
+
aborting: false,
|
|
156
|
+
done: false,
|
|
157
|
+
manual: false,
|
|
158
|
+
idleOrError: false,
|
|
159
|
+
iifkm: false,
|
|
160
|
+
rri: false,
|
|
161
|
+
ipr: false,
|
|
162
|
+
kei: false,
|
|
163
|
+
runningOrStopping: false,
|
|
164
|
+
allChildrenIdle: false,
|
|
165
|
+
allChildrenKilled: false,
|
|
166
|
+
allChildrenInactive: false,
|
|
167
|
+
allChildrenIdleOrError: false,
|
|
168
|
+
commanderId: 0,
|
|
169
|
+
recordingLogs: false
|
|
170
|
+
};
|
|
171
|
+
|
|
172
|
+
|
|
173
|
+
export interface Device {
|
|
174
|
+
is: DeviceStatus;
|
|
175
|
+
errors: DeviceFaultData;
|
|
176
|
+
warnings: DeviceFaultData;
|
|
177
|
+
registration: DeviceRegistration;
|
|
178
|
+
cfg: DeviceCfg;
|
|
179
|
+
//ignore--instants: DeviceInstants;
|
|
180
|
+
|
|
181
|
+
execMethod: ProcessData;
|
|
182
|
+
task: ProcessData;
|
|
183
|
+
process: ProcessData; //read-only
|
|
184
|
+
script: ProcessData; //read-only
|
|
185
|
+
|
|
186
|
+
//ignore--instantsmission: ProcessData;
|
|
187
|
+
//ignore--instantssettings: DeviceSettings;
|
|
188
|
+
connectionStatus: boolean;
|
|
189
|
+
|
|
190
|
+
//ignore--instantsrequests: Array<DeviceActionRequestData>; //this can be written to outside of the device fb;
|
|
191
|
+
apiOpcua: ApiOpcuaData;
|
|
192
|
+
log: DeviceLogData;
|
|
193
|
+
//ignore--instantsudp: UdpData;
|
|
194
|
+
sts: unknown; // device specific status structure
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
export const initialSts: unknown = null;
|
|
198
|
+
|
|
199
|
+
export const initialDevice: Device = {
|
|
200
|
+
is: initialDeviceStatus,
|
|
201
|
+
errors: initialDeviceFaultData,
|
|
202
|
+
warnings: initialDeviceFaultData,
|
|
203
|
+
registration: initialDeviceRegistration,
|
|
204
|
+
cfg: initialDeviceCfg,
|
|
205
|
+
connectionStatus: false,
|
|
206
|
+
execMethod: initialProcessData,
|
|
207
|
+
task: initialProcessData,
|
|
208
|
+
process: initialProcessData,
|
|
209
|
+
script: initialProcessData,
|
|
210
|
+
apiOpcua: initialApiOpcuaData,
|
|
211
|
+
log: initialDeviceLogData,
|
|
212
|
+
sts: initialSts
|
|
213
|
+
};
|
|
214
|
+
|
|
215
|
+
// TYPE DeviceLogData :
|
|
216
|
+
// STRUCT
|
|
217
|
+
// List: ARRAY[0..DeviceConstants.NUM_LOG_ENTRIES-1] OF DebugLogData;
|
|
218
|
+
// LastIndex:INT; //index of the most recent recorde entries
|
|
219
|
+
// END_STRUCT
|
|
220
|
+
// END_TYPE
|
|
221
|
+
|
|
222
|
+
export interface DeviceLogData {
|
|
223
|
+
list: DebugLogData[];
|
|
224
|
+
lastIndex: number; // index of the most recent recorded entries
|
|
225
225
|
}
|
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
export enum DeviceCmds {
|
|
2
|
-
NONE = 0,
|
|
3
|
-
RESET = 1, // initializes device to idle
|
|
4
|
-
STOP = 2, // takes device from running to idle
|
|
5
|
-
CLEAR = 3, // clears faults
|
|
6
|
-
KILL = 4, // takes device to aborting then killed, holds at killed until cmd is set FALSE
|
|
7
|
-
PAUSE = 5, // pauses the current task
|
|
8
|
-
UNPAUSE = 6, // Unpauses the current task
|
|
9
|
-
START = 7, // go from idle to running
|
|
10
|
-
TAKE_CONTROL = 8, // used to request control over device
|
|
11
|
-
RELEASE_CONTROL = 9, // used to release control over device
|
|
12
|
-
START_RECORDING_LOGS = 10, // writes to Machine.RecordedLogs
|
|
13
|
-
STOP_RECORDING_LOGS = 11
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
export function deviceCmdToString(cmd: DeviceCmds): string {
|
|
17
|
-
switch (cmd) {
|
|
18
|
-
case DeviceCmds.NONE:
|
|
19
|
-
return "None";
|
|
20
|
-
case DeviceCmds.RESET:
|
|
21
|
-
return "Reset";
|
|
22
|
-
case DeviceCmds.STOP:
|
|
23
|
-
return "Stop";
|
|
24
|
-
case DeviceCmds.CLEAR:
|
|
25
|
-
return "Clear";
|
|
26
|
-
case DeviceCmds.KILL:
|
|
27
|
-
return "Kill";
|
|
28
|
-
case DeviceCmds.PAUSE:
|
|
29
|
-
return "Pause";
|
|
30
|
-
case DeviceCmds.UNPAUSE:
|
|
31
|
-
return "Unpause";
|
|
32
|
-
case DeviceCmds.START:
|
|
33
|
-
return "Start";
|
|
34
|
-
case DeviceCmds.TAKE_CONTROL:
|
|
35
|
-
return "Take Control";
|
|
36
|
-
case DeviceCmds.RELEASE_CONTROL:
|
|
37
|
-
return "Release Control";
|
|
38
|
-
case DeviceCmds.START_RECORDING_LOGS:
|
|
39
|
-
return "Start Recording Logs";
|
|
40
|
-
case DeviceCmds.STOP_RECORDING_LOGS:
|
|
41
|
-
return "Stop Recording Logs";
|
|
42
|
-
default:
|
|
43
|
-
return "Unknown Command";
|
|
44
|
-
}
|
|
45
|
-
}
|
|
1
|
+
export enum DeviceCmds {
|
|
2
|
+
NONE = 0,
|
|
3
|
+
RESET = 1, // initializes device to idle
|
|
4
|
+
STOP = 2, // takes device from running to idle
|
|
5
|
+
CLEAR = 3, // clears faults
|
|
6
|
+
KILL = 4, // takes device to aborting then killed, holds at killed until cmd is set FALSE
|
|
7
|
+
PAUSE = 5, // pauses the current task
|
|
8
|
+
UNPAUSE = 6, // Unpauses the current task
|
|
9
|
+
START = 7, // go from idle to running
|
|
10
|
+
TAKE_CONTROL = 8, // used to request control over device
|
|
11
|
+
RELEASE_CONTROL = 9, // used to release control over device
|
|
12
|
+
START_RECORDING_LOGS = 10, // writes to Machine.RecordedLogs
|
|
13
|
+
STOP_RECORDING_LOGS = 11
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export function deviceCmdToString(cmd: DeviceCmds): string {
|
|
17
|
+
switch (cmd) {
|
|
18
|
+
case DeviceCmds.NONE:
|
|
19
|
+
return "None";
|
|
20
|
+
case DeviceCmds.RESET:
|
|
21
|
+
return "Reset";
|
|
22
|
+
case DeviceCmds.STOP:
|
|
23
|
+
return "Stop";
|
|
24
|
+
case DeviceCmds.CLEAR:
|
|
25
|
+
return "Clear";
|
|
26
|
+
case DeviceCmds.KILL:
|
|
27
|
+
return "Kill";
|
|
28
|
+
case DeviceCmds.PAUSE:
|
|
29
|
+
return "Pause";
|
|
30
|
+
case DeviceCmds.UNPAUSE:
|
|
31
|
+
return "Unpause";
|
|
32
|
+
case DeviceCmds.START:
|
|
33
|
+
return "Start";
|
|
34
|
+
case DeviceCmds.TAKE_CONTROL:
|
|
35
|
+
return "Take Control";
|
|
36
|
+
case DeviceCmds.RELEASE_CONTROL:
|
|
37
|
+
return "Release Control";
|
|
38
|
+
case DeviceCmds.START_RECORDING_LOGS:
|
|
39
|
+
return "Start Recording Logs";
|
|
40
|
+
case DeviceCmds.STOP_RECORDING_LOGS:
|
|
41
|
+
return "Stop Recording Logs";
|
|
42
|
+
default:
|
|
43
|
+
return "Unknown Command";
|
|
44
|
+
}
|
|
45
|
+
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
export const DeviceConstants = {
|
|
2
|
-
DEVICE_CHILDREN_ARRAY_LEN: 10,
|
|
3
|
-
DEVICE_FAULTCODEARRAY_LEN: 10, //this value should be greater than equal to children array len
|
|
4
|
-
MAX_NUM_PARAMS: 10, //used for tasks and processes
|
|
5
|
-
NUM_ACTION_TYPES: 6, //this includes NONE
|
|
6
|
-
NUM_LOG_ENTRIES: 50,
|
|
7
|
-
MAX_NUM_OUTBOUND_AXIS_INTERLOCKS: 10,
|
|
8
|
-
UNIT_TEST_PROCESS_ID: 1100,
|
|
9
|
-
TIME_MS_AUTOCLEAR_DONE_BIT_TASK_OR_PROCESS: 250
|
|
1
|
+
export const DeviceConstants = {
|
|
2
|
+
DEVICE_CHILDREN_ARRAY_LEN: 10,
|
|
3
|
+
DEVICE_FAULTCODEARRAY_LEN: 10, //this value should be greater than equal to children array len
|
|
4
|
+
MAX_NUM_PARAMS: 10, //used for tasks and processes
|
|
5
|
+
NUM_ACTION_TYPES: 6, //this includes NONE
|
|
6
|
+
NUM_LOG_ENTRIES: 50,
|
|
7
|
+
MAX_NUM_OUTBOUND_AXIS_INTERLOCKS: 10,
|
|
8
|
+
UNIT_TEST_PROCESS_ID: 1100,
|
|
9
|
+
TIME_MS_AUTOCLEAR_DONE_BIT_TASK_OR_PROCESS: 250
|
|
10
10
|
};
|