Error while reading / building Extension Objects
Open
Verschnupft
opened this issue 2 years ago
•
39 comments
Hello, I am trying to write / read variables (UDT's) from a Siemens PLC. It works for the most part but I always run into an Error while reading / building the Extension Object. Writing values works fine.
The correct values are displayed while reading and the values are changed correctly.
Do you have an explanation or idea how to fix this?
I'll try to add every necessary file.
the Flow:
flow
Flow.txt
the Errors:
Error.txt
the Datatype:
TIA Portal
UAExpert
I will take a look next week, perhaps updating node-opcua will solve this. You can take a try...
There seems to be parse error as there is extra = in the nodeId before namespace ns delimiter for the type definition:
with nodeId =ns=2;i=6522
Check also that you have latest version!
There was similar issue: https://github.com/mikakaraila/node-red-contrib-opcua/issues/298#issuecomment-1192276123
We have to wait this one will be solved: https://github.com/node-opcua/node-opcua/issues/1174
Please test, I updated dependency node-opcua v2.73.0 that contains fixes related to this.
Unfortunately I am still getting the same error.
Current versions:
Node: 16.14.0
Node Red: 3.0.2
node-opcua: 2.73.0
node-red-contrib-opcua: 0.2.285
TIA: V17
The error only occurs after building/reading/writing for the first time. If I try to do one of those actions for a second time, everything works fine.
It's the same error as before with these nodeId's:
ns=2, i=6522
ns=2, i=6525
ns=3, i=3400
ns=3, i=3500
ns=2, i=15889
ns=2, i=15888
Hmm, I don´t have TIA so it will be hard to fix this, but I will try to find bug without debugging.
But as you comment second time everything works? Can you make test with one nodeId and run it twice as it will work.
Settings debug on and console output could help me to fix this without TIA (I hope).
Thank you for your fast replies!
I'll document my tests in the following text and I'll add .txt documents with the same text:
Flow.txt
Test1_build.txt
Test2_read.txt
Test3_write.txt
Test 1 - building the object (nodeId: ns=3;s=DT_"DataFromDb")
first time:
11 Aug 08:21:35 - [info] Started flows
11 Aug 08:21:35 - [info] [mqtt-broker:a62fd28ff9712b7a] Connected to broker: mqtt://localhost:1883
06:21:44.544Z :populate_data_type_manager_104:38 Error Error: Cannot find dataType Definition ! with nodeId =ns=2;i=6522
... at C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:31:23
... at Generator.next ()
... at fulfilled (C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:5:58)
... at runMicrotasks ()
... at processTicksAndRejections (node:internal/process/task_queues:96:5)
06:21:44.572Z :populate_data_type_manager_104:167 err= Error
... at assert (C:\Users\Install.node-red\node_modules\node-opcua-assert\dist\index.js:11:21)
... at C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:164:52
... at Generator.next ()
... at fulfilled (C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:5:58)
... at runMicrotasks ()
... at processTicksAndRejections (node:internal/process/task_queues:96:5)
06:21:44.614Z :populate_data_type_manager_104:38 Error Error: Cannot find dataType Definition ! with nodeId =ns=2;i=6525
... at C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:31:23
... at Generator.next ()
... at fulfilled (C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:5:58)
... at runMicrotasks ()
... at processTicksAndRejections (node:internal/process/task_queues:96:5)
06:21:44.644Z :populate_data_type_manager_104:167 err= Error
... at assert (C:\Users\Install.node-red\node_modules\node-opcua-assert\dist\index.js:11:21)
... at C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:164:52
... at Generator.next ()
... at fulfilled (C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:5:58)
... at runMicrotasks ()
... at processTicksAndRejections (node:internal/process/task_queues:96:5)
06:21:44.682Z :populate_data_type_manager_104:38 Error Error: Cannot find dataType Definition ! with nodeId =ns=3;i=3400
... at C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:31:23
... at Generator.next ()
... at fulfilled (C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:5:58)
... at runMicrotasks ()
... at processTicksAndRejections (node:internal/process/task_queues:96:5)
06:21:44.696Z :populate_data_type_manager_104:167 err= Error
... at assert (C:\Users\Install.node-red\node_modules\node-opcua-assert\dist\index.js:11:21)
... at C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:164:52
... at Generator.next ()
... at fulfilled (C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:5:58)
... at runMicrotasks ()
... at processTicksAndRejections (node:internal/process/task_queues:96:5)
06:21:44.720Z :populate_data_type_manager_104:38 Error Error: Cannot find dataType Definition ! with nodeId =ns=3;i=3500
... at C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:31:23
... at Generator.next ()
... at fulfilled (C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:5:58)
... at runMicrotasks ()
... at processTicksAndRejections (node:internal/process/task_queues:96:5)
06:21:44.742Z :populate_data_type_manager_104:167 err= Error
... at assert (C:\Users\Install.node-red\node_modules\node-opcua-assert\dist\index.js:11:21)
... at C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:164:52
... at Generator.next ()
... at fulfilled (C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:5:58)
... at runMicrotasks ()
... at processTicksAndRejections (node:internal/process/task_queues:96:5)
06:21:44.983Z :populate_data_type_manager_104:38 Error Error: Cannot find dataType Definition ! with nodeId =ns=2;i=15889
... at C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:31:23
... at Generator.next ()
... at fulfilled (C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:5:58)
... at runMicrotasks ()
... at processTicksAndRejections (node:internal/process/task_queues:96:5)
06:21:45.027Z :populate_data_type_manager_104:167 err= Error
... at assert (C:\Users\Install.node-red\node_modules\node-opcua-assert\dist\index.js:11:21)
... at C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:164:52
... at Generator.next ()
... at fulfilled (C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:5:58)
... at runMicrotasks ()
... at processTicksAndRejections (node:internal/process/task_queues:96:5)
06:21:45.050Z :populate_data_type_manager_104:38 Error Error: Cannot find dataType Definition ! with nodeId =ns=2;i=15888
... at C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:31:23
... at Generator.next ()
... at fulfilled (C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:5:58)
... at runMicrotasks ()
... at processTicksAndRejections (node:internal/process/task_queues:96:5)
06:21:45.057Z :populate_data_type_manager_104:167 err= Error
... at assert (C:\Users\Install.node-red\node_modules\node-opcua-assert\dist\index.js:11:21)
... at C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:164:52
... at Generator.next ()
... at fulfilled (C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:5:58)
... at runMicrotasks ()
... at processTicksAndRejections (node:internal/process/task_queues:96:5)
11 Aug 08:21:45 - [info] [debug:debug BUILD]
{
topic: 'ns=3;s=DT_"DataFromDb"',
payload: DataFromDb {
trackingNumber: 0,
partNumber: 0,
length: 0,
height: 0,
width: 0,
material: ''
},
_msgid: '60ca2b8cf0c538a3'
}
second time:
11 Aug 08:27:06 - [info] [debug:debug BUILD]
{
topic: 'ns=3;s=DT_"DataFromDb"',
payload: DataFromDb {
trackingNumber: 0,
partNumber: 0,
length: 0,
height: 0,
width: 0,
material: ''
},
_msgid: 'eabafa41d25f5c41'
}
Test 2 - reading the Object (nodeId: ns=3;s="MyProcess"."DataFromDb";datatype=ExtensionObject;typeId=ns=3;s=DT_"DataFromDb")
first time (the object is already build):
06:29:19.270Z :populate_data_type_manager_104:38 Error Error: Cannot find dataType Definition ! with nodeId =ns=2;i=6522
... at C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:31:23
... at Generator.next ()
... at fulfilled (C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:5:58)
... at runMicrotasks ()
... at processTicksAndRejections (node:internal/process/task_queues:96:5)
06:29:19.355Z :populate_data_type_manager_104:167 err= Error
... at assert (C:\Users\Install.node-red\node_modules\node-opcua-assert\dist\index.js:11:21)
... at C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:164:52
... at Generator.next ()
... at fulfilled (C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:5:58)
... at runMicrotasks ()
... at processTicksAndRejections (node:internal/process/task_queues:96:5)
06:29:19.438Z :populate_data_type_manager_104:38 Error Error: Cannot find dataType Definition ! with nodeId =ns=2;i=6525
... at C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:31:23
... at Generator.next ()
... at fulfilled (C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:5:58)
... at runMicrotasks ()
... at processTicksAndRejections (node:internal/process/task_queues:96:5)
06:29:19.752Z :populate_data_type_manager_104:167 err= Error
... at assert (C:\Users\Install.node-red\node_modules\node-opcua-assert\dist\index.js:11:21)
... at C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:164:52
... at Generator.next ()
... at fulfilled (C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:5:58)
... at runMicrotasks ()
... at processTicksAndRejections (node:internal/process/task_queues:96:5)
06:29:20.021Z :populate_data_type_manager_104:38 Error Error: Cannot find dataType Definition ! with nodeId =ns=3;i=3400
... at C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:31:23
... at Generator.next ()
... at fulfilled (C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:5:58)
... at runMicrotasks ()
... at processTicksAndRejections (node:internal/process/task_queues:96:5)
06:29:20.131Z :populate_data_type_manager_104:167 err= Error
... at assert (C:\Users\Install.node-red\node_modules\node-opcua-assert\dist\index.js:11:21)
... at C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:164:52
... at Generator.next ()
... at fulfilled (C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:5:58)
... at runMicrotasks ()
... at processTicksAndRejections (node:internal/process/task_queues:96:5)
06:29:20.254Z :populate_data_type_manager_104:38 Error Error: Cannot find dataType Definition ! with nodeId =ns=3;i=3500
... at C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:31:23
... at Generator.next ()
... at fulfilled (C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:5:58)
... at runMicrotasks ()
... at processTicksAndRejections (node:internal/process/task_queues:96:5)
06:29:20.462Z :populate_data_type_manager_104:167 err= Error
... at assert (C:\Users\Install.node-red\node_modules\node-opcua-assert\dist\index.js:11:21)
... at C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:164:52
... at Generator.next ()
... at fulfilled (C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:5:58)
... at runMicrotasks ()
... at processTicksAndRejections (node:internal/process/task_queues:96:5)
06:29:20.892Z :populate_data_type_manager_104:38 Error Error: Cannot find dataType Definition ! with nodeId =ns=2;i=15889
... at C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:31:23
... at Generator.next ()
... at fulfilled (C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:5:58)
... at runMicrotasks ()
... at processTicksAndRejections (node:internal/process/task_queues:96:5)
06:29:20.939Z :populate_data_type_manager_104:167 err= Error
... at assert (C:\Users\Install.node-red\node_modules\node-opcua-assert\dist\index.js:11:21)
... at C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:164:52
... at Generator.next ()
... at fulfilled (C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:5:58)
... at runMicrotasks ()
... at processTicksAndRejections (node:internal/process/task_queues:96:5)
06:29:21.365Z :populate_data_type_manager_104:38 Error Error: Cannot find dataType Definition ! with nodeId =ns=2;i=15888
... at C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:31:23
... at Generator.next ()
... at fulfilled (C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:5:58)
... at runMicrotasks ()
... at processTicksAndRejections (node:internal/process/task_queues:96:5)
06:29:21.521Z :populate_data_type_manager_104:167 err= Error
... at assert (C:\Users\Install.node-red\node_modules\node-opcua-assert\dist\index.js:11:21)
... at C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:164:52
... at Generator.next ()
... at fulfilled (C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:5:58)
... at runMicrotasks ()
... at processTicksAndRejections (node:internal/process/task_queues:96:5)
11 Aug 08:29:21 - [info] [debug:debug READ]
{
msgid: '4d4a1fc9012e5449',
topic: 'ns=3;s="MyProcess"."DataFromDb"',
datatype: 'ExtensionObject;typeId=ns=3;s=DT "DataFromDb"',
browseName: 'ns=3;s="MyProcess"."DataFromDb";datatype=ExtensionObject;typeId=ns=3;s=DT_"DataFromDb"',
payload: DataFromDb {
trackingNumber: 0,
partNumber: 0,
length: 0,
height: 0,
width: 0,
material: ''
},
statusCode: ConstantStatusCode {
_value: 0,
_description: 'The operation succeeded.',
_name: 'Good'
},
serverTimestamp: 2022-08-29T11:09:21.996Z {
high_low: [ 30981015, -896884622 ],
picoseconds: 811400000
},
sourceTimestamp: 2022-08-29T11:09:21.996Z {
high_low: [ 30981015, -896884622 ],
picoseconds: 811400000
}
}
second time:
11 Aug 08:29:45 - [info] [debug:debug READ]
{
msgid: '46f5d1be7ff3fb4e',
topic: 'ns=3;s="MyProcess"."DataFromDb"',
datatype: 'ExtensionObject;typeId=ns=3;s=DT "DataFromDb"',
browseName: 'ns=3;s="MyProcess"."DataFromDb";datatype=ExtensionObject;typeId=ns=3;s=DT_"DataFromDb"',
payload: DataFromDb {
trackingNumber: 0,
partNumber: 0,
length: 0,
height: 0,
width: 0,
material: ''
},
statusCode: ConstantStatusCode {
_value: 0,
_description: 'The operation succeeded.',
_name: 'Good'
},
serverTimestamp: 2022-08-29T11:09:48.496Z {
high_low: [ 30981015, -631884442 ],
picoseconds: 829400000
},
sourceTimestamp: 2022-08-29T11:09:48.496Z {
high_low: [ 30981015, -631884442 ],
picoseconds: 829400000
}
}
Test 3 - writing the object
(object is already build)
with item node: BadTypeMismatch
without item node (inject values + topic):
first time:
06:50:07.205Z :populate_data_type_manager_104:38 Error Error: Cannot find dataType Definition ! with nodeId =ns=2;i=6522
... at C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:31:23
... at Generator.next ()
... at fulfilled (C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:5:58)
... at runMicrotasks ()
... at processTicksAndRejections (node:internal/process/task_queues:96:5)
06:50:07.383Z :populate_data_type_manager_104:167 err= Error
... at assert (C:\Users\Install.node-red\node_modules\node-opcua-assert\dist\index.js:11:21)
... at C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:164:52
... at Generator.next ()
... at fulfilled (C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:5:58)
... at runMicrotasks ()
... at processTicksAndRejections (node:internal/process/task_queues:96:5)
06:50:07.498Z :populate_data_type_manager_104:38 Error Error: Cannot find dataType Definition ! with nodeId =ns=2;i=6525
... at C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:31:23
... at Generator.next ()
... at fulfilled (C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:5:58)
... at runMicrotasks ()
... at processTicksAndRejections (node:internal/process/task_queues:96:5)
06:50:07.572Z :populate_data_type_manager_104:167 err= Error
... at assert (C:\Users\Install.node-red\node_modules\node-opcua-assert\dist\index.js:11:21)
... at C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:164:52
... at Generator.next ()
... at fulfilled (C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:5:58)
... at runMicrotasks ()
... at processTicksAndRejections (node:internal/process/task_queues:96:5)
06:50:07.689Z :populate_data_type_manager_104:38 Error Error: Cannot find dataType Definition ! with nodeId =ns=3;i=3400
... at C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:31:23
... at Generator.next ()
... at fulfilled (C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:5:58)
... at runMicrotasks ()
... at processTicksAndRejections (node:internal/process/task_queues:96:5)
06:50:07.798Z :populate_data_type_manager_104:167 err= Error
... at assert (C:\Users\Install.node-red\node_modules\node-opcua-assert\dist\index.js:11:21)
... at C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:164:52
... at Generator.next ()
... at fulfilled (C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:5:58)
... at runMicrotasks ()
... at processTicksAndRejections (node:internal/process/task_queues:96:5)
06:50:07.882Z :populate_data_type_manager_104:38 Error Error: Cannot find dataType Definition ! with nodeId =ns=3;i=3500
... at C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:31:23
... at Generator.next ()
... at fulfilled (C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:5:58)
... at runMicrotasks ()
... at processTicksAndRejections (node:internal/process/task_queues:96:5)
06:50:07.932Z :populate_data_type_manager_104:167 err= Error
... at assert (C:\Users\Install.node-red\node_modules\node-opcua-assert\dist\index.js:11:21)
... at C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:164:52
... at Generator.next ()
... at fulfilled (C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:5:58)
... at runMicrotasks ()
... at processTicksAndRejections (node:internal/process/task_queues:96:5)
06:50:08.325Z :populate_data_type_manager_104:38 Error Error: Cannot find dataType Definition ! with nodeId =ns=2;i=15889
... at C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:31:23
... at Generator.next ()
... at fulfilled (C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:5:58)
... at runMicrotasks ()
... at processTicksAndRejections (node:internal/process/task_queues:96:5)
06:50:08.445Z :populate_data_type_manager_104:167 err= Error
... at assert (C:\Users\Install.node-red\node_modules\node-opcua-assert\dist\index.js:11:21)
... at C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:164:52
... at Generator.next ()
... at fulfilled (C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:5:58)
... at runMicrotasks ()
... at processTicksAndRejections (node:internal/process/task_queues:96:5)
06:50:08.678Z :populate_data_type_manager_104:38 Error Error: Cannot find dataType Definition ! with nodeId =ns=2;i=15888
... at C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:31:23
... at Generator.next ()
... at fulfilled (C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:5:58)
... at runMicrotasks ()
... at processTicksAndRejections (node:internal/process/task_queues:96:5)
06:50:08.844Z :populate_data_type_manager_104:167 err= Error
... at assert (C:\Users\Install.node-red\node_modules\node-opcua-assert\dist\index.js:11:21)
... at C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:164:52
... at Generator.next ()
... at fulfilled (C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:5:58)
... at runMicrotasks ()
... at processTicksAndRejections (node:internal/process/task_queues:96:5)
11 Aug 08:50:09 - [info] [debug:debug WRITE]
{
_msgid: 'dc73b46fe5272fe8',
payload: ConstantStatusCode {
_value: 0,
description: 'The operation succeeded.',
name: 'Good'
},
topic: 'ns=3;s="MyProcess"."DataFromDb";datatype=ExtensionObject;typeId=ns=3;s=DT "DataFromDb"',
datatype: 'ExtensionObject;typeId=ns=3;s=DT "DataFromDb"'
}
second time:
11 Aug 08:51:06 - [info] [debug:debug WRITE]
{
_msgid: '11c497dd9cb30c60',
payload: ConstantStatusCode {
_value: 0,
description: 'The operation succeeded.',
name: 'Good'
},
topic: 'ns=3;s="MyProcess"."DataFromDb";datatype=ExtensionObject;typeId=ns=3;s=DT "DataFromDb"',
datatype: 'ExtensionObject;typeId=ns=3;s=DT "DataFromDb"'
}
Test 4 - build and read with the shorter nodeId
nodeId: ns=3;s="MyProcess"."DataFromDb"
same errors as before
the second try works perfectly again
OK, node-opcua will cache most probably types. Have to ask Etienne later (on vacation at the moment).
OK, node-opcua will cache most probably types. Have to ask Etienne later (on vacation at the moment).
@mikakaraila
have you reached out to Etienne yet? I'm still facing this problem.
New node-opcua v2.77.0 contains now fixes.
https://github.com/node-opcua/node-opcua/releases
I'm still getting the same error :/
(tested it on two different Node-Red instances)
Sorry I didn´t yet update packages. I meant your could try this before I commit new package, but wait a moment.
I will publish new version with updated node-opcua.
I'm getting another error now. The nodeIds who are causing this are the same.
It's still only happening after the first time reading/building/...
(buildNumber: 0.2.289)
12.09.22_Error.txt
04:58:01.204Z :populate_data_type_manager_104:54 Error Error: Cannot find dataType Definition ! with nodeId =ns=2;i=6522
... at C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:41:23
... at Generator.next ()
... at fulfilled (C:\Users\Install.node-red\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)
04:58:01.220Z :populate_data_type_manager_104:54 Error Error: Cannot find dataType Definition ! with nodeId =ns=2;i=6525
... at C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:41:23
... at Generator.next ()
... at fulfilled (C:\Users\Install.node-red\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)
04:58:01.230Z :populate_data_type_manager_104:54 Error Error: Cannot find dataType Definition ! with nodeId =ns=3;i=3400
... at C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:41:23
... at Generator.next ()
... at fulfilled (C:\Users\Install.node-red\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)
04:58:01.240Z :populate_data_type_manager_104:54 Error Error: Cannot find dataType Definition ! with nodeId =ns=3;i=3500
... at C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:41:23
... at Generator.next ()
... at fulfilled (C:\Users\Install.node-red\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)
04:58:01.421Z :populate_data_type_manager_104:54 Error Error: Cannot find dataType Definition ! with nodeId =ns=2;i=15889
... at C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:41:23
... at Generator.next ()
... at fulfilled (C:\Users\Install.node-red\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)
04:58:01.430Z :populate_data_type_manager_104:54 Error Error: Cannot find dataType Definition ! with nodeId =ns=2;i=15888
... at C:\Users\Install.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:41:23
... at Generator.next ()
... at fulfilled (C:\Users\Install.node-red\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)
@erossignon any idea what is happening?
@mikakaraila , I can conduct an investigation under the node-opcua support contract. This will require a live connection to the PLC. @david114 and @Verschnupft will need to contact Sterfive for professional support.
Just one more check: did you check that namespace index is correct? I mean that nodeId is correct...
Otherwise it must be something with cache when code will populate data types.
One comment that can solve this one. Now there are 3 client nodes and I suppose cache is perhaps somehow related to session context. If you use one client node and inject msg.action with needed other parameters to same client node this could work also on first try.
like this?
I'm only getting the error on the first action, for example "read". The following are working fine.
(The Node ID is the same as the one UAExpert displays.)
OK, then it is something inside client dynamic type building/cache.
Seems like Siemens datatypes are the root cause of this issue:
https://github.com/node-opcua/node-opcua/issues/1174#issuecomment-1250265816
As Etienne proposed try to find out problem type. I expect Tero has seen it but cannot remember what was causing this.
Please re-test with the new version that uses latest node-opcua v2.82.0
This one is still open: https://github.com/node-opcua/node-opcua/issues/1199
Please re-test with the new version that uses latest node-opcua v2.82.0
Still occurs. But it has gotten better as I only receive three different error messages now (on previous node-opcua-client versions there were 6 error messages, the same that Verschnupft mentioned here earlier).
This is what it looks like now:
10:50:51.583Z :populate_data_type_manager_104:59 Error Error: Cannot find dataType Definition ! with nodeId =ns=2;i=6525
... at /usr/src/app/node_modules/node-opcua-client-dynamic-extension-object/dist/private/populate_data_type_manager_104.js:44:27
... at Generator.next (<anonymous>)
... at fulfilled (/usr/src/app/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)
10:50:51.655Z :populate_data_type_manager_104:59 Error Error: Cannot find dataType Definition ! with nodeId =ns=2;i=15889
... at /usr/src/app/node_modules/node-opcua-client-dynamic-extension-object/dist/private/populate_data_type_manager_104.js:44:27
... at Generator.next (<anonymous>)
... at fulfilled (/usr/src/app/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)
10:50:51.665Z :populate_data_type_manager_104:59 Error Error: Cannot find dataType Definition ! with nodeId =ns=2;i=15888
... at /usr/src/app/node_modules/node-opcua-client-dynamic-extension-object/dist/private/populate_data_type_manager_104.js:44:27
... at Generator.next (<anonymous>)
... at fulfilled (/usr/src/app/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)
Can you check actual extension object access levels with UaExpert?
Is there Nonatomicread?
Like this:
I've got the same issue here.
Writing an Extension Object with OPC UA Client:
Getting these Errors:
But the extension object in the server was set with the defined Datatype "ThreeDCartesianCoordinates" succesfully.
Please test with new v0.2.295 as it uses now node-opcua v2.89 that contains fixes to extension objects.
The old error messages are gone. These are the new ones (build / read / write)
06:51:53.298Z :populate_data_type_manager_104:54 Error Error: Cannot find dataType Definition ! with nodeId =ns=2;i=6522
... at C:\Users\Install\.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:41:23
... at Generator.next (<anonymous>)
... at fulfilled (C:\Users\Install\.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:5:58)
... at runMicrotasks (<anonymous>)
... at processTicksAndRejections (node:internal/process/task_queues:96:5)
06:51:53.308Z :populate_data_type_manager_104:54 Error Error: Cannot find dataType Definition ! with nodeId =ns=2;i=6525
... at C:\Users\Install\.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:41:23
... at Generator.next (<anonymous>)
... at fulfilled (C:\Users\Install\.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:5:58)
... at runMicrotasks (<anonymous>)
... at processTicksAndRejections (node:internal/process/task_queues:96:5)
06:51:53.316Z :populate_data_type_manager_104:54 Error Error: Cannot find dataType Definition ! with nodeId =ns=3;i=3400
... at C:\Users\Install\.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:41:23
... at Generator.next (<anonymous>)
... at fulfilled (C:\Users\Install\.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:5:58)
... at runMicrotasks (<anonymous>)
... at processTicksAndRejections (node:internal/process/task_queues:96:5)
06:51:53.324Z :populate_data_type_manager_104:54 Error Error: Cannot find dataType Definition ! with nodeId =ns=3;i=3500
... at C:\Users\Install\.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:41:23
... at Generator.next (<anonymous>)
... at fulfilled (C:\Users\Install\.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:5:58)
... at runMicrotasks (<anonymous>)
... at processTicksAndRejections (node:internal/process/task_queues:96:5)
06:51:53.457Z :populate_data_type_manager_104:54 Error Error: Cannot find dataType Definition ! with nodeId =ns=2;i=15889
... at C:\Users\Install\.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:41:23
... at Generator.next (<anonymous>)
... at fulfilled (C:\Users\Install\.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:5:58)
... at runMicrotasks (<anonymous>)
... at processTicksAndRejections (node:internal/process/task_queues:96:5)
06:51:53.468Z :populate_data_type_manager_104:54 Error Error: Cannot find dataType Definition ! with nodeId =ns=2;i=15888
... at C:\Users\Install\.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:41:23
... at Generator.next (<anonymous>)
... at fulfilled (C:\Users\Install\.node-red\node_modules\node-opcua-client-dynamic-extension-object\dist\private\populate_data_type_manager_104.js:5:58)
... at runMicrotasks (<anonymous>)
... at processTicksAndRejections (node:internal/process/task_queues:96:5)