Hinweise zur Dokumentation

Diese Beschreibung wendet sich ausschließlich an ausgebildetes Fachpersonal der Steuerungs- und Automatisierungstechnik, das mit den geltenden nationalen Normen vertraut ist.
Zur Installation und Inbetriebnahme der Komponenten ist die Beachtung der nachfolgenden Hinweise und Erklärungen unbedingt notwendig.

Das Fachpersonal hat sicherzustellen, dass die Anwendung bzw. der Einsatz der beschriebenen Produkte alle Sicherheitsanforderungen, einschließlich sämtlicher anwendbaren Gesetze, Vorschriften, Bestimmungen und Normen erfüllt.

Disclaimer

Diese Dokumentation wurde sorgfältig erstellt. Die beschriebenen Produkte werden jedoch ständig weiter entwickelt.
Deshalb ist die Dokumentation nicht in jedem Fall vollständig auf die Übereinstimmung mit den beschriebenen Leistungsdaten, Normen oder sonstigen Merkmalen geprüft.
Falls sie technische oder redaktionelle Fehler enthält, behalten wir uns das Recht vor, Änderungen jederzeit und ohne Ankündigung vorzunehmen.
Aus den Angaben, Abbildungen und Beschreibungen in dieser Dokumentation können keine Ansprüche auf Änderung bereits gelieferter Produkte geltend gemacht werden.

Marken

Beckhoff®, TwinCAT®, EtherCAT®, Safety over EtherCAT®, TwinSAFE®, XFC® und XTS® sind eingetragene und lizenzierte Marken der Beckhoff Automation GmbH.
Die Verwendung anderer in dieser Dokumentation enthaltenen Marken oder Kennzeichen durch Dritte kann zu einer Verletzung von Rechten der Inhaber der entsprechenden Bezeichnungen führen.

Patente

Die EtherCAT Technologie ist patentrechtlich geschützt, insbesondere durch folgende Anmeldungen und Patente:
EP1590927, EP1789857, DE102004044764, DE102007017835
mit den entsprechenden Anmeldungen und Eintragungen in verschiedenen anderen Ländern.

Die TwinCAT Technologie ist patentrechtlich geschützt, insbesondere durch folgende Anmeldungen und Patente:
EP0851348, US6167425 mit den entsprechenden Anmeldungen und Eintragungen in verschiedenen anderen Ländern.

Copyright

© Beckhoff Automation GmbH & Co. KG, Deutschland.
Weitergabe sowie Vervielfältigung dieses Dokuments, Verwertung und Mitteilung seines Inhalts sind verboten, soweit nicht ausdrücklich gestattet.
Zuwiderhandlungen verpflichten zu Schadenersatz. Alle Rechte für den Fall der Patent-, Gebrauchsmuster- oder Geschmacksmustereintragung vorbehalten.


Übersicht der definierten OPC UA Funktionblöcke

TS6100 | TwinCAT PLC Lib: OpcUA

Übersicht der definierten OPC UA Funktionsblöcke

FB_TcOpcUAOpen

FB_TcOpcUAReadValue

FB_TcOpcUAWriteValue

FB_TcOpcUAClose

Server Function Blocks

FB_TcOpcUAServer

FB_TcOpcUAServerGetStatus

Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken
TwinCAT v2.11, build 1548 und höher | PC (i386) | TcOpcUA.Lib


E_OpcUA_NodeIDType

ENUM E_OpcUA_NodeIDType

E_OpcUA_NodeIDType

TYPE E_OpcUA_NodeIDType:
(
        eOpcUA_NodeIDType_String        := 1,
        eOpcUA_NodeIDType_Numeric       := 2,
        eOpcUA_NodeIDType_GUID  := 3
);
END_TYPE

NodeID kann vom Typ String, Numeric oder GUID sein.

Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken


E_OpcUA_SecurityMsgMode

ENUM E_OpcUA_SecurityMsgMode

E_OpcUA_SecurityMsgMode

TYPE E_OpcUA_SecurityMsgMode:
(
        eOpcUA_SecurityMsgMode_None     :=1,
        eOpcUA_SecurityMsgMode_Sign     :=2,
        eOpcUA_SecurityMsgMode_Sign_Encrypt     :=3
);
END_TYPE
Der Security message Modus kann sein: None, Sign oder Sign und Encrypt.

Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken


E_OpcUA_SecurityPolicy

ENUM E_OpcUA_SecurityPolicy

E_OpcUA_SecurityPolicy

TYPE E_OpcUA_SecurityPolicy:
(
        eOpcUA_SecurityPolicy_None              := 1,
        eOpcUA_SecurityPolicy_Basic128  := 2,
        eOpcUA_SecurityPolicy_Basic128Rsa15     := 3,
        eOpcUA_SecurityPolicy_Basic256  := 4
);
END_TYPE

Die Opc UA Sicherungsmethode kann sein:

None : Eine Methode die für Konfigurationen verwendet wird, die niedrigste Sicherheitsanforderungen erfordern.

Basic128 : Eine Methode die für Konfigurationen verwendet wird, die niedrige bis mittlere Sicherheitsanforderungen erfordern.

Basic128Rsa15 : Eine Methode die für Konfigurationen verwendet wird, die mittlere bis hohe Sicherheitsanforderungen erfordern.

Basic256 : Eine Methode die für Konfigurationen verwendet wird, die hohe Sicherheitsanforderungen erfordern.

Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken


E_OpcUA_TransportProfile

ENUM E_OpcUA_TransportProfile

E_OpcUA_TransportProfile

TYPE E_OpcUA_TransportProfile:
(
        eOpcUA_TransportProfileUri_UATcp                := 1,
        eOpcUA_TransportProfileUri_WSHttpBinary         := 2,
        eOpcUA_TransportProfileUri_WSHttpXmlOrBinary    := 3,
        eOpcUA_TransportProfileUri_WSHttpXml    := 4
);
END_TYPE
Das Transportprofil kann sein: TCP, HTTP Binär, HTTP XML oder Binär oder HTTP XML.

Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken


E_OpcUAServerOption

ENUM E_OpcUAServerOption

E_OpcUAServerOption

TYPE E_OpcUAServerOption:
(
        eOPCUASERVER_NONE               := 0,
        eOPCUASERVER_RESTART    := 1,
        eOPCUASERVER_SHUTDOWN   := 2,
        eOPCUASERVER_REFRESHCFG         := 3,
        eOPCUASERVER_SERVERINFO         := 4
);
END_TYPE

With this data type you can mention the server service required. The different services are explained below.

eOPCUASERVER_NONE := 0
None
eOPCUASERVER_RESTART := 1
With this option you have the possibility to restart the TcOpcUAServer
eOPCUASERVER_SHUTDOWN := 2
TwinCAT OPC UA Server shutdown can be done with this option

eOPCUASERVER_REFRESHCFG := 3
The variable configuration can be refreshed with this option.
eOPCUASERVER_SERVERINFO := 4
Server information like number of session active, rejected number of sessions, session timeout count etc. can be read using this option.

Development environment | Target system type | PLC libraries to be linked
TwinCAT v2.11, build 1548 onwards | PC (i386) | TcOpcUA.Lib


E_OpcUAServerStatus

ENUM E_OpcUAServerStatus

E_OpcUAServerStatus

TYPE E_OpcUAServerStatus:
(
        eOPCUAServerStatus_NONE                 := 0,
        eOPCUAServerStatus_Alive                := 1,
        eOPCUAServerStatus_NotResponding        := 2
);
END_TYPE

OPC UA Server status can be either Alive or NotResponding. Value 0 is invalid and hence represents no status.

Development environment | Target system type | PLC libraries to be linked
TwinCAT v2.11, build 1548 onwards | PC (i386) | TcOpcUA.Lib


ST_OpcUA_NodeID

STRUCT ST_OpcUA_NodeID

ST_OpcUA_NodeID

TYPE ST_OpcUA_NodeID:
STRUCT
        eNodeIDType     : E_OpcUA_NodeIDType;              (* String *)
        sNamespaceName  : STRING(MAX_STRING_LENGTH);  (* PLC1 *)
        sIdentifier     : STRING(MAX_STRING_LENGTH);  (* MAIN.Temp *)
END_STRUCT
END_TYPE

eNodeIDType: Mit dieser Variablen kann der NodeID Typ ausgewählt werden. Siehe auch E_OpcUA_NodeIDType.

sNamespaceName: Namensraum Name.

sIdentifier: Objekt, das gelesen oder geschrieben werden soll. Das Objekt kann eine Variable, ein Array oder eine Struktur sein.

Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken


ST_OpcUA_SessionConnectInfo

