Closed UpBlueio closed 1 month ago
Hi. I found this public OPC UA server for testing; opc.tcp://milo.digitalpetri.com:62541/milo
In this server there is a node with 1000 objects (ns=2;s=Mass/B)
When browsing this node, i immediately get "StatusBadTimeout".
Debug log:
debug: uacp: connecting to opc.tcp://milo.digitalpetri.com:62541/milo debug: uacp 2: start HEL/ACK handshake debug: uacp 2: sent HELF with 74 bytes debug: uacp 2: recv ACKF with 28 bytes debug: uacp 2: recv &uacp.Acknowledge{Version:0x0, ReceiveBufSize:0xffff, SendBufSize:0xffff, MaxMessageSize:0x200000, MaxChunkCount:0x40} debug: uasc 2/1: send ua.OpenSecureChannelRequest with 132 bytes debug: uacp 2: recv OPNF with 135 bytes debug: uasc 2/1: recv OPNF with 135 bytes debug: uasc 2/1: recv ua.OpenSecureChannelResponse debug: uasc 2/1: sending *ua.OpenSecureChannelResponse to handler debug: uasc 2: received security token. channelID=21678600 tokenID=30083994 createdAt=2024-09-06T06:49:47Z lifetime=1h0m0s debug: uasc 2: security token expires at 2024-09-06T08:04:47Z. channelID=21678600 tokenID=30083994 debug: uasc 2: security token is refreshed at 2024-09-06T07:34:42Z (45m0s). channelID=21678600 tokenID=30083994
Code:
opc, err := connecto(config) if err != nil { return err } nodeID, err := ua.ParseNodeID("ns=2;s=Mass/B") if err != nil { return fmt.Errorf("invalid node id: %s", err) } refs, err := opc.client.Node(nodeID).References(opc.ctx, id.HierarchicalReferences, ua.BrowseDirectionForward, ua.NodeClassAll, true) if err != nil { return fmt.Errorf("error browsing : %v", err) } for _, rn := range refs { fmt.Println(rn.NodeID.String()) } return nil
I found the issue. Setting the RequestTimeout to 5 sec solves the problem.
Hi. I found this public OPC UA server for testing; opc.tcp://milo.digitalpetri.com:62541/milo
In this server there is a node with 1000 objects (ns=2;s=Mass/B)
When browsing this node, i immediately get "StatusBadTimeout".
Debug log:
Code: