本文整理匯總了TypeScript中node-opcua-client.ClientSubscription類的典型用法代碼示例。如果您正苦於以下問題:TypeScript ClientSubscription類的具體用法?TypeScript ClientSubscription怎麽用?TypeScript ClientSubscription使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
在下文中一共展示了ClientSubscription類的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: callback
(err: Error | null, subscription?: ClientSubscription) => {
if (err) {
return callback(err);
}
this.subscription = subscription!;
this.subscription.on("terminated", () => {
this.subscription = undefined;
});
callback();
});
示例2: test2
async function test2() {
console.log("----------------------------------------------------");
try {
await client.connect("opc.tcp://opcuademo.sterfive.com:26543");
const session: ClientSession = await client.createSession({
type: UserTokenType.UserName,
password: "password1",
userName: "user1"
});
const subscription = ClientSubscription.create(session, {
maxNotificationsPerPublish: 1000,
publishingEnabled: true,
requestedLifetimeCount: 100,
requestedMaxKeepAliveCount: 10,
requestedPublishingInterval: 500
});
subscription.on("error", (err) => {
console.log(" Error :", err);
});
subscription.on("keepalive", () => {
console.log(" Keep Alive");
});
const parameters1: MonitoringParametersOptions = {
discardOldest: true,
queueSize: 100,
samplingInterval: 250
};
const itemToMonitor1: ReadValueIdLike = {
attributeId: AttributeIds.Value,
nodeId: "ns=1;s=PumpSpeed"
};
const item1 = ClientMonitoredItem.create(subscription, itemToMonitor1, parameters1, TimestampsToReturn.Both);
item1
.on("changed", (dataValue: DataValue) => {
console.log(" Value1 has changed : ", dataValue.toString());
})
.on("terminated", () => {
console.log("item1 has been terminated");
});
const itemToMonitor2: ReadValueIdLike = {
attributeId: AttributeIds.Value,
nodeId: "ns=1;s=FanSpeed"
};
const item2 = ClientMonitoredItem.create(subscription, itemToMonitor2, parameters1, TimestampsToReturn.Both);
item2
.on("changed", (dataValue: DataValue) => {
console.log(" Value2 has changed : ", dataValue.toString());
})
.on("terminated", () => {
console.log("item2 has been terminated");
});
await timeout(10000);
await subscription.terminate();
await client.disconnect();
console.log(" Done!");
} catch (e) {
// Deal with the fact the chain failed
console.log(chalk.red("Error !"), e);
process.exit(-1);
}
}
示例3: stop
public stop(...args: any[]): any {
const callback = args[0] as (err?: Error) => void;
if (this.subscription) {
this.subscription.terminate(() => {
this.subscription = undefined;
callback();
});
} else {
callback(new Error("UAProxyManager already stopped ?"));
}
}
示例4: _monitor_execution_flag
public _monitor_execution_flag(
proxyObject: any,
callback: (err?: Error) => void
) {
// note : proxyObject must wrap a method
assert(_.isFunction(callback));
assert(proxyObject.nodeId instanceof NodeId);
if (!this.subscription) {
// some server do not provide subscription support, do not treat this as an error.
return callback(); // new Error("No subscription"));
}
const itemToMonitor = { // ReadValueId
attributeId: AttributeIds.Executable,
nodeId: proxyObject.nodeId,
};
const monitoringParameters = { // MonitoringParameters
discardOldest: true,
queueSize: 10,
samplingInterval: 0, /* event-based */
};
const requestedParameters = TimestampsToReturn.Neither;
this.subscription.monitor(
itemToMonitor, monitoringParameters, requestedParameters,
(err: Error | null, monitoredItem?: ClientMonitoredItemBase) => {
Object.defineProperty(
proxyObject,
"__monitoredItem_execution_flag",
{value: monitoredItem, enumerable: false});
proxyObject.__monitoredItem_execution_flag.on("changed", (dataValue: DataValue) => {
proxyObject.executableFlag = dataValue.value.value;
});
callback(err!);
});
}
示例5: _monitor_value
public _monitor_value(
proxyObject: any,
callback: ErrorCallback
) {
if (!this.subscription) {
// some server do not provide subscription support, do not treat this as an error.
return callback(); // new Error("No subscription"));
}
const itemToMonitor = { // ReadValueId
attributeId: AttributeIds.Value,
nodeId: proxyObject.nodeId,
};
const monitoringParameters = { // MonitoringParameters
discardOldest: true,
queueSize: 10,
samplingInterval: 0, /* event-based */
};
const requestedParameters = TimestampsToReturn.Both;
this.subscription.monitor(
itemToMonitor, monitoringParameters, requestedParameters,
(err: Error | null, monitoredItem?: ClientMonitoredItemBase) => {
Object.defineProperty(proxyObject, "__monitoredItem", {value: monitoredItem, enumerable: false});
proxyObject.__monitoredItem.on("changed", (dataValue: DataValue) => {
proxyObject.dataValue = dataValue;
proxyObject.emit("value_changed", dataValue);
});
callback(err!);
});
}