STRUCT ST_OpcUA_SessionConnectInfo

ST_OpcUA_SessionConnectInfo

TYPE ST_OpcUA_SessionConnectInfo:
STRUCT
        sApplicationUri                 : STRING(MAX_STRING_LENGTH);
        sApplicationName                : STRING(MAX_STRING_LENGTH);

        eSecurityMode           : E_OpcUA_SecurityMsgMode;
        eSecurityPolicyUri      : E_OpcUA_SecurityPolicy;
        eTransportProfileUri    : E_OpcUA_TransportProfile;

        nSessionTimeout                 : UDINT;
        nConnectTimeout                 : UDINT;
END_STRUCT
END_TYPE

sApplicationUri: Applikations-Uri mit einer maximalen Stringlänge von 255. Die MAX_STRING_LENGTH ist eine globale Konstante der TcSystem.lib, mit dem Wert 255.

sApplicationName: Applikationsname mit einer maximalen Stringlänge von 255. Die MAX_STRING_LENGTH ist eine globale Konstante der TcSystem.lib, mit dem Wert 255.

eSecurityMode: Sicherungsmeldung Modus. Sehen Sie hier die verfügbaren Modi E_OpcUA_SecurityMsgMode.

eSecurityPolicyUri: Sicherungsmethode Uri. Sehen Sie hier die verfügbaren Sicherheitsmethoden Uri E_OpcUA_SecurityPolicy.

eTransportProfileUri: Transportprofil Uri. Sehen Sie hier die verfügbaren Transportprofile URI E_OpcUA_TransportProfile;

nSessionTimeout: Timeout der Sitzung.

nConnectTimeout: Timeout der Verbindung.

Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken


ST_OpcUAServerInfo

STRUCT ST_OpcUAServerInfo

ST_OpcUAServerInfo

TYPE ST_OpcUAServerInfo:
STRUCT
        nReserved                       : UDINT;
        nCummulatedSessionCount                 : UDINT;
        nCurrentSessionCount            : UDINT;
        nRejectedSessionCount           : UDINT;
        nSecurityRejectedSessionCount   : UDINT;
        nSessionTimeoutCount            : UDINT;
        nCurrentSubscriptionCount               : UDINT;
        nRejectedRequestCount           : UDINT;
        nSecurityRejectedRequestCount   : UDINT;
END_STRUCT
END_TYPE

nReserved : Reserved.

nCummulatedSessionCount : Total session count.

nCurrentSessionCount : Current session count.

nRejectedSessionCount : Session count rejected.

nSecurityRejectedSessionCount : Session count rejected due to security.

nSessionTimeoutCount : Session timeout count.

nCurrentSubscriptionCount : Current subscription count.

nRejectedRequestCount : Requests rejected.

nSecurityRejectedRequestCount : Requests rejected due to security.

Development environment | Target system type | PLC libraries to be linked
TwinCAT v2.11, build 1548 onwards | PC (i386) | TcOpcUA.Lib


FB_OpcUAOpen

FUNCTION_BLOCK FB_OpcUAOpen

Mit dem Funktionsblock FB_OpcUAOpen kann die durch den Funktionsblock FB_OpcUAClose geschlossene UA Verbindung geöffnet werden.

VAR_INPUT

      VAR_INPUT
        sNetID                  : T_AmsNetId;
        bExecute                        : BOOL;
        sURL                    : STRING(MAX_STRING_LENGTH);
        stSessionConnectInfo    : ST_OpcUA_SessionConnectInfo;
        tTimeout                        : TIME := DEFAULT_ADS_TIMEOUT;
END_VAR

sNetID : Ist ein String, der die AMS-Netzwerkkennung des Zielgerätes enthält, an das der ADS-Befehl gerichtet wird.

bExecute : Durch eine steigende Flanke an diesem Eingang wird der Funktionsbaustein aktiviert.

sURL : URL des OPC UA Geräts, z. B. 'opc.tcp://172.16.3.207:4840' or 'opc.tcp://CX_0193BF:4840'.

stSessionConnectInfo : Information der Sitzungsverbindung. Siehe auch ST_OpcUA_SessionConnectInfo.

tTimeout :Gibt die Zeit bis zum Abbruch der Funktion an. DEFAULT_ADS_TIMEOUT ist eine globale Konstante der TcSystem.lib, sie ist auf 5 Sekunden gesetzt.

