vogler75 / automation-gateway

A OPC UA gateway which gives you access to your OPC UA values via MQTT or GraphQL (HTTP). If you have an OPC UA server in your PLC, or a SCADA system with an OPC UA server, you can query data from there via MQTT and GraphQL (HTTP). In addition, the gateway can also log value changes from OPC UA nodes in an InfluxDB, IoTDB, Kafka, and others.
GNU General Public License v3.0
222 stars 34 forks source link

OPCUA resubscribe #8

Closed manprinsen closed 1 month ago

manprinsen commented 1 month ago

Hi,

I am experiencing that opcua (client) resubscription is not working as i expect.

I my case i have a Codesys linux runtime (including opcua server). I manually stopped the codesys runtime 18:02 and started it 18:04.

In the automation-gateway log it looks like this:

, serverTime=DateTime{utcTime=133647553707210000, javaDate=Sat Jul 06 18:02:50 CEST 2024}}
[2024-07-06 18:02:51][FINEST ][OpcUaDriver/milo              ] Got value Topic(topicName=opc/milo/path/Objects/DeviceSet/+, systemType=Opc, systemName=milo, topicType=Path, topicPath=Objects/DeviceSet/+, topicNode=ns=4;s=|vprop|CODESYS Control for Linux SL.Application.SerialNumber, dataFormat=Json, browsePath=Objects/DeviceSet/CODESYS Control for Linux SL/Resources/Application/SerialNumber) DataValue{value=Variant{value=null}, status=StatusCode{name=Bad_DataUnavailable, value=0x809E0000, quality=bad}, sourceTime=DateTime{utcTime=133647553707210000, javaDate=Sat Jul 06 18:02:50 CEST 2024}, serverTime=DateTime{utcTime=133647553707210000, javaDate=Sat Jul 06 18:02:50 CEST 2024}}
[2024-07-06 18:02:58][WARNING][OpcUaDriver/milo              ] onPublishFailure: io.netty.channel.ConnectTimeoutException: connection timed out after 5000 ms: plc1/100.0.0.40:4840
[2024-07-06 18:04:06][WARNING][OpcUaDriver/milo              ] onSubscriptionTransferFailed: StatusCode{name=Bad_ServiceUnsupported, value=0x800B0000, quality=bad}
[2024-07-06 18:04:06][INFO   ][OpcUaDriver/milo              ] Resubscribe [48] topics
[2024-07-06 18:04:06][FINE   ][OpcUaDriver/milo              ] Subscribe path [Objects/DeviceSet/+]
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] Browse address [Objects/DeviceSet/+] [Objects|DeviceSet|+]
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] Find i=85 | DeviceSet (1) | Objects
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Nodes: DeviceSet, NetworkSet, DeviceTopology, Server
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Found: DeviceSet
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] Find ns=2;i=5001 | + (2) | Objects/DeviceSet
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Nodes: DeviceFeatures, CODESYS Control for Linux SL
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Found: DeviceFeatures, CODESYS Control for Linux SL
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] Find ns=2;i=15034 | + (2) | Objects/DeviceSet/DeviceFeatures
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Nodes:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Found:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] Find ns=4;s=|plc|CODESYS Control for Linux SL | + (2) | Objects/DeviceSet/CODESYS Control for Linux SL
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Nodes: Resources
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Found: Resources
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] Find ns=4;i=1001 | + (2) | Objects/DeviceSet/CODESYS Control for Linux SL/Resources
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Nodes: Application
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Found: Application
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] Find ns=4;s=|var|CODESYS Control for Linux SL.Application | + (2) | Objects/DeviceSet/CODESYS Control for Linux SL/Resources/Application
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Nodes: SerialNumber, RevisionCounter, Manufacturer, Model, DeviceManual, DeviceRevision, SoftwareRevision, HardwareRevision, Programs, Tasks, GlobalVars
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Found: SerialNumber, RevisionCounter, Manufacturer, Model, DeviceManual, DeviceRevision, SoftwareRevision, HardwareRevision, Programs, Tasks, GlobalVars
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] Find ns=4;s=|vprop|CODESYS Control for Linux SL.Application.SerialNumber | + (2) | Objects/DeviceSet/CODESYS Control for Linux SL/Resources/Application/SerialNumber
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Nodes:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Found:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] Find ns=4;s=|vprop|CODESYS Control for Linux SL.Application.RevisionCounter | + (2) | Objects/DeviceSet/CODESYS Control for Linux SL/Resources/Application/RevisionCounter
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Nodes:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Found:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] Find ns=4;s=|vprop|CODESYS Control for Linux SL.Application.Manufacturer | + (2) | Objects/DeviceSet/CODESYS Control for Linux SL/Resources/Application/Manufacturer
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Nodes:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Found:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] Find ns=4;s=|vprop|CODESYS Control for Linux SL.Application.Model | + (2) | Objects/DeviceSet/CODESYS Control for Linux SL/Resources/Application/Model
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Nodes:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Found:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] Find ns=4;s=|vprop|CODESYS Control for Linux SL.Application.DeviceManual | + (2) | Objects/DeviceSet/CODESYS Control for Linux SL/Resources/Application/DeviceManual
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Nodes:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Found:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] Find ns=4;s=|vprop|CODESYS Control for Linux SL.Application.DeviceRevision | + (2) | Objects/DeviceSet/CODESYS Control for Linux SL/Resources/Application/DeviceRevision
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Nodes:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Found:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] Find ns=4;s=|vprop|CODESYS Control for Linux SL.Application.SoftwareRevision | + (2) | Objects/DeviceSet/CODESYS Control for Linux SL/Resources/Application/SoftwareRevision
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Nodes:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Found:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] Find ns=4;s=|vprop|CODESYS Control for Linux SL.Application.HardwareRevision | + (2) | Objects/DeviceSet/CODESYS Control for Linux SL/Resources/Application/HardwareRevision
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Nodes:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Found:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] Find ns=4;s=|appo|CODESYS Control for Linux SL.Application.Programs | + (2) | Objects/DeviceSet/CODESYS Control for Linux SL/Resources/Application/Programs
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Nodes: PLC_PRG, POU_FAST, POU_SIMULATIONS, POU_TEST
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Found: PLC_PRG, POU_FAST, POU_SIMULATIONS, POU_TEST
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] Find ns=4;s=|var|CODESYS Control for Linux SL.Application.PLC_PRG | + (2) | Objects/DeviceSet/CODESYS Control for Linux SL/Resources/Application/Programs/PLC_PRG
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Nodes: iTest
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Found: iTest
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] Find ns=4;s=|var|CODESYS Control for Linux SL.Application.PLC_PRG.iTest | + (2) | Objects/DeviceSet/CODESYS Control for Linux SL/Resources/Application/Programs/PLC_PRG/iTest
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Nodes:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Found:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] Find ns=4;s=|var|CODESYS Control for Linux SL.Application.POU_FAST | + (2) | Objects/DeviceSet/CODESYS Control for Linux SL/Resources/Application/Programs/POU_FAST
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Nodes: delay, iFast, iStep
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Found: delay, iFast, iStep
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] Find ns=4;s=|var|CODESYS Control for Linux SL.Application.POU_FAST.delay | + (2) | Objects/DeviceSet/CODESYS Control for Linux SL/Resources/Application/Programs/POU_FAST/delay
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Nodes:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Found:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] Find ns=4;s=|var|CODESYS Control for Linux SL.Application.POU_FAST.iFast | + (2) | Objects/DeviceSet/CODESYS Control for Linux SL/Resources/Application/Programs/POU_FAST/iFast
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Nodes:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Found:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] Find ns=4;s=|var|CODESYS Control for Linux SL.Application.POU_FAST.iStep | + (2) | Objects/DeviceSet/CODESYS Control for Linux SL/Resources/Application/Programs/POU_FAST/iStep
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Nodes:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Found:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] Find ns=4;s=|var|CODESYS Control for Linux SL.Application.POU_SIMULATIONS | + (2) | Objects/DeviceSet/CODESYS Control for Linux SL/Resources/Application/Programs/POU_SIMULATIONS

[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Nodes: flowRate, humidity, level, pressure, temperature

[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Found: flowRate, humidity, level, pressure, temperature

[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] Find ns=4;s=|var|CODESYS Control for Linux SL.Application.POU_SIMULATIONS.flowRate | + (2) | Objects/DeviceSet/CODESYS Control for Linux SL/Resources/Application/Programs/POU_SIMULATIONS/flowRate
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Nodes:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Found:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] Find ns=4;s=|var|CODESYS Control for Linux SL.Application.POU_SIMULATIONS.humidity | + (2) | Objects/DeviceSet/CODESYS Control for Linux SL/Resources/Application/Programs/POU_SIMULATIONS/humidity
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Nodes:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Found:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] Find ns=4;s=|var|CODESYS Control for Linux SL.Application.POU_SIMULATIONS.level | + (2) | Objects/DeviceSet/CODESYS Control for Linux SL/Resources/Application/Programs/POU_SIMULATIONS/level
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Nodes:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Found:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] Find ns=4;s=|var|CODESYS Control for Linux SL.Application.POU_SIMULATIONS.pressure | + (2) | Objects/DeviceSet/CODESYS Control for Linux SL/Resources/Application/Programs/POU_SIMULATIONS/pressure
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Nodes:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Found:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] Find ns=4;s=|var|CODESYS Control for Linux SL.Application.POU_SIMULATIONS.temperature | + (2) | Objects/DeviceSet/CODESYS Control for Linux SL/Resources/Application/Programs/POU_SIMULATIONS/temperature
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Nodes:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Found:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] Find ns=4;s=|var|CODESYS Control for Linux SL.Application.POU_TEST | + (2) | Objects/DeviceSet/CODESYS Control for Linux SL/Resources/Application/Programs/POU_TEST
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Nodes: iTest0
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Found: iTest0
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] Find ns=4;s=|var|CODESYS Control for Linux SL.Application.POU_TEST.iTest0 | + (2) | Objects/DeviceSet/CODESYS Control for Linux SL/Resources/Application/Programs/POU_TEST/iTest0

