本文整理汇总了TypeScript中node-opcua.ClientSession.createSubscription2方法的典型用法代码示例。如果您正苦于以下问题:TypeScript ClientSession.createSubscription2方法的具体用法?TypeScript ClientSession.createSubscription2怎么用?TypeScript ClientSession.createSubscription2使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类node-opcua.ClientSession
的用法示例。
在下文中一共展示了ClientSession.createSubscription2方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: main
//.........这里部分代码省略.........
}
]};
const queryFirstResult = await the_session.queryFirst(queryFirstRequest);
console.log(" -----------------------------------------------------------------------------------------------------------------");
} catch (err) {
console.log(" Server is not supporting queryFirst err=",err.message);
}
// create Read
if (doHistory) {
console.log(" ---------------------------------------------------------- History Read------------------------");
const now = Date.now();
const start = now - 1000; // read 1 seconds of history
const historicalReadResult = await the_session.readHistoryValue({
nodeId: monitored_node
}, new Date(start), new Date(now));
console.log(" -----------------------------------------------------------------------------------------------------------------");
}
// ----------------------------------------------------------------------------------
// create subscription
// ----------------------------------------------------------------------------------
console.log(" ---------------------------------------------------------- Create Subscription ");
const parameters = {
maxNotificationsPerPublish: 10,
priority: 10,
publishingEnabled: true,
requestedLifetimeCount: 1000,
requestedMaxKeepAliveCount: 12,
requestedPublishingInterval: 2000
};
the_subscription = await the_session.createSubscription2(parameters);
let t = getTick();
console.log("started subscription :", the_subscription!.subscriptionId);
console.log(" revised parameters ");
console.log(" revised maxKeepAliveCount ", the_subscription!.maxKeepAliveCount, " ( requested ", parameters.requestedMaxKeepAliveCount + ")");
console.log(" revised lifetimeCount ", the_subscription!.lifetimeCount, " ( requested ", parameters.requestedLifetimeCount + ")");
console.log(" revised publishingInterval ", the_subscription!.publishingInterval, " ( requested ", parameters.requestedPublishingInterval + ")");
the_subscription.on("internal_error", (err: Error) => {
console.log(" received internal error", err.message);
}).on("keepalive", () => {
const t4 = getTick();
const span = t4 - t;
t = t4;
console.log("keepalive ", span / 1000, "sec",
" pending request on server = ", (the_subscription as any).getPublishEngine().nbPendingPublishRequests);
}).on("terminated", () => { /* */
});
try {
const results1 = await the_session.getMonitoredItems(the_subscription.subscriptionId);
console.log("MonitoredItems clientHandles", results1.clientHandles);
console.log("MonitoredItems serverHandles", results1.serverHandles);
} catch(err) {
console.log("Server doesn't seems to implement getMonitoredItems method ", err.message);
}
// get_monitored_item
// monitor_a_variable_node_value
console.log("Monitoring monitor_a_variable_node_value");