VAR_OUTPUT

      VAR_OUTPUT
        bBusy           : BOOL;
        bError          : BOOL;
        nErrorID                : UDINT;
        hSession                : UDINT;
END_VAR

bBusy: Bei der Aktivierung des Funktionsbausteins wird dieser Ausgang gesetzt und bleibt gesetzt, bis eine Rückmeldung erfolgt. Bitte beachten Sie, dass nicht die Ausführung des Dienstes, sondern nur dessen Annahme zeitlich überwacht wird.

bError: Sollte ein ADS-Fehler bei der Übertragung des Kommandos erfolgen, dann wird dieser Ausgang gesetzt, nachdem der bBusy-Ausgang zurückgesetzt wurde.

nErrorID: Liefert bei einem gesetzten bError-Ausgang die ADS-Fehlernummer.

hSession : OPC UA Sitzung Handle.

Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken


FB_OpcUAReadValue

FUNCTION_BLOCK FB_OpcUAReadValue

Mit dem Funktionsblock FB_OpcUAReadValue können Objekte wie Variablen, Strukturen oder Arrays in der SPS auf einem lokalen ( weitere Laufzeit), oder Remote Gerät gelesen werden.

VAR_INPUT

      VAR_INPUT
        sNetID          : T_AmsNetId;
        bExecute                : BOOL;
        hSession                : UDINT;
        stNodeID                : ST_OpcUA_NodeID;
        nLength         : UDINT;
        pBuffer                 : UDINT;
        tTimeout                : TIME := DEFAULT_ADS_TIMEOUT;
END_VAR

sNetID : Ist ein String, der die AMS-Netzwerkkennung des Zielgerätes enthält, an das der ADS-Befehl gerichtet wird.

bExecute : Durch eine steigende Flanke an diesem Eingang wird der Funktionsbaustein aktiviert.

hSession : OPC UA Sitzungs Handle, erhalten durch den Aufruf von FB_OpcUAOpen.

stNodeID : Informationen zum Node aus dem die Daten ausgelesen werden. Siehe auch ST_OpcUA_NodeID.

nLength : Länge der zu lesenden Daten in Byte.

pBuffer : Adresse (Pointer) auf die Quellpuffervariable. Die Adresse kann mit dem ADR-Operator ermittelt werden. Dieser Puffer beinhaltet die zu lesenden Datensatz/Datenfeld-Daten. Der Programmierer hat darauf zu achten, dass die Puffergröße ‘nLength’ entspricht. Der Puffer kann vom Typ single variable, Array oder Struktur sein.

tTimeout : Gibt die Zeit bis zum Abbruch der Funktion an. DEFAULT_ADS_TIMEOUT ist eine globale Konstante der TcSystem.lib, sie ist auf 5 Sekunden gesetzt.

VAR_OUTPUT

      VAR_OUTPUT
        Busy            : BOOL;
        Error           : BOOL;
        ErrorID                 : UDINT;
        nReadLength     : UDINT;
END_VAR

bBusy : Bei der Aktivierung des Funktionsbausteins wird dieser Ausgang gesetzt und bleibt gesetzt, bis eine Rückmeldung erfolgt. . Bitte beachten Sie, dass nicht die Ausführung des Dienstes, sondern nur dessen Annahme zeitlich überwacht wird.

bError : Sollte ein ADS-Fehler bei der Übertragung des Kommandos erfolgen, dann wird dieser Ausgang gesetzt, nachdem der bBusy-Ausgang zurückgesetzt wurde.

nErrorID : Liefert bei einem gesetzten bError-Ausgang die ADS-Fehlernummer.

nReadLength : Anzahl der erfolgreich zurück gelieferten Datenbytes.

Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken


FB_OpcUAWriteValue

FUNCTION_BLOCK FB_OpcUAWriteValue

Mit dem Funktionsblock FB_OpcUAWriteValue können Objekte wie Variablen, Strukturen oder Arrays in der SPS auf einem lokalen ( weitere Laufzeit), oder Remote Gerät geschrieben werden.

VAR_INPUT

      VAR_INPUT
        sNetID          : T_AmsNetId;
        bExecute                : BOOL;
        hSession                : UDINT;
        stNodeID                : ST_OpcUA_NodeID;
        nLength         : UDINT;
        pBuffer                 : UDINT;
        tTimeout                : TIME := DEFAULT_ADS_TIMEOUT;
