MicrosoftDocs / azure-docs

Open source documentation of Microsoft Azure
https://docs.microsoft.com/azure
Creative Commons Attribution 4.0 International
10.2k stars 21.34k forks source link

Can't subsribe to more than 194 nodes / PLC #79082

Open simonfrindberg opened 3 years ago

simonfrindberg commented 3 years ago

Hello,

I'm using a standalone OPCPublisher module connected to a Number of PLC's. The PLC's themselves have different stations and follow a similar but anonymizes structure:

"EndpointUrl": "opc.tcp://xx.xx.xxx.xx:4840", "ApplicationUri": "urn:SIMATIC.S7-1500.OPC-UAServer.xxx-001", "OpcNodes": [ { "Id": "nsu=OPC/UA/x/x/x/1;i=1022", "OpcSamplingInterval": 2000, "OpcPublishingInterval": 5000, "DisplayName": "Information_Description_1" }, { "Id": "nsu=OPC/UA/x/x/x/2;i=1022", "OpcSamplingInterval": 2000, "OpcPublishingInterval": 5000, "DisplayName": "Information_Description_2" }, { "Id": "nsu=OPC/UA/x/x/x/3;i=1022", "OpcSamplingInterval": 2000, "OpcPublishingInterval": 5000, "DisplayName": "Information_Description_3" } ] } ]

This all works good, but whenever the amount of "nodes" for 1 (one ip adress) plc is more than 194 the OPCpublisher throughs a fit.

`[09:27:30 INF Microsoft.Azure.IIoT.OpcUa.Edge.Publisher.Engine.DataFlowProcessingEngine] DIAGNOSTICS INFORMATION for : opc.tcp://xx.xx.xxx.xx:x

Ingestion duration : 00:00:37:49 (dd:hh:mm:ss)

Ingress DataChanges (from OPC) : 107 (0.05/s)

Ingress ValueChanges (from OPC) : 904 (0.4/s)

Ingress BatchBlock buffer size : 0

Encoding Block input/output size : 0 | 0

Encoder Notifications processed : 841

Encoder Notifications dropped : 0

Encoder IoT Messages processed : 2

Encoder avg Notifications/Message : 421

Encoder avg IoT Message body size : 104,165 (40%)

Encoder avg IoT Chunk (4 KB) usage : 25.4

Estimated IoT Chunks (4 KB) per day: 1,980

Outgress Batch Block buffer size : 0

Outgress input buffer count : 0

Outgress input buffer dropped : 0

Outgress IoT message count : 2 (0/s)

Connection retries : 0`

The error i get when ever i add more than 194 nodes is:

[09:28:04 INF Microsoft.Azure.IIoT.OpcUa.Protocol.Services.DefaultSessionManager] Subscription 'opc.tcp://xx.xx.xxx.xx:4840_x' registered/updated in session 'x' in state Refresh
[09:28:04 ERR Microsoft.Azure.IIoT.OpcUa.Protocol.Services.SubscriptionServices+SubscriptionWrapper] Failed to activate subscription
System.NullReferenceException: Object reference not set to an instance of an object.
   at Microsoft.Azure.IIoT.OpcUa.Protocol.Services.SubscriptionServices.SubscriptionWrapper.SetMonitoredItemsAsync(Subscription rawSubscription, IEnumerable`1 monitoredItems, Boolean activate) in D:\a\1\s\components\opc-ua\src\Microsoft.Azure.IIoT.OpcUa.Protocol\src\Services\SubscriptionServices.cs:line 501
   at Microsoft.Azure.IIoT.OpcUa.Protocol.Services.SubscriptionServices.SubscriptionWrapper.ReapplyAsync(Session session, Boolean activate) in D:\a\1\s\components\opc-ua\src\Microsoft.Azure.IIoT.OpcUa.Protocol\src\Services\SubscriptionServices.cs:line 258
   at Microsoft.Azure.IIoT.OpcUa.Protocol.Services.SubscriptionServices.SubscriptionWrapper.ActivateAsync(Session session) in D:\a\1\s\components\opc-ua\src\Microsoft.Azure.IIoT.OpcUa.Protocol\src\Services\SubscriptionServices.cs:line 233

Is there a max amount of nodes that i can change? (i have a hard requirement of at least 250 nodes / PLC)

[Enter feedback here]


Document Details

Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

AshokPeddakotla-MSFT commented 3 years ago

@simonfrindberg Could you confirm where did you find out the 250 nodes/PLC information? Also, I have assigned the issue to the content author @jehona-m to evaluate and update as appropriate. @jehona-m Is there a hard limit mentioned some where in our docs. Please add/update accordingly.

simonfrindberg commented 3 years ago

@AshokPeddakotla-MSFT the 250 nodes / PLC is a hard requirement from my side that i need to be able to subscribe to. I have not been able to find that there is a hard limit any where.

AshokPeddakotla-MSFT commented 3 years ago

@simonfrindberg Ah Thanks for clarifying. SME will review this feedback and update accordingly.

marcschier commented 2 years ago

I have added an issue on GitHub in the OPC Publisher repo to look into this.

karok2m commented 2 years ago

@simonfrindberg, we have created a an issue (#1529) in the product repository of OPC Publisher to track this. If you are still seeing the problem, can you please test with the latest 2.8.1 version of OPC Publisher and check if the issue still happens in that version as well ? If it does, can you please provide the following in #1529: