# Library of General Functions (LGF) für SIMATIC S7-1200 / S7-1500

# Bibliotheksübersicht

## Allgemein

TIA Portal hat eine umfangreiche Anzahl an "ready-to-use" Anweisungen (Mathematische Funktionen, Zeiten, Zähler, usw.). Darüber hinaus gibt es noch weitere nützliche Basisfunktionen.

Diese Funktionen werden in Form einer Bibliothek zur Verfügung gestellt und können frei verwendet werden. Die fertigen Funktionen sind frei anpassbar und können somit universell eingesetzt werden.

Die hier beschriebene Bibliothek ist versioniert und wird kontinuierlich erweitert. Informationen zur Versionierung finden Sie im Anhang Kapitel "Versionierung".

## Hard- und Softwarevoraussetzungen

#### Voraussetzungen für diese Bibliothek

Um die Funktionalität der hier beschriebenen Bibliothek nutzen zu können, sind nachfolgend genannte Hard- und Softwarevoraussetzungen einzuhalten.

#### Hardware

Alle Bausteine (FB, FC, DB, …) in der Bibliothek sind universal mit folgenden Steuerungen einsetzbar:

- SIMATIC S7-1200 und SIMATIC S7-1200 F Produktfamilie
  (ab Firmware V4.2)
- SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie
  (ab Firmware V2.0)
- Simulation mit SIMATIC S7-PLCSIM
  (ab V14)

#### Software

- SIMATIC STEP 7 Basic/Professional (TIA PORTAL)

Hinweis
  Es ist generell möglich eine Bibliothek mit STEP 7 Basic zu öffnen, obwohl STEP 7 Professional Elemente (z.B. SIMATIC S7-1500 Steuerung) enthalten sind. In diesem Fall werden Sie mit einer Meldung beim Öffnen der Bibliothek informiert.
  Es können alle Elemente (Typen und Kopiervorlagen) verwendet werden, wenn sie von der installierten Hardware im TIA Portal unterstützt werden.
  Falls Sie versuchen Elemente mit STEP 7 Basic aus der Bibliothek zu kopieren, die nicht unterstützt werden (z.B. SIMATIC S7-1500 Steuerung), wird eine Fehlermeldung angezeigt.

# Arbeiten mit der Bibliothek

## Allgemein

Alle Bausteine in der Bibliothek "LGF" sind frei verwendbar in Verbindung mit SIMATIC S7-1200 und SIMATIC S7-1500 Steuerungen.

Der Großteil der Bausteine ist als Typ in der Bibliothek abgelegt. Somit sind die Bausteine versioniert und können somit alle Vorteile nutzen.

- Zentrale Updatefunktion von Bibliothekselementen
- Versionierung von Bibliothekselementen

Hinweis
  Informationen zum generellen Umgang mit Bibliotheken finden Sie im Leitfaden zur Bibliothekshandhabung
  https://support.industry.siemens.com/cs/ww/de/view/109747503
  und im Programmierleitfaden für S7-1200/1500 im Kapitel "Bibliotheken"
  https://support.industry.siemens.com/cs/ww/de/view/81318674

Hinweis
  Alle Bausteine in der LGF wurden nach dem Programmierstyleguide erstellt. https://support.industry.siemens.com/cs/ww/de/view/81318674

Weitere Informationen zu Bibliotheken im TIA Portal:

- Themenseite Bibliotheken
  https://support.industry.siemens.com/cs/ww/de/view/109738702

- Wie öffnen Sie Bibliotheken in STEP 7 (TIA Portal)?
  https://support.industry.siemens.com/cs/ww/de/view/37364723

- Automatisieren in weniger als 10 Minuten TIA Portal: Time Savers – Globale Bibliotheken
  https://support.industry.siemens.com/cs/ww/de/view/78529894

- Welche Elemente aus STEP 7 (TIA Portal) können in einer Bibliothek als Typ oder als Kopiervorlage abgelegt werden?
  https://support.industry.siemens.com/cs/ww/de/view/109476862

- Wie können Sie beim Starten von TIA Portal ab V13 eine globale Bibliothek automatisch öffnen und z.B. als Unternehmensbibliothek verwenden?
  https://support.industry.siemens.com/cs/ww/de/view/100451450

- Bibliothek mit PLC-Datentypen für Peripherie- / Technologie-Module und PROFIdrive Antriebe (LPD)
  https://support.industry.siemens.com/cs/ww/de/view/109482396

## Simulierbarkeit mit SIMATIC S7-PLCSIM Advanced

In den Eigenschaften der LGF Bausteine ist die Simulation mit SIMATIC S7-PLCSIM Advanced bereits aktiviert.

Damit die Bausteine nach dem Übersetzen mit SIMATIC S7-PLCSIM Advanced simuliert werden können, gehen Sie folgendermaßen vor:

1. Öffnen Sie die Eigenschaften Ihres Projekts und aktivieren Sie im Register "Schutz" die Option "Beim Übersetzen von Bausteinen Simulierbarkeit unterstützen" ("Support simulation during block compilation").

Hinweis
  Bausteine mit aktivierter Simulierbarkeit belegen mehr Speicherplatz in der PLC.

## Anwenderdefinierte Dokumentation (Anwenderhilfe)

Um den Anwendern der Bibliothek LGF die Funktionsweise und die Verwendung der Bausteine zu erläutern, wurde für jeden Baustein eine anwenderdefinierte Dokumentation erstellt.
Die anwenderdefinierte Dokumentation pro Bausteine ist in den Sprachen Deutsch und Englisch als PDF-Datei verfügbar. Die PDF-Dateien sind in folgenden Verzeichnissen der Bibliothek LGF gespeichert.

- Deutsch: `"UserFiles\UserDocumentation\de-DE\Library Types"`
- Englisch: `"UserFiles\UserDocumentation\en-US\Library Types"`

Die anwenderdefinierte Dokumentation zu einem Baustein können Sie in der Task Card "Bibliothek" und in der Bibliotheksansicht mit der Tastenkombination `<Shift+F1>` aufrufen.
Die jeweilige PDF wird immer mit dem in Microsoft Windows festgelegten Standardprogramm geöffnet.

Damit die anwenderdefinierten Dokumentationen der Bausteine auch in der Projektnavigation aufgerufen werden kann, müssen Sie die Verzeichnisse mit den PDF-Dateien in das Projektverzeichnis "UserFiles" kopieren.

Hinweis
  Für die Anwenderdefinierte Dokumentation benötigen Sie SIMATIC STEP 7 Basic/Professional V15.1 Update 1.

#### Zentrales Verzeichnis für anwenderdefinierte Dokumentation

Alternativ können Sie die anwenderdefinierte Dokumentation auch projektüber-greifend in einem zentralen Verzeichnis ablegen. Um einen zentralen Ablageort für Anwenderhilfe festzulegen, gehen Sie folgendermaßen vor:

1. Wählen Sie im Menü "Extras" ("Options") den Befehl "Einstellungen" ("Settings").
2. Öffnen Sie den Bereich "Allgemein > Allgemein" ("General > General").
3. Navigieren Sie zum Abschnitt "Anwenderdokumentation" ("User documentation").
4. Aktivieren Sie das Optionskästchen "Aufrufprotokoll zu anwenderdefinierter Dokumentation anzeigen" ("Display call log for user-defined documentation"), um im Inspektor Fenster ein Protokoll vom Aufruf der anwenderdefinierten Dokumentation anzuzeigen.
5. Aktivieren Sie das Optionskästchen "Suche nach anwenderdefinierter Dokumentation in einem zentralen Verzeichnis" ("Search for user-defined documentation in a central directory"), um anwenderdefinierte Dokumentation in einem projektübergreifenden Verzeichnis abzulegen.
6. Geben Sie im Feld "Zentrales Verzeichnis für anwenderdefinierte Dokumentation" ("Central directory for user-defined documentation") den Pfad an, an dem Sie projektübergreifende Dokumentation speichern.

Hinweis
  Ändern Sie nicht die Namen der PDF, denn der Dateiname muss exakt dem Namen des Objekts im TIA Portal entsprechen.

Hinweis
  Weitere Informationen zur anwenderdefinierten Dokumentation finden Sie im Systemhandbuch "SIMATIC STEP 7 Basic/Professional V15.1 und SIMATIC WinCC V15.1" unter:
  https://support.industry.siemens.com/cs/ww/de/view/109755202/114872699275

# Erläuterung der Bausteine

Die folgenden Kapitel beschreiben alle Bausteine der Bibliothek "Library of General Functions".
Die Kapitel sind nach der gleichen Struktur aufgebaut wie die Bibliothek selbst.

Alle Bausteine sind in Anwendungsgebiete bzw. Kategorien eingeteilt:

- Bit logic operations (Bitoperationen)
- Date and timer operations (Datum und Zeitoperationen)
- Counter operations (Zähloperationen)
- Comparator operations (Vergleichsoperationen)
- Math operations (mathematische Operationen)
- Data handling (Datenverarbeitung)
- Converter operations (Konvertierungsoperationen)
- Signal generators (Signalgeneratoren)
- Technology operations (Technologieoperationen)
- Measurement operations (Messdatenoperationen)

# Programm Bausteine

- Programm Bausteine
  - Bit logic operations
    - LGF_BitReset (FC / V3.0.1)
    - LGF_BitSet (FC / V3.0.1)
    - LGF_BitSetTo (FC / V3.0.1)
    - LGF_BitTest (FC / V3.0.1)
    - LGF_BitToggle (FC / V3.0.1)
    - LGF_PulseRelay (FB / V3.0.1)
  - Date and timer operations
    - LGF_GetCalendarDay (FC / V3.0.1)
    - LGF_GetCalendarWeek_ISO (FC / V3.0.1)
    - LGF_GetCalendarWeek_US (FC / V3.0.1)
    - LGF_IsGermanHoliday (FC / V3.0.1)
    - LGF_AstroClock (FB / V3.0.1)
    - LGF_SetTime (FB / V3.0.2)
    - LGF_TimerSwitch (FB / V3.0.1)
  - Counter operations
    - LGF_BitCount (FC / V3.0.2)
    - LGF_CountBooleanEdges (FB / V1.0.0)
    - LGF_CountFalInDWord (FB / V3.0.1)
    - LGF_CountRisInDWord (FB / V3.0.1)
    - LGF_GetBitStates (FB / V1.0.0)
  - Comperator operations
    - LGF_BinaryMaskCompare (FC / V1.0.0)
    - LGF_CompareLReal (FC / V3.0.1)
    - LGF_CompareLRealByPrecision (FC / V3.0.1)
    - LGF_CompareVariant (FC / V3.0.1)
  - Math operations
    - LGF_CalcDistance_2D (FC / V3.0.1)
    - LGF_CalcDistance_3D (FC / V3.0.1)
    - LGF_GetFactorial (FC / V3.0.1)
    - LGF_IsValueInLimits (FC / V3.0.1)
    - LGF_IsValueInRange (FC / V3.0.1)
    - LGF_IsValueInTolerance (FC / V3.0.2)
    - LGF_NthRoot (FC / V3.0.1)
    - LGF_Random_DInt (FC / V3.0.1)
    - LGF_Random_Real (FC / V3.0.1)
    - LGF_Random_UDInt (FC / V3.0.1)
    - LGF_RandomRange_Dint (FC / V3.0.1)
    - LGF_RandomRange_Real (FC / V3.0.1)
    - LGF_RandomRange_UDInt (FC / V3.0.1)
    - LGF_ScaleLinear (FC / V3.0.1)
    - LGF_SearchMinMax (FC / V3.0.1)
    - LGF_SearchMinMax_DInt (FC / V3.0.1)
    - LGF_SearchMinMax_LReal (FC / V3.0.1)
    - LGF_SearchMinMax_UDInt (FC / V3.0.1)
    - LGF_Integration (FB / V3.0.2)
    - LGF_StoreMinMax (FB / V3.0.1)
    - Matrix
      - LGF_MatrixAddition (FC / V3.0.1)
      - LGF_MatrixCompare (FC / V3.0.1)
      - LGF_MatrixInverse (FC / V3.0.1)
      - LGF_MatrixMultiplication (FC / V3.0.1)
      - LGF_MatrixScalarMultiplication (FC / V3.0.1)
      - LGF_MatrixSubtraction (FC / V3.0.1)
      - LGF_MatrixTranspose (FC / V3.0.1)
  - Data handling
    - LGF_CalcCRC16 (FC / V3.0.1)
    - LGF_CalcCRC16Advanced (FC / V3.0.1)
    - LGF_CalcCRC32 (FC / V3.0.1)
    - LGF_CalcCRC32Advanced (FC / V3.0.1)
    - LGF_CalcCRC8 (FC / V3.0.1)
    - LGF_CalcCRC8Advanced (FC / V3.0.1)
    - LGF_CalcCRC8For1Byte (FC / V3.0.1)
    - LGF_IsParityEven (FC / V3.0.1)
    - LGF_IsParityOdd (FC / V3.0.1)
    - LGF_FIFO (FB / V3.0.1)
    - LGF_LIFO (FB / V3.0.1)
    - LGF_ShellSort_DInt (FB / V3.0.1)
    - LGF_ShellSort_LReal (FB / V3.0.1)
    - LGF_ShellSort_UDInt (FB / V3.0.1)
    - LGF_ShiftRegister (FB / V1.0.3)
  - Converter operations
    - LGF_BinaryToGray (FC / V3.0.1)
    - LGF_DTLtoString_DE (FC / V3.0.1)
    - LGF_DTLtoString_ISO (FC / V3.0.1)
    - LGF_DTLToUnixTime (FC / V3.0.1)
    - LGF_GpsDDToGps (FC / V3.0.2)
    - LGF_GpsToGpsDD (FC / V3.0.2)
    - LGF_GrayToBinary (FC / V3.0.1)
    - LGF_IntToString (FC / V3.0.1)
    - LGF_StringToDTL_DE (FC / V3.0.1)
    - LGF_StringToDTL_ISO (FC / V3.0.1)
    - LGF_StringToInt (FC / V3.0.1)
    - LGF_StringToTaddr (FC / V3.0.1)
    - LGF_StringToTime (FC / V3.0.1)
    - LGF_TaddrToString (FC / V3.0.1)
    - LGF_TimeToString (FC / V3.0.1)
    - LGF_UnixTimeToDTL (FC / V3.0.1)
    - Binary types - Split and Merge
      - LGF_MergeBitsToByte (FC / V3.0.1)
      - LGF_MergeBitsToDWord (FC / V3.0.1)
      - LGF_MergeBitsToWord (FC / V3.0.1)
      - LGF_MergeBytesToDWord (FC / V3.0.1)
      - LGF_MergeBytesToWord (FC / V3.0.1)
      - LGF_MergeWordsToDWord (FC / V3.0.1)
      - LGF_SplitByteToBits (FC / V3.0.1)
      - LGF_SplitDWordToBits (FC / V3.0.1)
      - LGF_SplitDWordToBytes (FC / V3.0.1)
      - LGF_SplitDWordToWords (FC / V3.0.1)
      - LGF_SplitWordToBits (FC / V3.0.1)
      - LGF_SplitWordToBytes (FC / V3.0.1)
    - Temperature
      - LGF_CelsiusToFahrenheit (FC / V3.0.1)
      - LGF_CelsiusToKelvin (FC / V3.0.1)
      - LGF_ConvertTemperature (FC / V3.0.1)
      - LGF_FahrenheitToCelsius (FC / V3.0.1)
      - LGF_FahrenheitToKelvin (FC / V3.0.1)
      - LGF_KelvinToCelsius (FC / V3.0.1)
      - LGF_KelvinToFahrenheit (FC / V3.0.1)
      - LGF_KelvinToRankine (FC / V3.0.1)
      - LGF_RankineToKelvin (FC / V3.0.1)
  - Signal generators
    - LGF_CosinusCI (FB / V3.0.1)
    - LGF_Frequency (FB / V3.0.1)
    - LGF_Impulse (FB / V3.0.1)
    - LGF_RectangleCI (FB / V3.0.1)
    - LGF_SawToothCI (FB / V3.0.1)
    - LGF_SinusCI (FB / V3.0.1)
    - LGF_TriangleCI (FB / V3.0.1)
  - Technology operations
    - LGF_LimRateOfChangeAdvancedCI (FB / V3.0.1)
    - LGF_LimRateOfChangeCI (FB / V3.0.1)
    - LGF_NonLinearInterpolation (FB / V3.0.1)
    - LGF_RampCI (FB / V3.0.1)
  - Measurement operations
    - LGF_AverageAndDeviation (FC / V3.0.1)
    - LGF_DifferenceQuotientFC (FC / V3.0.1)
    - LGF_RegressionLine (FC / V3.0.1)
    - LGF_SimpleSmoothingFC (FC / V3.0.1)
    - LGF_SmoothByPolynomFC (FC / V3.0.1)
    - LGF_Boxplot_DInt (FB / V3.0.1)
    - LGF_Boxplot_LReal (FB / V3.0.1)
    - LGF_Boxplot_UDInt (FB / V3.0.1)
    - LGF_DifferenceQuotientFB (FB / V3.0.1)
    - LGF_FloatingAverage (FB / V3.0.2)
    - LGF_Histogram_DInt (FB / V3.0.1)
    - LGF_Histogram_LReal (FB / V3.0.1)
    - LGF_Histogram_UDInt (FB / V3.0.1)
    - LGF_SimpleSmoothingFB (FB / V3.0.1)
    - LGF_SmoothByPolynomFB (FB / V3.0.1)
  - Legacy
    - Counter operations
      - LGF_CountFalInDWord (FC / V3.0.1)
      - LGF_CountRisInDWord (FC / V3.0.1)
    - Signal generators
      - LGF_SawTooth (FB / V3.0.1)

# PLC Datentypen

- PLC Datentypen
  - Date and timer operations
    - LGF_typeGPS (UDT / )
    - LGF_typeGPS_DD (UDT / )
    - LGF_typeGPS_DMS (UDT / )
  - Technology operations
    - LGF_typeNonLinSetpoints (UDT / )
    - LGF_typeRampTimeTable (UDT / )
  - Measurement operations
    - LGF_typeRegressionLine (UDT / )

# PLC Variablen und Konstanten

- PLC Variablen und Konstanten
  - LGF_CONSTANTS (Variablen Tabelle / Globale Konstanten)
  - LGF_CONSTANTS_UNITS (Variablen Tabelle / Globale Konstanten)
  - LMATH_CONSTANTS (Variablen Tabelle / Globale Konstanten)
  - LMATH_CONSTANTS_EXTENTED (Variablen Tabelle / Globale Konstanten)
  - LPHYSICS_CONSTANTS (Variablen Tabelle / Globale Konstanten)

# Anhang

## Service und Support

#### Industry Online Support

Sie haben Fragen oder brauchen Unterstützung?
Über den Industry Online Support greifen Sie rund um die Uhr auf das gesamte Service und Support Know-how sowie auf unsere Dienstleistungen zu.
Der Industry Online Support ist die zentrale Adresse für Informationen zu unseren Produkten, Lösungen und Services.
Produktinformationen, Handbücher, Downloads, FAQs und Anwendungsbeispiele, alle Informationen sind mit wenigen Mausklicks erreichbar:
https://support.industry.siemens.com

#### Technical Support

Der Technical Support von Siemens Industry unterstützt Sie schnell und kompetent bei allen technischen Anfragen mit einer Vielzahl maßgeschneiderter Angebote, von der Basisunterstützung bis hin zu individuellen Supportverträgen.
Anfragen an den Technical Support stellen Sie per Web-Formular:
https://www.siemens.com/supportrequest

#### SITRAIN – Digital Industry Academy

