node-red-contrib-opcua icon indicating copy to clipboard operation
node-red-contrib-opcua copied to clipboard

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 image

UAExpert image

Verschnupft avatar Jul 26 '22 04:07 Verschnupft

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

mikakaraila avatar Jul 26 '22 06:07 mikakaraila

We have to wait this one will be solved: https://github.com/node-opcua/node-opcua/issues/1174

mikakaraila avatar Jul 28 '22 05:07 mikakaraila

Please test, I updated dependency node-opcua v2.73.0 that contains fixes related to this.

mikakaraila avatar Aug 10 '22 17:08 mikakaraila

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

Verschnupft avatar Aug 11 '22 06:08 Verschnupft

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).

mikakaraila avatar Aug 11 '22 06:08 mikakaraila

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:

vmplayer_2JaFN0hZOy

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

Verschnupft avatar Aug 11 '22 06:08 Verschnupft

OK, node-opcua will cache most probably types. Have to ask Etienne later (on vacation at the moment).

mikakaraila avatar Aug 11 '22 07:08 mikakaraila

ok, thank you :)

Verschnupft avatar Aug 11 '22 07:08 Verschnupft

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.

david114 avatar Aug 22 '22 15:08 david114

New node-opcua v2.77.0 contains now fixes.

https://github.com/node-opcua/node-opcua/releases

mikakaraila avatar Sep 09 '22 08:09 mikakaraila

I'm still getting the same error :/ (tested it on two different Node-Red instances)

Verschnupft avatar Sep 09 '22 09:09 Verschnupft

me too

david114 avatar Sep 09 '22 09:09 david114

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.

mikakaraila avatar Sep 11 '22 17:09 mikakaraila

Ok, please re-test-

mikakaraila avatar Sep 11 '22 18:09 mikakaraila

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)

Verschnupft avatar Sep 12 '22 05:09 Verschnupft

@erossignon any idea what is happening?

mikakaraila avatar Sep 12 '22 05:09 mikakaraila

@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.

erossignon avatar Sep 12 '22 05:09 erossignon

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.

mikakaraila avatar Sep 12 '22 06:09 mikakaraila

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.

mikakaraila avatar Sep 12 '22 06:09 mikakaraila

like this? vmplayer_u4qXaZjT96

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.)

Verschnupft avatar Sep 12 '22 07:09 Verschnupft

OK, then it is something inside client dynamic type building/cache.

mikakaraila avatar Sep 12 '22 07:09 mikakaraila

Seems like Siemens datatypes are the root cause of this issue: https://github.com/node-opcua/node-opcua/issues/1174#issuecomment-1250265816

david114 avatar Sep 19 '22 14:09 david114

As Etienne proposed try to find out problem type. I expect Tero has seen it but cannot remember what was causing this.

mikakaraila avatar Sep 20 '22 06:09 mikakaraila

Please re-test with the new version that uses latest node-opcua v2.82.0

mikakaraila avatar Nov 06 '22 12:11 mikakaraila

This one is still open: https://github.com/node-opcua/node-opcua/issues/1199

mikakaraila avatar Nov 10 '22 18:11 mikakaraila

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)

david114 avatar Nov 11 '22 11:11 david114

Can you check actual extension object access levels with UaExpert?

Is there Nonatomicread?

Like this: image

mikakaraila avatar Nov 11 '22 12:11 mikakaraila

I've got the same issue here.

Writing an Extension Object with OPC UA Client: image

Getting these Errors: image

But the extension object in the server was set with the defined Datatype "ThreeDCartesianCoordinates" succesfully.

1Tosch avatar Nov 22 '22 12:11 1Tosch

Please test with new v0.2.295 as it uses now node-opcua v2.89 that contains fixes to extension objects.

mikakaraila avatar Jan 24 '23 18:01 mikakaraila

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)

Verschnupft avatar Jan 26 '23 07:01 Verschnupft