Dav*_*vid 5 javascript node.js opc-ua node-opcua
节点 v16.14.2
节点-OPC-UA v2.75.0
你好,
我目前在使用自定义数据类型从 S7-1500 读取大型 ExtensionObject 时遇到问题。在第一次读取这些 ExtensionObjects 的过程中,我收到很多错误消息,告诉我该库找不到数据类型定义。但是,在这些错误日志之后,读取过程工作正常,我可以成功访问我的数据。
这是错误输出:
17:20:35.217Z :populate_data_type_manager_104:50 Error Error: Cannot find dataType Definition ! with nodeId =ns=2;i=6522
... at C:\Users\me\Desktop\my-opcua-client\node_modules\node-opcua-client-dynamic-extension-object\source\private\populate_data_type_manager_104.ts:34:19
... at Generator.next (<anonymous>)
... at fulfilled (C:\Users\me\Desktop\my-opcua-client\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:5:58)
... at processTicksAndRejections (node:internal/process/task_queues:96:5)
17:20:35.240Z :populate_data_type_manager_104:177 err= Error
... at assert (C:\Users\me\Desktop\my-opcua-client\node_modules\node-opcua-assert\source\index.ts:12:21)
... at C:\Users\me\Desktop\my-opcua-client\node_modules\node-opcua-client-dynamic-extension-object\source\private\populate_data_type_manager_104.ts:175:19
... at Generator.next (<anonymous>)
... at fulfilled (C:\Users\me\Desktop\my-opcua-client\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:5:58)
... at processTicksAndRejections (node:internal/process/task_queues:96:5)
17:20:35.293Z :populate_data_type_manager_104:50 Error Error: Cannot find dataType Definition ! with nodeId =ns=2;i=6525
... at C:\Users\me\Desktop\my-opcua-client\node_modules\node-opcua-client-dynamic-extension-object\source\private\populate_data_type_manager_104.ts:34:19
... at Generator.next (<anonymous>)
... at fulfilled (C:\Users\me\Desktop\my-opcua-client\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:5:58)
... at processTicksAndRejections (node:internal/process/task_queues:96:5)
17:20:35.294Z :populate_data_type_manager_104:177 err= Error
... at assert (C:\Users\me\Desktop\my-opcua-client\node_modules\node-opcua-assert\source\index.ts:12:21)
... at C:\Users\me\Desktop\my-opcua-client\node_modules\node-opcua-client-dynamic-extension-object\source\private\populate_data_type_manager_104.ts:175:19
... at Generator.next (<anonymous>)
... at fulfilled (C:\Users\me\Desktop\my-opcua-client\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:5:58)
... at processTicksAndRejections (node:internal/process/task_queues:96:5)
17:20:35.347Z :populate_data_type_manager_104:50 Error Error: Cannot find dataType Definition ! with nodeId =ns=3;i=3400
... at C:\Users\me\Desktop\my-opcua-client\node_modules\node-opcua-client-dynamic-extension-object\source\private\populate_data_type_manager_104.ts:34:19
... at Generator.next (<anonymous>)
... at fulfilled (C:\Users\me\Desktop\my-opcua-client\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:5:58)
... at processTicksAndRejections (node:internal/process/task_queues:96:5)
17:20:35.348Z :populate_data_type_manager_104:177 err= Error
... at assert (C:\Users\me\Desktop\my-opcua-client\node_modules\node-opcua-assert\source\index.ts:12:21)
... at C:\Users\me\Desktop\my-opcua-client\node_modules\node-opcua-client-dynamic-extension-object\source\private\populate_data_type_manager_104.ts:175:19
... at Generator.next (<anonymous>)
... at fulfilled (C:\Users\me\Desktop\my-opcua-client\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:5:58)
... at processTicksAndRejections (node:internal/process/task_queues:96:5)
17:20:35.441Z :populate_data_type_manager_104:50 Error Error: Cannot find dataType Definition ! with nodeId =ns=3;i=3500
... at C:\Users\me\Desktop\my-opcua-client\node_modules\node-opcua-client-dynamic-extension-object\source\private\populate_data_type_manager_104.ts:34:19
... at Generator.next (<anonymous>)
... at fulfilled (C:\Users\me\Desktop\my-opcua-client\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:5:58)
... at processTicksAndRejections (node:internal/process/task_queues:96:5)
17:20:35.443Z :populate_data_type_manager_104:177 err= Error
... at assert (C:\Users\me\Desktop\my-opcua-client\node_modules\node-opcua-assert\source\index.ts:12:21)
... at C:\Users\me\Desktop\my-opcua-client\node_modules\node-opcua-client-dynamic-extension-object\source\private\populate_data_type_manager_104.ts:175:19
... at Generator.next (<anonymous>)
... at fulfilled (C:\Users\me\Desktop\my-opcua-client\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:5:58)
... at processTicksAndRejections (node:internal/process/task_queues:96:5)
17:20:35.732Z :populate_data_type_manager_104:50 Error Error: Cannot find dataType Definition ! with nodeId =ns=2;i=15889
... at C:\Users\me\Desktop\my-opcua-client\node_modules\node-opcua-client-dynamic-extension-object\source\private\populate_data_type_manager_104.ts:34:19
... at Generator.next (<anonymous>)
... at fulfilled (C:\Users\me\Desktop\my-opcua-client\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:5:58)
... at processTicksAndRejections (node:internal/process/task_queues:96:5)
17:20:35.734Z :populate_data_type_manager_104:177 err= Error
... at assert (C:\Users\me\Desktop\my-opcua-client\node_modules\node-opcua-assert\source\index.ts:12:21)
... at C:\Users\me\Desktop\my-opcua-client\node_modules\node-opcua-client-dynamic-extension-object\source\private\populate_data_type_manager_104.ts:175:19
... at Generator.next (<anonymous>)
... at fulfilled (C:\Users\me\Desktop\my-opcua-client\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:5:58)
... at processTicksAndRejections (node:internal/process/task_queues:96:5)
17:20:35.798Z :populate_data_type_manager_104:50 Error Error: Cannot find dataType Definition ! with nodeId =ns=2;i=15888
... at C:\Users\me\Desktop\my-opcua-client\node_modules\node-opcua-client-dynamic-extension-object\source\private\populate_data_type_manager_104.ts:34:19
... at Generator.next (<anonymous>)
... at fulfilled (C:\Users\me\Desktop\my-opcua-client\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:5:58)
... at processTicksAndRejections (node:internal/process/task_queues:96:5)
17:20:35.800Z :populate_data_type_manager_104:177 err= Error
... at assert (C:\Users\me\Desktop\my-opcua-client\node_modules\node-opcua-assert\source\index.ts:12:21)
... at C:\Users\me\Desktop\my-opcua-client\node_modules\node-opcua-client-dynamic-extension-object\source\private\populate_data_type_manager_104.ts:175:19
... at Generator.next (<anonymous>)
... at fulfilled (C:\Users\me\Desktop\my-opcua-client\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:5:58)
... at processTicksAndRejections (node:internal/process/task_queues:96:5)
Run Code Online (Sandbox Code Playgroud)
这是我的(相关)代码逻辑:
const opcClient = OPCUAClient.create({
applicationName: 'my-opc-client',
securityMode: MessageSecurityMode.None,
securityPolicy: SecurityPolicy.None,
endpointMustExist: true,
keepSessionAlive: true,
});
await opcClient.connect(<myIp>);
const opcSession = await opcClient.createSession();
opcClient.on('close', () => {
logger.error('OPC-Client has closed the connection');
});
opcClient.on('abort', () => {
logger.error('OPC-Client has aborted the connection');
});
opcClient.on('connected', () => {
logger.error('OPC-Client is connected');
});
opcClient.on('connection_lost', () => {
logger.error('OPC-Client has lost the connection');
});
opcClient.on('connection_reestablished', () => {
logger.info('OPC-Client has reestablished the connection');
});
const mainLoop = async () => {
try {
const processData = await opcSession.read(
[
{ nodeId: 'ns=3;s="020_FIFO_OPCUA"."Setpoints"' },
{ nodeId: 'ns=3;s="020_FIFO_OPCUA"."Actuals"' }
]
);
await writeToDatabase(processData);
setTimeout(() => mainLoop(), 500);
} catch (error : any) {
logger.error(error.message);
setTimeout(() => mainLoop(), 5000);
}
};
mainLoop();
Run Code Online (Sandbox Code Playgroud)
有什么事情吗,我做错了什么?在服务器端似乎没有问题。
已启用对 <=1.3 dataTyles 的支持。
非常感谢帮助!
归档时间: |
|
查看次数: |
452 次 |
最近记录: |