@kuriousdesign/machine-sdk 1.0.16 → 1.0.18

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 (30) hide show
  1. package/dist/custom-types/AppState.d.ts +1 -1
  2. package/dist/custom-types/BaseDevice/Actions.d.ts +17 -0
  3. package/dist/custom-types/BaseDevice/Actions.js +40 -0
  4. package/dist/custom-types/BaseDevice/ApiOpcua.d.ts +17 -0
  5. package/dist/custom-types/BaseDevice/ApiOpcua.js +18 -0
  6. package/dist/custom-types/BaseDevice/Device.d.ts +92 -0
  7. package/dist/custom-types/BaseDevice/Device.js +89 -0
  8. package/dist/custom-types/BaseDevice/DeviceConstants.d.ts +10 -0
  9. package/dist/custom-types/BaseDevice/DeviceConstants.js +13 -0
  10. package/dist/custom-types/BaseDevice/Processes.d.ts +18 -0
  11. package/dist/custom-types/BaseDevice/Processes.js +20 -0
  12. package/dist/custom-types/BaseDevice/index.d.ts +6 -0
  13. package/dist/custom-types/BaseDevice/index.js +22 -0
  14. package/dist/custom-types/Devices/index.d.ts +1 -1
  15. package/dist/custom-types/Devices/index.js +1 -1
  16. package/dist/custom-types/index.d.ts +1 -1
  17. package/dist/custom-types/index.js +1 -1
  18. package/dist/plc-tags/index.d.ts +9 -0
  19. package/dist/plc-tags/index.js +10 -0
  20. package/package.json +1 -1
  21. package/src/custom-types/AppState.ts +1 -1
  22. package/src/custom-types/BaseDevice/Actions.ts +44 -0
  23. package/src/custom-types/BaseDevice/ApiOpcua.ts +33 -0
  24. package/src/custom-types/{Devices → BaseDevice}/Device.ts +17 -39
  25. package/src/custom-types/BaseDevice/DeviceConstants.ts +10 -0
  26. package/src/custom-types/BaseDevice/Processes.ts +38 -0
  27. package/src/custom-types/BaseDevice/index.ts +6 -0
  28. package/src/custom-types/Devices/index.ts +1 -1
  29. package/src/custom-types/index.ts +1 -1
  30. package/src/plc-tags/index.ts +10 -1
@@ -1,7 +1,7 @@
1
1
  import { Page } from "../enums";
2
2
  import { ButtonBar, StatusBar } from "./HMI";
3
3
  import { PartData } from "./PartData";
4
- import { Device } from "./Devices/Device";
4
+ import { Device } from "./BaseDevice/Device";
5
5
  import { GlobalConstants } from "./GlobalConstants";
6
6
  import { RackData, RackHmiPbs, RecipeData, RecipeManagerPbs, SystemFaultData, TaskQueue, UserData, UserManagerFB, RobData } from ".";