Mit unseren weltweit verfügbaren Trainings für unsere Produkte und Lösungen unterstützen wir Sie praxisnah, mit innovativen Lernmethoden und mit einem kundenspezifisch abgestimmten Konzept.
Mehr zu den angebotenen Trainings und Kursen sowie deren Standorte und Termine erfahren Sie unter:
https://www.siemens.de/sitrain

#### Serviceangebot

Unser Serviceangebot umfasst folgendes:

- Plant Data Services
- Ersatzteilservices
- Reparaturservices
- Vor-Ort und Instandhaltungsservices
- Retrofit- und Modernisierungsservices
- Serviceprogramme und Verträge

Ausführliche Informationen zu unserem Serviceangebot finden Sie im Servicekatalog:
https://support.industry.siemens.com/cs/sc

#### Industry Online Support App

Mit der App "Siemens Industry Online Support" erhalten Sie auch unterwegs die optimale Unterstützung. Die App ist für iOS und Android verfügbar:
https://support.industry.siemens.com/cs/ww/de/sc/2067

## Industry Mall

Die Siemens Industry Mall ist die Plattform, auf der das gesamte Produktportfolio von Siemens Industry zugänglich ist. Von der Auswahl der Produkte über die Bestellung und die Lieferverfolgung ermöglicht die Industry Mall die komplette Einkaufsabwicklung – direkt und unabhängig von Zeit und Ort:
https://mall.industry.siemens.com

## Links und Literatur

No. | Topic
--- | ---
\1\ | Siemens Industry Online Support https://support.industry.siemens.com
\2\ | Link auf die Beitragsseite des Anwendungsbeispiels https://support.industry.siemens.com/cs/ww/de/view/109479728
\3\ | Programmierleitfaden und Programmierstyleguide für SIMATIC S7-1200 and S7-1500 https://support.industry.siemens.com/cs/ww/de/view/81318674
\4\ | Bibliothek mit PLC-Datentypen (LPD) für STEP 7 (TIA Portal) und SIMATIC S7-1200 / S7-1500 https://support.industry.siemens.com/cs/ww/de/view/109482396
\5\ | Leitfaden zur Bibliothekshandhabung https://support.industry.siemens.com/cs/ww/de/view/109747503
\6\ | Themenseite Bibliotheken https://support.industry.siemens.com/cs/ww/de/view/109738702

## Änderungsdokumentation

#### Versionierung der Bibliothek

Die Bibliothek und Bibliothekselemente werden gemäß folgender Tabelle gepflegt:

P |  |  |
--- | --- | --- | ---
| Nichtkompatible Änderung | Kompatible Änderung | Fehlerkorrektur
| Reduzierung der Schnittstellen Ändern der Schnittstellen Inkompatible Erweiterung der Funktionalität | Erweiterung der Schnittstellen Kompatible Erweiterung der Funktionalität | Bugfix

#### Versionierungs Beispiel

Beispiel für das ändern und hochzählen der Versionsnummer:

Library | FB1 | FB2 | FC1 | FC2 | Comment
--- | --- | --- | --- | --- | ---
1.0.0 | 1.0.0 | 1.0.0 | 1.0.0 | - | freigegeben
1.0.1 | 1.0.1 | 1.0.0 | 1.0.0 | - | Fehlerbehebung von FB1
1.0.2 | 1.0.1 | 1.0.1 | 1.0.0 | - | Optimierung von FB2
1.1.0 | 1.1.0 | 1.0.1 | 1.0.0 | - | Erweiterung an FB1
1.2.0 | 1.2.0 | 1.0.1 | 1.0.0 | - | Erweiterung an FB1
2.0.0 | 2.0.0 | 1.0.1 | 2.0.0 | - | neue Funktionalität an FB1 und FC1
2.0.1 | 2.0.0 | 1.0.2 | 2.0.0 | - | Fehlerbehebung FB2
3.0.0 | 2.0.0 | 1.0.2 | 2.0.0 | 1.0.0 | Neue Funktion FC2
3.0.1 | 2.0.1 | 1.0.3 | 2.0.1 | 1.0.1 | Upgrade auf neue TIA Portal Version
3.0.2 | 2.0.2 | 1.0.4 | 2.0.2 | 1.0.1 | Neue Funktionen, Fehlerbehebungen

## Änderungshistorie

