Username2.1
Level-1
- Beiträge
- 11
- Reaktionspunkte
- 0
-> 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:
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://Vorlageort',
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
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 |
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://Vorlageort',
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