[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Nodes:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Found:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] Find ns=4;s=|appo|CODESYS Control for Linux SL.Application.Tasks | + (2) | Objects/DeviceSet/CODESYS Control for Linux SL/Resources/Application/Tasks
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Nodes:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Found:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] Find ns=4;s=|appo|CODESYS Control for Linux SL.Application.GlobalVars | + (2) | Objects/DeviceSet/CODESYS Control for Linux SL/Resources/Application/GlobalVars
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Nodes: GVL
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Found: GVL
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] Find ns=4;s=|var|CODESYS Control for Linux SL.Application.GVL | + (2) | Objects/DeviceSet/CODESYS Control for Linux SL/Resources/Application/GlobalVars/GVL
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Nodes: iTest0, iTest1, iTest2, iTest3, iTest4
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Found: iTest0, iTest1, iTest2, iTest3, iTest4
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] Find ns=4;s=|var|CODESYS Control for Linux SL.Application.GVL.iTest0 | + (2) | Objects/DeviceSet/CODESYS Control for Linux SL/Resources/Application/GlobalVars/GVL/iTest0
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Nodes:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Found:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] Find ns=4;s=|var|CODESYS Control for Linux SL.Application.GVL.iTest1 | + (2) | Objects/DeviceSet/CODESYS Control for Linux SL/Resources/Application/GlobalVars/GVL/iTest1
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Nodes:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Found:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] Find ns=4;s=|var|CODESYS Control for Linux SL.Application.GVL.iTest2 | + (2) | Objects/DeviceSet/CODESYS Control for Linux SL/Resources/Application/GlobalVars/GVL/iTest2
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Nodes: iTest2[0], iTest2[1], iTest2[2], iTest2[3], iTest2[4], iTest2[5], iTest2[6], iTest2[7], iTest2[8], iTest2[9], iTest2[10], Dimensions, IndexMin, IndexMax
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Found: iTest2[0], iTest2[1], iTest2[2], iTest2[3], iTest2[4], iTest2[5], iTest2[6], iTest2[7], iTest2[8], iTest2[9], iTest2[10], Dimensions, IndexMin, IndexMax
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] Find ns=4;s=|var|CODESYS Control for Linux SL.Application.GVL.iTest2[0] | + (2) | Objects/DeviceSet/CODESYS Control for Linux SL/Resources/Application/GlobalVars/GVL/iTest2/iTest2[0]
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Nodes:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Found:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] Find ns=4;s=|var|CODESYS Control for Linux SL.Application.GVL.iTest2[1] | + (2) | Objects/DeviceSet/CODESYS Control for Linux SL/Resources/Application/GlobalVars/GVL/iTest2/iTest2[1]
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Nodes:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Found:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] Find ns=4;s=|var|CODESYS Control for Linux SL.Application.GVL.iTest2[2] | + (2) | Objects/DeviceSet/CODESYS Control for Linux SL/Resources/Application/GlobalVars/GVL/iTest2/iTest2[2]
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Nodes:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Found:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] Find ns=4;s=|var|CODESYS Control for Linux SL.Application.GVL.iTest2[3] | + (2) | Objects/DeviceSet/CODESYS Control for Linux SL/Resources/Application/GlobalVars/GVL/iTest2/iTest2[3]
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Nodes:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Found:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] Find ns=4;s=|var|CODESYS Control for Linux SL.Application.GVL.iTest2[4] | + (2) | Objects/DeviceSet/CODESYS Control for Linux SL/Resources/Application/GlobalVars/GVL/iTest2/iTest2[4]
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Nodes:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Found:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] Find ns=4;s=|var|CODESYS Control for Linux SL.Application.GVL.iTest2[5] | + (2) | Objects/DeviceSet/CODESYS Control for Linux SL/Resources/Application/GlobalVars/GVL/iTest2/iTest2[5]
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Nodes:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Found:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] Find ns=4;s=|var|CODESYS Control for Linux SL.Application.GVL.iTest2[6] | + (2) | Objects/DeviceSet/CODESYS Control for Linux SL/Resources/Application/GlobalVars/GVL/iTest2/iTest2[6]
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Nodes:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Found:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] Find ns=4;s=|var|CODESYS Control for Linux SL.Application.GVL.iTest2[7] | + (2) | Objects/DeviceSet/CODESYS Control for Linux SL/Resources/Application/GlobalVars/GVL/iTest2/iTest2[7]
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Nodes:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Found:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] Find ns=4;s=|var|CODESYS Control for Linux SL.Application.GVL.iTest2[8] | + (2) | Objects/DeviceSet/CODESYS Control for Linux SL/Resources/Application/GlobalVars/GVL/iTest2/iTest2[8]
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Nodes:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Found:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] Find ns=4;s=|var|CODESYS Control for Linux SL.Application.GVL.iTest2[9] | + (2) | Objects/DeviceSet/CODESYS Control for Linux SL/Resources/Application/GlobalVars/GVL/iTest2/iTest2[9]
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Nodes:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Found:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] Find ns=4;s=|var|CODESYS Control for Linux SL.Application.GVL.iTest2[10] | + (2) | Objects/DeviceSet/CODESYS Control for Linux SL/Resources/Application/GlobalVars/GVL/iTest2/iTest2[10]
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Nodes:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Found:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] Find ns=4;s=|vprop|CODESYS Control for Linux SL.Application.GVL.iTest2.Dimensions | + (2) | Objects/DeviceSet/CODESYS Control for Linux SL/Resources/Application/GlobalVars/GVL/iTest2/Dimensions
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Nodes:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Found:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] Find ns=4;s=|vprop|CODESYS Control for Linux SL.Application.GVL.iTest2.IndexMin | + (2) | Objects/DeviceSet/CODESYS Control for Linux SL/Resources/Application/GlobalVars/GVL/iTest2/IndexMin
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Nodes:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Found:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] Find ns=4;s=|vprop|CODESYS Control for Linux SL.Application.GVL.iTest2.IndexMax | + (2) | Objects/DeviceSet/CODESYS Control for Linux SL/Resources/Application/GlobalVars/GVL/iTest2/IndexMax
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Nodes:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Found:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] Find ns=4;s=|var|CODESYS Control for Linux SL.Application.GVL.iTest3 | + (2) | Objects/DeviceSet/CODESYS Control for Linux SL/Resources/Application/GlobalVars/GVL/iTest3
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Nodes:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Found:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] Find ns=4;s=|var|CODESYS Control for Linux SL.Application.GVL.iTest4 | + (2) | Objects/DeviceSet/CODESYS Control for Linux SL/Resources/Application/GlobalVars/GVL/iTest4
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Nodes: iTest4[0], iTest4[1], iTest4[2], iTest4[3], iTest4[4], iTest4[5], iTest4[6], iTest4[7], iTest4[8], iTest4[9], iTest4[10], Dimensions, IndexMin, IndexMax
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Found: iTest4[0], iTest4[1], iTest4[2], iTest4[3], iTest4[4], iTest4[5], iTest4[6], iTest4[7], iTest4[8], iTest4[9], iTest4[10], Dimensions, IndexMin, IndexMax
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] Find ns=4;s=|var|CODESYS Control for Linux SL.Application.GVL.iTest4[0] | + (2) | Objects/DeviceSet/CODESYS Control for Linux SL/Resources/Application/GlobalVars/GVL/iTest4/iTest4[0]
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Nodes:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Found:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] Find ns=4;s=|var|CODESYS Control for Linux SL.Application.GVL.iTest4[1] | + (2) | Objects/DeviceSet/CODESYS Control for Linux SL/Resources/Application/GlobalVars/GVL/iTest4/iTest4[1]
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Nodes:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Found:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] Find ns=4;s=|var|CODESYS Control for Linux SL.Application.GVL.iTest4[2] | + (2) | Objects/DeviceSet/CODESYS Control for Linux SL/Resources/Application/GlobalVars/GVL/iTest4/iTest4[2]
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Nodes:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Found:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] Find ns=4;s=|var|CODESYS Control for Linux SL.Application.GVL.iTest4[3] | + (2) | Objects/DeviceSet/CODESYS Control for Linux SL/Resources/Application/GlobalVars/GVL/iTest4/iTest4[3]
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Nodes:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Found:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] Find ns=4;s=|var|CODESYS Control for Linux SL.Application.GVL.iTest4[4] | + (2) | Objects/DeviceSet/CODESYS Control for Linux SL/Resources/Application/GlobalVars/GVL/iTest4/iTest4[4]
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Nodes:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Found:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] Find ns=4;s=|var|CODESYS Control for Linux SL.Application.GVL.iTest4[5] | + (2) | Objects/DeviceSet/CODESYS Control for Linux SL/Resources/Application/GlobalVars/GVL/iTest4/iTest4[5]
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Nodes:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Found:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] Find ns=4;s=|var|CODESYS Control for Linux SL.Application.GVL.iTest4[6] | + (2) | Objects/DeviceSet/CODESYS Control for Linux SL/Resources/Application/GlobalVars/GVL/iTest4/iTest4[6]
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Nodes:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Found:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] Find ns=4;s=|var|CODESYS Control for Linux SL.Application.GVL.iTest4[7] | + (2) | Objects/DeviceSet/CODESYS Control for Linux SL/Resources/Application/GlobalVars/GVL/iTest4/iTest4[7]
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Nodes:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Found:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] Find ns=4;s=|var|CODESYS Control for Linux SL.Application.GVL.iTest4[8] | + (2) | Objects/DeviceSet/CODESYS Control for Linux SL/Resources/Application/GlobalVars/GVL/iTest4/iTest4[8]
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Nodes:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Found:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] Find ns=4;s=|var|CODESYS Control for Linux SL.Application.GVL.iTest4[9] | + (2) | Objects/DeviceSet/CODESYS Control for Linux SL/Resources/Application/GlobalVars/GVL/iTest4/iTest4[9]
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Nodes:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Found:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] Find ns=4;s=|var|CODESYS Control for Linux SL.Application.GVL.iTest4[10] | + (2) | Objects/DeviceSet/CODESYS Control for Linux SL/Resources/Application/GlobalVars/GVL/iTest4/iTest4[10]
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Nodes:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Found:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] Find ns=4;s=|vprop|CODESYS Control for Linux SL.Application.GVL.iTest4.Dimensions | + (2) | Objects/DeviceSet/CODESYS Control for Linux SL/Resources/Application/GlobalVars/GVL/iTest4/Dimensions
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Nodes:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Found:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] Find ns=4;s=|vprop|CODESYS Control for Linux SL.Application.GVL.iTest4.IndexMin | + (2) | Objects/DeviceSet/CODESYS Control for Linux SL/Resources/Application/GlobalVars/GVL/iTest4/IndexMin
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Nodes:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Found:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] Find ns=4;s=|vprop|CODESYS Control for Linux SL.Application.GVL.iTest4.IndexMax | + (2) | Objects/DeviceSet/CODESYS Control for Linux SL/Resources/Application/GlobalVars/GVL/iTest4/IndexMax
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Nodes:
[2024-07-06 18:04:06][FINEST ][OpcUaDriver/milo              ] - Found:
[2024-07-06 18:04:06][FINE   ][OpcUaDriver/milo              ] Subscribe path [Objects/DeviceSet/+]
[2024-07-06 18:04:06][FINE   ][OpcUaDriver/milo              ] Subscribe path [Objects/DeviceSet/+]
[2024-07-06 18:04:06][FINE   ][OpcUaDriver/milo              ] Subscribe path [Objects/DeviceSet/+]
[2024-07-06 18:04:06][FINE   ][OpcUaDriver/milo              ] Subscribe path [Objects/DeviceSet/+]
[2024-07-06 18:04:06][FINE   ][OpcUaDriver/milo              ] Subscribe path [Objects/DeviceSet/+]
[2024-07-06 18:04:06][FINE   ][OpcUaDriver/milo              ] Subscribe path [Objects/DeviceSet/+]
[2024-07-06 18:04:06][FINE   ][OpcUaDriver/milo              ] Subscribe path [Objects/DeviceSet/+]
[2024-07-06 18:04:06][FINE   ][OpcUaDriver/milo              ] Subscribe path [Objects/DeviceSet/+]
[2024-07-06 18:04:06][FINE   ][OpcUaDriver/milo              ] Subscribe path [Objects/DeviceSet/+]
[2024-07-06 18:04:06][FINE   ][OpcUaDriver/milo              ] Subscribe path [Objects/DeviceSet/+]
[2024-07-06 18:04:06][FINE   ][OpcUaDriver/milo              ] Subscribe path [Objects/DeviceSet/+]
[2024-07-06 18:04:06][FINE   ][OpcUaDriver/milo              ] Subscribe path [Objects/DeviceSet/+]
[2024-07-06 18:04:06][FINE   ][OpcUaDriver/milo              ] Subscribe path [Objects/DeviceSet/+]
[2024-07-06 18:04:06][FINE   ][OpcUaDriver/milo              ] Subscribe path [Objects/DeviceSet/+]
[2024-07-06 18:04:06][FINE   ][OpcUaDriver/milo              ] Subscribe path [Objects/DeviceSet/+]
[2024-07-06 18:04:06][FINE   ][OpcUaDriver/milo              ] Subscribe path [Objects/DeviceSet/+]
[2024-07-06 18:04:06][FINE   ][OpcUaDriver/milo              ] Subscribe path [Objects/DeviceSet/+]
[2024-07-06 18:04:06][FINE   ][OpcUaDriver/milo              ] Subscribe path [Objects/DeviceSet/+]
[2024-07-06 18:04:06][FINE   ][OpcUaDriver/milo              ] Subscribe path [Objects/DeviceSet/+]
[2024-07-06 18:04:06][FINE   ][OpcUaDriver/milo              ] Subscribe path [Objects/DeviceSet/+]
[2024-07-06 18:04:06][FINE   ][OpcUaDriver/milo              ] Subscribe path [Objects/DeviceSet/+]
[2024-07-06 18:04:06][FINE   ][OpcUaDriver/milo              ] Subscribe path [Objects/DeviceSet/+]
[2024-07-06 18:04:06][FINE   ][OpcUaDriver/milo              ] Subscribe path [Objects/DeviceSet/+]
[2024-07-06 18:04:06][FINE   ][OpcUaDriver/milo              ] Subscribe path [Objects/DeviceSet/+]
[2024-07-06 18:04:06][FINE   ][OpcUaDriver/milo              ] Subscribe path [Objects/DeviceSet/+]
[2024-07-06 18:04:06][FINE   ][OpcUaDriver/milo              ] Subscribe path [Objects/DeviceSet/+]
[2024-07-06 18:04:06][FINE   ][OpcUaDriver/milo              ] Subscribe path [Objects/DeviceSet/+]
[2024-07-06 18:04:06][FINE   ][OpcUaDriver/milo              ] Subscribe path [Objects/DeviceSet/+]
[2024-07-06 18:04:06][FINE   ][OpcUaDriver/milo              ] Subscribe path [Objects/DeviceSet/+]
[2024-07-06 18:04:06][FINE   ][OpcUaDriver/milo              ] Subscribe path [Objects/DeviceSet/+]
[2024-07-06 18:04:06][FINE   ][OpcUaDriver/milo              ] Subscribe path [Objects/DeviceSet/+]
[2024-07-06 18:04:06][FINE   ][OpcUaDriver/milo              ] Subscribe path [Objects/DeviceSet/+]
[2024-07-06 18:04:06][FINE   ][OpcUaDriver/milo              ] Subscribe path [Objects/DeviceSet/+]
[2024-07-06 18:04:06][FINE   ][OpcUaDriver/milo              ] Subscribe path [Objects/DeviceSet/+]
[2024-07-06 18:04:06][FINE   ][OpcUaDriver/milo              ] Subscribe path [Objects/DeviceSet/+]
[2024-07-06 18:04:06][FINE   ][OpcUaDriver/milo              ] Subscribe path [Objects/DeviceSet/+]
[2024-07-06 18:04:06][FINE   ][OpcUaDriver/milo              ] Subscribe path [Objects/DeviceSet/+]
[2024-07-06 18:04:06][FINE   ][OpcUaDriver/milo              ] Subscribe path [Objects/DeviceSet/+]
[2024-07-06 18:04:06][FINE   ][OpcUaDriver/milo              ] Subscribe path [Objects/DeviceSet/+]
[2024-07-06 18:04:06][FINE   ][OpcUaDriver/milo              ] Subscribe path [Objects/DeviceSet/+]
[2024-07-06 18:04:06][FINE   ][OpcUaDriver/milo              ] Subscribe path [Objects/DeviceSet/+]
[2024-07-06 18:04:06][FINE   ][OpcUaDriver/milo              ] Subscribe path [Objects/DeviceSet/+]
[2024-07-06 18:04:06][FINE   ][OpcUaDriver/milo              ] Subscribe path [Objects/DeviceSet/+]
[2024-07-06 18:04:06][FINE   ][OpcUaDriver/milo              ] Subscribe path [Objects/DeviceSet/+]
[2024-07-06 18:04:06][FINE   ][OpcUaDriver/milo              ] Subscribe path [Objects/DeviceSet/+]
[2024-07-06 18:04:06][FINE   ][OpcUaDriver/milo              ] Subscribe path [Objects/DeviceSet/+]
[2024-07-06 18:04:06][FINE   ][OpcUaDriver/milo              ] Subscribe path [Objects/DeviceSet/+]
[2024-07-06 18:04:06][FINE   ][OpcUaDriver/milo              ] Browse path result size [2304]
[2024-07-06 18:04:06][FINE   ][OpcUaDriver/milo              ] Subscribe nodes [2304] sampling interval [0.0]
[2024-07-06 18:04:06][WARNING][OpcUaDriver/milo              ] Service Fault: ServiceFault(responseHeader=ResponseHeader(timestamp=DateTime{utcTime=133647554450410000, javaDate=Sat Jul 06 18:04:05 CEST 2024}, requestHandle=859, serviceResult=StatusCode{name=Bad_TooManyOperations, value=0x80100000, quality=bad}, serviceDiagnostics=null, stringTable=null, additionalHeader=ExtensionObject{encoded=ByteString{bytes=null}, encodingId=NodeId{ns=0, id=0}}))

It seems like the automation-gateway opcua client successfully gets connected again to the opcua server, but no tags are being logged to my influxdb database.

Full config file:

Servers:
  Mqtt:
    - Port: 1883
      Host: 0.0.0.0
      LogLevel: INFO # ALL | INFO

  GraphQL:
    - Port: 4000
      LogLevel: INFO
      GraphiQL: true
      WriteSchemaToFile: false
      Schemas:
        - System: milo
          FieldName: DisplayName
          RootNodes:
            - ns=2;i=5001

Loggers:
  InfluxDB:
    - Id: influx1   
      Url: http://100.0.0.45:8091
      Database: codesys
      Username: ""
      Password: ""
      WriteParameters:
        QueueSize: 20000
        BlockSize: 10000
      Logging:
        - Topic: opc/milo/path/Objects/DeviceSet/+

    - Id: mysql
      Enabled: false
      Url: jdbc:mysql://100.0.0.251:3306/frankenstein
      Username: root
      Password: 1234
      Logging:
        - Topic: opc/milo/path/Objects/DeviceSet/+

Drivers:
  OpcUa:
  - Id: "milo"
    Enabled: true
    LogLevel: ALL
    EndpointUrl: "opc.tcp://100.0.0.40:4840"
    UpdateEndpointUrl: false
    SecurityPolicyUri: http://opcfoundation.org/UA/SecurityPolicy#None
    UsernameProvider:
      Username: root
      Password: 1234
    ConnectTimeout: 5000
    RequestTimeout: 5000
    KeepAliveFailuresAllowed: 2
    SubscriptionSamplingInterval: 0.0
    AddressCache:
      MaximumSize: 10000
      ExpireAfterSeconds: 60
    WriteParameters:
      QueueSize: 10000
      BlockSize: 200
      WithTime: false
    MonitoringParameters:
      BufferSize: 10
      SamplingInterval: 0
      DiscardOldest: true
      DataChangeTrigger: StatusValue # Status | StatusValue | StatusValueTimestamp

If i restart the automation-gateway everthing works as expected.

For context, i have 37 tags in the opcua server and i have tried different topics for the influxdb logger. This seem to cause the problem when i restart the opcua server.

And just to clearify; if i have - Topic: opc/milo/path/Objects/DeviceSet/+ as topic everything works as expected when i start the automation-gateway. Below test result for WORKING and NOT WORKING is for when i restart the opcua server, while the automation-gateway is running :)

Loggers:
  InfluxDB:
    - Id: influx1   
      Url: http://100.0.0.45:8091
      Database: codesys
      Username: ""
      Password: ""
      WriteParameters:
        QueueSize: 20000
        BlockSize: 10000
      Logging:
# WORKING (one tag)
#        - Topic: opc/milo/path/Objects/DeviceSet/CODESYS Control for Linux SL/Resources/Application/Programs/POU_FAST/iFast

# WORKING (POU_FAST=3 tags)
#        - Topic: opc/milo/path/Objects/DeviceSet/CODESYS Control for Linux SL/Resources/Application/Programs/POU_FAST/+

# WORKING (PLC_PRG=1 tag, POU_FAST=3 tags, POU_SIMULATIONS=5 tags)
#        - Topic: opc/milo/path/Objects/DeviceSet/CODESYS Control for Linux SL/Resources/Application/Programs/+