Version & Datum | Änderungsbeschreibung
--- | ---
V5.1.0 09/2021 | NEW: LGF_BinaryMaskCompare / V01.00.00 LGF_CountBooleanEdges / V01.00.00 LGF_GetBitStates / V01.00.00 LGF_ShiftRegister / V03.00.00 UPDATED: LGF_BitReset / 03.00.01 Insert documentation LGF_BitSet / 03.00.01 Insert documentation LGF_BitSetTo / 03.00.01 Insert documentation LGF_BitTest / 03.00.01 Insert documentation LGF_BitToggle / 03.00.01 Insert documentation LGF_PulseRelay / 03.00.01 Insert documentation LGF_AstroClock / 03.00.01 Bug fix - not enabled - block still running Insert documentation LGF_GetCalendarDay / 03.00.01 Insert documentation LGF_GetCalendarWeek_ISO / 03.00.01 Insert documentation LGF_GetCalendarWeek_US / 03.00.01 Insert documentation LGF_IsGermanHoliday / 03.00.01 fix bug in Constant "DAYS_AFTER_EASTER_60" from 6 to 60 Insert documentation LGF_SetTime / 03.00.02 Bug fix - bias correction for time offsets (200 / 330) Insert documentation LGF_TimerSwitch / 03.00.01 Insert documentation LGF_BitCount / 03.00.02 Insert documentation LGF_CountFalInDWord / 03.00.01 Insert documentation LGF_CountRisInDWord / 03.00.01 Insert documentation LGF_CompareLReal / 03.00.01 Insert documentation LGF_CompareLRealByPrecision / 03.00.01 Insert documentation LGF_CompareVariant / 03.00.01 Insert documentation LGF_CalcDistance_2D / 03.00.01 Insert documentation LGF_CalcDistance_3D / 03.00.01 Insert documentation LGF_GetFactorial / 03.00.01 Insert documentation LGF_Integration / 03.00.02 Insert documentation Fix bug - incompatibility with S7-1200 and LTIME LGF_IsValueInLimits / 03.00.01 Insert documentation LGF_IsValueInRange / 03.00.01 Insert documentation LGF_IsValueInTolerance / 03.00.02 Bug fix - negative setpoint verification Insert documentation LGF_NthRoot / 03.00.01 Insert documentation LGF_Random_DInt / 03.00.01 Insert documentation LGF_Random_Real / 03.00.01 Insert documentation LGF_Random_UDInt / 03.00.01 Insert documentation LGF_RandomRange_Dint / 03.00.01 Insert documentation LGF_RandomRange_Real / 03.00.01 Insert documentation LGF_RandomRange_UDInt / 03.00.01 Insert documentation LGF_ScaleLinear / 03.00.01 Insert documentation Move to folder "Math operations" LGF_SearchMinMax / 03.00.01 Rework constants and comments Insert documentation LGF_SearchMinMax_DInt / 03.00.01 Insert documentation LGF_SearchMinMax_LReal / 03.00.01 Insert documentation LGF_SearchMinMax_UDInt / 03.00.01 Insert documentation LGF_StoreMinMax / 03.00.01 Insert documentation LGF_MatrixAddition / 03.00.01 Insert documentation LGF_MatrixCompare / 03.00.01 Insert documentation LGF_MatrixInverse / 03.00.01 Insert documentation LGF_MatrixMultiplication / 03.00.01 Insert documentation LGF_MatrixScalarMultiplication / 03.00.01 Insert documentation LGF_MatrixSubtraction / 03.00.01 Insert documentation LGF_MatrixTranspose / 03.00.01 Insert documentation LGF_CalcCRC16 / 03.00.01 Insert documentation Assign default start values to optional inputs - `initValue`, `mask` LGF_CalcCRC16Advanced / 03.00.01 Insert documentation Assign default start values to optional inputs - `initValue`, `mask`, `finalXorValue`, `reflectInput`, `reflectResult` LGF_CalcCRC32 / 03.00.01 Insert documentation Assign default start values to optional inputs - `initValue`, `mask` LGF_CalcCRC32Advanced / 03.00.01 Insert documentation Assign default start values to optional inputs - `initValue`, `mask`, `finalXorValue`, `reflectInput`, `reflectResult` LGF_CalcCRC8 / 03.00.01 Insert documentation Assign default start values to optional inputs - `initValue`, `mask` LGF_CalcCRC8Advanced / 03.00.01 Insert documentation Assign default start values to optional inputs - `initValue`, `mask`, `finalXorValue`, `reflectInput`, `reflectResult` LGF_CalcCRC8For1Byte / 03.00.01 Insert documentation Assign default start values to optional inputs - `initValue`, `mask` LGF_FIFO / 03.00.01 Insert documentation LGF_IsParityEven / 03.00.01 Insert documentation LGF_IsParityOdd / 03.00.01 Insert documentation LGF_LIFO / 03.00.01 Insert documentation LGF_ShellSort_DInt / 03.00.01 Insert documentation LGF_ShellSort_LReal / 03.00.01 Insert documentation LGF_ShellSort_UDInt / 03.00.01 Insert documentation LGF_BinaryToGray / 03.00.01 Insert documentation LGF_DTLtoString_DE / 03.00.01 Insert documentation LGF_DTLtoString_ISO / 03.00.01 Insert documentation LGF_DTLToUnixTime / 03.00.01 Insert documentation LGF_GpsDDToGps / 03.00.02 Fix `tempStatus` initialization Insert documentation LGF_GpsToGpsDD / 03.00.02 Fix `tempStatus` initialization Insert documentation LGF_GrayToBinary / 03.00.01 Insert documentation LGF_IntToString / 03.00.01 Insert documentation LGF_StringToDTL_DE / 03.00.01 Insert documentation LGF_StringToDTL_ISO / 03.00.01 Insert documentation LGF_StringToInt / 03.00.01 Insert documentation ENO handling done by STRG_VAL system function LGF_StringToTaddr / 03.00.01 Insert documentation LGF_StringToTime / 03.00.01 Insert documentation LGF_TaddrToString / 03.00.01 Insert documentation LGF_TimeToString / 03.00.01 Insert documentation LGF_UnixTimeToDTL / 03.00.01 Insert documentation LGF_MergeBitsToDWord / 03.00.01 Insert documentation LGF_MergeBitsToWord / 03.00.01 Insert documentation LGF_MergeBytesToDWord / 03.00.01 Insert documentation LGF_MergeBytesToWord / 03.00.01 Insert documentation LGF_MergeWordsToDWord / 03.00.01 Insert documentation LGF_SplitByteToBits / 03.00.01 Insert documentation LGF_SplitDWordToBits / 03.00.01 Insert documentation LGF_SplitDWordToBytes / 03.00.01 Insert documentation LGF_SplitDWordToWords / 03.00.01 Insert documentation LGF_SplitWordToBits / 03.00.01 Insert documentation LGF_SplitWordToBytes / 03.00.01 Insert documentation LGF_CelsiusToFahrenheit / 03.00.01 Insert documentation LGF_CelsiusToKelvin / 03.00.01 Insert documentation LGF_ConvertTemperature / 03.00.01 Rename from "LGF_TemperatureConvert" to "LGF_ConvertTemperature" to start with the verb include the Rankine conversion Code refactoring, regions, commends and constants Set version to V3.0.0 harmonize the version of the whole library Insert documentation LGF_FahrenheitToCelsius / 03.00.01 Insert documentation LGF_FahrenheitToKelvin / 03.00.01 Insert documentation LGF_KelvinToCelsius / 03.00.01 Insert documentation LGF_KelvinToFahrenheit / 03.00.01 Insert documentation LGF_KelvinToRankine / 03.00.01 Insert documentation LGF_RankineToKelvin / 03.00.01 Insert documentation LGF_CosinusCI / 03.00.01 Insert documentation LGF_Frequency / 03.00.01 Insert documentation LGF_Impulse / 03.00.01 Insert documentation LGF_RectangleCI / 03.00.01 Insert documentation LGF_SawToothCI / 03.00.01 Insert documentation LGF_SinusCI / 03.00.01 Insert documentation LGF_TriangleCI / 03.00.01 Insert documentation LGF_LimRateOfChangeAdvancedCI / 03.00.01 Insert documentation LGF_LimRateOfChangeCI / 03.00.01 Insert documentation LGF_NonLinearInterpolation / 03.00.01 Insert documentation LGF_RampCI / 03.00.01 Insert documentation Change UDT member name from `outValue` to `outputValue` LGF_AverageAndDeviation / 03.00.01 Insert documentation LGF_Boxplot_DInt / 03.00.01 Insert documentation LGF_Boxplot_LReal / 03.00.01 Insert documentation LGF_Boxplot_UDInt / 03.00.01 Insert documentation LGF_DifferenceQuotientFB / 03.00.01 Insert documentation LGF_DifferenceQuotientFC / 03.00.01 Insert documentation LGF_FloatingAverage / 03.00.02 Insert documentation LGF_Histogram_DInt / 03.00.01 Insert documentation LGF_Histogram_LReal / 03.00.01 Insert documentation LGF_Histogram_UDInt / 03.00.01 Insert documentation LGF_RegressionLine / 03.00.01 Insert documentation LGF_SimpleSmoothingFB / 03.00.01 Insert documentation LGF_SimpleSmoothingFC / 03.00.01 Insert documentation LGF_SmoothByPolynomFB / 03.00.01 Insert documentation LGF_SmoothByPolynomFC / 03.00.01 Insert documentation LGF_SawTooth / 03.00.01 Insert documentation
V5.0.0 04/2020 | NEW: LGF_BitReset / V03.00.00 LGF_BitSet / V03.00.00 LGF_BitSetTo / V03.00.00 LGF_BitTest / V03.00.00 LGF_BitToggle / V03.00.00 LGF_PulseRelay / V03.00.00 LGF_AstroClock / V03.00.00 LGF_GetCalendarDay / V03.00.00 LGF_GetCalendarWeek_ISO / V03.00.00 LGF_GetCalendarWeek_US / V03.00.00 LGF_IsGermanHoliday / V03.00.00 LGF_SetTime / V03.00.00 LGF_TimerSwitch / V03.00.00 LGF_CountFalInDWord / V03.00.00 LGF_CountRisInDWord / V03.00.00 LGF_CompareLReal / V03.00.00 LGF_CompareLRealByPrecision / V03.00.00 LGF_CompareVariant / V03.00.00 LGF_CalcDistance_2D / V03.00.00 LGF_CalcDistance_3D / V03.00.00 LGF_GetFactorial / V03.00.00 LGF_Integration / V03.00.00 LGF_IsValueInLimits / V03.00.00 LGF_IsValueInRange / V03.00.00 LGF_IsValueInTolerance / V03.00.00 LGF_NthRoot / V03.00.00 LGF_Random_DInt / V03.00.00 LGF_Random_Real / V03.00.00 LGF_Random_UDInt / V03.00.00 LGF_RandomRange_Dint / V03.00.00 LGF_RandomRange_Real / V03.00.00 LGF_RandomRange_UDInt / V03.00.00 LGF_SearchMinMax / V03.00.00 LGF_SearchMinMax_DInt / V03.00.00 LGF_SearchMinMax_LReal / V03.00.00 LGF_SearchMinMax_UDInt / V03.00.00 LGF_StoreMinMax / V03.00.00 LGF_MatrixInverse / V03.00.00 LGF_MatrixTranspose / V03.00.00 LGF_MatrixAddition / V03.00.00 LGF_MatrixCompare / V03.00.00 LGF_MatrixMultiplication / V03.00.00 LGF_MatrixScalarMultiplication / V03.00.00 LGF_MatrixSubtraction / V03.00.00 LGF_CalcCRC16 / V03.00.00 LGF_CalcCRC16Advanced / V03.00.00 LGF_CalcCRC32 / V03.00.00 LGF_CalcCRC32Advanced / V03.00.00 LGF_CalcCRC8 / V03.00.00 LGF_CalcCRC8Advanced / V03.00.00 LGF_CalcCRC8For1Byte / V03.00.00 LGF_FIFO / V03.00.00 LGF_IsParityEven / V03.00.00 LGF_IsParityOdd / V03.00.00 LGF_LIFO / V03.00.00 LGF_ShellSort_DInt / V03.00.00 LGF_ShellSort_LReal / V03.00.00 LGF_ShellSort_UDInt / V03.00.00 LGF_BinaryToGray / V03.00.00 LGF_DTLtoString_DE / V03.00.00 LGF_DTLtoString_ISO / V03.00.00 LGF_DTLToUnixTime / V03.00.00 LGF_GpsDDToGps / V03.00.00 LGF_GpsToGpsDD / V03.00.00 LGF_GrayToBinary / V03.00.00 LGF_IntToString / V03.00.00 LGF_ScaleLinear / V03.00.00 LGF_StringToDTL_DE / V03.00.00 LGF_StringToDTL_ISO / V03.00.00 LGF_StringToInt / V03.00.00 LGF_StringToTaddr / V03.00.00 LGF_StringToTime / V03.00.00 LGF_TaddrToString / V03.00.00 LGF_TimeToString / V03.00.00 LGF_UnixTimeToDTL / V03.00.00 LGF_CelsiusToFahrenheit / V03.00.00 LGF_CelsiusToKelvin / V03.00.00 LGF_ConvertTemperature / V16.12.2018 LGF_FahrenheitToCelsius / V03.00.00 LGF_FahrenheitToKelvin / V03.00.00 LGF_KelvinToCelsius / V03.00.00 LGF_KelvinToFahrenheit / V03.00.00 LGF_KelvinToRankine / V03.00.00 LGF_RankineToKelvin / V03.00.00 LGF_CosinusCI / V03.00.00 LGF_Frequency / V03.00.00 LGF_Impulse / V03.00.00 LGF_RectangleCI / V03.00.00 LGF_SawToothCI / V03.00.00 LGF_SinusCI / V03.00.00 LGF_TriangleCI / V03.00.00 LGF_LimRateOfChangeAdvancedCI / V03.00.00 LGF_LimRateOfChangeCI / V03.00.00 LGF_NonLinearInterpolation / V03.00.00 LGF_RampCI / V03.00.00 LGF_AverageAndDeviation / V03.00.00 LGF_Boxplot_DInt / V03.00.00 LGF_Boxplot_LReal / V03.00.00 LGF_Boxplot_UDInt / V03.00.00 LGF_DifferenceQuotientFB / V03.00.00 LGF_DifferenceQuotientFC / V03.00.00 LGF_FloatingAverage / V03.00.01 LGF_Histogram_DInt / V03.00.00 LGF_Histogram_LReal / V03.00.00 LGF_Histogram_UDInt / V03.00.00 LGF_RegressionLine / V03.00.00 LGF_SimpleSmoothingFB / V03.00.00 LGF_SimpleSmoothingFC / V03.00.00 LGF_SmoothByPolynomFB / V03.00.00 LGF_SmoothByPolynomFC / V03.00.00 LGF_SawTooth / V01.00.10 LGF_BitCount / V03.00.00 LGF_MergeBitsToByte / V03.00.01 LGF_MergeBitsToDWord / V03.00.00 LGF_MergeBitsToWord / V03.00.00 LGF_MergeBytesToDWord / V03.00.00 LGF_MergeBytesToWord / V03.00.00 LGF_MergeWordsToDWord / V03.00.00 LGF_SplitByteToBits / V03.00.00 LGF_SplitDWordToBits / V03.00.00 LGF_SplitDWordToBytes / V03.00.00 LGF_SplitDWordToWords / V03.00.00 LGF_SplitWordToBits / V03.00.00 LGF_SplitWordToBytes / V03.00.00