Übersicht

Die TcUtilities.Lib beinhaltet einige nützliche Funktionsbausteine und Funktionen, mit denen z.B. TwinCAT SPS- oder Betriebssystem-Funktionen aufgerufen werden können. Die meisten Funktionsbausteine basieren intern auf der System-Bibliothek.

Beim Hinzufügen der TcUtilities.Lib werden folgende Bibliotheken automatisch eingebunden: Standard.Lib; TcBase.Lib; TcSystem.Lib;

Betriebssystem Funktionen

Name

Beschreibung

NT_Shutdown

Das Betriebssystem herunterfahren (shutdown)

NT_AbortShutdown

Den Shutdown-Prozess unterbrechen

NT_Reboot

Ein Restart des Betriebssystems durchführen

NT_GetTime

Die aktuelle lokale Windows-Systemzeit lesen

NT_SetLocalTime

Die aktuelle lokale Windows-Systemzeit setzen

NT_StartProcess

Aus der SPS Windows-Anwendungen starten

NT_SetTimeToRTCTime

Die lokale Windows-Systemzeit mit der Echtzeituhr des PCs synchronisieren

FB_RegQueryValue

Werte aus der Registrierung auslesen

FB_RegSetValue

Werte in die Registrierung schreiben

FB_EnumFindFileEntry

Dieser Funktionsbaustein sucht in einem Verzeichnis nach einer Datei oder einem Unterverzeichnis dessen Name dem spezifizierten Namen gleicht. Die gefundenen Einträge können einzeln ausgelesen werden.

FB_EnumFindFileList

Dieser Funktionsbaustein sucht in einem Verzeichnis nach einer Datei oder einem Unterverzeichnis dessen Name dem spezifizierten Namen gleicht. Die gefundenen Einträge können Gruppenweise ausgelesen werden.

FB_GetAdaptersInfo

Liest Netzwerkadapterinformationen

FB_GetHostName

Liest den Host-Namen des lokalen PCs

FB_GetHostAddrByName

Konvertiert den Host-Namen in die (IPv4) Internet Protokoll Netzwerkadresse.

FB_GetTimeZoneInformation

Liest die Zeitzone-Konfiguration des Betriebssystems

FB_SetTimeZoneInformation

Setzt die Zeitzone-Konfiguration des Betriebssystems

FB_LocalSystemTime

Liefert die lokale Windows-Systemzeit und Sommerzeit-/Winterzeit-Info

TwinCAT SPS Funktionen

Name

Beschreibung

PLC_Reset

Reset der SPS durchführen

PLC_Start

SPS starten

PLC_Stop

SPS stoppen

PLC_ReadSymInfo

Symbolinformationen der SPS lesen

PLC_ReadSymInfoByName

Symbolinformationen einer SPS-Variablen anhand des Symbolnamens lesen

PLC_ReadSymInfoByNameEx

Symbolinformationen einer SPS-Variablen anhand des Symbolnamens lesen. Der Kommentar wird abgeschnitten wenn die verfügbare Puffergröße nicht ausreichend ist.

Profiler

Die Ausführungszeit vom SPS-Code ermitteln

WritePersistentData

Schreiben der persistenten Daten auf den Datenträger aus der SPS auslösen

FB_WritePersistentData

Schreiben der persistenten Daten auf den Datenträger aus der SPS auslösen (erweiterte Version)

 

Checksumme/CRC Funktionen

Name

Beschreibung

F_CheckSum16

Berechnet die 16 Bit Check Summe

F_DATA_TO_CRC16_CCITT

Berechnet CRC16-CCITT (zyklische Redundanz Prüfung) von einem beliebigen Datentyp

F_BYTE_TO_CRC16_CCITT

Berechnet CRC16-CCITT (zyklische Redundanz Prüfung) eines einzelnen Datenbytes

TwinCAT Systemfunktionen

Name

Beschreibung

TC_Restart

TwinCAT System Restart durchführen

TC_Stop

TwinCAT System stoppen

TC_Config

TwinCAT System in den CONFIG-Modus versetzen

TC_CpuUsage

Die CPU-Auslastung des TwinCAT Systems ermitteln

TC_SysLatency

Die aktuelle und maximale Latenzzeit eines TwinCAT Systems ermitteln

GetRemotePCInfo

Router Informationen über die konfigurierten Remote-PCs lesen

FB_GetLocalAmsNetId

Die AmsNetId des lokalen TwinCAT PCs lesen

FB_GetRouterStatusInfo

TwinCAT Router Statusinformationen lesen.

FB_EnumRouteEntry

Router Verbindungsinformationen lesen

FB_AddRouteEntry

Eine neue Router-Verbindung hinzufügen

FB_RemoveRouteEntry

Eine vorhandene Router-Verbindung löschen

TwinCAT Scope View Funktionen

Mit den beschriebenen Funktionsbausteinen ist es möglich das TwinCAT Scope View über ADS-Kommandos zu bedienen. Da dafür ein fester ADS-Port erforderlich ist, kann nur die erste Instanz des TwinCAT Scope Views bedient werden. Einige der Funktionen können zur Zeit nur genutzt werden, wenn nur ein View in der Applikation aktiv ist.

Name

Beschreibung

ScopeLoadFile

Scope View Configuration Project in den TwinCAT Scope View laden

ScopeSetOnline

Scope View in Online-Zustand schalten

ScopeSetOffline

Scope View in Offline-Zustand schalten

ScopeGetState

Online/Offline - Zustand des Scope View ermitteln

ScopeManualTrigger

Scope View manuell triggern

ScopeSetRecordLen

Die Aufnahme-Zeit konfigurieren

ScopeGetRecordLen

Die aktuelle Aufnahme-Zeit ermitteln

ScopeASCIIExport

Scope View in ASCII-Datei exportieren

ScopeViewExport

Scope View in binäre Datei exportieren

ScopeSaveAs

Scope View Project unter einem bestimmten Dateinamen speichern

ScopeExit

TwinCAT Scope View (exe) beenden

TwinCAT Scope Server

ab Bibliotheks-Version 2.0.52

Name

Beschreibung

FB_ScopeServerControl

Steuert (start/speichern..) den Scope Server für data logging

TwinCAT ADS Monitor Funktionen

Name

Beschreibung

FB_AmsLogger

AMS Logger aus der SPS starten/stoppen.

Konvertierungsfunktionen

Name

Beschreibung

DT_TO_SYSTEMTIME

DATE_AND_TIME in Windows Systemzeit-Struktur konvertieren

DT_TO_FILETIME

DATE_AND_TIME in Windows File-Time konvertieren

SYSTEMTIME_TO_DT

Windows Systemzeit-Struktur in DATE_AND_TIME konvertieren

SYSTEMTIME_TO_FILETIME

Windows Systemzeit-Struktur in File-Time konvertieren

SYSTEMTIME_TO_STRING

Windows Systemzeit-Struktur in String konvertieren

STRING_TO_SYSTEMTIME

String in Windows Systemzeit-Struktur konvertieren

FILETIME_TO_DT

Windows File-Time in DATE_AND_TIME konvertieren

FILETIME_TO_SYSTEMTIME

Windows File-Time in Systemzeit-Struktur konvertieren

DEC_TO_BCD

Dezimal-Zahlen in BCD-Zahlen konvertieren

BCD_TO_DEC

BCD-Zahlen in Dezimal-Zahlen konvertieren

DEG_TO_RAD

Grad-Winkel in Bogenmaß konvertieren

RAD_TO_DEG

Bogenmaß in Grad-Winkel konvertieren

TIME_TO_OTSTRUCT

TIME-Variable in eine Struktur mit aufgelösten Millisekunden, Sekunden, Minuten usw. konvertieren.

OTSTRUCT_TO_TIME

Eine Struktur mit aufgelösten Millisekunden, Sekunden, Minuten usw. in TIME-Variable konvertieren.

F_SwapRealEx

Tauscht um das Hi- und Lo-Word einer REAL-Variablen

BYTEARR_TO_MAXSTRING

Konvertiert Byte Array in einen String

MAXSTRING_TO_BYTEARR

Konvertiert String in ein Byte Array

F_TranslateFileTimeBias

Konvertiert UTC-Zeit in Lokalzeit und umgekehrt (by bias)

FB_TzSpecificLocalTimeToFileTime

Konvertiert kontinuierliche Lokalzeit (file time format) in UTC-Zeit

FB_TzSpecificLocalTimeToSystemTime

Konvertiert kontinuierliche Lokalzeit (structured system time format) in UTC-Zeit

FB_FileTimeToTzSpecificLocalTime

Konvertiert UTC-Zeit (file time format) in Lokalzeit

FB_SystemTimeToTzSpecificLocalTime

Konvertiert UTC-Zeit (structured system time format) in Lokalzeit

String-Formatfunktionen

Name

Beschreibung

LREAL_TO_FMTSTR

Konvertiert eine Fliesskommazahl in einen String mit der gewünschten Anzahl der Nachkommastellen.

DWORD_TO_DECSTR

Konvertiert Dezimalzahl in einen Dezimalstring.

DWORD_TO_HEXSTR

Konvertiert Dezimalzahl in einen Hexadezimalstring.

DWORD_TO_OCTSTR

Konvertiert Dezimalzahl in einen Oktalstring.

DWORD_TO_BINSTR

Konvertiert Dezimalzahl in einen Binärstring.

DINT_TO_DECSTR

Konvertiert vorzeichenbehaftete Dezimalzahl in einen Dezimalstring.

F_FormatArgToStr

Konvertiert und formatiert eine Dezimalzahl oder eine Fließkommazahl in einen String.

FB_FormatString

Konvertiert und formatiert bis zu 10 Argumente (Dezimal- oder Fließkommazahlen).

FB_EnumStringNumbers

Durchsucht einen String nach Zahlen.

F_ToUCase

Konvertiert Kleinbuchstaben in Grossbuchstaben in einem String.

F_ToLCase

Konvertiert Grossbuchstaben in Kleinbuchstaben in einem String.

F_LTrim

Entfernt Leerzeichen am Anfang eines Strings.

F_RTrim

Entfernt Leerzeichen am Ende eines Strings.

DATA_TO_HEXSTR

Konvertiert Binärdaten in Hexadezimal-String.

HEXSTR_TO_DATA

Konvertiert Hexadezimal-String in Binärdaten.

64 bit Funktionen (unsigned)

Name

Beschreibung

ULARGE_INTEGER

Initialisiert/setzt eine 64 bit Zahl

UInt64Add64

Addiert zwei 64 bit Zahlen

UInt64Add64Ex

Addiert zwei 64 bit Zahlen (mit Overflow check)

UInt64Sub64

Subtrahiert zwei 64 bit Zahlen

UInt64Cmp64

Vergleicht zwei 64 bit Zahlen

UInt32x32To64

Multipliziert zwei 32 bit Zahlen. Das Ergebnis ist eine 64 bit Zahl

UInt64Mul64

Multipliziert zwei 64 bit Zahlen. Das Ergebnis ist eine 64 bit Zahl

UInt64Mul64Ex

Multipliziert zwei 64 bit Zahlen. Das Ergebnis ist eine 64 bit Zahl (mit Overflow check)

UInt64Div64

Division zweier 64 bit Zahlen.

UInt64Div64Ex

Division zweier 64 bit Zahlen (mit Restergebnis).

UInt64Mod64

Modulo-Division zweier 64 bit Zahlen

UInt64And

Bitweise AND zweier 64 bit Zahlen

UInt64Or

Bitweise OR zweier 64 bit Zahlen

UInt64Not

Bitweise NOT einer 64 bit Zahl

UInt64Xor

Bitweise XOR zweier 64 bit Zahlen

UInt64Rol

Bitweise Linksrotation einer 64 bit Zahl

UInt64Ror

Bitweise Rechtsrotation einer 64 bit Zahl

UInt64Shl

Bitweises Links-Shift einer 64 bit Zahl

UInt64Shr

Bitweises Rechts-Shift einer 64 bit Zahl

UInt64Min

Minimumfunktion

UInt64Max

Maximumfunktion

UInt64Limit

Limitierung

UInt64isZero

Prüft ob der Wert der 64 bit Zahl ist Null

UINT64_TO_STRING

Konvertiert 64 bit Zahl in einen STRING

UINT64_TO_LREAL

Konvertiert 64 bit Zahl in einen LREAL

STRING_TO_UINT64

Konvertiert einen STRING in eine 64 bit Zahl

LREAL_TO_UINT64

Konvertiert LREAL in eine 64 bit Zahl

64 bit Funktionen (signed)

Name

Beschreibung

LARGE_INTEGER

Initialisiert/setzt eine 64 bit Zahl

Int64Add64

Addiert zwei 64 bit Zahlen

Int64Add64Ex

Addiert zwei 64 bit Zahlen (mit Overflow check)

Int64Sub64

Subtrahiert zwei 64 bit Zahlen

Int64Cmp64

Vergleicht zwei 64 bit Zahlen

Int64Div64Ex

Division zweier 64 bit Zahlen (mit Restergebnis)

Int64Not

Bitweise NOT einer 64 bit Zahl

Int64isZero

Prüft ob der Wert der 64 bit Zahl ist Null

Int64Negate

Negiert eine 64 bit Zahl

INT64_TO_LREAL

Konvertiert 64 bit Zahl in einen LREAL

LREAL_TO_INT64

Konvertiert LREAL in eine 64 bit Zahl

LARGE_TO_ULARGE

Konvertiert eine vorzeichenbehaftete 64 bit Zahl in eine vorzeichenlose 64 bit Zahl

ULARGE_TO_LARGE

Konvertiert eine vorzeichenlose 64 bit Zahl in eine vorzeichenbehaftete 64 bit Zahl