END_VAR

sNetID : Ist ein String, der die AMS-Netzwerkkennung des Zielgerätes enthält, an das der ADS-Befehl gerichtet wird.

bExecute : Durch eine steigende Flanke an diesem Eingang wird der Funktionsbaustein aktiviert.

hSession : OPC UA Sitzungs Handle, erhalten durch den Aufruf von FB_OpcUAOpen.

stNodeID : Informationen zum Node in dem die Daten geschrieben werden. Siehe auch ST_OpcUA_NodeID.

nLength : Länge der zu lesenden Daten in Byte.

pBuffer : Adresse (Pointer) auf die Zielpuffervariable. Die Adresse kann mit dem ADR-Operator ermittelt werden. Der Programmierer hat darauf zu achten, dass die Puffergröße ‘nLength’ entspricht. Der Puffer kann vom Typ single variable, Array oder Struktur sein.

tTimeout : Gibt die Zeit bis zum Abbruch der Funktion an. DEFAULT_ADS_TIMEOUT ist eine globale Konstante der TcSystem.lib, sie ist auf 5 Sekunden gesetzt.

VAR_OUTPUT

      VAR_OUTPUT
        bBusy           : BOOL;
        bError          : BOOL;
        nErrorID                : UDINT;
END_VAR

bBusy: Bei der Aktivierung des Funktionsbausteins wird dieser Ausgang gesetzt und bleibt gesetzt, bis eine Rückmeldung erfolgt. Bitte beachten Sie, dass nicht die Ausführung des Dienstes, sondern nur dessen Annahme zeitlich überwacht wird.

bError: Sollte ein ADS-Fehler bei der Übertragung des Kommandos erfolgen, dann wird dieser Ausgang gesetzt, nachdem der bBusy-Ausgang zurückgesetzt wurde.

nErrorID: Liefert bei einem gesetzten bError-Ausgang die ADS-Fehlernummer

Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken


FB_OpcUAClose

FUNCTION_BLOCK FB_OpcUAClose

Mit dem Funktionsblock FB_OpcUAClose kann die durch den Funktionsblock FB_OpcUAOpen geöffnete UA Verbindung geschlossen werden.

VAR_INPUT

      VAR_INPUT
        sNetID          : T_AmsNetId;
        bExecute                : BOOL;
        hSession                : UDINT;                (* OPC UA Session handle *)
        tTimeout                : TIME := DEFAULT_ADS_TIMEOUT;
END_VAR

sNetID : Ist ein String, der die AMS-Netzwerkkennung des Zielgerätes enthält, an das der ADS-Befehl gerichtet wird.

bExecute : Durch eine steigende Flanke an diesem Eingang wird der Funktionsbaustein aktiviert.

hSession : Zugeordnet durch Opc UA Sitzung Handle , erzeugt durch FB_OpcUAOpen.

tTimeout : Gibt die Zeit bis zum Abbruch der Funktion an. DEFAULT_ADS_TIMEOUT ist eine globale Konstante der TcSystem.lib, sie ist auf 5 Sekunden gesetzt.

VAR_OUTPUT

      VAR_OUTPUT
        bBusy           : BOOL;
        bError          : BOOL;
        nErrorID                : UDINT;
END_VAR

bBusy: Bei der Aktivierung des Funktionsbausteins wird dieser Ausgang gesetzt und bleibt gesetzt, bis eine Rückmeldung erfolgt. Bitte beachten Sie, dass nicht die Ausführung des Dienstes, sondern nur dessen Annahme zeitlich überwacht wird.

bError: Sollte ein ADS-Fehler bei der Übertragung des Kommandos erfolgen, dann wird dieser Ausgang gesetzt, nachdem der bBusy-Ausgang zurückgesetzt wurde.

nErrorID: Liefert bei einem gesetzten bError-Ausgang die ADS-Fehlernummer.

Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken


FB_OpcUAServer

FUNCTION_BLOCK FB_OpcUAServer

This function block integrates different OPC UA Server functionalities like get server information, refresh server configuration, server restart and server shutdown.

VAR_INPUT

      VAR_INPUT
        sNetID          : T_AmsNetId;
        bExecute                : BOOL;
        eOpcUAServerOption      : E_OpcUAServerOption;
        tTimeout                : TIME := DEFAULT_ADS_TIMEOUT;
END_VAR

sNetID : Is a string containing the AMS network identifier of the target device to which the command is directed..

bExecute : The command is triggered by a rising edge at this input.

eOpcUAServerOption : Is a enum stating the desired command. Please see E_OpcUAServerOption.

tTimeout : States the time before the function is cancelled. DEFAULT_ADS_TIMEOUT is a global constant in TcSystem.lib set to 5 seconds.

VAR_OUTPUT

      VAR_OUTPUT
        stOpcUAServerInfo       : ST_OpcUAServerInfo;
        bBusy           : BOOL;
        bError          : BOOL;
        nErrorID                : UDINT;
END_VAR

stOpcUAServerInfo : server information please see ST_OpcUAServerInfo

bBusy: This output remains TRUE until the block has executed a command, but at the longest for the duration supplied to the ‘Timeout’ input. While Busy = TRUE, no new command will be accepted at the inputs. Please note that it is not the execution of the service but its acceptance whose time is monitored.

bError: This output is switched to TRUE if an error occurs during the execution of a command. The command-specific error code is contained in ‘nErrorID’.

nErrorID: Contains the command-specific ADS error code of the most recently executed command.

Development environment | Target system type | PLC libraries to be linked
TwinCAT v2.11, build 1548 onwards | PC (i386) | TcOpcUA.Lib


FB_OpcUAServerGetStatus

FUNCTION_BLOCK FB_OpcUAServerGetStatus

This function block delivers server status.

VAR_INPUT

      VAR_INPUT
        sNetID          : T_AmsNetId;
        bGetStatus      : BOOL;
        tTimeout                : TIME := DEFAULT_ADS_TIMEOUT;
END_VAR

sNetID : Is a string containing the AMS network identifier of the target device to which the command is directed..

bGetStatus : The command is executed if this input is TRUE.

tTimeout : States the time before the function is cancelled. DEFAULT_ADS_TIMEOUT is a global constant in TcSystem.lib set to 5 seconds.

VAR_OUTPUT

      VAR_OUTPUT
        eOpcUAServerStatus      : E_OpcUAServerStatus;
        bDone                   : BOOL;
        bBusy                   : BOOL;
        bError                  : BOOL;
        nErrorID                        : UDINT;
END_VAR

eOpcUAServerStatus : OPC UA Server status can be either Alive or NotResponding. Value 0 is invalid and hence represents no status.

bDone: This output is set to true, once the command is executed without any error.

bBusy: This output remains TRUE until the block has executed a command, but at the longest for the duration supplied to the ‘Timeout’ input. While Busy = TRUE, no new command will be accepted at the inputs. Please note that it is not the execution of the service but its acceptance whose time is monitored.

bError: This output is switched to TRUE if an error occurs during the execution of a command. The command-specific error code is contained in ‘nErrorID’.

nErrorID: Contains the command-specific ADS error code of the most recently executed command.

Development environment | Target system type | PLC libraries to be linked
TwinCAT v2.11, build 1548 onwards | PC (i386) | TcOpcUA.Lib


F_GetVersionTcOpcUA

FUNCTION F_GetVersionTcOpcUA

Mit dieser Funktion können Versionsinformationen der SPS-Bibliothek ausgelesen werden.

FUNCTION F_GetVersionTcOpcUA : UINT

VAR_INPUT
        nVersionElement : INT;
END_VAR

nVersionElement : Versionselement, das gelesen werden soll. Mögliche Parameter:

  • 1 : major number;
  • 2 : minor number;
  • 3 : revision number;
Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken


TcOpcUA_Samples_PLCOpen_BoilerControl

TS6100 | TwinCAT PLC Lib: OpcUA

Sample of TcOpcUA

Download PLCOpen BoilerControl Sample


TcOpcUA_Samples_ReadWriteInt

Read and Write Integer Variable

Download Read and Write Integer Variable Sample

In diesem Beispielprogramm wird der Wert 'nIntVar' im SPS Projekt BoilerControl_0_01_06+Light+HDA_Int.pro in die Variable 'stStructRead' von TcOpcUA_SampleInt.pro eingelesen.

Wenn der Wert von 'nIntRead' 1000 erreicht, wird die Variable 'nIntVar' im SPS Projekt BoilerControl_0_01_06+Light+HDA_Int.pro auf null zurückgesetzt.

