TwinCAT3 Fehler: 0x E4DD 0112 = Sitzungshandle ungültig

Username2.1

Level-1
Beiträge
11
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,
Ich hab eine CX9020 Steuerung und möchte damit auf meinen OPC UA Server verbinden und Daten zuerst nur mal lesen.
Die Verbindung baut er mir schon mal auf. Allerdings kommt es bei den FB ( UA_GetNamespaceIndex )zu dem Error:
0x E4DD 0112
UAC_E_INVALIDHDL
Sitzungshandle ungültig
Leider kann ich damit nicht viel anfangen...

Das hier wäre bis jetzt alles ich dazu geschrieben hab:
------------------------------------------------------------------------------------------------------------------------------------------
PROGRAM MAIN
VAR
fbUA_Connect: UA_Connect;
fbUA_GetNamespaceIndex: UA_GetNamespaceIndex;
fbUA_NodeGetHandle: UA_NodeGetHandle;
fbUA_NodeReleaseHandle: UA_NodeReleaseHandle;
fbUA_Read: UA_Read;
fbUA_Disconnect: UA_Disconnect;

stNodeID : ST_UANodeID;
stUASessionConnectInfo: ST_UASessionConnectInfo;
stUAUserIdentityTokenType: ST_UAUserIdentityTokenType;

nConnectionHdl : DWORD;
nNamespaceIndex: UINT;
sNodeIdentifier: STRING(MAX_STRING_LENGTH);
nNodeHdl: DWORD;
dErrorID: DWORD;
bDone: BOOL;
END_VAR
------------------------------------------------------------------------------------------------------------------------------------------
stUASessionConnectInfo.eSecurityMode:= eUASecurityMsgMode_None;
stUASessionConnectInfo.eSecurityPolicyUri:= eUASecurityPolicy_None;
stUASessionConnectInfo.eTransportProfileUri:= eUATransportProfileUri_UATcp;
stUASessionConnectInfo.sApplicationName:= '';
stUASessionConnectInfo.stUserIdentTokenType:= stUAUserIdentityTokenType;
stUASessionConnectInfo.tConnectTimeout:= T#1M;
stUASessionConnectInfo.tSessionTimeout:= T#1M;


fbUA_Connect(Execute:= TRUE,
ServerUrl:= 'opc.tcp://Vorlage:port',
SessionConnectInfo:= stUASessionConnectInfo,
ConnectionHdl=> nConnectionHdl,
Timeout:= T#6S,
ErrorID=> dErrorID,
Done=>bDone);
// UA_GetNamespaceIndex
fbUA_GetNamespaceIndex(Execute:= TRUE,
ConnectionHdl := nConnectionHdl,
Timeout:= T#5S,
NamespaceIndex => nNamespaceIndex,
ErrorID=>dErrorID);
------------------------------------------------------------------------------------------------------------------------------------------
Vielen Dank im voraus ! :)

MfG

Username2.1
 
Die Bausteine müssen als Sequenz gefahren werden.
Aus deinem Code geht nicht hervor das du wartest mit dem fbUA_Connect() bis der vorgelagerte Baustein dir auch einen Session-Handle erzeugt hat.
Das wäre meine erste Erklärung.

Guga
 
Zurück
Oben