16 Bit Festkommazahlen (signed)

Name

Beschreibung

FIX16Add

Addiert zwei Festkommazahlen

FIX16Align

Ändert die Auflösung einer Festkommazahl

FIX16Sub

Subtrahiert zwei Festkommazahlen

FIX16Div

Dividiert zwei Festkommazahlen

FIX16Mul

Multipliziert zwei Festkommazahlen

LREAL_TO_FIX16

Konvertiert LREAL in eine Festkommazahl

WORD_TO_FIX16

Konvertiert WORD in eine Festkommazahl

FIX16_TO_LREAL

Konvertiert eine Festkommazahl in LREAL

FIX16_TO_WORD

Konvertiert eine Festkommazahl in WORD

Byte-Order-Konvertierungsfunktionen

Name

Beschreibung

HOST_TO_BE16

Host-To-Network Konvertierung (16 bit Zahl)

HOST_TO_BE32

Host-To-Network Konvertierung (32 bit Zahl)

HOST_TO_BE64

Host-To-Network Konvertierung (64 bit Zahl)

HOST_TO_BE128

Host-To-Network Konvertierung (128 bit Zahl)

BE16_TO_HOST

Network-To-Host Konvertierung (16 bit Zahl)

BE32_TO_HOST

Network-To-Host Konvertierung (32 bit Zahl)

BE64_TO_HOST

Network-To-Host Konvertierung (64 bit Zahl)

BE128_TO_HOST

Network-To-Host Konvertierung (128 bit Zahl)

 

Andere

Name

Beschreibung

FB_BasicPID

Einfacher PID controller

F_GetVersionTcUtilities

Versionsinformationen der Bibliothek lesen

IsFinite

Überprüft die Formatierung einer Gleitkommazahl nach der IEEE

F_YearIsLeapYear

Ermittelt ob ein Jahr Schaltjahr ist

F_GetMaxMonthDays

Ermittelt die maximale Anzahl der Monatstage

F_GetDOYOfYearMonthDay

Ermittelt die Nummer des Tages im Jahr

F_GetMonthOfDOY

Ermittelt den Monat anhand der Nummer des Tages im Jahr

F_GetDayOfWeek

Ermittelt die Nummer des Wochentages.

F_GetWeekOfTheYear

Ermittelt die Kalenderwoche

F_GetDayOfMonthEx

Ermittelt das Datum des ersten, zweiten usw Wochentages in einem bestimmten Monat und Jahr

RTC

"Software"-RTC (Real Time Clock)

RTC_EX

"Software"-RTC (Real Time Clock)

RTC_EX2

"Software"-RTC (Real Time Clock)

FB_FileRingBuffer

Schreibt/liest Datensätze in oder von der Datei (FIFO).

FB_MemRingBuffer

Schreibt/liest Datensätze in oder von einer Puffervariable (FIFO).

FB_MemRingBufferEx

Schreibt/liest Datensätze in oder von einer Puffervariable (FIFO).

FB_StringRingBuffer

Schreibt/liest Strings in oder von einer Puffervariable (FIFO).

FB_MemStackBuffer

Schreibt/liest Datensätze in oder von einer Puffervariable (LIFO).

FB_HashTableCtrl, F_CreateHashTableHnd

Einfache Hash-Tabelle.

FB_LinkedListCtrl, F_CreateLinkedListHnd

Einfache verkettete Liste (doppelt verkettet).

DCF77_TIME

Ein einfacher DCF77-Dekoder.

DCF77_TIME_EX

DCF77-Dekoder mit Plausibilitätsprüfung von zwei aufeinanderfolgenden Telegrammen und Zeitzoneninformation.

CSV-Format Hilfsbausteine

Name

Beschreibung

CSVFIELD_TO_STRING

Konvertiert den Wert eines Strings mit einem Datenfeld im CSV-Format in eine SPS-Stringvariable

STRING_TO_CSVFIELD

Konvertiert den Wert einer SPS-Stringvariablen in einen String mit einem Datenfeld im CSV-Format

CSVFIELD_TO_ARG

Konvertiert einen Bytepuffer mit einem Datenfeld im CSV-Format in einen Wert einer beliebigen SPS-Variablen

ARG_TO_CSVFIELD

Konvertiert den Wert einer beliebigen SPS-Variablen in einen Bytepuffer mit einem Datenfeld im CSV-Format

FB_CSVMemBufferReader

Teilt Datensätze im CSV-Format die in einem Bytepuffer vorliegen in einzelne Datenfelder.

FB_CSVMemBufferWriter

Erzeugt aus einzelnen Datenfeldern einzelne oder mehrere Datensätze in einem Bytepuffer