node-opcua-client-proxy 2.98.0 → 2.98.2
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/dist/common.d.ts +3 -0
- package/dist/common.js +5 -0
- package/dist/common.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.js +23 -0
- package/dist/index.js.map +1 -0
- package/dist/object_explorer.d.ts +20 -0
- package/dist/object_explorer.js +462 -0
- package/dist/object_explorer.js.map +1 -0
- package/dist/proxy.d.ts +2 -0
- package/dist/proxy.js +19 -0
- package/dist/proxy.js.map +1 -0
- package/dist/proxy_base_node.d.ts +83 -0
- package/dist/proxy_base_node.js +88 -0
- package/dist/proxy_base_node.js.map +1 -0
- package/dist/proxy_manager.d.ts +50 -0
- package/dist/proxy_manager.js +262 -0
- package/dist/proxy_manager.js.map +1 -0
- package/dist/proxy_object.d.ts +6 -0
- package/dist/proxy_object.js +15 -0
- package/dist/proxy_object.js.map +1 -0
- package/dist/proxy_state.d.ts +14 -0
- package/dist/proxy_state.js +28 -0
- package/dist/proxy_state.js.map +1 -0
- package/dist/proxy_state_machine.d.ts +12 -0
- package/dist/proxy_state_machine.js +22 -0
- package/dist/proxy_state_machine.js.map +1 -0
- package/dist/proxy_transition.d.ts +24 -0
- package/dist/proxy_transition.js +30 -0
- package/dist/proxy_transition.js.map +1 -0
- package/dist/proxy_variable.d.ts +7 -0
- package/dist/proxy_variable.js +15 -0
- package/dist/proxy_variable.js.map +1 -0
- package/dist/state_machine_proxy.d.ts +8 -0
- package/dist/state_machine_proxy.js +44 -0
- package/dist/state_machine_proxy.js.map +1 -0
- package/package.json +22 -18
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ProxyBaseNode = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* @module node-opcua-client-proxy
|
|
6
|
+
*/
|
|
7
|
+
const events_1 = require("events");
|
|
8
|
+
const node_opcua_assert_1 = require("node-opcua-assert");
|
|
9
|
+
const node_opcua_data_model_1 = require("node-opcua-data-model");
|
|
10
|
+
class ProxyBaseNode extends events_1.EventEmitter {
|
|
11
|
+
constructor(proxyManager, nodeId, nodeClass) {
|
|
12
|
+
super();
|
|
13
|
+
this.nodeId = nodeId;
|
|
14
|
+
this.proxyManager = proxyManager;
|
|
15
|
+
(0, node_opcua_assert_1.assert)(this.proxyManager.session, "expecting valid session");
|
|
16
|
+
Object.defineProperty(this, "proxyManager", {
|
|
17
|
+
enumerable: false,
|
|
18
|
+
writable: true
|
|
19
|
+
});
|
|
20
|
+
this.$components = [];
|
|
21
|
+
this.$properties = [];
|
|
22
|
+
this.$methods = [];
|
|
23
|
+
this.$organizes = [];
|
|
24
|
+
this.description = "";
|
|
25
|
+
this.browseName = "";
|
|
26
|
+
this.nodeClass = nodeClass;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* get a updated Value of the Variable , by using a ReadRequest
|
|
30
|
+
*/
|
|
31
|
+
readValue(callback) {
|
|
32
|
+
(0, node_opcua_assert_1.assert)(this.proxyManager);
|
|
33
|
+
const session = this.proxyManager.session;
|
|
34
|
+
(0, node_opcua_assert_1.assert)(session);
|
|
35
|
+
const nodeToRead = {
|
|
36
|
+
attributeId: node_opcua_data_model_1.AttributeIds.Value,
|
|
37
|
+
nodeId: this.nodeId
|
|
38
|
+
};
|
|
39
|
+
this.proxyManager.session.read(nodeToRead, (err, dataValue) => {
|
|
40
|
+
// istanbul ignore next
|
|
41
|
+
if (err) {
|
|
42
|
+
return callback(err);
|
|
43
|
+
}
|
|
44
|
+
const data = dataValue.value;
|
|
45
|
+
callback(null, data);
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* set the Value of the Variable, by using a WriteRequest
|
|
50
|
+
*/
|
|
51
|
+
writeValue(dataValue, callback) {
|
|
52
|
+
(0, node_opcua_assert_1.assert)(this.proxyManager);
|
|
53
|
+
const session = this.proxyManager.session;
|
|
54
|
+
(0, node_opcua_assert_1.assert)(session);
|
|
55
|
+
const nodeToWrite = {
|
|
56
|
+
attributeId: node_opcua_data_model_1.AttributeIds.Value,
|
|
57
|
+
nodeId: this.nodeId,
|
|
58
|
+
value: dataValue
|
|
59
|
+
};
|
|
60
|
+
this.proxyManager.session.write(nodeToWrite, (err, statusCode) => {
|
|
61
|
+
// istanbul ignore next
|
|
62
|
+
if (err) {
|
|
63
|
+
return callback(err);
|
|
64
|
+
}
|
|
65
|
+
if (statusCode && statusCode.isNotGood()) {
|
|
66
|
+
callback(new Error(statusCode.toString()));
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
callback();
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
toString() {
|
|
74
|
+
const str = [];
|
|
75
|
+
str.push(" ProxyObject ");
|
|
76
|
+
str.push(" browseName : " + this.browseName.toString());
|
|
77
|
+
// str.push(" typeDefinition : " + this.typeDefinition.toString());
|
|
78
|
+
str.push(" $components# : " + this.$components.length.toString());
|
|
79
|
+
str.push(" $properties# : " + this.$properties.length.toString());
|
|
80
|
+
return str.join("\n");
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
exports.ProxyBaseNode = ProxyBaseNode;
|
|
84
|
+
// tslint:disable:no-var-requires
|
|
85
|
+
const thenify = require("thenify");
|
|
86
|
+
ProxyBaseNode.prototype.readValue = thenify.withCallback(ProxyBaseNode.prototype.readValue);
|
|
87
|
+
ProxyBaseNode.prototype.writeValue = thenify.withCallback(ProxyBaseNode.prototype.writeValue);
|
|
88
|
+
//# sourceMappingURL=proxy_base_node.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proxy_base_node.js","sourceRoot":"","sources":["../source/proxy_base_node.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
/**
|
|
3
|
+
* @module node-opcua-client-proxy
|
|
4
|
+
*/
|
|
5
|
+
import { EventEmitter } from "stream";
|
|
6
|
+
import { NodeId } from "node-opcua-nodeid";
|
|
7
|
+
import { DataValue, TimestampsToReturn } from "node-opcua-data-value";
|
|
8
|
+
import { NodeIdLike } from "node-opcua-nodeid";
|
|
9
|
+
import { CreateSubscriptionRequestOptions, MonitoringParametersOptions } from "node-opcua-service-subscription";
|
|
10
|
+
import { CallbackT } from "node-opcua-status-code";
|
|
11
|
+
import { ErrorCallback } from "node-opcua-status-code";
|
|
12
|
+
import { IBasicSession } from "node-opcua-pseudo-session";
|
|
13
|
+
import { ReadValueIdOptions } from "node-opcua-service-read";
|
|
14
|
+
import { Variant } from "node-opcua-variant";
|
|
15
|
+
import { ProxyStateMachineType } from "./state_machine_proxy";
|
|
16
|
+
export interface IProxy1 {
|
|
17
|
+
nodeId: NodeId;
|
|
18
|
+
executableFlag?: boolean;
|
|
19
|
+
__monitoredItem_execution_flag?: EventEmitter;
|
|
20
|
+
__monitoredItem?: EventEmitter;
|
|
21
|
+
}
|
|
22
|
+
export interface IProxy extends EventEmitter, IProxy1 {
|
|
23
|
+
dataValue: DataValue;
|
|
24
|
+
}
|
|
25
|
+
export interface IClientSubscription {
|
|
26
|
+
monitor(itemToMonitor: ReadValueIdOptions, monitoringParameters: MonitoringParametersOptions, timestampToReturn: TimestampsToReturn, callback: CallbackT<IClientMonitoredItemBase>): void;
|
|
27
|
+
terminate(callback: () => void): void;
|
|
28
|
+
on(eventName: "terminated", eventHandler: () => void): void;
|
|
29
|
+
}
|
|
30
|
+
export interface IClientMonitoredItemBase {
|
|
31
|
+
on(eventName: "changed", eventHandler: (data: DataValue | Variant[]) => void): void;
|
|
32
|
+
}
|
|
33
|
+
export interface IBasicSessionWithSubscription extends IBasicSession {
|
|
34
|
+
createSubscription2(options: CreateSubscriptionRequestOptions, callback: CallbackT<IClientSubscription>): void;
|
|
35
|
+
}
|
|
36
|
+
export declare class UAProxyManager {
|
|
37
|
+
readonly session: IBasicSessionWithSubscription;
|
|
38
|
+
subscription?: IClientSubscription;
|
|
39
|
+
private _map;
|
|
40
|
+
constructor(session: IBasicSessionWithSubscription);
|
|
41
|
+
start(): Promise<void>;
|
|
42
|
+
start(callback: (err?: Error) => void): void;
|
|
43
|
+
stop(): Promise<void>;
|
|
44
|
+
stop(callback: (err?: Error) => void): void;
|
|
45
|
+
getObject(nodeId: NodeIdLike): Promise<any>;
|
|
46
|
+
getObject(nodeId: NodeIdLike, callback: (err: Error | null, object?: any) => void): void;
|
|
47
|
+
_monitor_value(proxyObject: IProxy, callback: ErrorCallback): void;
|
|
48
|
+
_monitor_execution_flag(proxyObject: IProxy1, callback: (err?: Error) => void): void;
|
|
49
|
+
getStateMachineType(nodeId: NodeIdLike, callback: (err: Error | null, stateMachineType?: ProxyStateMachineType) => void): void;
|
|
50
|
+
}
|
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UAProxyManager = void 0;
|
|
4
|
+
const async = require("async");
|
|
5
|
+
const node_opcua_assert_1 = require("node-opcua-assert");
|
|
6
|
+
const node_opcua_data_model_1 = require("node-opcua-data-model");
|
|
7
|
+
const node_opcua_nodeid_1 = require("node-opcua-nodeid");
|
|
8
|
+
const node_opcua_data_value_1 = require("node-opcua-data-value");
|
|
9
|
+
const node_opcua_status_code_1 = require("node-opcua-status-code");
|
|
10
|
+
const object_explorer_1 = require("./object_explorer");
|
|
11
|
+
const proxy_1 = require("./proxy");
|
|
12
|
+
const proxy_object_1 = require("./proxy_object");
|
|
13
|
+
const state_machine_proxy_1 = require("./state_machine_proxy");
|
|
14
|
+
function getObject(proxyManager, nodeId, options, callback) {
|
|
15
|
+
const session = proxyManager.session;
|
|
16
|
+
nodeId = (0, node_opcua_nodeid_1.coerceNodeId)(nodeId);
|
|
17
|
+
if (nodeId.isEmpty()) {
|
|
18
|
+
setImmediate(() => {
|
|
19
|
+
callback(new Error(" Invalid empty node in getObject"));
|
|
20
|
+
});
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
const nodesToRead = [
|
|
24
|
+
{
|
|
25
|
+
attributeId: node_opcua_data_model_1.AttributeIds.BrowseName,
|
|
26
|
+
nodeId
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
attributeId: node_opcua_data_model_1.AttributeIds.Description,
|
|
30
|
+
nodeId
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
attributeId: node_opcua_data_model_1.AttributeIds.NodeClass,
|
|
34
|
+
nodeId
|
|
35
|
+
}
|
|
36
|
+
];
|
|
37
|
+
function read_accessLevels(clientObject, callback) {
|
|
38
|
+
const nodesToRead = [
|
|
39
|
+
{
|
|
40
|
+
attributeId: node_opcua_data_model_1.AttributeIds.Value,
|
|
41
|
+
nodeId
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
attributeId: node_opcua_data_model_1.AttributeIds.UserAccessLevel,
|
|
45
|
+
nodeId
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
attributeId: node_opcua_data_model_1.AttributeIds.AccessLevel,
|
|
49
|
+
nodeId
|
|
50
|
+
}
|
|
51
|
+
];
|
|
52
|
+
session.read(nodesToRead, (err, dataValues) => {
|
|
53
|
+
if (err) {
|
|
54
|
+
return callback(err);
|
|
55
|
+
}
|
|
56
|
+
dataValues = dataValues || [];
|
|
57
|
+
if (dataValues[0].statusCode.isGood()) {
|
|
58
|
+
clientObject.dataValue = dataValues[0].value;
|
|
59
|
+
}
|
|
60
|
+
if (dataValues[1].statusCode.isGood()) {
|
|
61
|
+
clientObject.userAccessLevel = (0, node_opcua_data_model_1.coerceAccessLevelFlag)(dataValues[1].value.value);
|
|
62
|
+
}
|
|
63
|
+
if (dataValues[2].statusCode.isGood()) {
|
|
64
|
+
clientObject.accessLevel = (0, node_opcua_data_model_1.coerceAccessLevelFlag)(dataValues[2].value.value);
|
|
65
|
+
}
|
|
66
|
+
callback(err);
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
let clientObject;
|
|
70
|
+
async.series([
|
|
71
|
+
(callback) => {
|
|
72
|
+
// readAttributes like browseName and references
|
|
73
|
+
session.read(nodesToRead, (err, dataValues) => {
|
|
74
|
+
if (!err) {
|
|
75
|
+
dataValues = dataValues;
|
|
76
|
+
if (dataValues[0].statusCode.equals(node_opcua_status_code_1.StatusCodes.BadNodeIdUnknown)) {
|
|
77
|
+
// xx console.log(" INVALID NODE ", nodeId.toString());
|
|
78
|
+
return callback(new Error("Invalid Node " + nodeId.toString()));
|
|
79
|
+
}
|
|
80
|
+
clientObject = new proxy_object_1.ProxyObject(proxyManager, nodeId);
|
|
81
|
+
/// x console.log("xxxx ,s",results.map(function(a){ return a.toString();}));
|
|
82
|
+
clientObject.browseName = dataValues[0].value.value;
|
|
83
|
+
clientObject.description = dataValues[1].value ? dataValues[1].value.value : "";
|
|
84
|
+
clientObject.nodeClass = dataValues[2].value.value;
|
|
85
|
+
// xx console.log("xxx nodeClass = ",clientObject.nodeClass.toString());
|
|
86
|
+
if (clientObject.nodeClass === node_opcua_data_model_1.NodeClass.Variable) {
|
|
87
|
+
return read_accessLevels(clientObject, callback);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
callback(err);
|
|
91
|
+
});
|
|
92
|
+
},
|
|
93
|
+
(callback) => {
|
|
94
|
+
// install monitored item
|
|
95
|
+
if (clientObject.nodeClass === node_opcua_data_model_1.NodeClass.Variable) {
|
|
96
|
+
/*console.log(
|
|
97
|
+
"xxxx -> monitoring",
|
|
98
|
+
clientObject.nodeId.toString(),
|
|
99
|
+
clientObject.nodeClass.toString(),
|
|
100
|
+
clientObject.browseName.toString()
|
|
101
|
+
);
|
|
102
|
+
*/
|
|
103
|
+
return proxyManager._monitor_value(clientObject, callback);
|
|
104
|
+
}
|
|
105
|
+
callback();
|
|
106
|
+
},
|
|
107
|
+
(callback) => {
|
|
108
|
+
(0, object_explorer_1.readUAStructure)(proxyManager, clientObject, callback);
|
|
109
|
+
}
|
|
110
|
+
//
|
|
111
|
+
], (err) => {
|
|
112
|
+
// istanbul ignore next
|
|
113
|
+
if (err) {
|
|
114
|
+
return callback(err);
|
|
115
|
+
}
|
|
116
|
+
callback(null, clientObject);
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
// tslint:disable-next-line: max-classes-per-file
|
|
120
|
+
class UAProxyManager {
|
|
121
|
+
constructor(session) {
|
|
122
|
+
this.session = session;
|
|
123
|
+
this._map = {};
|
|
124
|
+
// create a subscription
|
|
125
|
+
}
|
|
126
|
+
start(...args) {
|
|
127
|
+
const callback = args[0];
|
|
128
|
+
const createSubscriptionRequest = {
|
|
129
|
+
maxNotificationsPerPublish: 1000,
|
|
130
|
+
priority: 10,
|
|
131
|
+
publishingEnabled: true,
|
|
132
|
+
requestedLifetimeCount: 6000,
|
|
133
|
+
requestedMaxKeepAliveCount: 100,
|
|
134
|
+
requestedPublishingInterval: 100
|
|
135
|
+
};
|
|
136
|
+
this.session.createSubscription2(createSubscriptionRequest, (err, subscription) => {
|
|
137
|
+
if (err) {
|
|
138
|
+
return callback(err);
|
|
139
|
+
}
|
|
140
|
+
this.subscription = subscription;
|
|
141
|
+
this.subscription.on("terminated", () => {
|
|
142
|
+
this.subscription = undefined;
|
|
143
|
+
});
|
|
144
|
+
callback();
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
stop(...args) {
|
|
148
|
+
const callback = args[0];
|
|
149
|
+
if (this.subscription) {
|
|
150
|
+
this.subscription.terminate(() => {
|
|
151
|
+
this.subscription = undefined;
|
|
152
|
+
callback();
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
else {
|
|
156
|
+
callback(new Error("UAProxyManager already stopped ?"));
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
getObject(...args) {
|
|
160
|
+
const nodeId = args[0];
|
|
161
|
+
const callback = args[1];
|
|
162
|
+
let options = {};
|
|
163
|
+
setImmediate(() => {
|
|
164
|
+
options = options || {};
|
|
165
|
+
options.depth = options.depth || 1;
|
|
166
|
+
const key = nodeId.toString();
|
|
167
|
+
// the object already exist in the map ?
|
|
168
|
+
if (Object.prototype.hasOwnProperty.call(this._map, key)) {
|
|
169
|
+
return callback(null, this._map[key]);
|
|
170
|
+
}
|
|
171
|
+
getObject(this, nodeId, options, (err, obj) => {
|
|
172
|
+
if (!err) {
|
|
173
|
+
this._map[key] = obj;
|
|
174
|
+
}
|
|
175
|
+
callback(err, obj);
|
|
176
|
+
});
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
_monitor_value(proxyObject, callback) {
|
|
180
|
+
if (!this.subscription) {
|
|
181
|
+
// debugLog("cannot monitor _monitor_value: no subscription");
|
|
182
|
+
// some server do not provide subscription support, do not treat this as an error.
|
|
183
|
+
return callback(); // new Error("No subscription"));
|
|
184
|
+
}
|
|
185
|
+
const itemToMonitor = {
|
|
186
|
+
// ReadValueId
|
|
187
|
+
attributeId: node_opcua_data_model_1.AttributeIds.Value,
|
|
188
|
+
nodeId: proxyObject.nodeId
|
|
189
|
+
};
|
|
190
|
+
const monitoringParameters = {
|
|
191
|
+
// MonitoringParameters
|
|
192
|
+
discardOldest: true,
|
|
193
|
+
queueSize: 10,
|
|
194
|
+
samplingInterval: 0 /* event-based */
|
|
195
|
+
};
|
|
196
|
+
const requestedParameters = node_opcua_data_value_1.TimestampsToReturn.Both;
|
|
197
|
+
this.subscription.monitor(itemToMonitor, monitoringParameters, requestedParameters, (err, monitoredItem) => {
|
|
198
|
+
Object.defineProperty(proxyObject, "__monitoredItem", { value: monitoredItem, enumerable: false });
|
|
199
|
+
proxyObject.__monitoredItem.on("changed", (dataValue) => {
|
|
200
|
+
proxyObject.dataValue = dataValue;
|
|
201
|
+
proxyObject.emit("value_changed", dataValue);
|
|
202
|
+
});
|
|
203
|
+
proxyObject.__monitoredItem.on("err", (err) => {
|
|
204
|
+
var _a;
|
|
205
|
+
// tslint:disable-next-line: no-console
|
|
206
|
+
console.log("Proxy: cannot monitor variable ", (_a = itemToMonitor.nodeId) === null || _a === void 0 ? void 0 : _a.toString(), err.message);
|
|
207
|
+
});
|
|
208
|
+
callback(err);
|
|
209
|
+
});
|
|
210
|
+
}
|
|
211
|
+
_monitor_execution_flag(proxyObject, callback) {
|
|
212
|
+
// note : proxyObject must wrap a method
|
|
213
|
+
(0, node_opcua_assert_1.assert)(proxyObject.nodeId instanceof node_opcua_nodeid_1.NodeId);
|
|
214
|
+
if (!this.subscription) {
|
|
215
|
+
// some server do not provide subscription support, do not treat this as an error.
|
|
216
|
+
return callback(); // new Error("No subscription"));
|
|
217
|
+
}
|
|
218
|
+
const itemToMonitor = {
|
|
219
|
+
// ReadValueId
|
|
220
|
+
attributeId: node_opcua_data_model_1.AttributeIds.Executable,
|
|
221
|
+
nodeId: proxyObject.nodeId
|
|
222
|
+
};
|
|
223
|
+
const monitoringParameters = {
|
|
224
|
+
// MonitoringParameters
|
|
225
|
+
discardOldest: true,
|
|
226
|
+
queueSize: 10,
|
|
227
|
+
samplingInterval: 0 /* event-based */
|
|
228
|
+
};
|
|
229
|
+
const requestedParameters = node_opcua_data_value_1.TimestampsToReturn.Neither;
|
|
230
|
+
this.subscription.monitor(itemToMonitor, monitoringParameters, requestedParameters, (err, monitoredItem) => {
|
|
231
|
+
Object.defineProperty(proxyObject, "__monitoredItem_execution_flag", {
|
|
232
|
+
value: monitoredItem,
|
|
233
|
+
enumerable: false
|
|
234
|
+
});
|
|
235
|
+
proxyObject.__monitoredItem_execution_flag.on("changed", (dataValue) => {
|
|
236
|
+
proxyObject.executableFlag = dataValue.value.value;
|
|
237
|
+
});
|
|
238
|
+
callback(err);
|
|
239
|
+
});
|
|
240
|
+
}
|
|
241
|
+
getStateMachineType(nodeId, callback) {
|
|
242
|
+
if (typeof nodeId === "string") {
|
|
243
|
+
const org_nodeId = nodeId;
|
|
244
|
+
nodeId = (0, proxy_1.makeRefId)(nodeId);
|
|
245
|
+
}
|
|
246
|
+
this.getObject(nodeId, (err, obj) => {
|
|
247
|
+
// read fromState and toState Reference on
|
|
248
|
+
let stateMachineType;
|
|
249
|
+
if (!err) {
|
|
250
|
+
stateMachineType = new state_machine_proxy_1.ProxyStateMachineType(obj);
|
|
251
|
+
}
|
|
252
|
+
callback(err, stateMachineType);
|
|
253
|
+
});
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
exports.UAProxyManager = UAProxyManager;
|
|
257
|
+
// tslint:disable-next-line:no-var-requires
|
|
258
|
+
const thenify = require("thenify");
|
|
259
|
+
UAProxyManager.prototype.start = thenify.withCallback(UAProxyManager.prototype.start);
|
|
260
|
+
UAProxyManager.prototype.stop = thenify.withCallback(UAProxyManager.prototype.stop);
|
|
261
|
+
UAProxyManager.prototype.getObject = thenify.withCallback(UAProxyManager.prototype.getObject);
|
|
262
|
+
//# sourceMappingURL=proxy_manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proxy_manager.js","sourceRoot":"","sources":["../source/proxy_manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { NodeId } from "node-opcua-nodeid";
|
|
2
|
+
import { ProxyBaseNode } from "./proxy_base_node";
|
|
3
|
+
import { UAProxyManager } from "./proxy_manager";
|
|
4
|
+
export declare class ProxyObject extends ProxyBaseNode {
|
|
5
|
+
constructor(proxyManager: UAProxyManager, nodeId: NodeId);
|
|
6
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ProxyObject = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* @module node-opcua-client-proxy
|
|
6
|
+
*/
|
|
7
|
+
const node_opcua_data_model_1 = require("node-opcua-data-model");
|
|
8
|
+
const proxy_base_node_1 = require("./proxy_base_node");
|
|
9
|
+
class ProxyObject extends proxy_base_node_1.ProxyBaseNode {
|
|
10
|
+
constructor(proxyManager, nodeId) {
|
|
11
|
+
super(proxyManager, nodeId, node_opcua_data_model_1.NodeClass.Object);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
exports.ProxyObject = ProxyObject;
|
|
15
|
+
//# sourceMappingURL=proxy_object.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proxy_object.js","sourceRoot":"","sources":["../source/proxy_object.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,iEAAkD;AAElD,uDAAkD;AAGlD,MAAa,WAAY,SAAQ,+BAAa;IAC1C,YAAY,YAA4B,EAAE,MAAc;QACpD,KAAK,CAAC,YAAY,EAAE,MAAM,EAAE,iCAAS,CAAC,MAAM,CAAC,CAAC;IAClD,CAAC;CACJ;AAJD,kCAIC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module node-opcua-client-proxy
|
|
3
|
+
*/
|
|
4
|
+
import { NodeId } from "node-opcua-nodeid";
|
|
5
|
+
import { ProxyNode } from "./proxy_transition";
|
|
6
|
+
export declare class ProxyState {
|
|
7
|
+
private _node;
|
|
8
|
+
constructor(proxyNode: ProxyNode);
|
|
9
|
+
get browseName(): string;
|
|
10
|
+
get stateNumber(): string;
|
|
11
|
+
get nodeId(): NodeId;
|
|
12
|
+
toString(): string;
|
|
13
|
+
}
|
|
14
|
+
export declare function makeProxyState(node: ProxyNode): ProxyState;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.makeProxyState = exports.ProxyState = void 0;
|
|
4
|
+
class ProxyState {
|
|
5
|
+
constructor(proxyNode) {
|
|
6
|
+
this._node = proxyNode;
|
|
7
|
+
}
|
|
8
|
+
get browseName() {
|
|
9
|
+
return this._node.browseName.toString();
|
|
10
|
+
}
|
|
11
|
+
get stateNumber() {
|
|
12
|
+
// note stateNumber has no real dataValue
|
|
13
|
+
return this._node.stateNumber.nodeId.value.toString();
|
|
14
|
+
}
|
|
15
|
+
get nodeId() {
|
|
16
|
+
// note stateNumber has no real dataValue
|
|
17
|
+
return this._node.nodeId;
|
|
18
|
+
}
|
|
19
|
+
toString() {
|
|
20
|
+
return "state " + this.browseName + " stateNumber :" + this.stateNumber.toString();
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
exports.ProxyState = ProxyState;
|
|
24
|
+
function makeProxyState(node) {
|
|
25
|
+
return new ProxyState(node);
|
|
26
|
+
}
|
|
27
|
+
exports.makeProxyState = makeProxyState;
|
|
28
|
+
//# sourceMappingURL=proxy_state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proxy_state.js","sourceRoot":"","sources":["../source/proxy_state.ts"],"names":[],"mappings":";;;AAMA,MAAa,UAAU;IAGnB,YAAY,SAAoB;QAC5B,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;IAC3B,CAAC;IAED,IAAW,UAAU;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;IAC5C,CAAC;IAED,IAAW,WAAW;QAClB,yCAAyC;QACzC,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC1D,CAAC;IAED,IAAW,MAAM;QACb,yCAAyC;QACzC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC7B,CAAC;IAEM,QAAQ;QACX,OAAO,QAAQ,GAAG,IAAI,CAAC,UAAU,GAAG,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;IACvF,CAAC;CACJ;AAxBD,gCAwBC;AAED,SAAgB,cAAc,CAAC,IAAe;IAC1C,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAFD,wCAEC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
/**
|
|
3
|
+
* @module node-opcua-client-proxy
|
|
4
|
+
*/
|
|
5
|
+
import { EventEmitter } from "events";
|
|
6
|
+
import { NodeId } from "node-opcua-nodeid";
|
|
7
|
+
import { UAProxyManager } from "./proxy_manager";
|
|
8
|
+
export declare class StateMachineProxy extends EventEmitter {
|
|
9
|
+
nodeId: NodeId;
|
|
10
|
+
private proxyManager;
|
|
11
|
+
constructor(proxyManager: UAProxyManager, nodeId: NodeId);
|
|
12
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.StateMachineProxy = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* @module node-opcua-client-proxy
|
|
6
|
+
*/
|
|
7
|
+
const events_1 = require("events");
|
|
8
|
+
const node_opcua_assert_1 = require("node-opcua-assert");
|
|
9
|
+
class StateMachineProxy extends events_1.EventEmitter {
|
|
10
|
+
constructor(proxyManager, nodeId) {
|
|
11
|
+
super();
|
|
12
|
+
this.nodeId = nodeId;
|
|
13
|
+
this.proxyManager = proxyManager;
|
|
14
|
+
(0, node_opcua_assert_1.assert)(this.proxyManager.session, "expecting valid session");
|
|
15
|
+
Object.defineProperty(this, "proxyManager", {
|
|
16
|
+
enumerable: false,
|
|
17
|
+
writable: true
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
exports.StateMachineProxy = StateMachineProxy;
|
|
22
|
+
//# sourceMappingURL=proxy_state_machine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proxy_state_machine.js","sourceRoot":"","sources":["../source/proxy_state_machine.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,mCAAsC;AACtC,yDAA2C;AAI3C,MAAa,iBAAkB,SAAQ,qBAAY;IAI/C,YAAY,YAA4B,EAAE,MAAc;QACpD,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAA,0BAAM,EAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;QAC7D,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,cAAc,EAAE;YACxC,UAAU,EAAE,KAAK;YACjB,QAAQ,EAAE,IAAI;SACjB,CAAC,CAAC;IACP,CAAC;CACJ;AAdD,8CAcC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { QualifiedName } from "node-opcua-data-model";
|
|
2
|
+
import { NodeId } from "node-opcua-nodeid";
|
|
3
|
+
export interface ProxyNode {
|
|
4
|
+
nodeId: NodeId;
|
|
5
|
+
browseName: QualifiedName;
|
|
6
|
+
$fromState: ProxyNode;
|
|
7
|
+
$toState: ProxyNode;
|
|
8
|
+
$components: ProxyNode[];
|
|
9
|
+
typeDefinition?: {
|
|
10
|
+
toString(): string;
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* @module node-opcua-client-proxy
|
|
15
|
+
*/
|
|
16
|
+
export declare class ProxyTransition {
|
|
17
|
+
private _node;
|
|
18
|
+
constructor(proxyNode: ProxyNode);
|
|
19
|
+
get nodeId(): string;
|
|
20
|
+
get browseName(): string;
|
|
21
|
+
get fromStateNode(): ProxyNode;
|
|
22
|
+
get toStateNode(): ProxyNode;
|
|
23
|
+
}
|
|
24
|
+
export declare function makeProxyTransition(node: ProxyNode): ProxyTransition;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.makeProxyTransition = exports.ProxyTransition = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* @module node-opcua-client-proxy
|
|
6
|
+
*/
|
|
7
|
+
class ProxyTransition {
|
|
8
|
+
constructor(proxyNode) {
|
|
9
|
+
this._node = proxyNode;
|
|
10
|
+
}
|
|
11
|
+
get nodeId() {
|
|
12
|
+
// note stateNumber has no real dataValue
|
|
13
|
+
return this._node.nodeId.value.toString();
|
|
14
|
+
}
|
|
15
|
+
get browseName() {
|
|
16
|
+
return this._node.browseName.toString();
|
|
17
|
+
}
|
|
18
|
+
get fromStateNode() {
|
|
19
|
+
return this._node.$fromState;
|
|
20
|
+
}
|
|
21
|
+
get toStateNode() {
|
|
22
|
+
return this._node.$toState;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
exports.ProxyTransition = ProxyTransition;
|
|
26
|
+
function makeProxyTransition(node) {
|
|
27
|
+
return new ProxyTransition(node);
|
|
28
|
+
}
|
|
29
|
+
exports.makeProxyTransition = makeProxyTransition;
|
|
30
|
+
//# sourceMappingURL=proxy_transition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proxy_transition.js","sourceRoot":"","sources":["../source/proxy_transition.ts"],"names":[],"mappings":";;;AAWA;;GAEG;AACH,MAAa,eAAe;IAGxB,YAAY,SAAoB;QAC5B,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;IAC3B,CAAC;IAED,IAAI,MAAM;QACN,yCAAyC;QACzC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC9C,CAAC;IAED,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;IAC5C,CAAC;IAED,IAAI,aAAa;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;IACjC,CAAC;IAED,IAAI,WAAW;QACX,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC/B,CAAC;CACJ;AAvBD,0CAuBC;AACD,SAAgB,mBAAmB,CAAC,IAAe;IAC/C,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;AACrC,CAAC;AAFD,kDAEC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { NodeId } from "node-opcua-nodeid";
|
|
2
|
+
import { ReferenceDescription } from "node-opcua-service-browse";
|
|
3
|
+
import { ProxyBaseNode } from "./proxy_base_node";
|
|
4
|
+
import { UAProxyManager } from "./proxy_manager";
|
|
5
|
+
export declare class ProxyVariable extends ProxyBaseNode {
|
|
6
|
+
constructor(proxyManager: UAProxyManager, nodeId: NodeId, reference: ReferenceDescription);
|
|
7
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ProxyVariable = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* @module node-opcua-client-proxy
|
|
6
|
+
*/
|
|
7
|
+
const node_opcua_data_model_1 = require("node-opcua-data-model");
|
|
8
|
+
const proxy_base_node_1 = require("./proxy_base_node");
|
|
9
|
+
class ProxyVariable extends proxy_base_node_1.ProxyBaseNode {
|
|
10
|
+
constructor(proxyManager, nodeId, reference) {
|
|
11
|
+
super(proxyManager, nodeId, node_opcua_data_model_1.NodeClass.Variable);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
exports.ProxyVariable = ProxyVariable;
|
|
15
|
+
//# sourceMappingURL=proxy_variable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proxy_variable.js","sourceRoot":"","sources":["../source/proxy_variable.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,iEAAkD;AAGlD,uDAAkD;AAGlD,MAAa,aAAc,SAAQ,+BAAa;IAC5C,YAAY,YAA4B,EAAE,MAAc,EAAE,SAA+B;QACrF,KAAK,CAAC,YAAY,EAAE,MAAM,EAAE,iCAAS,CAAC,QAAQ,CAAC,CAAC;IACpD,CAAC;CACJ;AAJD,sCAIC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ProxyState } from "./proxy_state";
|
|
2
|
+
import { ProxyNode, ProxyTransition } from "./proxy_transition";
|
|
3
|
+
export declare class ProxyStateMachineType {
|
|
4
|
+
initialState: ProxyState | undefined;
|
|
5
|
+
states: ProxyState[];
|
|
6
|
+
transitions: ProxyTransition[];
|
|
7
|
+
constructor(obj: ProxyNode);
|
|
8
|
+
}
|