# NOT WORKING (GVL has around 30 tags)
#        - Topic: opc/milo/path/Objects/DeviceSet/CODESYS Control for Linux SL/Resources/Application/GlobalVars/+

# NOT WORKING (GVL has around 30 tags)
#        - Topic: opc/milo/path/Objects/DeviceSet/CODESYS Control for Linux SL/Resources/Application/GlobalVars/GVL/+

# NOT WORKING
#        - Topic: opc/milo/path/Objects/DeviceSet/CODESYS Control for Linux SL/Resources/Application/Programs/+
#        - Topic: opc/milo/path/Objects/DeviceSet/CODESYS Control for Linux SL/Resources/Application/GlobalVars/+

# NOT WORKING 
#        - Topic: opc/milo/path/Objects/DeviceSet/CODESYS Control for Linux SL/Resources/Application/+
vogler75 commented 1 month ago

The server says "Bad_TooManyOperations"... But strange that on startup it works and on re-subscribe not. Maybe because on startup Java is not yet optimized. We may add a delay between the subscriptions to check...

vogler75 commented 1 month ago

but it is a single call to Milo with all requests. OpcUaDriver.kt, line 682: subscription!! .createMonitoredItems(TimestampsToReturn.Both, requests, onItemCreated) .thenAccept { monitoredItems: List<UaMonitoredItem> -> is there a way to get your codesys server to test it locally?

manprinsen commented 1 month ago

Of course :) I have a windows pc with the source code where we can make changes and test it, perhaps using teamviewer or rustdesk.

Otherwise I can give you a wireguard connection to the codesys plc.

Is there a way I can DM you? :)

vogler75 commented 1 month ago

Here is my gmail: andres.vogler@gmail.com Write or text me on google chat.

vogler75 commented 1 month ago

I tested it now with my OPC UA server and I have to admit that re-subscribe subscribes too often to the same nodes. Need to check how to fix that.

vogler75 commented 1 month ago

I fixed an issue on re-subscribe, please try it again with the Development Branch.

manprinsen commented 1 month ago

awesome :) worked like a charm! thanks man :)