7
7
  export declare enum NodeId {
@@ -0,0 +1,17 @@
1
+ export declare enum ActionTypes {
2
+ MISSION = 0,
3
+ CMD = 1,
4
+ TASK = 2,
5
+ PROCESS = 3,
6
+ EXEC_METHOD = 4,
7
+ SCRIPT = 5,
8
+ COUNT = 6
9
+ }
10
+ export declare function actionTypeToString(actionType: ActionTypes): string;
11
+ export interface DeviceActionRequestData {
12
+ SenderId: number;
13
+ ActionType: ActionTypes;
14
+ ActionId: number;
15
+ ParamArray: number[];
16
+ }
17
+ export declare const initialDeviceActionRequestData: DeviceActionRequestData;
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.initialDeviceActionRequestData = exports.ActionTypes = void 0;
4
+ exports.actionTypeToString = actionTypeToString;
5
+ const DeviceConstants_1 = require("./DeviceConstants");
6
+ var ActionTypes;
7
+ (function (ActionTypes) {
8
+ ActionTypes[ActionTypes["MISSION"] = 0] = "MISSION";
9
+ ActionTypes[ActionTypes["CMD"] = 1] = "CMD";
10
+ ActionTypes[ActionTypes["TASK"] = 2] = "TASK";
11
+ ActionTypes[ActionTypes["PROCESS"] = 3] = "PROCESS";
12
+ ActionTypes[ActionTypes["EXEC_METHOD"] = 4] = "EXEC_METHOD";
13
+ ActionTypes[ActionTypes["SCRIPT"] = 5] = "SCRIPT";
14
+ ActionTypes[ActionTypes["COUNT"] = 6] = "COUNT"; // Update this value to match the number of action types
15
+ })(ActionTypes || (exports.ActionTypes = ActionTypes = {}));
16
+ function actionTypeToString(actionType) {
17
+ switch (actionType) {
18
+ case ActionTypes.MISSION:
19
+ return "MISSION";
20
+ case ActionTypes.CMD:
21
+ return "CMD";
22
+ case ActionTypes.TASK:
23
+ return "TASK";
24
+ case ActionTypes.PROCESS:
25
+ return "PROCESS";
26
+ case ActionTypes.EXEC_METHOD:
27
+ return "EXEC_METHOD";
28
+ case ActionTypes.SCRIPT:
29
+ return "SCRIPT";
30
+ default:
31
+ return "UNKNOWN";
32
+ }
33
+ }
34
+ ;
35
+ exports.initialDeviceActionRequestData = {
36
+ SenderId: 0,
37
+ ActionType: 0,
38
+ ActionId: 0,
39
+ ParamArray: new Array(DeviceConstants_1.DeviceConstants.MAX_NUM_PARAMS).fill(0)
40
+ };
@@ -0,0 +1,17 @@
1
+ import { DeviceActionRequestData } from "./Actions";
2
+ export interface ApiOpcuaReqData {
3
+ id: number;
4
+ checkSum: number;
5
+ ActionRequestData: DeviceActionRequestData;
6
+ Sts: number;
7
+ }
8
+ export declare const initialApiOpcuaReqData: ApiOpcuaReqData;
9
+ export interface ApiOpcuaData {
10
+ HmiReq: ApiOpcuaReqData;
11
+ HmiResp: ApiOpcuaReqData;
12
+ OrchReq: ApiOpcuaReqData;
13
+ OrchResp: ApiOpcuaReqData;
14
+ Req: ApiOpcuaReqData;
15
+ Resp: ApiOpcuaReqData;
16
+ }
17
+ export declare const initialApiOpcuaData: ApiOpcuaData;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.initialApiOpcuaData = exports.initialApiOpcuaReqData = void 0;
4
+ const Actions_1 = require("./Actions");
5
+ exports.initialApiOpcuaReqData = {
6
+ id: 0,
7
+ checkSum: 0,
8
+ ActionRequestData: Actions_1.initialDeviceActionRequestData,
9
+ Sts: 0
10
+ };
11
+ exports.initialApiOpcuaData = {
12
+ HmiReq: {},
13
+ HmiResp: {},
14
+ OrchReq: {},
15
+ OrchResp: {},
16
+ Req: {},
17
+ Resp: {}
18
+ };
@@ -0,0 +1,92 @@
1
+ import { DeviceTypes } from '../Devices/DeviceTypes';
2
+ import { ProcessData } from './Processes';
3
+ import { ApiOpcuaData } from './ApiOpcua';
4
+ export interface DebugLogData {
5
+ Msg: string;
6
+ TimeStamp: Date;
7
+ Id: number;
8
+ }
9
+ export declare const initialDebugLogData: DebugLogData;
10
+ export interface DeviceLogData {
11
+ List: DebugLogData[];
12
+ LastIndex: number;
13
+ }
14
+ export declare const initialDeviceLogData: DeviceLogData;
15
+ export interface DeviceRegistration {
16
+ mnemonic: string;
17
+ id: number;
18
+ childIdArray: number[];
19
+ parentId: number;
20
+ deviceType: DeviceTypes;
21
+ }
22
+ export declare const initialDeviceRegistration: DeviceRegistration;
23
+ export interface DeviceCfg {
24
+ safetyZoneId: number;
25
+ controllableByHmi: boolean;
26
+ autoReset: boolean;
27
+ ignore: boolean;
28
+ }
29
+ export declare const initialDeviceCfg: DeviceCfg;
30
+ export interface FaultData {
31
+ DeviceId: number;
32
+ Code: number;
33
+ Msg: string;
34
+ AutoReset: boolean;
35
+ ResetFlag: boolean;
36
+ LogFlag: boolean;
37
+ TimeStamp: Date;
38
+ StepNum: number;
39
+ ParentStepNum: number;
40
+ }
41
+ export declare const initialFaultData: FaultData;
42
+ export interface DeviceFaultData {
43
+ List: FaultData[];
44
+ Present: boolean;
45
+ ChildrenPresent: boolean;
46
+ }
47
+ export declare const initialDeviceFaultData: DeviceFaultData;
48
+ export interface DeviceStatus {
49
+ state: number;
50
+ stepNum: number;
51
+ stepDescription: string;
52
+ colorCode: number;
53
+ statusMsg: string;
54
+ error: boolean;
55
+ killed: boolean;
56
+ inactive: boolean;
57
+ resetting: boolean;
58
+ idle: boolean;
59
+ running: boolean;
60
+ stopping: boolean;
61
+ paused: boolean;
62
+ aborting: boolean;
63
+ done: boolean;
64
+ manual: boolean;
65
+ idleOrError: boolean;
66
+ iifkm: boolean;
67
+ rri: boolean;
68
+ ipr: boolean;
69
+ kei: boolean;
70
+ runningOrStopping: boolean;
71
+ allChildrenIdle: boolean;
72
+ allChildrenKilled: boolean;
73
+ allChildrenInactive: boolean;
74
+ allChildrenIdleOrError: boolean;
75
+ commanderId: number;
76
+ recordingLogs: boolean;
77
+ }
78
+ export declare const initialDeviceStatus: DeviceStatus;
79
+ export interface Device {
80
+ is: DeviceStatus;
81
+ errors: DeviceFaultData;
82
+ warnings: DeviceFaultData;
83
+ registration: DeviceRegistration;
84
+ cfg: DeviceCfg;
85
+ execMethod: ProcessData;
86
+ task: ProcessData;
87
+ process: ProcessData;
88
+ script: ProcessData;
89
+ connectionStatus: boolean;
90
+ apiOpcua: ApiOpcuaData;
91
+ }
92
+ export declare const initialDevice: Device;
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.initialDevice = exports.initialDeviceStatus = exports.initialDeviceFaultData = exports.initialFaultData = exports.initialDeviceCfg = exports.initialDeviceRegistration = exports.initialDeviceLogData = exports.initialDebugLogData = void 0;
4
+ const DeviceTypes_1 = require("../Devices/DeviceTypes");
5
+ const Processes_1 = require("./Processes");
6
+ const DeviceConstants_1 = require("./DeviceConstants");
7
+ const ApiOpcua_1 = require("./ApiOpcua");
8
+ exports.initialDebugLogData = {
9
+ Msg: '',
10
+ TimeStamp: new Date(),
11
+ Id: 0
12
+ };
13
+ exports.initialDeviceLogData = {
14
+ List: new Array(DeviceConstants_1.DeviceConstants.NUM_LOG_ENTRIES).fill(null),
15
+ LastIndex: 0
16
+ };
17
+ ;
18
+ exports.initialDeviceRegistration = {
19
+ mnemonic: '',
20
+ id: 0,
21
+ childIdArray: [],
22
+ parentId: 0,
23
+ deviceType: DeviceTypes_1.DeviceTypes.Base // Assuming Unknown exists in DeviceTypes enum
24
+ };
25
+ exports.initialDeviceCfg = {
26
+ safetyZoneId: 0,
27
+ controllableByHmi: false,
28
+ autoReset: false,
29
+ ignore: false
30
+ };
31
+ exports.initialFaultData = {
32
+ DeviceId: 0,
33
+ Code: 0,
34
+ Msg: '',
35
+ AutoReset: false,
36
+ ResetFlag: false,
37
+ LogFlag: false,
38
+ TimeStamp: new Date(),
39
+ StepNum: 0,
40
+ ParentStepNum: 0
41
+ };
42
+ exports.initialDeviceFaultData = {
43
+ List: [],
44
+ Present: false,
45
+ ChildrenPresent: false
46
+ };
47
+ exports.initialDeviceStatus = {
48
+ state: 0,
49
+ stepNum: 0,
50
+ stepDescription: '',
51
+ colorCode: 0,
52
+ statusMsg: '',
53
+ error: false,
54
+ killed: false,
55
+ inactive: false,
56
+ resetting: false,
57
+ idle: false,
58
+ running: false,
59
+ stopping: false,
60
+ paused: false,
61
+ aborting: false,
62
+ done: false,
63
+ manual: false,
64
+ idleOrError: false,
65
+ iifkm: false,
66
+ rri: false,
67
+ ipr: false,
68
+ kei: false,
69
+ runningOrStopping: false,
70
+ allChildrenIdle: false,
71
+ allChildrenKilled: false,
72
+ allChildrenInactive: false,
73
+ allChildrenIdleOrError: false,
74
+ commanderId: 0,
75
+ recordingLogs: false
76
+ };
77
+ exports.initialDevice = {
78
+ is: exports.initialDeviceStatus,
79
+ errors: exports.initialDeviceFaultData,
80
+ warnings: exports.initialDeviceFaultData,
81
+ registration: exports.initialDeviceRegistration,
82
+ cfg: exports.initialDeviceCfg,
83
+ connectionStatus: false,
84
+ execMethod: Processes_1.initialProcessData,
85
+ task: Processes_1.initialProcessData,
86
+ process: Processes_1.initialProcessData,
87
+ script: Processes_1.initialProcessData,
88
+ apiOpcua: ApiOpcua_1.initialApiOpcuaData
89
+ };
@@ -0,0 +1,10 @@
1
+ export declare const DeviceConstants: {
2
+ DEVICE_CHILDREN_ARRAY_LEN: number;
3
+ DEVICE_FAULTCODEARRAY_LEN: number;
4
+ MAX_NUM_PARAMS: number;
5
+ NUM_ACTION_TYPES: number;
6
+ NUM_LOG_ENTRIES: number;
7
+ MAX_NUM_OUTBOUND_AXIS_INTERLOCKS: number;
8
+ UNIT_TEST_PROCESS_ID: number;
9
+ TIME_MS_AUTOCLEAR_DONE_BIT_TASK_OR_PROCESS: number;
10
+ };
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DeviceConstants = void 0;
4
+ exports.DeviceConstants = {
5
+ DEVICE_CHILDREN_ARRAY_LEN: 10,
6
+ DEVICE_FAULTCODEARRAY_LEN: 10, //this value should be greater than equal to children array len
7
+ MAX_NUM_PARAMS: 10, //used for tasks and processes
8
+ NUM_ACTION_TYPES: 6, //this includes NONE
9
+ NUM_LOG_ENTRIES: 50,
10
+ MAX_NUM_OUTBOUND_AXIS_INTERLOCKS: 10,
11
+ UNIT_TEST_PROCESS_ID: 1100,
12
+ TIME_MS_AUTOCLEAR_DONE_BIT_TASK_OR_PROCESS: 250
13
+ };
@@ -0,0 +1,18 @@
1
+ export interface ProcessData {
2
+ RequestId: number;
3
+ RequestParamArray: number[];
4
+ SenderId: number;
5
+ ActiveId: number;
6
+ ActiveName: string;
7
+ LastId: number;
8
+ firstScan: boolean;
9
+ isStepNum: number;
10
+ StepDescription: string;
11
+ isDone: boolean;
12
+ isError: boolean;
13
+ NextStepNum: number;
14
+ DeviceStateThatCalled: number;
15
+ DeviceStepThatCalled: number;
16
+ ParamArray: number[];
17
+ }
18
+ export declare const initialProcessData: ProcessData;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.initialProcessData = void 0;
4
+ exports.initialProcessData = {
5
+ RequestId: 0,
6
+ RequestParamArray: new Array(10).fill(0),
7
+ SenderId: 0,
8
+ ActiveId: 0,
9
+ ActiveName: '',
10
+ LastId: 0,
11
+ firstScan: false,
12
+ isStepNum: 0,
13
+ StepDescription: '',
14
+ isDone: false,
15
+ isError: false,
16
+ NextStepNum: 0,
17
+ DeviceStateThatCalled: 0,
18
+ DeviceStepThatCalled: 0,
19
+ ParamArray: new Array(10).fill(0)
20
+ };
@@ -0,0 +1,6 @@
1
+ export * from "./Device";
2
+ export * from "./Actions";
3
+ export * from "./DeviceConstants";
4
+ export * from "./Actions";
5
+ export * from "./ApiOpcua";
6
+ export * from "./Processes";
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./Device"), exports);
18
+ __exportStar(require("./Actions"), exports);
19
+ __exportStar(require("./DeviceConstants"), exports);
20
+ __exportStar(require("./Actions"), exports);
21
+ __exportStar(require("./ApiOpcua"), exports);
22
+ __exportStar(require("./Processes"), exports);
@@ -1,3 +1,3 @@
1
1
  export * from "./Axis";
2
- export * from "./Device";
2
+ export * from "../BaseDevice/Device";
3
3
  export * from "./DeviceTypes";
@@ -15,5 +15,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./Axis"), exports);
18
- __exportStar(require("./Device"), exports);
18
+ __exportStar(require("../BaseDevice/Device"), exports);
19
19
  __exportStar(require("./DeviceTypes"), exports);
@@ -1,7 +1,7 @@
1
1
  export * from "./Com";
2
2
  export * from "./AppState";
3
3
  export * from "./HMI";
4
- export * from "./Devices/Device";
4
+ export * from "./BaseDevice/Device";
5
5
  export * from "./Machine";
6
6
  export * from "./RackData";
7
7
  export * from "./GlobalConstants";
@@ -17,7 +17,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./Com"), exports);
18
18
  __exportStar(require("./AppState"), exports);
19
19
  __exportStar(require("./HMI"), exports);
20
- __exportStar(require("./Devices/Device"), exports);
20
+ __exportStar(require("./BaseDevice/Device"), exports);
21
21
  __exportStar(require("./Machine"), exports);
22
22
  __exportStar(require("./RackData"), exports);
23
23
  __exportStar(require("./GlobalConstants"), exports);
@@ -13,7 +13,16 @@ export declare const MachineTags: {
13
13
  export declare const DeviceTags: {
14
14
  Cfg: string;
15
15
  Is: string;
16
+ Errors: string;
17
+ Warnings: string;
18
+ Log: string;
19
+ ExecMethod: string;
20
+ Task: string;
21
+ Process: string;
22
+ Script: string;
16
23
  Registration: string;
24
+ ApiOpcuaHmiReq: string;
25
+ ApiOpcuaHmiResp: string;
17
26
  };
18
27
  export * from "./opcua";
19
28
  export * from "./mqtt";
@@ -31,7 +31,17 @@ exports.MachineTags = {
31
31
  exports.DeviceTags = {
32
32
  Cfg: 'Cfg',
33
33
  Is: 'Is',
34
+ Errors: 'Errors',
35
+ Warnings: 'Warnings',
36
+ Log: 'Log',
37
+ //ConnectionStatus: 'ConnectionStatus',
38
+ ExecMethod: 'ExecMethod',
39
+ Task: 'Task',
40
+ Process: 'Process',
41
+ Script: 'Script',
34
42
  Registration: 'Registration',
43
+ ApiOpcuaHmiReq: 'ApiOpcua/HmiReq',
44
+ ApiOpcuaHmiResp: 'ApiOpcua/HmiResp',
35
45
  };
36
46
  __exportStar(require("./opcua"), exports);
37
47
  __exportStar(require("./mqtt"), exports);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kuriousdesign/machine-sdk",
3
- "version": "1.0.16",
3
+ "version": "1.0.18",
4
4
  "description": "Shared data types and helpers for machine-related repositories",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1,7 +1,7 @@
1
1
  import { PartState, Page } from "../enums";
2
2
  import { ButtonBar, StatusBar } from "./HMI";
3
3
  import { PartData } from "./PartData";
4
- import { Device } from "./Devices/Device";
4
+ import { Device } from "./BaseDevice/Device";
5
5
  import { GlobalConstants } from "./GlobalConstants";
6
6
  import {
7
7
  RackData,
@@ -0,0 +1,44 @@
1
+ import { DeviceConstants } from "./DeviceConstants";
2
+
3
+ export enum ActionTypes {
4
+ MISSION = 0,
5
+ CMD = 1,
6
+ TASK = 2,
7
+ PROCESS = 3,
8
+ EXEC_METHOD = 4,
9
+ SCRIPT = 5,
10
+ COUNT = 6 // Update this value to match the number of action types
11
+ }
12
+
13
+ export function actionTypeToString(actionType: ActionTypes): string {
14
+ switch (actionType) {
15
+ case ActionTypes.MISSION:
16
+ return "MISSION";
17
+ case ActionTypes.CMD:
18
+ return "CMD";
19
+ case ActionTypes.TASK:
20
+ return "TASK";
21
+ case ActionTypes.PROCESS:
22
+ return "PROCESS";
23
+ case ActionTypes.EXEC_METHOD:
24
+ return "EXEC_METHOD";
25
+ case ActionTypes.SCRIPT:
26
+ return "SCRIPT";
27
+ default:
28
+ return "UNKNOWN";
29
+ }
30
+ }
31
+
32
+ export interface DeviceActionRequestData {
33
+ SenderId: number;
34
+ ActionType: ActionTypes; // ActionTypes enum
35
+ ActionId: number; // could be cmd, task or processId
36
+ ParamArray: number[]; // Array of LREAL values
37
+ };
38
+
39
+ export const initialDeviceActionRequestData: DeviceActionRequestData = {
40
+ SenderId: 0,
41
+ ActionType: 0,
42
+ ActionId: 0,
43
+ ParamArray: new Array(DeviceConstants.MAX_NUM_PARAMS).fill(0)
44
+ };
@@ -0,0 +1,33 @@
1
+ import { DeviceActionRequestData, initialDeviceActionRequestData } from "./Actions";
2
+
3
+ export interface ApiOpcuaReqData {
4
+ id: number; // likely use timestamp ms after epoch
5
+ checkSum: number;
6
+ ActionRequestData: DeviceActionRequestData;
7
+ Sts: number;
8
+ }
9
+
10
+ export const initialApiOpcuaReqData: ApiOpcuaReqData = {
11
+ id: 0,
12
+ checkSum: 0,
13
+ ActionRequestData: initialDeviceActionRequestData,
14
+ Sts: 0
15
+ };
16
+
17
+ export interface ApiOpcuaData {
18
+ HmiReq: ApiOpcuaReqData; // read by PLC
19
+ HmiResp: ApiOpcuaReqData; // written by PLC
20
+ OrchReq: ApiOpcuaReqData; // read by PLC
21
+ OrchResp: ApiOpcuaReqData; // written by PLC
22
+ Req: ApiOpcuaReqData; // written by mtac, read by plc
23
+ Resp: ApiOpcuaReqData; // written by plc, read by testand
24
+ }
25
+
26
+ export const initialApiOpcuaData: ApiOpcuaData = {
27
+ HmiReq: {} as ApiOpcuaReqData,
28
+ HmiResp: {} as ApiOpcuaReqData,
29
+ OrchReq: {} as ApiOpcuaReqData,
30
+ OrchResp: {} as ApiOpcuaReqData,
31
+ Req: {} as ApiOpcuaReqData,
32
+ Resp: {} as ApiOpcuaReqData
33
+ };
@@ -1,15 +1,9 @@
1
- import { DeviceTypes } from './DeviceTypes'
2
-
3
- export const DeviceConstants = {
4
- DEVICE_CHILDREN_ARRAY_LEN: 10,
5
- DEVICE_FAULTCODEARRAY_LEN: 10, //this value should be greater than equal to children array len
6
- MAX_NUM_PARAMS: 10, //used for tasks and processes
7
- NUM_ACTION_TYPES: 6, //this includes NONE
8
- NUM_LOG_ENTRIES: 50,
9
- MAX_NUM_OUTBOUND_AXIS_INTERLOCKS: 10,
10
- UNIT_TEST_PROCESS_ID: 1100,
11
- TIME_MS_AUTOCLEAR_DONE_BIT_TASK_OR_PROCESS: 250
12
- };
1
+ import { DeviceTypes } from '../Devices/DeviceTypes'
2
+ import { initialProcessData, ProcessData } from './Processes';
3
+ import { DeviceConstants } from './DeviceConstants';
4
+ import { ApiOpcuaData, initialApiOpcuaData } from './ApiOpcua';
5
+
6
+
13
7
 
14
8
  export interface DebugLogData {
15
9
  Msg: string;
@@ -43,19 +37,7 @@ export interface DeviceRegistration {
43
37
  deviceType: DeviceTypes; // type of the device
44
38
  };
45
39
 
46
- export interface DeviceActionRequestData {
47
- SenderId: number;
48
- ActionType: number; // ActionTypes enum
49
- ActionId: number; // could be cmd, task or processId
50
- ParamArray: number[]; // Array of LREAL values
51
- };
52
40
 
53
- export const initialDeviceActionRequestData: DeviceActionRequestData = {
54
- SenderId: 0,
55
- ActionType: 0,
56
- ActionId: 0,
57
- ParamArray: new Array(DeviceConstants.MAX_NUM_PARAMS).fill(0)
58
- };
59
41
 
60
42
  export const initialDeviceRegistration: DeviceRegistration = {
61
43
  mnemonic: '',
@@ -185,15 +167,6 @@ export const initialDeviceStatus: DeviceStatus = {
185
167
  recordingLogs: false
186
168
  };
187
169
 
188
- export enum ActionTypes {
189
- MISSION = 0,
190
- CMD = 1,
191
- TASK = 2,
192
- PROCESS = 3,
193
- EXEC_METHOD = 4,
194
- SCRIPT = 5,
195
- COUNT = 6 // Update this value to match the number of action types
196
- }
197
170
 
198
171
  export interface Device {
199
172
  is: DeviceStatus;
@@ -203,17 +176,17 @@ export interface Device {
203
176
  cfg: DeviceCfg;
204
177
  //ignore--instants: DeviceInstants;
205
178
 
206
- //ignore--instantsexecMethod: ProcessData;
207
- //ignore--instantstask: ProcessData;
208
- //ignore--instantsprocess: ProcessData; //read-only
209
- //ignore--instantsscript: ProcessData; //read-only
179
+ execMethod: ProcessData;
180
+ task: ProcessData;
181
+ process: ProcessData; //read-only
182
+ script: ProcessData; //read-only
210
183
 
211
184
  //ignore--instantsmission: ProcessData;
212
185
  //ignore--instantssettings: DeviceSettings;
213
186
  connectionStatus: boolean;
214
187
 
215
188
  //ignore--instantsrequests: Array<DeviceActionRequestData>; //this can be written to outside of the device fb;
216
- //ignore--instantsapiOpcua: ApiOpcuaData;
189
+ apiOpcua: ApiOpcuaData;
217
190
  //ignore--instantsudp: UdpData;
218
191
  }
219
192
 
@@ -223,5 +196,10 @@ export const initialDevice: Device = {
223
196
  warnings: initialDeviceFaultData,
224
197
  registration: initialDeviceRegistration,
225
198
  cfg: initialDeviceCfg,
226
- connectionStatus: false
199
+ connectionStatus: false,
200
+ execMethod: initialProcessData,
201
+ task: initialProcessData,
202
+ process: initialProcessData,
203
+ script: initialProcessData,
204
+ apiOpcua: initialApiOpcuaData
227
205
  };
@@ -0,0 +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
10
+ };
@@ -0,0 +1,38 @@
1
+ export interface ProcessData {
2
+ // THESE PARAMETERS MUST ONLY BE WRITTEN OUTSIDE THIS FB BY method: SendProcessRequest()
3
+ RequestId: number; // processId that is being requested
4
+ RequestParamArray: number[]; // passable parameter for the RPC Call (MAX_NUM_PARAMS length)
5
+ SenderId: number; // use DeviceIds enum
6
+
7
+ // THESE PARAMETERS ARE SET INTERNALLY
8
+ ActiveId: number; // active right now and not already DONE
9
+ ActiveName: string;
10
+ LastId: number; // last id to be active (it could have ended successfully or with error)
11
+ firstScan: boolean;
12
+ isStepNum: number; // read-only
13
+ StepDescription: string;
14
+ isDone: boolean;
15
+ isError: boolean;
16
+ NextStepNum: number;
17
+ DeviceStateThatCalled: number;
18
+ DeviceStepThatCalled: number; // the step number that called the process, which determines where the process returns to after completion
19
+ ParamArray: number[]; // passable parameter for the RPC Call (MAX_NUM_PARAMS length)
20
+ }
21
+
22
+ export const initialProcessData: ProcessData = {
23
+ RequestId: 0,
24
+ RequestParamArray: new Array(10).fill(0),
25
+ SenderId: 0,
26
+ ActiveId: 0,
27
+ ActiveName: '',
28
+ LastId: 0,
29
+ firstScan: false,
30
+ isStepNum: 0,
31
+ StepDescription: '',
32
+ isDone: false,
33
+ isError: false,
34
+ NextStepNum: 0,
35
+ DeviceStateThatCalled: 0,
36
+ DeviceStepThatCalled: 0,
37
+ ParamArray: new Array(10).fill(0)
38
+ };
@@ -0,0 +1,6 @@
1
+ export * from "./Device";
2
+ export * from "./Actions";
3
+ export * from "./DeviceConstants";
4
+ export * from "./Actions";
5
+ export * from "./ApiOpcua";
6
+ export * from "./Processes";
@@ -1,3 +1,3 @@
1
1
  export * from "./Axis";
2
- export * from "./Device";
2
+ export * from "../BaseDevice/Device";
3
3
  export * from "./DeviceTypes";
@@ -1,7 +1,7 @@
1
1
  export * from "./Com";
2
2
  export * from "./AppState";
3
3
  export * from "./HMI";
4
- export * from "./Devices/Device";
4
+ export * from "./BaseDevice/Device";
5
5
  export * from "./Machine";
6
6
  export * from "./RackData";
7
7
  export * from "./GlobalConstants";
@@ -16,9 +16,18 @@ export const MachineTags = {
16
16
  export const DeviceTags = {
17
17
  Cfg: 'Cfg',
18
18
  Is: 'Is',
19
+ Errors: 'Errors',
20
+ Warnings: 'Warnings',
21
+ Log: 'Log',
22
+ //ConnectionStatus: 'ConnectionStatus',
23
+ ExecMethod: 'ExecMethod',
24
+ Task: 'Task',
25
+ Process: 'Process',
26
+ Script: 'Script',
19
27
  Registration: 'Registration',
28
+ ApiOpcuaHmiReq: 'ApiOpcua/HmiReq',
29
+ ApiOpcuaHmiResp: 'ApiOpcua/HmiResp',
20
30
  }
21
31
 
22
-
23
32
  export * from "./opcua";
24
33
  export * from "./mqtt";