Dieser Screenshot aus BoilerControl_0_01_06+Light+HDA_Int.pro zeigt die Globalen Variablen. 'nIntVar' wird in jedem SPS Zyklus in MAIN um 1 erhöht.

Der obige Screenshot aus TcOpcUA_SampleInt.pro zeigt den Funktionsaufruf von FB_OpcUAReadValue um die Integer Variable in 'nIntRead' einzulesen. Es folgt ein Aufruf des Funktionsblocks FB_OpcUAWriteValue um die Werte von 'nIntWrite' in 'nIntVar' zu schreiben.

Es ist notwendig die Bibliothek TcOpcUA.Lib in das SPS Projekt TcOpcUA_SampleInt.pro einzufügen.

HINWEIS: Um TcOpcUA_SampleInt.pro zu starten, forcen Sie die 'bTest' Variable auf TRUE. Um bei Unterbrechung der Verbindung oder im Fehlerfall eine neue Verbindung zu starten, forcen Sie erneut die Variable 'bTest' auf TRUE.


ByteArray lesen

Byte Array lesen

Download Beispiel Bytearray lesen

In diesem Beispielprogramm wird der Wert des 'arrByte' (Bytearray mit 20 Elementen) im SPS Projekt BoilerControl_0_01_06+Light+HDA_ByteArray.pro in die 'arrRead' Variable in TcOpcUA_SampleByteArray.pro eingelesen.

Der obige Screenshot zeigt die Globalen Variablen aus BoilerControl_0_01_06+Light+HDA_ByteArray.pro. Jedes Element des 'arrByte' wird in jedem SPS Zyklus in MAIN um 1 erhöht.

Der vorhergehende Screenshot aus TcOpcUA_SampleByteArray.pro zeigt den Funktionsaufruf von FB_OpcUAReadValue um die Werte der Elemente des Bytearrays in 'arrRead' einzulesen.

Es ist notwendig die Bibliothek TcOpcUA.Lib in das SPS Projekt TcOpcUA_SampleByteArray.pro einzufügen.

HINWEIS: Um TcOpcUA_SampleByteArray.pro zu starten, forcen Sie die 'bTest' Variable auf TRUE. Um bei Unterbrechung der Verbindung oder im Fehlerfall eine neue Verbindung zu starten, forcen Sie erneut die Variable 'bTest' auf TRUE.


TcOpcUA_Samples_ReadWriteStructure

Struktur Lesen und Schreiben

Download Beispiel Read and Write Struktur

In diesem Beispielprogramm wird der Wert 'stStuct1' im SPS Projekt BoilerControl_0_01_06+Light+HDA_Structure.pro in die Struktur 'stStructRead' von TcOpcUA_SampleStructure.pro eingelesen.

Wenn der Wert von 'stStructRead.nDint' durch 100 teilbar ist, wird die Struktur verändert und in 'stStruct2' des SPS Projekts BoilerControl_0_01_06+Light+HDA_Structure.pro kopiert. 'stStruct2.arrBool[0]' wird festgehalten und 'stStruct2.sString' wird zwischen 'BECKHOFF' und 'OPC UA CLIENT' ausgetauscht.

Die Strukturelemente sehen wie folgt aus:

TYPE ST_Structure :
STRUCT
nDint : DINT;
arrBool : ARRAY [0..3] OF BOOL;
sString : STRING(11);
END_STRUCT
END_TYPE

Dieser Screenshot zeigt die Globalen Variablen aus BoilerControl_0_01_06+Light+HDA_Structure.pro. 'stStruct1.nDint' wird in jedem SPS Zyklus in MAIN um 1 erhöht.

Der obige Screenshot aus TcOpcUA_SampleStructure.pro zeigt den Funktionsaufruf von FB_OpcUAReadValue um die Strukturwerte in 'stStructRead' einzulesen. Es folgt ein Aufruf des Funktionsblocks FB_OpcUAWriteValue um die Werte von 'stStructWrite' in stStruct2' zu schreiben.

Es ist notwendig die Bibliothek TcOpcUA.Lib in das SPS Projekt TcOpcUA_SampleStructure.pro einzufügen.

HINWEIS: Um TcOpcUaA_SampleStructure.pro zu starten, forcen Sie die 'bTest' Variable auf TRUE. Um bei Unterbrechung der Verbindung oder im Fehlerfall eine neue Verbindung zu starten, forcen Sie erneut die Variable 'bTest' auf TRUE.