functions (lgf) für simatic s7 1500 · 2020. 5. 11. · • simatic s7-1500 und simatic s7-1500 f...

160
Library of General Functions (LGF) für SIMATIC S7-1200 / S7-1500 STEP 7 Basic/Professional V15.1 (TIA PORTAL) https://support.industry.siemens.com/cs/ww/de/view/109479728 Siemens Industry Online Support

Upload: others

Post on 22-Aug-2020

145 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

Library of General

Functions (LGF)

für SIMATIC

S7-1200 / S7-1500

STEP 7 Basic/Professional V15.1 (TIA PORTAL)

https://support.industry.siemens.com/cs/ww/de/view/109479728

Siemens

Industry

Online

Support

Page 2: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

Rechtliche Hinweise

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 2

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Rechtliche Hinweise Nutzung der Anwendungsbeispiele

In den Anwendungsbeispielen wird die Lösung von Automatisierungsaufgaben im Zusammen-spiel mehrerer Komponenten in Form von Text, Grafiken und/oder Software-Bausteinen beispielhaft dargestellt. Die Anwendungsbeispiele sind ein kostenloser Service der Siemens AG und/oder einer Tochtergesellschaft der Siemens AG („Siemens“). Sie sind unverbindlich und erheben keinen Anspruch auf Vollständigkeit und Funktionsfähigkeit hinsichtlich Konfiguration und Ausstattung. Die Anwendungsbeispiele stellen keine kundenspezifischen Lösungen dar, sondern bieten lediglich Hilfestellung bei typischen Aufgabenstellungen. Sie sind selbst für den sachgemäßen und sicheren Betrieb der Produkte innerhalb der geltenden Vorschriften verantwortlich und müssen dazu die Funktion des jeweiligen Anwendungsbeispiels überprüfen und auf Ihre Anlage individuell anpassen. Sie erhalten von Siemens das nicht ausschließliche, nicht unterlizenzierbare und nicht übertragbare Recht, die Anwendungsbeispiele durch fachlich geschultes Personal zu nutzen. Jede Änderung an den Anwendungsbeispielen erfolgt auf Ihre Verantwortung. Die Weitergabe an Dritte oder Vervielfältigung der Anwendungsbeispiele oder von Auszügen daraus ist nur in Kombination mit Ihren eigenen Produkten gestattet. Die Anwendungsbeispiele unterliegen nicht zwingend den üblichen Tests und Qualitätsprüfungen eines kostenpflichtigen Produkts, können Funktions- und Leistungsmängel enthalten und mit Fehlern behaftet sein. Sie sind verpflichtet, die Nutzung so zu gestalten, dass eventuelle Fehlfunktionen nicht zu Sachschäden oder der Verletzung von Personen führen.

Haftungsausschluss Siemens schließt seine Haftung, gleich aus welchem Rechtsgrund, insbesondere für die Verwendbarkeit, Verfügbarkeit, Vollständigkeit und Mangelfreiheit der Anwendungsbeispiele, sowie dazugehöriger Hinweise, Projektierungs- und Leistungsdaten und dadurch verursachte Schäden aus. Dies gilt nicht, soweit Siemens zwingend haftet, z.B. nach dem Produkthaftungs-gesetz, in Fällen des Vorsatzes, der groben Fahrlässigkeit, wegen der schuldhaften Verletzung des Lebens, des Körpers oder der Gesundheit, bei Nichteinhaltung einer übernommenen Garantie, wegen des arglistigen Verschweigens eines Mangels oder wegen der schuldhaften Verletzung wesentlicher Vertragspflichten. Der Schadensersatzanspruch für die Verletzung wesentlicher Vertragspflichten ist jedoch auf den vertragstypischen, vorhersehbaren Schaden begrenzt, soweit nicht Vorsatz oder grobe Fahrlässigkeit vorliegen oder wegen der Verletzung des Lebens, des Körpers oder der Gesundheit gehaftet wird. Eine Änderung der Beweislast zu Ihrem Nachteil ist mit den vorstehenden Regelungen nicht verbunden. Von in diesem Zusammen-hang bestehenden oder entstehenden Ansprüchen Dritter stellen Sie Siemens frei, soweit Siemens nicht gesetzlich zwingend haftet. Durch Nutzung der Anwendungsbeispiele erkennen Sie an, dass Siemens über die beschriebene Haftungsregelung hinaus nicht für etwaige Schäden haftbar gemacht werden kann.

Weitere Hinweise Siemens behält sich das Recht vor, Änderungen an den Anwendungsbeispielen jederzeit ohne Ankündigung durchzuführen. Bei Abweichungen zwischen den Vorschlägen in den Anwendungs-beispielen und anderen Siemens Publikationen, wie z. B. Katalogen, hat der Inhalt der anderen Dokumentation Vorrang. Ergänzend gelten die Siemens Nutzungsbedingungen (https://support.industry.siemens.com).

Securityhinweise Siemens bietet Produkte und Lösungen mit Industrial Security-Funktionen an, die den sicheren Betrieb von Anlagen, Systemen, Maschinen und Netzwerken unterstützen. Um Anlagen, Systeme, Maschinen und Netzwerke gegen Cyber-Bedrohungen zu sichern, ist es erforderlich, ein ganzheitliches Industrial Security-Konzept zu implementieren (und kontinuierlich aufrechtzuerhalten), das dem aktuellen Stand der Technik entspricht. Die Produkte und Lösungen von Siemens formen nur einen Bestandteil eines solchen Konzepts. Der Kunde ist dafür verantwortlich, unbefugten Zugriff auf seine Anlagen, Systeme, Maschinen und Netzwerke zu verhindern. Systeme, Maschinen und Komponenten sollten nur mit dem Unternehmensnetzwerk oder dem Internet verbunden werden, wenn und soweit dies notwendig ist und entsprechende Schutzmaßnahmen (z.B. Nutzung von Firewalls und Netzwerk-segmentierung) ergriffen wurden. Zusätzlich sollten die Empfehlungen von Siemens zu entsprechenden Schutzmaßnahmen beachtet werden. Weiterführende Informationen über Industrial Security finden Sie unter: https://www.siemens.com/industrialsecurity. Die Produkte und Lösungen von Siemens werden ständig weiterentwickelt, um sie noch sicherer zu machen. Siemens empfiehlt ausdrücklich, Aktualisierungen durchzuführen, sobald die entsprechenden Updates zur Verfügung stehen und immer nur die aktuellen Produktversionen zu verwenden. Die Verwendung veralteter oder nicht mehr unterstützter Versionen kann das Risiko von Cyber-Bedrohungen erhöhen. Um stets über Produkt-Updates informiert zu sein, abonnieren Sie den Siemens Industrial Security RSS Feed unter: https://www.siemens.com/industrialsecurity.

Page 3: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

Inhaltsverzeichnis

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 3

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Inhaltsverzeichnis Rechtliche Hinweise .................................................................................................... 2

1 Bibliotheksübersicht ......................................................................................... 5

1.1 Allgemein .............................................................................................. 5 1.2 Hard- und Softwarevoraussetzungen ................................................... 5 1.3 Bibliotheksressourcen .......................................................................... 6

2 Arbeiten mit der Bibliothek ............................................................................... 9

2.1 Allgemein .............................................................................................. 9 2.2 Simulierbarkeit mit SIMATIC S7-PLCSIM Advanced ......................... 10 2.3 Anwenderdefinierte Dokumentation (Anwenderhilfe) (NEU) .............. 11

3 Erläuterung der Bausteine .............................................................................. 13

3.0 Bit logic operations ............................................................................. 14 3.0.1 LGF_PulseRelay ................................................................................ 14 3.1 Date and timer operations .................................................................. 16 3.1.1 LGF_Astro .......................................................................................... 16 3.1.2 LGF_SetTime ..................................................................................... 20 3.1.3 LGF_TimerSwitch ............................................................................... 24 3.1.4 LGF_CalendarDayWeek .................................................................... 27 3.1.5 LGF_GermanHoliday ......................................................................... 29 3.2 Counter operations ............................................................................. 31 3.2.1 LGF_CountFalInDWordFB ................................................................. 31 3.2.2 LGF_CountRisInDWordFB ................................................................. 33 3.3 Comperator operations ....................................................................... 35 3.3.1 LGF_CompareVariant ........................................................................ 35 3.3.2 LGF_CompareReal ............................................................................ 37 3.4 Math operations .................................................................................. 39 3.4.1 LGF_MatrixAddition ............................................................................ 39 3.4.2 LGF_MatrixInverse ............................................................................. 41 3.4.3 LGF_MatrixMultiplication .................................................................... 43 3.4.4 LGF_MatrixSubtraction ...................................................................... 45 3.4.5 LGF_MatrixTranspose ........................................................................ 47 3.4.6 LGF_MinMaxHistory ........................................................................... 48 3.4.7 LGF_RandomBasic ............................................................................ 49 3.4.8 LGF_RandomINT / LGF_RandomReal .............................................. 50 3.4.9 LGF_SearchMinMax .......................................................................... 52 3.4.10 LGF_XRoot ........................................................................................ 54 3.4.11 LGF_HighLowLimit ............................................................................. 55 3.4.12 LGF_Integration ................................................................................. 57 3.4.13 LGF_Factorial ..................................................................................... 59 3.4.14 LGF_Distance .................................................................................... 60 3.5 Data handling ..................................................................................... 61 3.5.1 LGF_FIFO .......................................................................................... 61 3.5.2 LGF_LIFO .......................................................................................... 64 3.5.3 LGF_ShellSortInt / LGF_ShellSortUInt / LGF_ShellSortReal ............ 67 3.5.4 LGF_CRC8 ......................................................................................... 69 3.5.5 LGF_CRC8For1Byte .......................................................................... 71 3.5.6 LGF_CRC16 ....................................................................................... 72 3.5.7 LGF_CRC32 ....................................................................................... 74 3.6 Converter operations .......................................................................... 76 3.6.1 LGF_BinaryToGray ............................................................................ 76 3.6.2 LGF_GrayToBinary ............................................................................ 77 3.6.3 LGF_BitsToWord ................................................................................ 78 3.6.4 LGF_WordToBits ................................................................................ 79 3.6.5 LGF_DTLtoString ............................................................................... 80

Page 4: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

Inhaltsverzeichnis

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 4

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

3.6.6 LGF_StringToDTL .............................................................................. 82 3.6.7 LGF_TemperatureConvert ................................................................. 84 3.6.8 LGF_ScaleLinear ............................................................................... 85 3.6.9 LGF_StringToTaddr ........................................................................... 88 3.6.10 LGF_TaddrToString ........................................................................... 90 3.6.11 LGF_IntToString ................................................................................. 91 3.6.12 LGF_TimeToString ............................................................................. 92 3.6.13 LGF_UnixTimeToDTL (NEU) ............................................................. 93 3.6.14 LGF_DTLToUnixTime (NEU) ............................................................. 94 3.7 Signal generators ............................................................................... 95 3.7.1 LGF_Frequency ................................................................................. 95 3.7.2 LGF_Impulse ...................................................................................... 97 3.7.3 LGF_SawTooth .................................................................................. 98 3.7.4 LGF_SawToothCI ............................................................................. 100 3.7.5 LGF_TriangleCI ................................................................................ 103 3.7.6 LGF_RectangleCI ............................................................................. 106 3.7.7 LGF_SinusCI .................................................................................... 109 3.7.8 LGF_CosinusCI ................................................................................ 112 3.8 Technology operations ..................................................................... 115 3.8.1 LGF_LimRateOfChangeBasic .......................................................... 115 3.8.2 LGF_LimRateOfChangeAdvanced .................................................. 118 3.8.3 LGF_Ramp ....................................................................................... 123 3.8.4 LGF_NonLin ..................................................................................... 128 3.8.5 Regeln von simulierten Regelstrecken ............................................. 130 3.9 Measurement data processing ......................................................... 131 3.9.1 LGF_AverageAndDeviation ............................................................. 131 3.9.2 LGF_FloatingAverage ...................................................................... 132 3.9.3 LGF_Boxplot (NEU) ......................................................................... 134 3.9.4 LGF_Histogram (NEU) ..................................................................... 138 3.9.5 LGF_SimpleSmoothingFB / LGF_SimpleSmoothingFC (NEU) ....... 142 3.9.6 LGF_SmoothByPolynomFB / LGF_SmoothByPolynomFC

(NEU) ................................................................................................ 145 3.9.7 LGF_DifferenceQuotientFB / LGF_DifferenceQuotientFC (NEU) ... 148 3.9.8 LGF_RegressionLine (NEU) ............................................................ 152

4 Anhang............................................................................................................ 154

4.1 Service und Support ......................................................................... 154 4.2 Links und Literatur ............................................................................ 155 4.3 Änderungsdokumentation ................................................................ 156 4.3.1 Versionierung der Bibliothek ............................................................ 156 4.3.2 Änderungsprotokoll .......................................................................... 157

Page 5: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

1 Bibliotheksübersicht

1.1 Allgemein

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 5

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

1 Bibliotheksübersicht

1.1 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 in Kapitel 4.3.1 Versionierung.

1.2 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.

Page 6: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

1 Bibliotheksübersicht

1.3 Bibliotheksressourcen

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 6

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

1.3 Bibliotheksressourcen

Nachfolgend erhalten Sie einen Überblick über die Belegung des Lade- und Arbeitsspeichers durch die Bibliotheksbausteine.

Speicherbelegung der einzelnen Bausteine

Tabelle 1-1: Speicherbelegung (CPU 1212 DC/DC/DC V4.2, CPU 1511-1 PN V2.0)

Baustein CPU 1212 Belegung (Byte)

Arbeitsspeicher

CPU 1511 Belegung (Byte)

Arbeitsspeicher

Bit logic operations

FB LGF_PulseRelay V1.0.5 120 204

Date and timer operations

FB LGF_Astro V1.1.7 3703 3782

FB LGF_SetTime V1.0.6 2354 2428

FB LGF_TimerSwitch V1.1.5 4537 4647

FC LGF_CalendarDayWeekV1.0.2 1692 1767

FC LGF_GermanHoliday V1.0.2 957 1021

Counter operations

FB LGF_CountFalInDWordFB V1.0.0 1166 1230

FB LGF_CountRisInDWordFB V1.0.0 1166 1230

Comperator operations

FC LGF_CompareVariant V1.0.4 608 705

FC LGF_CompareReal V1.0.2 118 182

Math operations

FC LGF_MatrixAddition V2.0.2 489 553

FC LGF_MatrixInverse V2.0.2 1018 1082

FC LGF_MatrixMultiplication V2.0.2 546 610

FC LGF_MatrixSubtraction V2.0.2 489 553

FC LGF_MatrixTranspose V2.0.2 383 447

FB LGF_MinMaxHistory V1.0.3 114 178

FC LGF_RandomBasic V1.0.2 185 249

FC LGF_RandomInt V1.0.3 246 310

FC LGF_RandomReal V1.0.4 280 344

FC LGF_SearchMinMax V1.0.3 4645 4709

FC LGF_XRoot V1.0.4 38 102

FC LGF_HighLowLimit V1.0.2 271 343

FB LGF_Integration V1.0.2 322 392

FC LGF_Factorial V1.0.2 146 210

FC LGF_Distance V1.1.0 63 127

Page 7: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

1 Bibliotheksübersicht

1.3 Bibliotheksressourcen

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 7

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Baustein CPU 1212 Belegung (Byte)

Arbeitsspeicher

CPU 1511 Belegung (Byte)

Arbeitsspeicher

Data handling

FB LGF_FIFO V2.0.0 1661 1753

FB LGF_LIFO V2.0.0 1520 1608

FB LGF_ShellSortInt V2.0.0 1458 1571

FB LGF_ShellSortUint V2.0.0 1458 1571

FB LGF_ShellSortReal V2.0.0 1458 1571

FC LGF_CRC8 V1.0.2 205 269

FC LGF_CRC8For1Byte V1.0.2 106 170

FC LGF_CRC16 V1.0.2 224 288

FC LGF_CRC32 V1.0.2 858 922

Converter operations

FC LGF_BinaryToGray V1.0.4 36 100

FC LGF_GrayToBinary V1.0.4 872 936

FC LGF_BitsToWord V1.0.2 186 250

FC LGF_WordToBits V1.0.2 175 239

FC LGF_DTLtoString V1.0.3 877 936

FC LGF_StringToDTL V1.0.3 1116 1139

FC LGF_TemperatureConvert V1.0.3 227 291

FC LGF_ScaleLinear V2.0.0 211 275

FC LGF_StringToTaddr V1.0.2 1001 1059

FC LGF_TaddrToString V1.0.2 410 469

FC LGF_IntToString V1.0.2 156 215

FC LGF_TimeToString V1.0.2 1105 1164

FC LGF_UnixTimeToDTL V1.0.0 241 305

FC LGF_DTLToUnixTime V1.0.0 269 333

Signal generators

FB LGF_Frequency V1.1.4 353 420

FB LGF_Impulse V1.2.2 132 201

FB LGF_SawTooth V1.0.4 249 320

FB LGF_SawToothCI V1.0.2 284 355

FB LGF_TriangleCI V1.0.2 375 446

FB LGF_RectangleCI V1.0.2 265 336

FB LGF_SinusCI V1.0.2 294 365

FB LGF_CosinusCI V1.0.2 294 365

Technology operations

FB LGF_LimRateOfChangeBasic V1.0.3 362 435

FB LGF_LimRateOfChangeAdvanced V1.0.3 1476 1708

FB LGF_Ramp V1.0.3 1446 1523

FB LGF_NonLin V1.0.2 566 642

Page 8: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

1 Bibliotheksübersicht

1.3 Bibliotheksressourcen

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 8

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Baustein CPU 1212 Belegung (Byte)

Arbeitsspeicher

CPU 1511 Belegung (Byte)

Arbeitsspeicher

Measurement data processing

FC LGF_AverageAndDeviation V2.0.0 273 332

FB LGF_FloatingAverage V1.1.2 750 832

FB LGF_Boxplot V1.0.0 7477 7588

FB LGF_Histogram V1.0.0 4514 4669

FB LGF_SimpleSmoothingFB V1.0.0 551 556

FC LGF_SimpleSmoothingFC V1.0.0 321 385

FB LGF_SmoothByPolynomFB V1.1.0 514 659

FC LGF_SmoothByPolynomFC V1.0.0 1177 1241

FB LGF_DifferenceQuotientFB V1.0.1 556 635

FC LGF_DifferenceQuotientFC V1.0.0 1142 1206

FC LGF_RegressionLine V1.0.0 379 443

Page 9: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

2 Arbeiten mit der Bibliothek

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 9

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

2 Arbeiten mit der Bibliothek

2.1 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

Page 10: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

2 Arbeiten mit der Bibliothek

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 10

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

2.2 Simulierbarkeit mit SIMATIC S7-PLCSIM Advanced

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

Abbildung 2-1: Bausteineigenschaften

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.

Page 11: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

2 Arbeiten mit der Bibliothek

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 11

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

2.3 Anwenderdefinierte Dokumentation (Anwenderhilfe) (NEU)

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 Inspektorfenster 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.

Page 12: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

2 Arbeiten mit der Bibliothek

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 12

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

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

Page 13: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 13

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

3 Erläuterung der Bausteine Die folgenden Kapitel beschreiben alle Bausteine der Bibliothek "Library 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)

• Comperator operations (Vergleichsoperationen)

• Math operations (mathematische Operationen)

• Data handling (Datenverarbeitung)

• Converter operations (Konvertierungsoperationen)

• Signal generators (Signalgeneratoren)

• Technology operations (Technologieoperationen)

• Measurement operations (Messdatenoperationen)

Abbildung 3-1: Globale Bibliothek (LGF)

Page 14: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.0 Bit logic operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 14

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

3.0 Bit logic operations

3.0.1 LGF_PulseRelay

Kurzbeschreibung

Dieser Baustein entspricht einem Stromstoßrelais bzw. einem Toggle-Flip-Flop inklusive Setz- und Rücksetzeingang.

Baustein

Abbildung 3-2: FB LGF_PulseRelay

FB LGF_PulseRelay

BOOL trigger out BOOL

BOOL set

BOOL reset

Eingangsparameter

Tabelle 3-1: Eingangsparameter

Parameter Datentyp Beschreibung

trigger BOOL Jede steigende Flanke ändert den boolschen Wert des Ausgangs "out".

set BOOL Jede steigende Flanke setzt den boolschen Wert des Ausgangs "out" auf "TRUE".

reset BOOL Jede steigende Flanke setzt den boolschen Wert des Ausgangs "out" auf "FALSE".

Ausgangsparameter

Tabelle 3-2: Ausgangsparameter

Parameter Datentyp Beschreibung

out BOOL Signalausgang

Page 15: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.0 Bit logic operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 15

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Funktionsweise

Abbildung 3-3: LGF_PulseRelay Signaldiagramm

trigger

Zeit

set

reset

out

1

2

3 4

1

1. Jede steigende Flanke des Eingangs "trigger "ändert den boolschen Wert des Ausgangs "out".

2. Jede steigende Flanke des Eingangs "set" setzt den boolschen Wert des Ausgangs "out" auf "TRUE".

3. Jede steigende Flanke des Eingangs "reset" setzt den boolschen Wert des Ausgangs "out" auf "FALSE".

4. Falls die Eingänge "set" und "reset" im gleichen Zyklus gesetzt werden, hat der "reset" Eingang Vorrang.

Der Baustein kann auch als Frequenzteiler verwendet werden. Wenn der Eingang "trigger" mit einer festen Frequenz versorgt wird, liefert der Ausgang "out" die halbe Frequenz.

Page 16: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.1 Date and timer operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 16

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

3.1 Date and timer operations

3.1.1 LGF_Astro

Kurzbeschreibung

Dieser Baustein berechnet die Zeiten des Sonnenauf- und Sonnenuntergangs für einen bestimmten Ort auf der Erde. Die genaue Position wird dem Baustein in Form von geographischen Koordinaten (Längen- und Breitengrad) übergeben.

Abbildung 3-4: Erde mit Längen- und Breitengrad

Südpol

Nordpol

Westlich (-) Östlich (+) Nördlich (+)

Südlich (-)

60° 120°120° 60°

60°

30°

30°

60°

0°Nullmeridian

Breitengrad

Län

gen

grad

Äquator

Baustein

Abbildung 3-5: FB LGF_Astro

FB LGF_Astro

REAL latitudeDD sunrise DTL

REAL longitudeDD sunset DTL

BOOL modeDMS daytime BOOL

LGF_typeAstroDMS latitudeDMS actSystemTime DTL

LGF_typeAstroDMS longitudeDMS actLocalTime DTL

TIME offsetSunrise error BOOL

TIME offsetSunset statusID UINT

status WORD

Page 17: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.1 Date and timer operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 17

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Eingangsparameter

Tabelle 3-3: Eingangsparameter

Parameter Datentyp Beschreibung

latitudeDD REAL Breitengrad in Grad mit Nachkommastellen (Einheit: Grad dezimal),

gültiger Wertebereich [-90.00000..+90.00000]°

Dies ist ein gebräuchliches Koordinatenformat in GPX-Dateien (GPS).

longitudeDD REAL Längengrad in Grad mit Nachkommastellen (Einheit: Grad dezimal)1 gültiger Wertebereich [-180.0000..+180.0000]°

modeDMS BOOL FALSE: Übergabeformat der Position in "Grad dezimal" über die Formalparameter "latitudeDD" und "longitudeDD"

TRUE: Übergabeformat der Position in Richtung, Grad, Minuten und Sekunden über die Formalparameter "latitudeDMS" und "longitudeDMS"

latitudeDMS LGF_typeAstroDMS Breitengrad in Himmelsrichtung; Grad; Minuten und Sekunden im PLC-Datentyp "LGF_typeAstroDMS". gültige Parameterwerte [N,S]; [0..90]; [0..59]; [0..59] gültiger Wertebereich (Summe Parameterwerte) [N, S, n, s]; [0..90]°

Dies ist ein gebräuchliches Koordinatenformat in der Navigation mit Karten.

longitudeDMS LGF_typeAstroDMS Längengrad in Richtung; Grad; Minuten und Sekunden im PLC-Datentyp "LGF_typeAstroDMS". gültige Parameterwerte [E, W]; [0..180]; [0..59]; [0..59] gültiger Wertebereich (Summe Parameterwerte) [E, W, e, w]; [0..180]°

Der Buchstabe für Osten wird international mit "E" (East) angegeben.

offsetSunrise TIME Offset des Einschaltzeitpunktes für "daytime"

offsetSunset TIME Offset des Ausschaltzeitpunktes für "daytime"

Ausgangsparameter

Tabelle 3-4: Ausgangsparameter

Parameter Datentyp Beschreibung

sunrise DTL Sonnenaufgang am angegebenen Ort unter Berücksichtigung des "offsetSunrise"

sunset DTL Sonnenuntergang am angegebenen Ort unter Berücksichtigung des "offsetSunset"

daytime BOOL Liegt die Lokalzeit der Steuerung zwischen "sunrise" und "sunset" liefert "daytime" den Wert "TRUE".

actSystemTime DTL Aktuelle Systemzeit (UTC)

actLocalTime DTL Aktuelle Lokalzeit

error BOOL FALSE: Kein Fehler

TRUE: Fehler im Baustein, "statusID" gibt Fehlerquelle aus, "status" gibt Fehlercode aus.

statusID UINT "statusID" gibt die ID des Bausteins aus, der den Status meldet. Siehe folgende Tabelle.

status WORD "status" gibt den Status/Fehler-Code aus (siehe folgende Tabelle).

Page 18: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.1 Date and timer operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 18

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Status- und Fehleranzeigen

Tabelle 3-5: Status/Fehlercodes

statusID status Bedeutung Abhilfe / Hinweise

1 16#7000 Initialwert -

1 16#0000 Kein Fehler -

1 16#8200 Falsche Richtungsangabe an Eingang "latitudeDMS.dir"

Es sind nur folgende Buchstaben erlaubt: N, n, S, s, W, w, E, e

1 16#8201 Falsche Werte bei "latitiudeDMS" Kontrollieren Sie die Werte bei

• "latitudeDMS.deg"

• "latitudeDMS.min"

• "latitudeDMS.sec"

1 16#8202 Falsche Richtungsangabe bei "longitudeDMS.dir"

Es sind nur folgende Buchstaben erlaubt: N, n, S, s, W, w, E, e

1 16#8203 Falsche Werte bei "longitudeDMS" Kontrollieren Sie die Werte bei

• "longitudeDMS.deg"

• "longitudeDMS.min"

• "longitudeDMS.sec"

1 16#8204 Falscher Wert an Eingang "latitudeDD"

Prüfen Sie den Aktualwert am Eingang.

1 16#8205 Falscher Wert an Eingang "longitudeDD"

Prüfen Sie den Aktualwert am Eingang.

2 - Fehler/Status von unterlagerten Baustein "RD_SYS_T".

-

3 - Fehler/Status von unterlagerten Baustein "RD_LOC_T".

-

Hinweis Falls "statusID" > 1 ist, stammen alle Werte des Ausgangs "status" direkt von aufgerufenen Anweisungen (siehe Tabelle Ausgangsparameter). Holen Sie sich in diesem Fall die Informationen aus der TIA Portal Online Hilfe zu den jeweiligen Anweisungen.

Funktionsweise

Wenn Prozesse in Abhängigkeit vom Wechsel zwischen Tag und Nacht automatisiert ablaufen sollen, wird die Funktion einer astronomischen Uhr benötigt. Beispiele dafür wären das Ein- und Ausschalten einer Außenbeleuchtung oder das Öffnen und Schließen von Rollläden.

Sollen diese Prozesse zeitversetzt, also eine definierte Zeit vor oder nach Sonnnenauf- oder Sonnenuntergang, ausgeführt werden, wird jeweils noch ein Offset benötigt.

Hinweis Für eine exakte Ausführung der Funktion, muss gewährleistet sein, dass die Systemzeit und Lokalzeit der SIMATIC Steuerung richtig eingestellt ist.

Basierend auf der Systemzeit/Lokalzeit der SIMATIC Steuerung und den eingestellten Koordinaten berechnet der Baustein die Zeiten für Sonnenauf- und Sonnenuntergang. Die Offset-Zeiten werden zum Sonnenauf- und

Page 19: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.1 Date and timer operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 19

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Sonnenuntergang hinzugerechnet und an den Ausgängen "sunrise" und "sunset" ausgegeben. Liegt die Systemzeit der SIMATIC Steuerung zwischen diesen Werten, wird der Ausgang "daytime" auf den Wert "TRUE" gesetzt.

Hinweis Da sich die Zeiten für Sonnenauf- und Sonnenuntergang täglich verändern, kann es sein, dass der Ausgang "daytime" über einen längeren Zeitraum dauerhaft auf "TRUE" oder "FALSE" "stehen bleibt":

• bei entsprechend großen Offsetwerten

• bei einem Ort jenseits des Polarkreises

Die Eingabe der Koordinaten kann im Format "DMS" (mit PLC-Datentyp "LGF_typeAstroDMS") oder "Grad.Dezimal" angegeben werden.

Welches Format aktiv ist, wird mit dem Formalparameter "modeDMS" festgelegt (siehe Tabelle 3-3).

Die Eingabe der Koordinatenwerte wird auf gültige Werte geprüft. Bei ungültigen Werten wird ein entsprechender Fehlercode an "status" (siehe Tabelle 3-5) ausgegeben.

Liegt an einem Formalparameter ein ungültiger Koordinatenwert vor und dieser Formalparameter wurde über "modeDMS" aktiviert, werden die Ausgänge "sunrise" und "sunset" auf den Wert DTL#1970-01-01-00:00:00 gesetzt.

Beispiel

Das folgende Beispiel verdeutlicht die Funktionsweise des Bausteins.

Tabelle 3-6: Geografische Koordinaten für Nürnberg-Moorenbrunn, Datum und Systemzeit

Längengrad: + 11.07675° bzw. E 11° 4' 36''

Breitengrad: + 49.45203° bzw. N 49° 27' 7''

Datum: 07.07.2016 Lokalzeit: 09:20 AM

Abbildung 3-6: FB LGF_Astro, Beobachtung des Bausteins online mit den Parametern sowie den Aktualparametern über die Beobachtungstabelle

Page 20: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.1 Date and timer operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 20

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

3.1.2 LGF_SetTime

Kurzbeschreibung

Dieser Baustein fasst die Funktionen Systemzeit, Lokalzeit und Zeitzone einstellen zusammen.

Baustein

Abbildung 3-7: FB LGF_SetTime

FB LGF_SetTime

BOOL setSystemTimeUTC actSystemTime DTL

DTL systemTimeUTC actLocalTime DTL

BOOL setLocalTime lastSetTimeZone STRING

DTL localTime error BOOL

BOOL setTimeZone statusID UINT

INT timeZone status WORD

BOOL daylightSavingTime

Eingangsparameter

Tabelle 3-7: Eingangsparameter

Parameter Datentyp Beschreibung

setSystemTimeUTC BOOL Steigende Flanke setzt die definierte Systemzeit am Eingang "systemTimeUTC"

systemTimeUTC DTL Definierte Systemzeit, enspricht UTC (Coordinated Universal Time)

setLocalTime BOOL Steigende Flanke übernimmt die definierte Lokalzeit am Eingang "localTime"

localTime DTL Definierte Lokalzeit

setTimeZone BOOL Steigende Flanke übernimmt

• den Wert am Eingang "timeZone"

• den Wert am Eingang "daylightSavingTime"

timeZone INT Definierte Zeitzone (Format [+-HHMM]

Beispiele:

• UTC -12:00 [-1200]

• UTC -03:30 [-330]

• UTC [0]

• UTC +13:00 [1300]

daylightSavingTime BOOL TRUE: Sommerzeitumstellung aktiv (Lokalzeit + 60 min)

– von letzter Sonntag im März um 02:00 Uhr

– bis letzter Sonntag im Oktober um 03:00 Uhr

FALSE: keine Sommerzeitumstellung

Hinweis: Für andere lokale Zeitzonen müssen Sie die statische Variable "statTimeZone" in der Schnittstelle des Bausteins anpassen. (siehe Parameter in Variable "statTimeZone" anpassen)

Page 21: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.1 Date and timer operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 21

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Ausgangsparameter

Tabelle 3-8: Ausgangsparameter

Parameter Datentyp Beschreibung

systemTime DTL Aktuelle Systemzeit (UTC)

localTime DTL Aktuelle Lokalzeit

lastSetTimeZone STRING Zeitzone, die als letztes durch den Baustein gesetzt wurde

error BOOL FALSE: Kein Fehler

TRUE: Fehler im Baustein, "statusID" gibt Fehlerquelle aus, "status" gibt Fehlercode aus

statusID UINT "statusID" gibt die ID des Bausteins aus, der den Status meldet. Siehe folgende Tabelle.

status WORD "status" gibt den Status/Fehler-Code aus (siehe folgende Tabelle).

Status- und Fehleranzeigen

Tabelle 3-9: Status/Fehlercodes

statusID status Bedeutung Abhilfe / Hinweise

1 16#7000 Initialwert -

1 16#0000 Kein Fehler -

1 16#8200 Es wurde keine gültige Zeitzone am Eingang "timeZone" übergeben.

Nur erlaubte Werte (siehe Funktionsweise) verwenden.

2 - Fehler/Status von unterlagerten Baustein "SET_TIMEZONE"

-

Hinweis Falls "statusID" > 1 ist, stammen alle Werte des Ausgangs "status" direkt von aufgerufenen Anweisungen (siehe Tabelle Ausgangsparameter). Holen Sie sich in diesem Fall die Informationen aus der TIA Portal Online Hilfe zu den jeweiligen Anweisungen.

Funktionsweise

Dieser Baustein fasst die Funktionen Systemzeit, Lokalzeit und Zeitzone einstellen zusammen.

Folgende Zeitzonen sind am Eingang "timeZone" möglich.

Eingang "timeZone"

Zeitzone

-1200 (UTC -12:00) Eniwetok, Kwajalein

-1100 (UTC -11:00) Midway Island

-1000 (UTC -10:00) Hawaii

-930 (UTC -09:30) (French) Polynesia

-900 (UTC -09:00) Alaska

-800 (UTC -08:00) Tijuana, Los Angeles, Seattle, Vancouver

-700 (UTC -07:00) Arizona, Denver, Salt Lake City, Calgary

-600 (UTC -06:00) Chicago, Dallas, Kansas City, Winnipeg

Page 22: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.1 Date and timer operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 22

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Eingang "timeZone"

Zeitzone

-500 (UTC -05:00) Eastern Time (USA & Canada)

-400 (UTC -04:00) La Paz, Georgetown

-330 (UTC -03:30) Newfoundland

-300 (UTC -03:00) Brasilia, Buenos Aires

-200 (UTC -02:00) Mid-Atlantic

-100 (UTC -01:00) Azores, Cape Verde Is.

0 (UTC) Dublin, Edinburgh, Lisbon, London

100 (UTC +01:00) Berlin, Bern, Brussels, Rome, Stockholm, Vienna

200 (UTC +02:00) Athens, Istanbul, Minsk, Bucharest

300 (UTC +03:00) Moscow, St. Petersburg, Baghdad, Kuwait, Riyadh

330 (UTC +03:30) Iran: Teheran

400 (UTC +04:00) Abu Dhabi, Muscat

430 (UTC +04:30) Afghanistan: Kabul

500 (UTC +05:00) Islamabad, Karachi, Tashkent

530 (UTC +05:30) India, Sri Lanka

545 (UTC +05:45) Nepal

600 (UTC +06:00) Astana, Almaty, Dhaka, Colombo

630 (UTC +06:30) Coco Island, Mayanmar

700 (UTC +07:00) Bangkok, Hanoi, Jakarta

800 (UTC +08:00) Beijing, Chongqing, Hong Kong, Urumqi

830 (UTC +08:30) North Korea old

845 (UTC +08:45) Western Australia: Eucla

900 (UTC +09:00) Yakutsk, Osaka, Sapporo, Tokyo, Seoul

930 (UTC +09:30) Australia: Northern Territory, South Australia

1000 (UTC +10:00) Brisbane, Canberra, Melbourne, Sydney

1030 (UTC +10:30) Australia: Lord Howe Island

1100 (UTC +11:00) Vladivostok, Magadan, Solomon Is., New Caledonia

1200 (UTC +12:00) Auckland, Wellington

1245 (UTC +12:45) Chatham Islands

1300 (UTC +13:00) Tonga, Samoa

1400 (UTC +14:00) Kiribati

Hinweis Sommer-/Winterzeit

Die Parameter (Zeitunterschied, Beginn Sommerzeit, Beginn Winterzeit) müssen in der statischen Variablen "statTimeZone" an die gewünschte Zeitzone ange-passt werden.

Page 23: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.1 Date and timer operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 23

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Parameter in Variable "statTimeZone" anpassen

Die statische Variable "statTimeZone" in der Schnittstelle des Bausteins ist vom Systemdatentyp TimeTransformationRule. Im diesem Systemdatentyp sind die Parameter für die lokale Zeitzone und die Sommer-/Winterzeitumschaltung hinterlegt.

Die Defaultwerte der statischen Variablen "statTimeZone" sind in der Schnittstelle des Bausteins auf die Mitteleuropäische Sommerzeit eingestellt:

• Zeitunterschied: 60 min

• Beginn Sommerzeit: Letzter Sonntag im März, 02:00 a.m.

• Beginn Winterzeit: letzter Sonntag im Oktober, 03:00 a.m.

Die folgende Abbildung zeigt die Einstellungen für die Sommer-/Winterzeitum-schaltung der Mitteleuropäischen Sommerzeit.

Der Parameter "Bias" wird vom Eingangsparameter "timeZone" bestimmt. Der Parameter "DaylightBias" ist abhängig vom Eingangsparameter "daylightSavingTime" und ist entweder "0" oder "60".

Für andere Zeitzonen müssen die markierten Parameter zur Sommer-/Winter-zeitumschaltung angepasst werden.

Abbildung 3-8

Page 24: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.1 Date and timer operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 24

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

3.1.3 LGF_TimerSwitch

Kurzbeschreibung

Dieser Baustein ist eine Zeitschaltuhr. Es ist möglich tägliche, wöchentliche, monatliche, jährliche Zeitschaltpunkte und Zeitschaltpunkte für Werktage oder Wochenendtage festzulegen.

Baustein

Abbildung 3-9: FB LGF_TimerSwitch

FB LGF_TimerSwitch

USINT onMonth signal BOOL

USINT onDay actLocalTime DTL

USINT onWeekday error BOOL

USINT onWeekOfMonth statusID UINT

USINT onHour status WORD

USINT onMinute

USINT offMonth

USINT offDay

USINT offWeekday

USINT offWeekOfMonth

USINT offHour

USINT offMinute

USINT mode

Eingangsparameter

Tabelle 3-10: Eingangsparameter

Parameter Datentyp Beschreibung

onMonth USINT Monat, in dem das Signal gesetzt werden soll.

onDay USINT Tag, an dem das Signal gesetzt werden soll.

onWeekday USINT Wochentag, an dem das Signal gesetzt werden soll. (Sonntag = 1)

onHour USINT Stunde, in der das Signal gesetzt werden soll.

onMinute USINT Minute, in der das Signal gesetzt werden soll.

offMonth USINT Monat, in dem das Signal rückgesetzt werden soll.

offDay USINT Tag, an dem das Signal rückgesetzt werden soll.

offWeekday USINT Wochentag, an dem das Signal rückgesetzt werden soll. (Sonntag = 1)

offHour USINT Stunde, in der das Signal rückgesetzt werden soll.

offMinute USINT Minute, in der das Signal rückgesetzt werden soll.

mode USINT Angabe des Modus (siehe Funktionsweise).

Page 25: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.1 Date and timer operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 25

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Ausgangsparameter

Tabelle 3-11: Ausgangsparameter

Parameter Datentyp Beschreibung

signal BOOL Ausgabesignal

actLocalTime DTL Aktuelle Lokale Zeit

error BOOL FALSE: Kein Fehler

TRUE: Fehler im Baustein, "statusID" gibt Fehlerquelle aus, "status" gibt Fehlercode aus

statusID UINT "statusID" gibt die ID des Bausteins aus, der den Status meldet. Siehe folgende Tabelle.

status WORD "status" gibt den Status/Fehler-Code aus (siehe folgende Tabelle).

Status- und Fehleranzeigen

Tabelle 3-12: Status/Fehlercodes

statusID status Bedeutung Abhilfe / Hinweise

1 16#7000 Initialwert -

1 16#0000 Kein Fehler -

1 16#8200 Es wurde kein gültiger Aktualwert an Eingang "mode" übergeben.

Erlaubte Werte "1", "2", "3" "4", "5", "6"

2 - Fehler/Status von unterlagerten Baustein "RD_LOC_T"

-

Hinweis Falls "statusID" > 1 ist, stammen alle Werte des Ausgangs "status" direkt von aufgerufenen Anweisungen (siehe Tabelle Ausgangsparameter). Holen Sie sich in diesem Fall die Informationen aus der TIA Portal Online Hilfe zu den jeweiligen Anweisungen.

Funktionsweise

Der Baustein bietet verschiedene Arten einer Zeitschaltuhr, die im Parameter "mode" bestimmt werden:

• Tägliche Zeitschaltuhr (mode = 1)

• Wöchentliche Zeitschaltuhr (mode = 2)

• Monatliche Zeitschaltuhr (mode = 3)

• Jährliche Zeitschaltuhr (mode = 4)

• Werktags, Montag bis Freitag (mode = 5)

• Wochenende, Samstag und Sonntag (mode = 6)

Page 26: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.1 Date and timer operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 26

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Abhängig vom Modus müssen folgende Formalparameter beschaltet werden:

Tabelle 3-13: Benötigten Formalparameter für den jeweiligen Modus

Mode Modus Benötigte Formalparameter

1 Tägliche Zeitschaltuhr • onHour / offHour

• onMinute / offMinute

2 Wöchentlich Zeitschaltuhr • onWeekday / offWeekday

• onHour / offHour

• onMinute / offMinute

3 Monatliche Zeitschaltuhr • onDay / offDay

• onHour / offHour

• onMinute / offMinute

4 Jährliche Zeitschaltuhr • onMonth / offMonth

• onDay / offDay

• onHour / offHour

• onMinute / offMinute

5 Werktags • onHour / offHour

• onMinute / offMinute

6 Wochenende • onHour / offHour

• onMinute / offMinute

Entspricht die eingestellte Startzeit der aktuellen Lokalzeit der Steuerung, wird der Ausgang "signal" auf "TRUE" gesetzt. Entspricht die eingestellte Abschaltzeit der aktuellen Lokalzeit der Steuerung, wird der Ausgang "signal" wieder zurückgesetzt.

Hinweis Beachten Sie, dass der Baustein in den Modi „Monatliche Zeitschaltuhr“ (mode = 3) oder „Jährliche Zeitschaltuhr“ (mode = 4) nur dann schaltet, wenn die Tage, die Sie an den Eingangsparametern „onDay“ und „offDay“ angeben, tatsächlich in diesem Monat vorkommen.

Page 27: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.1 Date and timer operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 27

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

3.1.4 LGF_CalendarDayWeek

Kurzbeschreibung

Diese Funktion berechnet aus dem vorgegebenen Datum die Kalenderwoche und die Anzahl der Tage, die seit dem Anfang des Jahres vergangen sind.

Baustein

Abbildung 3-10: FC LGF_ CalendarDayWeek

FC LGF_ CalendarDayWeek

DTL inDate daysPassed DINT

BOOL modeEU weekNumber DINT

error BOOL

status WORD

Eingangsparameter

Tabelle 3-14: Eingangsparameter

Parameter Datentyp Beschreibung

inDate DTL Datum zur Berechnung der Kalenderwoche und der Tage seit dem 1. Januar.

modeEU BOOL Auswahl der Zählweise für Kalenderwochen.

FALSE: Zählweise für die USA und viele anderen Länder

TRUE: Zählweise für europäische Länder nach ISO 8601

Ausgangsparameter

Tabelle 3-15: Ausgangsparameter

Parameter Datentyp Beschreibung

daysPassed DINT Vergangene Tage seit 1.Januar.

weekNumber DINT Nummer der Kalenderwoche.

error BOOL Fehleranzeige.

FALSE: kein Fehler.

TRUE: Fehler im Baustein, "status" gibt Fehlercode aus.

status WORD "status" gibt den Status/Fehlercode aus (siehe folgende Tabelle).

Status- und Fehleranzeigen

Tabelle 3-16: Status/Fehlercodes

Status Bedeutung Abhilfe

16#0000 Kein Fehler. -

16#8201 Datum am Eingang "inDate" zu unterhalb der unteren Grenze.

Wählen Sie "inDate" größer als 1971-01-01.

16#8202 Datum am Eingang "inDate" zu oberhalb der oberen Grenze.

Wählen Sie "inDate" kleiner als 2261-12-31.

Page 28: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.1 Date and timer operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 28

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Funktionsweise

Für die Bestimmung der Kalenderwoche für das angegebene Datum stehen zwei Zählweisen zur Auswahl. Mit dem Eingang "modeEU" wählen Sie die Zählweise aus:

• modeEU = FALSE: Zählweise für die USA und viele anderen Länder

• modeEU = TRUE: Zählweise für europäische Länder nach ISO 8601

Zählweise für europäische Länder nach ISO 8601

• Kalenderwochen haben 7 Tage, beginnen an einem Montag und werden über das Jahr fortlaufend gezählt

• Die Kalenderwoche 1 eines Jahres ist diejenige, die den ersten Donnerstag enthält.

• Jedes Jahr hat entweder 52 oder 53 Kalenderwochen.

• Ein Jahr hat 53 Kalenderwochen, wenn folgende Eigenschaften zutreffen:

– Ein Gemeinjahr beginnt an einem Donnerstag und endet an einem Donnerstag.

– Ein Schaltjahr beginnt entweder an einem Mittwoch und endet an einem Donnerstag oder es beginnt an einem Donnerstag und endet an einem Freitag.

• Der 29., 30. und 31. Dezember können schon zur Kalenderwoche 1 des Folgejahres gehören.

• Der 1., 2. und 3. Januar können noch zu der letzten Kalenderwoche des Vorjahres gehören.

Zählweise für die USA und viele anderen Länder

• Kalenderwochen haben 7 Tage, beginnen an einem Sonntag und werden über das Jahr fortlaufend gezählt

• Die Kalenderwoche 1 eines Jahres ist diejenige, die den 1. Januar enthält.

• Jedes Jahr hat entweder 52 oder 53 Kalenderwochen.

• Ein Jahr hat 53 Kalenderwochen, wenn folgende Eigenschaften zutreffen:

– Ein Gemeinjahr beginnt an einem Samstag und endet an einem Samstag.

– Ein Schaltjahr beginnt entweder an einem Samstag und endet an einem Sonntag oder es beginnt an einem Freitag und endet an einem Samstag.

• Die Tage nach dem letzten Dezembersamstag können bereits zur ersten Kalenderwoche des Folgejahres gehören.

Page 29: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.1 Date and timer operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 29

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

3.1.5 LGF_GermanHoliday

Kurzbeschreibung

Der FC LGF_GermanHoliday ermittelt, ob ein gegebenes Datum ein Feiertag ist. Es werden alle Feiertage in Deutschland berücksichtigt. Feiertage, die bundesweit nicht einheitlich sind, können ein- und ausgeschalten werden.

Baustein

Abbildung 3-11: FB LGF_GermanHoliday

FC LGF_GermanHoliday

DTL date Ret_Val BOOL

BOOL threeKings

BOOL roseMonday

BOOL ascension

BOOL corpusChristi

BOOL augsburgerFriedensfest

BOOL assumptionOfMary

BOOL reformationDay

BOOL allSaintDay

BOOL bussUndBettag

Eingangsparameter

Tabelle-17: Eingangsparameter

Parameter Datentyp Beschreibung

date DTL Datum, das auf einen Feiertag überprüft wird.

threeKings BOOL Heilige Drei Könige

roseMonday BOOL Rosenmontag

ascension BOOL Christi Himmelfahrt

corpusChristi BOOL Fronleichnam

augsburgerFriedensfest BOOL Augsburger Friedensfest

assumptionOfMary BOOL Mariä Himmelfahrt

refomationDay BOOL Reformationstag

allSaintDay BOOL Allerheiligen

bussUndBettag BOOL Buß- und Bettag

Ausgangsparameter

Tabelle 3: Ausgangsparameter

Parameter Datentyp Beschreibung

Ret_Val BOOL Bei TRUE ist das Datum am Eingangsparameter "date" ein Feiertag.

Page 30: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.1 Date and timer operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 30

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Funktionsweise

Der Baustein berechnet für ein gegebenes Datum den Feiertagskalender des Jahres und zeigt an, ob das gegebene Datum ein Feiertag ist. Optional werden nicht bundesweit einheitliche Feiertage, wie z. B. Heilige Drei Könige, über die entsprechenden Eingangsparameter im Baustein berücksichtigt.

Page 31: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.2 Counter operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 31

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

3.2 Counter operations

3.2.1 LGF_CountFalInDWordFB

Kurzbeschreibung

Dieser Baustein analysiert eine Variable von Typ DWORD und gibt aus, wie oft in der Variablen eine 1-0 Abfolge (fallende Flanke) vorkommt.

Anwendungsbeispiel

Auszug aus dem Handbuch des Technologiemodul TM Timer DIDQ 16x24V

Mit der Funktion Oversampling erfasst das Technologiemodul den Zustand des jeweiligen Digitaleingangs pro Applikationszyklus (z. B. OB61) zu 32 Zeitpunkten mit gleichmäßigem zeitlichen Abstand. Die 32 Zustände werden in der Rückmeldeschnittstelle gemeinsam als 32-Bit-Wert zurückgeliefert.

Abbildung 3-12: Beispiel für ein Oversampling von DI0 am TM Timer DIDQ 16x24V

Der Baustein LGF_CountFalInDWordFB wird in diesem Fall verwendet, um zu zählen, wie oft eine fallende Flanke vorkommt.

SIMATIC ET 200MP/S7-1500 Technologiemodul TM Timer DIDQ 16x24V (6ES7552-1AA00-0AB0)

https://support.industry.siemens.com/cs/ww/de/view/95153313

Baustein

Abbildung 3-13: FB LGF_CountFalInDWordFB

FB LGF_CountFalInDWordFB

DWORD dWordActCycle countFalInDWord INT

Eingangsparameter

Tabelle 3-18: Eingangsparameter

Parameter Datentyp Beschreibung

dWordActCycle DWORD Doppelwort in dem die fallenden Flanken gezählt werden

Page 32: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.2 Counter operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 32

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Ausgangsparameter

Tabelle 3-19: Ausgangsparameter

Parameter Datentyp Beschreibung

countFalInDWord INT Anzahl der fallenden Flanken im Doppelwort

Funktionsweise

Der Baustein zählt in einer Variablen vom Datentyp DWORD die fallenden Flanken (1-0 Übergänge) von links nach rechts. Der Ausgang "countFalInDWord" gibt dabei die Anzahl der fallenden Flanken aus.

Damit auch fallende Flanken an der Variablengrenze erkannt werden, wird der Eingang "dWordActCycle" am Ende der Auswertung auf die statische Variable "statDWordPrevCycle" kopiert und im nächsten Zyklus mit ausgewertet.

Beispiel

Das folgende Beispiel verdeutlicht die Funktionsweise des Bausteins. In diesem Fall geht man davon aus, dass ein Signal von unbekannter Länge kontinuierlich in Form von Doppelwörtern (DWORD) pro Zyklus abgetastet wird.

Innerhalb dieses Signals sollen kontinuierlich die 1-0 Abfolgen (fallenden Flanken) gezählt und ausgegeben werden. Damit auch - wie in diesem Beispiel - die fallende Flanke an Variablengrenzen erkannt werden, muss der Eingang "statDWordPrevCycle" mit dem Doppelwort der vorherigen Abtastung verschaltet werden.

Tabelle 3-20: Beispiel

DWORD vorheriger Zyklus (statDWordPrevCycle)

DWORD aktueller Zyklus (dWordActCycle)

1001_0000_0001_1010_1001_0000_0001_1011 0010_1010_0001_1111_0100_0011_1000_0101

Anzahl der 1-0 Abfolgen (fallenden Flanken): "Ret_Val" = 8

Hinweis Der FB "LGF_CountFalInDWordFB" ersetzt den FC "LGF_CountFalInDWord". Den FC finden Sie im Ordner "99 Legacy".

Page 33: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.2 Counter operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 33

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

3.2.2 LGF_CountRisInDWordFB

Kurzbeschreibung

Dieser Baustein analysiert eine Variable von Typ DWORD und gibt aus, wie oft in der Variablen eine 0-1 Abfolge (steigende Flanke) vorkommt.

Anwendungsbeispiel:

Auszug aus dem Handbuch des Technologiemodul TM Timer DIDQ 16x24V:

Mit der Funktion Oversampling erfasst das Technologiemodul den Zustand des jeweiligen Digitaleingangs pro Applikationszyklus (z. B. OB61) zu 32 Zeitpunkten mit gleichmäßigem zeitlichen Abstand. Die 32 Zustände werden in der Rückmeldeschnittstelle gemeinsam als 32-Bit-Wert zurückgeliefert.

Abbildung 3-14: Beispiel für ein Oversampling von DI0 am TM Timer DIDQ 16x24V

Der Baustein LGF_CountRisInDWordFB wird in diesem Fall verwendet, um zu zählen, wie oft eine steigende Flanke vorkommt.

SIMATIC ET 200MP/S7-1500 Technologiemodul TM Timer DIDQ 16x24V (6ES7552-1AA00-0AB0)

https://support.industry.siemens.com/cs/ww/de/view/95153313

Baustein

Abbildung 3-15: FB LGF_CountRisInDWordFB

FB LGF_CountRisInDWordFB

DWORD dWordActCycle countRisInDWord INT

Eingangsparameter

Tabelle 3-21: Eingangsparameter

Parameter Datentyp Beschreibung

dWordActCycle DWORD Doppelwort in dem die steigenden Flanken gezählt werden

Page 34: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.2 Counter operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 34

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Ausgangsparameter

Tabelle 3-22: Ausgangsparameter

Parameter Datentyp Beschreibung

countRisInDWord INT Anzahl der steigenden Flanken im Doppelwort

Funktionsweise

Der Baustein zählt in einer Variablen vom Datentyp DWORD die steigenden Flanken (0-1 Übergänge) von links nach rechts. Der Ausgang "countRisInDWord" gibt dabei die Anzahl der steigenden Flanken aus.

Damit auch steigende Flanken an der Variablengrenze erkannt werden, wird der Eingang "dWordActCycle" am Ende der Auswertung auf die statische Variable "statDWordPrevCycle" kopiert und im nächsten Zyklus mit ausgewertet.

Beispiel

Das folgende Beispiel verdeutlicht die Funktionsweise des Bausteins. In diesem Fall geht man davon aus, dass ein Signal von unbekannter Länge kontinuierlich in Form von Doppelwörtern (DWORD) pro Zyklus abgetastet wird.

Innerhalb dieses Signals sollen kontinuierlich die 0-1 Abfolgen (steigenden Flanken) gezählt und ausgegeben werden. Damit auch - wie in diesem Beispiel - die steigende Flanke an Variablengrenzen erkannt werden, muss der Eingang "statDWordPrevCycle" mit dem Doppelwort der vorherigen Abtastung verschaltet werden.

Tabelle 3-23: Beispiel

DWORD vorheriger Zyklus (statDWordPrevCycle)

DWORD aktueller Zyklus (dWordActCycle)

1001_0000_0001_1010_1001_0000_0001_1010 1010_1010_0001_1111_0100_0011_1000_0101

Anzahl der 0-1 Abfolgen (steigende Flanken): "Ret_Val" = 9

Hinweis Der FB "LGF_CountRisInDWordFB" ersetzt den FC "LGF_CountRisInDWord". Den FC finden Sie im Ordner "99 Legacy".

Page 35: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.3 Comperator operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 35

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

3.3 Comperator operations

3.3.1 LGF_CompareVariant

Kurzbeschreibung

Dieser Baustein vergleicht zwei strukturierte (Array, PLC Datentyp) Aktualparameter und gibt aus, ob sie dem gleichen Typ entsprechen und gleiche Werte haben.

Baustein

Abbildung 3-16: FC LGF_CompareVariant

FC LGF_CompareVariant

VARIANT variable1 (InOut) Ret_Val BOOL

VARIANT variable2 (InOut) error BOOL

statusID UINT

status WORD

Ein-/Ausgangsparameter (InOut)

Tabelle 3-24: Ein-/Ausgangsparameter (InOut)

Parameter Datentyp Beschreibung

variable1 VARIANT Vergleichsvariable mit beliebigen Datentyp

variable2 VARIANT Vergleichsvariable mit beliebigen Datentyp

Ausgangsparameter

Tabelle 3-25: Ausgangsparameter

Parameter Datentyp Beschreibung

Ret_Val BOOL FALSE: Werte der Vergleichsvariablen oder PLC Datentypen sind unterschiedlich.

TRUE: Werte der Vergleichsvariablen sind gleich und PLC Datentypen sind identisch.

error BOOL FALSE: Kein Fehler

TRUE: Fehler im Baustein, "statusID" gibt Fehlerquelle aus, "status" gibt Fehlercode aus.

statusID UINT "statusID" gibt die ID des Bausteins aus, der den Status meldet. Siehe folgende Tabelle.

status WORD "status" gibt den Status/Fehler-Code aus (siehe folgende Tabelle).

Page 36: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.3 Comperator operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 36

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Status- und Fehleranzeigen

Tabelle 3-26: Status/Fehlercodes

statusID status Bedeutung Abhilfe / Hinweise

1 16#7000 Initialwert -

1 16#0000 Kein Fehler -

2 - Fehler/Status von unterlagerten Baustein "Serialize"

-

Funktionsweise

Dieser Baustein vergleicht zwei (strukturierte) Aktualparameter und gibt aus, ob sie dem gleichen Wert entsprechen.

Hinweis Folgende Unterschiede können mit der Vergleichsmethode (Bytelevel) nicht erkannt werden:

• Variablen vom Datentyp "Struct" können nicht verglichen werden.

• Bei Strings können im Bereich zwischen tatsächlicher Länge und Maximallänge Unterschiede vorhanden sein.

• Bei REAL Zahlen in der Struktur kann auch bei "gleichen" Variablen eine Ungleichheit angezeigt werden.

• Variablen vom Typ "ARRAY of BOOL" können mit der Funktion nicht auf Gleichheit geprüft werden, da die verwendete Anweisung "CountOfElements" auch die Füllelemente mitzählt (z.B. bei einem ARRAY[0..1] of BOOL wird 8 zurückgegeben).

Page 37: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.3 Comperator operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 37

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

3.3.2 LGF_CompareReal

Kurzbeschreibung

Diese Funktion überprüft über eine Näherungsformel zwei REAL-Zahlen auf ihre Gleichheit.

Baustein

Abbildung 3-17: FC LGF_CompareReal

FC LGF_CompareReal

REAL valueA Ret_Val BOOL

REAL valueB error BOOL

status WORD

Eingangsparameter

Tabelle 3-27: Eingangsparameter

Parameter Datentyp Beschreibung

valueA REAL Zahl, die verglichen werden soll.

valueB REAL Zahl, die verglichen werden soll.

Ausgangsparameter

Tabelle 3-28: Ausgangsparameter

Parameter Datentyp Beschreibung

Ret_Val BOOL FALSE: ungleich

TRUE: gleich

error BOOL Fehleranzeige.

FALSE: Kein Fehler.

TRUE: Fehler im Baustein, "status" gibt Fehlercode aus.

status WORD "status" gibt den Status/Fehlercode aus (siehe folgende Tabelle).

Status- und Fehleranzeigen

Tabelle 3-29: Status/Fehlercodes

Status Bedeutung Abhilfe

16#0000 Kein Fehler. -

16#8601 |valueA|+|valueB| überschreitet den maximalen Wertebereich einer REAL-Zahl.

|valueA|+|valueB| muss kleiner

+3,402823 ∗ 1038 sein.

Funktionsweise

Mit einer Näherungsformel werden zwei REAL-Zahlen "valueA" und "valueB" auf die Gleichheit überprüft. Damit der Vergleich unabhängig von der Größe der Zahlen funktioniert, wird das Verhältnis der beiden Zahlen überprüft.

Page 38: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.3 Comperator operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 38

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Näherungsformel

|𝑣𝑎𝑙𝑢𝑒𝐴 − 𝑣𝑎𝑙𝑢𝑒𝐵|

|𝑣𝑎𝑙𝑢𝑒𝐴| + |𝑣𝑎𝑙𝑢𝑒𝐵|≤ 𝐸𝑃𝑆𝐼𝐿𝑂𝑁

Zwei REAL-Zahlen werden als gleich gewertet, wenn das Verhältnis der Differenz zur Summe der beiden Zahlen kleiner oder gleich 𝐸𝑃𝑆𝐼𝐿𝑂𝑁 ist.

Der Wert von 𝐸𝑃𝑆𝐼𝐿𝑂𝑁 gibt die Genauigkeit vor, mit der die zwei Zahlen als gleich gewertet werden. 𝐸𝑃𝑆𝐼𝐿𝑂𝑁 ist in der Funktion als eine Konstante mit dem Wert

1,0 ∙ 10−6 definiert.

Um eine Division durch Null zu vermeiden, ist die Näherungsformel in der Funktion umgestellt:

|𝑣𝑎𝑙𝑢𝑒𝐴 − 𝑣𝑎𝑙𝑢𝑒𝐵| ≤ 𝐸𝑃𝑆𝐼𝐿𝑂𝑁 ∗ (|𝑣𝑎𝑙𝑢𝑒𝐴| + |𝑣𝑎𝑙𝑢𝑒𝐵|)

Folgende Tabelle zeigt zwei Beispiele zur Verdeutlichung der Funktionsweise.

Tabelle 3-30

Beispiel 1 Beispiel 2

|𝑣𝑎𝑙𝑢𝑒𝐴| + |𝑣𝑎𝑙𝑢𝑒𝐵| 5 5.000.000

𝐸𝑃𝑆𝐼𝐿𝑂𝑁 1,0 ∙ 10−6

Maximale Differenz von "𝑣𝑎𝑙𝑢𝑒𝐴" und "𝑣𝑎𝑙𝑢𝑒𝐵", bei der die zwei Zahlen noch als gleich gewertet werden.

0,000005 5

Hinweis Wenn Sie für Ihren Anwendungsfall eine andere Genauigkeit bei der Bewertung des Verhältnisses der Zahlen benötigen, passen Sie in der Funktion die Konstante 𝐸𝑃𝑆𝐼𝐿𝑂𝑁 an Ihre Anforderung an.

Page 39: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.4 Math operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 39

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

3.4 Math operations

3.4.1 LGF_MatrixAddition

Kurzbeschreibung

Dieser Baustein addiert zwei gleich große Matrizen vom Datentyp ARRAY of REAL.

(

𝑎11 ⋯ 𝑎1𝑛⋮ ⋱ ⋮𝑎𝑚1 ⋯ 𝑎𝑚𝑛

) + (𝑏11 ⋯ 𝑏1𝑛⋮ ⋱ ⋮𝑏𝑚1 ⋯ 𝑏𝑚𝑛

) = (𝑎11 + 𝑏11 ⋯ 𝑎1𝑛 + 𝑏1𝑛

⋮ ⋱ ⋮𝑎𝑚1 + 𝑏𝑚1 ⋯ 𝑎𝑚𝑛 + 𝑏𝑚𝑛

)

Baustein

Abbildung 3-18: FC LGF_MatrixAddition

FC LGF_MatrixAddition

ARRAY of REAL matrix1 matrixResult ARRAY of REAL

ARRAY of REAL matrix2 error BOOL

statusID UINT

status WORD

Eingangsparameter

Tabelle 3-31: Eingangsparameter

Parameter Datentyp Beschreibung

matrix1 ARRAY of REAL Erster Summand (Matrix)

matrix2 ARRAY of REAL Zweiter Summand (Matrix)

Ausgangsparameter

Tabelle 3-32: Ausgangsparameter

Parameter Datentyp Beschreibung

matrixResult ARRAY of REAL Summe (Matrix)

error BOOL FALSE: Kein Fehler

TRUE: Fehler im Baustein, "statusID" gibt die Fehlerquelle aus, "status" gibt den Fehlercode aus.

statusID UINT "statusID" gibt die ID des Bausteins aus, der den Status meldet. Siehe folgende Tabelle.

status WORD "status" gibt den Status/Fehler-Code aus (siehe folgende Tabelle).

Status- und Fehleranzeigen

Tabelle 3-33: Status/Fehlercodes

statusID status Bedeutung Abhilfe / Hinweise

1 16#0000 Kein Fehler -

1 16#8200 Untere Grenzen der Arrays sind unterschiedlich.

Alle Arrays müssen die gleiche untere Grenze haben, z. B. : Array[0..2, 0..2] of Real

Page 40: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.4 Math operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 40

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

statusID status Bedeutung Abhilfe / Hinweise

1 16#8201 Obere Grenzen der Arrays sind unterschiedlich.

Alle Arrays müssen die gleiche obere Grenze haben, z. B. : Array[0..2, 0..2] of Real

Funktionsweise

Der Baustein addiert zwei Matrizen gleicher Größe. Die einzelnen Felder der zwei eingehenden Matrizen werden gelesen, addiert und anschließend in der Matrix "matrixResult" ausgegeben.

Hinweis Beachten Sie, dass alle Ein- und Ausgangsmatrizen die gleiche untere und obere Grenze und somit die gleiche Anzahl an Spalten und Reihen haben müssen.

Page 41: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.4 Math operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 41

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

3.4.2 LGF_MatrixInverse

Kurzbeschreibung

Dieser Baustein invertiert eine quadratische Matrix vom Datentyp ARRAY of REAL.

Baustein

Abbildung 3-19: FC LGF_MatrixInverse

FC LGF_MatrixInverse

ARRAY of REAL matrix matrixResult ARRAY of REAL

error BOOL

statusID UINT

status WORD

Eingangsparameter

Tabelle 3-34: Eingangsparameter

Parameter Datentyp Beschreibung

matrix ARRAY of REAL Quadratische Eingangsmatrix (Array [0..x,0..x] of REAL)

Ausgangsparameter

Tabelle 3-35: Ausgangsparameter

Parameter Datentyp Beschreibung

matrixResult ARRAY of REAL Invertierte Matrix

error BOOL FALSE: Kein Fehler

TRUE: Fehler im Baustein, "statusID" gibt Fehlerquelle aus, "status" gibt Fehlercode aus.

statusID UINT "statusID" gibt die ID des Bausteins aus, der den Status meldet. Siehe folgende Tabelle.

status WORD "status" gibt Status/Fehler-Code aus (siehe folgende Tabelle).

Status- und Fehleranzeigen

Tabelle 3-36: Status/Fehlercodes

statusID status Bedeutung Abhilfe / Hinweise

1 16#0000 Kein Fehler -

1 16#8200 Untere Grenzen der Arrays sind unterschiedlich.

Alle Arrays müssen die gleiche untere Grenze haben, z. B.: Array[0..2, 0..2] of Real

1 16#8201 Obere Grenzen der Arrays sind unterschiedlich.

Alle Arrays müssen die gleiche obere Grenze haben, z. B.: Array[0..2, 0..2] of Real

1 16#8202 Eingangsmatrix ist nicht quadratisch. Die Anzahl der Zeilen muss gleich der Anzahl der Spalten sein.

1 16#8203 Anwendung des Algorithmus für die Eingangsmatrix nicht möglich.

Erstes Element (a1,1) der Eingangsmatrix darf nicht Null sein.

Page 42: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.4 Math operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 42

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Funktionsweise

Der Baustein invertiert eine quadratische Matrix beliebiger Größe nach dem Shipley-Coleman Verfahren.

Hinweis Beachten Sie, dass die Eingangsmatrix quadratisch sein muss. Dies bedeutet, die Anzahl der Zeilen muss gleich der Anzahl der Spalten sein.

Die Ausgangsmatrix muss genauso groß sein und die gleichen Array-Grenzen haben, wie die Eingangsmatrix.

Page 43: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.4 Math operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 43

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

3.4.3 LGF_MatrixMultiplication

Kurzbeschreibung

Dieser Baustein multipliziert zwei Matrizen vom Datentyp Array of REAL.

Beispiel für 2x2-Matrix:

(𝑎11 𝑎12𝑎21 𝑎22

) ∗ (𝑏11 𝑏12𝑏21 𝑏22

) = (𝑎11𝑏11 + 𝑎12𝑏21 𝑎11𝑏12 + 𝑎12𝑏22𝑎21𝑏11 + 𝑎22𝑏21 𝑎21𝑏12 + 𝑎22𝑏22

)

Baustein

Abbildung 3-20: FC LGF_MatrixMultiplication

FC LGF_MatrixMultiplication

ARRAY of REAL matrix1 matrixResult ARRAY of REAL

ARRAY of REAL matrix2 error BOOL

statusID UINT

status WORD

Eingangsparameter

Tabelle 3-37: Eingangsparameter

Parameter Datentyp Beschreibung

matrix1 ARRAY of REAL Erster Faktor: Zu multiplizierende Matrix

matrix2 ARRAY of REAL Zweiter Faktor: Zu multiplizierende Matrix

Ausgangsparameter

Tabelle 3-38: Ausgangsparameter

Parameter Datentyp Beschreibung

matrixResult ARRAY of REAL Produkt: Die resultierende Matrix

error BOOL FALSE: Kein Fehler

TRUE: Fehler im Baustein, "statusID" gibt die Fehlerquelle aus, "status" gibt den Fehlercode aus.

statusID UINT "statusID" gibt die ID des Bausteins aus, der den Status meldet. Siehe folgende Tabelle.

status WORD "status" gibt den Status/Fehler-Code aus (siehe folgende Tabelle).

Page 44: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.4 Math operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 44

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Status- und Fehleranzeigen

Tabelle 3-39: Status/Fehlercodes

statusID status Bedeutung Abhilfe / Hinweise

1 16#0000 Kein Fehler -

1 16#8200 Die Anzahl der Spalten der ersten Matrix entspricht nicht der Anzahl der Zeilen der zweiten Matrix.

Die Grenzen der Arrays müssen ebenfalls identisch sein.

1 16#8201 Größe der Ausgangsmatrix (m x n) entspricht nicht der Anzahl der Zeilen (m) der "matrix1" und Anzahl der Spalten (n) der "matrix2".

Die Grenzen der Arrays müssen ebenfalls identisch sein.

Funktionsweise

Der Baustein multipliziert zwei Matrizen variabler Größe. Die einzelnen Elemente der zwei eingehenden Matrizen werden gelesen, multipliziert und anschließend in der "matrixResult"-Matrix ausgegeben.

Hinweis Beachten Sie, dass die Anzahl der Spalten der ersten Matrix gleich der Anzahl der Zeilen der zweiten Matrix sein muss.

Die Größe der Ausgangsmatrix (m * n) ergibt sich aus der Anzahl der Zeilen (m) der "matrix1" und Anzahl der Spalten (n) der "matrix2".

Page 45: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.4 Math operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 45

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

3.4.4 LGF_MatrixSubtraction

Kurzbeschreibung

Dieser Baustein subtrahiert eine Matrix vom Datentyp ARRAY of REAL von einer anderen.

(

𝑎11 ⋯ 𝑎1𝑛⋮ ⋱ ⋮𝑎𝑚1 ⋯ 𝑎𝑚𝑛

) − (𝑏11 ⋯ 𝑏1𝑛⋮ ⋱ ⋮𝑏𝑚1 ⋯ 𝑏𝑚𝑛

) = (𝑎11 − 𝑏11 ⋯ 𝑎1𝑛 − 𝑏1𝑛

⋮ ⋱ ⋮𝑎𝑚1 − 𝑏𝑚1 ⋯ 𝑎𝑚𝑛 − 𝑏𝑚𝑛

)

Baustein

Abbildung 3-21: FC LGF_MatrixSubtraction

FC LGF_MatrixSubtraction

ARRAY of REAL matrix1 matrixResult ARRAY of REAL

ARRAY of REAL matrix2 error BOOL

statusID UINT

status WORD

Eingangsparameter

Tabelle 3-40: Eingangsparameter

Parameter Datentyp Beschreibung

matrix1 ARRAY of REAL Minuend: Von dieser Matrix wird "matrix2" subtrahiert.

matrix2 ARRAY of REAL Subtrahend: Diese Matrix wird von "matrix1" subtrahiert.

Ausgangsparameter

Tabelle 3-41: Ausgangsparameter

Parameter Datentyp Beschreibung

matrixResult ARRAY of REAL Differenz: Die resultierende Matrix

error BOOL FALSE: Kein Fehler

TRUE: Fehler im Baustein, "statusID" gibt Fehlerquelle aus, "status" gibt Fehlercode aus.

statusID UINT "statusID" gibt die ID des Bausteins aus, der den Status meldet. Siehe folgende Tabelle.

status WORD "status" gibt Status/Fehler-Code aus (siehe folgende Tabelle).

Page 46: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.4 Math operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 46

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Status- und Fehleranzeigen

Tabelle 3-42: Status/Fehlercodes

statusID status Bedeutung Abhilfe / Hinweise

1 16#0000 Kein Fehler -

1 16#8200 Untere Grenzen der Arrays sind unterschiedlich.

Alle Arrays müssen die gleiche untere Grenze haben, z. B. : Array[0..2, 0..2] of Real

1 16#8201 Obere Grenzen der Arrays sind unterschiedlich.

Alle Arrays müssen die gleiche obere Grenze haben, z. B. : Array[0..2, 0..2] of Real

Funktionsweise

Der Baustein subtrahiert zwei Matrizen variabler Größe. Die einzelnen Felder der zwei Matrizen werden gelesen, subtrahiert und anschließend in der Matrix "matrixResult" ausgegeben.

Hinweis Beachten Sie, dass alle Ein- und Ausgangsmatrizen die gleiche Anzahl an Spalten und Zeilen haben müssen.

Page 47: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.4 Math operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 47

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

3.4.5 LGF_MatrixTranspose

Kurzbeschreibung

Dieser Baustein transponiert eine Matrix vom Datentyp ARRAY of REAL.

Bedingung: Eingangsmatrix (m x n) = Ausgangsmatrix (n x m)

𝐴 = (

𝑎11 ⋯ 𝑎1𝑛⋮ ⋱ ⋮𝑎𝑚1 ⋯ 𝑎𝑚𝑛

) ; 𝐴𝑇 = (

𝑎11 ⋯ 𝑎𝑚1⋮ ⋱ ⋮𝑎1𝑛 ⋯ 𝑎𝑚𝑛

)

Baustein

Abbildung 3-22: FC LGF_MatrixTranspose

FC LGF_MatrixTranspose

ARRAY of REAL matrix matrixResult ARRAY of REAL

error BOOL

statusID UINT

status WORD

Eingangsparameter

Tabelle 3-43: Eingangsparameter

Parameter Datentyp Beschreibung

matrix ARRAY of REAL zu transponierende Matrix

Ausgangsparameter

Tabelle 3-44: Ausgangsparameter

Parameter Datentyp Beschreibung

matrixResult ARRAY of REAL resultierende Matrix

error BOOL FALSE: Kein Fehler

TRUE: Fehler im Baustein, "statusID" gibt Fehlerquelle aus, "status" gibt Fehlercode aus.

statusID UINT "statusID" gibt die ID des Bausteins aus, der den Status meldet. Siehe folgende Tabelle.

status WORD "status" gibt Status/Fehler-Code aus (siehe folgende Tabelle).

Status- und Fehleranzeigen

Tabelle 3-45: Status/Fehlercodes

statusID status Bedeutung Abhilfe / Hinweise

1 16#0000 Kein Fehler -

1 16#8200 Untere Grenzen der Arrays sind unterschiedlich.

Alle Arrays müssen die gleiche untere Grenze haben, z. B. : Array[0..2, 0..2] of Real

1 16#8201 Obere Grenzen der Arrays sind unterschiedlich.

Alle Arrays müssen die gleiche obere Grenze haben, z. B. : Array[0..2, 0..2] of Real

Page 48: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.4 Math operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 48

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

3.4.6 LGF_MinMaxHistory

Kurzbeschreibung

Dieser Baustein liest bei jedem Aufruf einen Wert einer Variablen ein und gibt den maximalen und minimalen Wert aus, der seit dem ersten Aufruf eingelesen wurde.

Die Auswertung kann bei Bedarf zurückgesetzt werden. Der Baustein unterstützt den Datentyp LREAL.

Baustein

Abbildung 3-23: FB LGF_MinMaxHistory

FB LGF_MinMaxHistory

LREAL variable minValue LREAL

BOOL reset maxValue LREAL

Eingangsparameter

Tabelle 3-46: Eingangsparameter

Parameter Datentyp Beschreibung

variable LREAL Variable dessen Wert auf Minimum und Maximum geprüft wird.

reset BOOL Der Baustein wird zurückgesetzt und die Auswertung beginnt von vorne.

Ausgangsparameter

Tabelle 3-47: Ausgangsparameter

Parameter Datentyp Beschreibung

minValue LREAL Minimaler Wert seit erstem Aufruf oder seit Aktivierung des Eingangs "reset".

maxValue LREAL ‚Maximaler Werte seit erstem Aufruf oder seit Aktivierung des Eingangs "reset".

Page 49: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.4 Math operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 49

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

3.4.7 LGF_RandomBasic

Kurzbeschreibung

Diese Funktion generiert bei jedem Aufruf einen zufälligen Wert zwischen 0.0 und 1.0. Die Zufallszahl hat den Datentyp REAL.

Baustein

Abbildung 3-24: FC LGF_RandomBasic

FC LGF_RandomBasic

Ret_Val REAL

Ausgangsparameter

Tabelle 3-48: Ausgangsparameter

Parameter Datentyp Beschreibung

Ret_Val REAL Zufallszahl

Funktionsweise

Die Funktion generiert zufällige Werte im Bereich 0.0 ≤ Ret_Val ≤ 1.0.

Hintergrundinformation

Der Zufallswert wird aus den Nanosekunden der aktuellen Systemzeit der CPU gebildet. Dabei wird die Bytereihenfolge dieses Wertes invertiert und anschließend in eine normierte Gleitkommazahl ungewandelt.

Page 50: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.4 Math operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 50

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

3.4.8 LGF_RandomINT / LGF_RandomReal

Kurzbeschreibung

Dieser Baustein generiert pro Aufruf einen "zufälligen" Wert zwischen einem definierten Max- und Minwert. Die Zufallszahl hat den Datentyp INT / REAL.

Baustein

Abbildung 3-25: FC LGF_RandomINT / FC LGF_RandomReal

FC LGF_Random…

INT / REAL maxValue Ret_Val INT / REAL

INT / REAL minValue error BOOL

statusID UINT

status WORD

Eingangsparameter

Tabelle 3-49: Eingangsparameter

Parameter Datentyp Beschreibung

maxValue INT / REAL Definiert den oberen Grenzwert der Zufallszahl.

minValue INT / REAL Definiert den unteren Grenzwert der Zufallszahl.

Ausgangsparameter

Tabelle 3-50: Ausgangsparameter

Parameter Datentyp Beschreibung

Ret_Val INT / REAL Zufallszahl

error BOOL FALSE: Kein Fehler

TRUE: Fehler im Baustein, "statusID" gibt die Fehlerquelle aus, "status" gibt den Fehlercode aus.

statusID UINT "statusID" gibt die ID des Bausteins aus, der den Status meldet. Siehe folgende Tabelle.

status WORD "status" gibt den Status/Fehler-Code aus (siehe folgende Tabelle).

Status- und Fehleranzeigen

Tabelle 3-51: Status/Fehlercodes

statusID status Bedeutung Abhilfe / Hinweise

1 16#7000 Initialwert -

1 16#0000 Kein Fehler -

1 16#8200 "minValue" ist größer als "maxValue". -

2 - Fehler/Status von unterlagerten Baustein "RD_SYS_T".

-

Page 51: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.4 Math operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 51

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Hinweis Falls "statusID" > 1 ist, stammen alle Werte des Ausgangs "status" direkt von aufgerufenen Anweisungen (siehe Tabelle Ausgangsparameter). Holen Sie sich in diesem Fall die Informationen aus der TIA Portal Online Hilfe zu den jeweiligen Anweisungen.

Funktionsweise

Der Baustein generiert zufällige Werte, die zwischen dem angegebenen "minValue"-Wert und "maxValue"-Wert liegen. Dieser zufällige Wert wird über den "Ret_Val" ausgegeben.

Hintergrundinformation

Der Zufallswert wird aus den Nanosekunden der aktuellen Systemzeit der CPU gebildet. Dabei wird die Bytereihenfolge dieses Wertes invertiert und anschließend in eine normierte Gleitkommazahl ungewandelt.

Hinweis Wenn kein Max- und Minwert (= 0) festgelegt wird, gibt der Baustein zufällige Werte über den gesamten Wertebereich von INT / REAL aus.

Page 52: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.4 Math operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 52

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

3.4.9 LGF_SearchMinMax

Kurzbeschreibung

Dieser Baustein sucht in einem Array den Maximal und Minimalwert sowie den jeweiligen Index im Array.

Folgende Datentypen der Array-Elemente werden unterstützt: Int, DInt, UInt, UDInt, USInt, SInt und Real.

Baustein

Abbildung 3-26: FC LGF_SearchMinMax

FC LGF_SearchMinMax

VARIANT variableArray min VARIANT

minArrayIndex INT

max VARIANT

maxArrayIndex INT

error BOOL

statusID UINT

status WORD

Eingangsparameter

Tabelle 3-52: Eingangsparameter

Parameter Datentyp Beschreibung

variableArray VARIANT Array, in dessen Feldern das Maximum und Minimum gesucht wird.

Ausgangsparameter

Tabelle 3-53: Ausgangsparameter

Parameter Datentyp Beschreibung

minValue VARIANT Kleinster gefundener Wert.

minArrayIndex INT Startindex des Arrays plus minArrayIndex ergibt den Arrayindex des kleinsten Wertes. Der Index beginnt mit 0.

maxValue VARIANT Größter gefundener Wert.

maxArrayIndex INT Startindex des Arrays plus maxArrayIndex ergibt den Arrayindex des größeten Wertes. Der Index beginnt mit 0.

error BOOL FALSE: Kein Fehler

TRUE: Fehler im Baustein, "statusID" gibt die Fehlerquelle aus, "status" gibt den Fehlercode aus.

statusID UINT "statusID" gibt die ID des Bausteins aus, der den Status meldet. Siehe folgende Tabelle.

status WORD "status" gibt den Status/Fehler-Code aus (siehe folgende Tabelle).

Page 53: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.4 Math operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 53

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Status- und Fehleranzeigen

Tabelle 3-54: Status/Fehlercodes

statusID status Bedeutung Abhilfe / Hinweise

1 16#7000 Initialwert -

1 16#0000 Kein Fehler -

1 16#8200 Am Eingang "variableArray" ist der Aktualparameter kein Array.

-

1 16#8201 Der Datentyp der Elemente des Arrays wird nicht unterstützt.

Es werden nur die Datentypen Int, UInt, DInt, UDInt, USInt, SInt und Real unterstützt.

1 16#8202 Die Elemente des Arrays haben nicht den gleichen Datentyp wie die Ausgänge "minValue" und "maxValue".

-

2 - Fehler/Status von unterlagerten Baustein "MOVE_BLK_VARIANT".

-

Hinweis Falls "statusID" > 1 ist, stammen alle Werte des Ausgangs "status" direkt von aufgerufenen Anweisungen (siehe Tabelle Ausgangsparameter). Holen Sie sich in diesem Fall die Informationen aus der TIA Portal Online Hilfe zu den jeweiligen Anweisungen.

Funktionsweise

Über den Eingang "variableArray" wird ein Array beliebiger Größe angeschlossen. Nach einer Datentypabfrage im Baustein, werden die Elemente der Reihe nach in eine Variable des entsprechenden Typs kopiert und verglichen. Ausgegeben werden der kleinste und größte Wert sowie deren zugehöriger Index im Array.

Hinweis Bei mehreren gleichen Min- bzw. Max-Werten wird der Index des ersten Min- bzw. Max-Wertes ausgegeben.

Page 54: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.4 Math operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 54

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

3.4.10 LGF_XRoot

Kurzbeschreibung

Dieser Baustein berechnet die x-te Wurzel einer numerischen Variablen.

Baustein

Abbildung 3-27: FC LGF_Random

FC LGF_XRoot

REAL variable Ret_Val REAL

REAL root

Eingangsparameter

Tabelle 3-55: Eingangsparameter

Parameter Datentyp Beschreibung

variable REAL Variable aus der die Wurzel berechnet werden soll.

root REAL Wurzel (z. B. 3 als 3te Wurzel)

Ausgangsparameter

Tabelle 3-56: Ausgangsparameter

Parameter Datentyp Beschreibung

Ret_Val REAL Ausgabe des Ergebnisses

Funktionsweise

Der Baustein berechnet die n-te Wurzel aus einer Zahl.

Die Wurzel ist folgendermaßen definiert:

𝑅𝑒𝑡_𝑉𝑎𝑙 = √𝑛𝑢𝑚𝑏𝑒𝑟𝑟𝑜𝑜𝑡

= 𝑛𝑢𝑚𝑏𝑒𝑟1

𝑟𝑜𝑜𝑡

In STEP 7 (TIA Portal) ergibt sich folgende Formel:

𝑅𝑒𝑡𝑉𝑎𝑙 = 𝑛𝑢𝑚𝑏𝑒𝑟 ∗∗ (1 𝑟𝑜𝑜𝑡⁄ )

Page 55: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.4 Math operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 55

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

3.4.11 LGF_HighLowLimit

Kurzbeschreibung

Die Funktion prüft, ob ein Wert sich in einem definierten Wertebereich befindet. Der Wertebereich wird mit einem Sollwert und einer Totzone um diesen Sollwert definiert. Die Funktion berechnet die untere und obere Grenze des Wertebereichs.

Baustein

Abbildung 3-28: FC LGF_HighLowLimit

FC LGF_HighLowLimit

REAL value valueInRange BOOL

REAL setpoint highLimitExceeded BOOL

REAL deadband lowLimitExceeded BOOL

error BOOL

status WORD

Eingangsparameter

Tabelle 3-57: Eingangsparameter

Parameter Datentyp Beschreibung

value INT / REAL Wert, der geprüft werden soll, ob er sich im definierten Wertebereich befindet

setpoint INT / REAL Sollwert

deadband INT / REAL Totband

Ausgangsparameter

Tabelle 3-58: Ausgangsparameter

Parameter Datentyp Beschreibung

valueInRange BOOL "TRUE, wenn sich "value" im Wertebereich (Totzone um den Sollwert) befindet.

valueOverHighLimit BOOL "TRUE", wenn "value" größer als der obere Grenzwert ("setpoint" + 0,5 * "deadband")ist.

valueUnderLowLimit BOOL "TRUE", wenn "value"kleiner als der untere Grenzwert ("setpoint" - 0,5 * "deadband") ist.

error BOOL FALSE: Kein Fehler

TRUE: Fehler im Baustein

status WORD Status/Fehler-Code aus (siehe folgende Tabelle)

Page 56: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.4 Math operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 56

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Status- und Fehleranzeigen

Tabelle 3-59: Status/Fehlercodes

Status Bedeutung Abhilfe / Hinweise

16#0000 Kein Fehler -

16#8101 Falscher Wertebereich "highValue" -

16#8102 Falscher Wertebereich "lowValue" -

16#8200 "lowValue" ist größer als "highValue". -

Funktionsweise

Die Variable "setpoint" und "deadband" definieren einen Wertebereich. Die Funktion prüft, ob sich der Wert "value" unter, in oder über dem Wertebereich befindet. Die Ausgänge "valueUnderLowLimit", "valueInRange" oder "valueOverHighLimit" geben aus, wo sich der Wert "value" befindet.

Abbildung 3-29: Funktionsweise

value

deadband

deadband * 0,5 deadband * 0,5

valueUnderLowLimit valueOverHighLimit

setpoint

valueInRange

Page 57: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.4 Math operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 57

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

3.4.12 LGF_Integration

Kurzbeschreibung

Dieser Baustein berechnet näherungsweise die Fläche unter einer Funktionskurve. Die Funktionskurve wird als Analogwert (REAL) übergeben, der über die Zeit variiert. Am Ausgang wird der Integralwert ausgegeben.

Baustein

Abbildung 3-30: FB LGF_Integration

FB LGF_Integration

REAL value integral REAL

BOOL enable error BOOL

BOOL reset statusID UINT

status WORD

Eingangsparameter

Tabelle 3-60: Eingangsparameter

Parameter Datentyp Beschreibung

value REAL Analogwert der kontinuierlichen Funktionskurve

enable BOOL Aktivierung der Integral-Berechnung. Erhält dieser Eingang den Wert "FALSE", wird die Integralberechnung gestoppt und der Ausgang "integral" zeigt den zuletzt berechneten Wert.

reset BOOL Setzt den Ausgang "integral" auf "0.0".

Ausgangsparameter

Tabelle 3-61: Ausgangsparameter

Parameter Datentyp Beschreibung

integral LREAL Integrierter Wert

error BOOL FALSE: Kein Fehler

TRUE: Fehler im Baustein, "statusID" gibt die Fehlerquelle aus, "status" gibt den Fehlercode aus.

statusID UINT "statusID" gibt die ID des Bausteins aus, der den Status meldet. Siehe folgende Tabelle.

status WORD "status" gibt den Status/Fehler-Code aus (siehe folgende Tabelle).

Status- und Fehleranzeigen

Tabelle 3-62: Status/Fehlercodes

statusID Status Bedeutung Abhilfe / Hinweise

0 16#0000 Kein Fehler -

2 - Fehler/Status von unterlagerten Baustein "RD_SYS_T".

-

Page 58: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.4 Math operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 58

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Hinweis Falls "statusID" > 1 ist, stammen alle Werte des Ausgangs "status" direkt von aufgerufenen Anweisungen (siehe Tabelle Ausgangsparameter). Holen Sie sich in diesem Fall die Informationen aus der TIA Portal Online Hilfe zu den jeweiligen Anweisungen.

Funktionsweise

Die Integralberechnung beinhaltet die Aufsummierung jener Trapezflächen, die sich zwischen den letzten beiden Funktionswerten am Eingang "value" und der Zeit aufspannen. Die vergangene Zeit wird über die Systemzeit der CPU berechnet. Diese Trapezfläche ist identisch mit dem Produkt aus dem Mittelwert der beiden Prozesswerte und dem Zeitintervall.

𝐴 = 1

2∗ (𝐹(𝑡1) + 𝐹(𝑡0)) ∗ (𝑡1 − 𝑡0) +

1

2∗ (𝐹(𝑡2) + 𝐹(𝑡1)) ∗ (𝑡2 − 𝑡1) + ⋯)

Abbildung 3-31: Funktionsweise

Um die Integralberechnung für den Eingangswert am Parameter "value" zu starten, müssen Sie

• den Parameter "enable" auf den Wert "TRUE" setzen,

• den Parameter "reset" auf den Wert "FALSE " setzen.

Wird der Parameter "enable" auf den Wert "FALSE"gesetzt, wird die Integralberechnung gestoppt und der Ausgang "integral" gibt den zuletzt berechneten Wert aus.

Wird der Parameter "reset" auf den Wert "TRUE" gesetzt, wird der Ausgang "integral" auf "0.0" zurückgesetzt.

Page 59: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.4 Math operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 59

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

3.4.13 LGF_Factorial

Kurzbeschreibung

Die Funktion berechnet die Fakultät einer natürlichen Zahl.

Baustein

Abbildung 3-32: LGF_Factorial

FC LGF_Factorial

INT n Ret_Val DINT

error BOOL

status WORD

Eingangsparameter

Tabelle 3-63: Eingangsparameter

Parameter Datentyp Beschreibung

n INT Natürliche Zahl

Ausgangsparameter

Tabelle 3-64: Ausgangsparameter

Parameter Datentyp Beschreibung

Ret_Val DINT Berechnete Fakultät

error BOOL FALSE: Kein Fehler

TRUE: Fehler im Baustein, "statusID" gibt die Fehlerquelle aus, "status" gibt den Fehlercode aus.

status WORD "status" gibt den Status/Fehler-Code aus (siehe folgende Tabelle).

Status- und Fehleranzeigen

Tabelle 3-65: Status/Fehlercodes

Status Bedeutung Abhilfe / Hinweise

16#0000 Kein Fehler -

16#7000 Initialwert -

16#8101 Falscher Wertebereich für Eingangs-parameter "n".

Wert zwischen 0 und 12 eingeben.

Funktionsweise

Die Funktion berechnet die Fakultät einer natürlichen Zahl. Der zulässige Werte-bereich des Eingangsparameters "n" liegt zwischen 0 und 12.

Page 60: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.4 Math operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 60

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

3.4.14 LGF_Distance

Kurzbeschreibung

Die Funktion berechnet den Abstand zwischen zwei Punkten in der Ebene.

Baustein

Abbildung 3-33: FC LGF_Distance

FC LGF_Distance

LREAL x1 Ret_Val LREAL

LREAL y1

LREAL x2

LREAL y2

Eingangsparameter

Tabelle 3-66: Eingangsparameter

Parameter Datentyp Beschreibung

x1 LREAL X-Koordinate Punkt 1

y1 LREAL Y-Koordinate Punkt 1

x2 LREAL X-Koordinate Punkt 2

y2 LREAL Y-Koordinate Punkt 2

Ausgangsparameter

Tabelle 3-67: Ausgangsparameter

Parameter Datentyp Beschreibung

Ret_Val LREAL Berechneter Abstand

Funktionsweise

Der Baustein berechnet den Abstand zwischen zwei Punkten in einem kartesischen Koordinatensystem. Der Abstand wird mit nachfolgender Formel berechnet:

𝑅𝑒𝑡_𝑉𝑎𝑙 = √(𝑥2 − 𝑥1)² + (𝑦2 − 𝑦1)²𝑟𝑜𝑜𝑡

Abbildung 3-34: Graphische Darstellung

x1 x2

y1

y2

P1

P2

x

y

Ret_Val

Page 61: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.5 Data handling

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 61

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

3.5 Data handling

3.5.1 LGF_FIFO

Kurzbeschreibung

Dieser Baustein speichert eingehende Aufträge/Daten und gibt den ältesten noch nicht abgearbeiteten Auftrag aus.

Baustein

Abbildung 3-35: FB LGF_FIFO

FB LGF_FIFO

BOOL execute error BOOL

BOOL mode statusID UINT

VARIANT initialValue status WORD

BOOL resetBuffer

VARIANT item (InOut)

VARIANT buffer (InOut)

Eingangsparameter

Tabelle 3-68: Eingangsparameter

Parameter Datentyp Beschreibung

execute BOOL Anforderung eines Durchlaufs.

mode BOOL Auswahl des Modus.

TRUE: Schreiben des Wertes von "item" in "buffer"

FALSE: Lesen des Wertes aus "buffer" und Ausgabe an "item"

initialValue VARIANT Wert zur Initialisierung des Puffers (meistens: 0)

resetBuffer BOOL Leeren und Initialisieren des Puffers.

Ein-/Ausgangsparameter (InOut)

Tabelle 3-69: Ein-/Ausgangsparameter (InOut)

Parameter Datentyp Beschreibung

item VARIANT Wert, der aus dem Puffer zurückgegeben wird oder in den Ring-Puffer geschrieben werden soll.

buffer VARIANT Puffer (Array of … )

Page 62: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.5 Data handling

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 62

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Ausgangsparameter

Tabelle 3-70: Ausgangsparameter

Parameter Datentyp Beschreibung

error BOOL FALSE: Kein Fehler

TRUE: Fehler im Baustein, "statusID" gibt die Fehlerquelle aus, "status" gibt den Fehlercode aus.

statusID UINT "statusID" gibt die ID des Bausteins aus, der den Status meldet. Siehe folgende Tabelle.

status WORD "status" gibt den Status/Fehler-Code aus (siehe folgende Tabelle).

Status- und Fehleranzeigen

Tabelle 3-71: Status/Fehlercodes

statusID status Bedeutung Abhilfe / Hinweise

1 16#7000 Initialwert -

1 16#0000 Kein Fehler -

1 16#8001 Der Puffer ist leer. -

1 16#8002 Der Puffer ist voll. -

1 16#8200 Am Eingang "buffer" liegt kein Array an.

-

1 16#8201 Der Datentyp des InOut-Parameters "item" entspricht nicht dem Datentyp der Array-Elemente von dem Eingang "buffer".

-

1 16#8202 Der Datentyp des Eingangs "initialValue" entspricht nicht dem Datentyp des InOut-Parameters "item".

-

1 16#8601 Die Variable "nextEmptyItemIndex" liegt nicht innerhalb der Array-Grenzen.

-

1 16#8602 Die Variable "firstItemIndex" liegt nicht innerhalb der Array-Grenzen.

-

2 - Fehler/Status von unterlagerten Baustein "MOVE_BLK_VARIANT".

-

Hinweis Falls "statusID" > 1 ist, stammen alle Werte des Ausgangs "status" direkt von aufgerufenen Anweisungen (siehe Tabelle Ausgangsparameter). Holen Sie sich in diesem Fall die Informationen aus der TIA Portal Online Hilfe zu den jeweiligen Anweisungen.

Hinweis Die Warteschlange (Queue) in der Informatik beruht ebenfalls auf dem FIFO-Prinzip.

Page 63: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.5 Data handling

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 63

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Funktionsweise

Damit der Baustein gestartet wird, muss am Eingang "execute" eine positive Flanke erkannt werden.

Um den nächsten abzuarbeitenden Lese-Auftrag anzufordern muss am Eingang "mode" der Wert "FALSE" anliegen. Ist dies der Fall, wird am InOut-Parameter "item" der als nächstes abzuarbeitende Auftrag/Daten ausgegeben und dieses Feld im Puffer durch den Wert am Parameter "initialValue" ersetzt.

Um einen neuen Schreib-Auftrag im Puffer zu speichern muss am Eingang "mode" der Wert "TRUE" anliegen. Ist dies der Fall, wird der am InOut-Parameter "item" anliegende Wert bzw. Auftrag im Puffer an der nächsten freien Stelle abgespeichert.

Liegt am Eingang "resetBuffer" während eines Durchlaufs der Wert "TRUE" an, werden alle Felder im Puffer auf den am Eingang "InitialValue" angegebenen Wert zurückgesetzt. Anschließend kann der Puffer wieder mit Aufträgen/Daten befüllt werden.

Page 64: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.5 Data handling

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 64

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

3.5.2 LGF_LIFO

Kurzbeschreibung

Dieser Baustein speichert eingehende Aufträge/Daten und gibt den aktuellsten noch nicht abgearbeiteten Auftrag/Daten aus.

Baustein

Abbildung 3-36: FB LGF_LIFO

FB LGF_LIFO

BOOL execute error BOOL

BOOL mode statusID UINT

VARIANT initialValue status WORD

BOOL resetBuffer

VARIANT item (InOut)

VARIANT buffer (InOut)

Eingangsparameter

Tabelle 3-72: Eingangsparameter

Parameter Datentyp Beschreibung

execute BOOL Anforderung eines Durchlaufs.

mode BOOL Auswahl des Modus.

TRUE: Schreiben des Wertes von "item" in "buffer"

FALSE: Lesen des Wertes aus "buffer" und Ausgabe an "item"

initialValue VARIANT Wert zur Initialisierung des Puffers (meistens: 0 )

resetBuffer BOOL Leeren und Initialisieren des Puffers.

Ein-/Ausgangsparameter (InOut)

Tabelle 3-73: Ein-/Ausgangsparameter (InOut)

Parameter Datentyp Beschreibung

item VARIANT Wert, der aus dem Puffer zurückgegeben wird oder in den Ring-Puffer geschrieben werden soll.

buffer VARIANT Puffer (Array of … )

Page 65: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.5 Data handling

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 65

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Ausgangsparameter

Tabelle 3-74: Ausgangsparameter

Parameter Datentyp Beschreibung

error BOOL FALSE: Kein Fehler

TRUE: Fehler im Baustein, "statusID" gibt die Fehlerquelle aus, "status" gibt den Fehlercode aus.

statusID UINT "statusID" gibt die ID des Bausteins aus, der den Status meldet. Siehe folgende Tabelle.

status WORD "status" gibt den Status/Fehler-Code aus (siehe folgende Tabelle).

Status- und Fehleranzeigen

Tabelle 3-75: Status/Fehlercodes

statusID status Bedeutung Abhilfe / Hinweise

1 16#7000 Initialwert -

1 16#0000 Kein Fehler -

1 16#8001 Der Puffer ist leer. -

1 16#8002 Der Puffer ist voll. -

1 16#8200 Am Eingang "buffer" liegt kein Array an.

-

1 16#8201 Der Datentyp des InOut-Parameters "item" entspricht nicht dem Datentyp der Array-Elemente von dem Eingang "buffer".

-

1 16#8202 Der Datentyp des Eingangs "initialValue" entspricht nicht dem Datentyp des InOut-Parameters "item".

-

2 - Fehler/Status von unterlagerten Baustein "MOVE_BLK_VARIANT".

-

Hinweis Falls "statusID" > 1 ist, stammen alle Werte des Ausgangs "status" direkt von aufgerufenen Anweisungen (siehe Tabelle Ausgangsparameter). Holen Sie sich in diesem Fall die Informationen aus der TIA Portal Online Hilfe zu den jeweiligen Anweisungen.

Hinweis Der Stack in der Informatik beruht ebenfalls auf dem LIFO-Prinzip.

Page 66: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.5 Data handling

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 66

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Funktionsweise

Damit der Baustein gestartet wird, muss am Eingang "execute" eine positive Flanke erkannt werden.

Um den nächsten abzuarbeitenden Lese-Auftrag anzufordern muss am Eingang "mode" der Wert "FALSE" anliegen. Ist dies der Fall, wird am InOut-Parameter "item" der als nächstes abzuarbeitende Auftrag/Daten ausgegeben und dieses Feld im Puffer durch den Wert am Parameter "initialValue" ersetzt.

Um einen neuen Schreib-Auftrag im Puffer zu speichern muss am Eingang "mode" der Wert "TRUE" anliegen. Ist dies der Fall, wird der am InOut-Parameter "item" anliegende Wert bzw. Auftrag im Puffer an der nächsten freien Stelle abgespeichert.

Liegt am Eingang "resetBuffer" während eines Durchlaufs der Wert "TRUE" an, werden alle Felder im Puffer auf den am Eingang "initialValue" angegebenen Wert zurückgesetzt. Anschließend kann der Puffer wieder mit Aufträgen/Daten befüllt werden.

Page 67: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.5 Data handling

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 67

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

3.5.3 LGF_ShellSortInt / LGF_ShellSortUInt / LGF_ShellSortReal

Kurzbeschreibung

Dieser Baustein sortiert ein Array mit beliebiger Anzahl an Elementen (max. 1000) aufsteigend oder absteigend. Folgende Datentypen werden unterstützt:

• Array vom Typ "Int": LGF_ShellSortInt

• Array vom Typ "UInt": LGF_ShellSortUInt

• Array vom Typ "Real": LGF_ShellSortReal

Baustein

Abbildung 3-37: FB LGF_ShellSort…

FB LGF_ShellSort…

BOOL mode error BOOL

statusID UINT

VARIANT variantArray (InOut) status WORD

Eingangsparameter

Tabelle 3-76: Eingangsparameter

Parameter Datentyp Beschreibung

mode BOOL FALSE: aufsteigend sortieren (Standard)

TRUE: absteigend sortieren

Ein-/Ausagnagsparameter (InOut)

Tabelle 3-77: Ein-/Ausagnagsparameter (InOut)

Parameter Datentyp Beschreibung

variantArray VARIANT Array, das sortiert werden soll.

Ausgangsparameter

Tabelle 3-78: Ausgangsparameter

Parameter Datentyp Beschreibung

error BOOL FALSE: Kein Fehler

TRUE: Fehler im Baustein, "statusID" gibt die Fehlerquelle aus, "status" gibt den Fehlercode aus.

statusID UINT "statusID" gibt die ID des Bausteins aus, der den Status meldet. Siehe folgende Tabelle.

status WORD "status" gibt den Status/Fehler-Code aus (siehe folgende Tabelle).

Page 68: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.5 Data handling

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 68

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Status- und Fehleranzeigen

Tabelle 3-79: Status/Fehlercodes

statusID status Bedeutung Abhilfe / Hinweise

1 16#7000 Initialwert -

1 16#0000 Kein Fehler -

1 16#8200 Aktualparameter am Eingang "variantArray" hat nur ein Element.

Verschalten Sie an den Eingang "variantArray" ein Array mit mindestens zwei Elementen.

1 16#8201 Aktualparameter am Eingang "variantArray" ist kein Array.

1 16#8202 Aktualparameter am Eingang "variantArray" hat nicht den passenden Datentyp.

Verschalten Sie am Eingang "variantArray" ein Array mit dem richtigen Datentyp:

LGF_ShellSortInt: Array of type Int

LGF_ShellSortUInt: Array of type UInt

LGF_ShellSortReal: Array of type Real

1 16#8203 Aktualparameter am Eingang "variantArray" hat zu viele Elemente.

Standardmäßig können Sie Array mit bis zu 1000 Elementen sortieren lassen.

2 - Fehler/Status von unterlagerten Baustein "MOVE_BLK_VARIANT" beim Lesen des Arrays.

-

3 - Fehler/Status von unterlagerten Baustein "MOVE_BLK_VARIANT" beim Schreiben des Arrays.

-

Hinweis Falls "statusID" > 1 ist, stammen alle Werte des Ausgangs "status" direkt von aufgerufenen Anweisungen (siehe Tabelle Ausgangsparameter). Holen Sie sich in diesem Fall die Informationen aus der TIA Portal Online Hilfe zu den jeweiligen Anweisungen.

Funktionsweise

Der Baustein sortiert nach dem Shell-Sortierverfahren. Beachten Sie, dass die Ausführungszeit des Bausteins stark davon abhängt, wie viele Elemente das zu sortierende Array hat. Folgende Übersicht zeigt einige Messwerte des Bausteins in Abhängigkeit der Anzahl der Array-Elemente.

Tabelle 3-80: Ausführungszeiten des Bausteins "LGF_ShellSort…"

Anzahl der Array-Elemente

SIMATIC S7-1212C DC/DC/DC SIMATIC S7-1516-3 PN/DP

100 ca. 11-16 ms ca. 1-2 ms

1000 ca. 185-205 ms ca. 10-12 ms

Hinweis Der Baustein wird synchron ausgeführt und wird nicht auf mehrere SPS-Zyklen aufgeteilt. Somit wirkt sich die Ausführungszeit direkt auf die SPS-Zykluszeit aus. Beachten Sie dieses Verhalten bei ihrem Projekt der verwendeten Steuerung und passen Sie gegebenenfalls die Überwachungszeit der Steuerung an.

Page 69: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.5 Data handling

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 69

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

3.5.4 LGF_CRC8

Kurzbeschreibung

Die CRC-Berechnung wird für die Fehlererkennung bei der Datenübertragung verwendet. Das Ergebnis einer Berechnung liefert einen CRC-Wert über die gesendeten Daten. Der Empfänger erkennt eine fehlerhafte Übertragung aufgrund des ungleichen CRC-Werts. Die Funktion "LGF_CRC8" verwendet als Generatorpolynom (Maske) 8 Bit.

Baustein

Abbildung 3-38: FB LGF_CRC8

FC LGF_CRC8

BYTE initValue Ret_Val BYTE

BYTE mask

ARRAY of BYTE inputArray

Eingangsparameter

Tabelle-81: Eingangsparameter

Parameter Datentyp Beschreibung

initValue BYTE Startwert, mit dem die Berechnung durchgeführt wird. Wenn Sie keinen Startwert benötigen, belegen Sie den Parameter mit 0x0.

mask BYTE Generatorpolynom, mit dem die Berechnung durchgeführt wird.

Ein-/Ausgangsparameter (InOut)

Tabelle-82: Ein-/Ausgangsparameter (InOut)

Parameter Datentyp Beschreibung

inputArray ARRAY of BYTE Datenstrom, für den der CRC-Wert berechnet werden soll.

Ausgangsparameter

Tabelle-83: Ausgangsparameter

Parameter Datentyp Beschreibung

Ret_Val BYTE Berechneter CRC-Wert (Rückgabewert der Funktion).

Funktionsweise

Der Baustein berechnet aus einem beliebig großen Datenstrom den CRC-Wert. Der Datenstrom setzt sich aus den einzelnen Elementen des Arrays am Ein- / Ausgangsparameter "inputArray" zusammen. Der Startwert "initValue" und das Generatorpolynom "mask" sind frei wählbar.

Page 70: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.5 Data handling

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 70

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Hinweis Für die Berechnung der CRC-Werte stehen verschiedene Online-Tools zur Verfügung. Die Funktion des Bausteins wurde mit folgendem Online-Tool getestet, da es die Eingangsparameter "mask" ("Polynom") und "initValue" ("Initial Value") unterstützt:

http://www.sunshine2k.de/coding/javascript/crc/crc_js.html

Page 71: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.5 Data handling

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 71

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

3.5.5 LGF_CRC8For1Byte

Kurzbeschreibung

Die CRC-Berechnung wird für die Fehlererkennung bei der Datenübertragung verwendet. Das Ergebnis einer Berechnung liefert einen CRC-Wert über die gesendeten Daten. Der Empfänger erkennt eine fehlerhafte Übertragung aufgrund des ungleichen CRC-Werts. Die Funktion "LGF_CRC8For1Byte" verwendet als Generatorpolynom (Maske) 8 Bit.

Baustein

Abbildung 3-39: FB LGF_CRC8For1Byte

FC LGF_CRC8For1Byte

BYTE initValue Ret_Val BYTE

BYTE mask

BYTE inputByte

Eingangsparameter

Tabelle-84: Eingangsparameter

Parameter Datentyp Beschreibung

initValue BYTE Startwert, mit dem die Berechnung durchgeführt wird. Wenn Sie keinen Startwert benötigen, belegen Sie den Parameter mit 0x0.

mask BYTE Generatorpolynom, mit dem die Berechnung durchgeführt wird.

inputByte BYTE Datenbyte, für das der CRC-Wert berechnet werden soll.

Ausgangsparameter

Tabelle-85: Ausgangsparameter

Parameter Datentyp Beschreibung

Ret_Val BYTE Berechneter CRC-Wert (Rückgabewert der Funktion).

Funktionsweise

Der Baustein berechnet aus einem Datenbyte den CRC-Wert. Der Startwert "initValue" und das Generatorpolynom "mask" sind frei wählbar.

Hinweis Für die Berechnung der CRC-Werte stehen verschiedene Online-Tools zur Verfügung. Die Funktion des Bausteins wurde mit folgendem Online-Tool getestet, da es die Eingangsparameter "mask" ("Polynom") und "initValue" ("Initial Value") unterstützt:

http://www.sunshine2k.de/coding/javascript/crc/crc_js.html

Page 72: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.5 Data handling

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 72

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

3.5.6 LGF_CRC16

Kurzbeschreibung

Die CRC-Berechnung wird für die Fehlererkennung bei der Datenübertragung verwendet. Das Ergebnis einer Berechnung liefert einen CRC-Wert über die gesendeten Daten. Der Empfänger erkennt eine fehlerhafte Übertragung aufgrund des ungleichen CRC-Werts. Die Funktion "LGF_CRC16” verwendet als Generatorpolynom (Maske) 16 Bit.

Baustein

Abbildung 3-40: FB LGF_CRC16

FC LGF_CRC16

WORD initValue Ret_Val WORD

WORD mask

ARRAY of BYTE inputArray

Eingangsparameter

Tabelle-86: Eingangsparameter

Parameter Datentyp Beschreibung

initValue WORD Startwert, mit dem die Berechnung durchgeführt wird. Wenn Sie keinen Startwert benötigen, belegen Sie den Parameter mit 0x0.

mask WORD Generatorpolynom, mit dem die Berechnung durchgeführt wird.

Ein-/Ausgangsparameter (InOut)

Tabelle-87: Ein-/Ausgangsparameter (InOut)

Parameter Datentyp Beschreibung

inputArray ARRAY of BYTE Datenstrom, für den der CRC-Wert berechnet werden soll.

Ausgangsparameter

Tabelle-88: Ausgangsparameter

Parameter Datentyp Beschreibung

Ret_Val WORD Berechneter CRC-Wert (Rückgabewert der Funktion).

Funktionsweise

Der Baustein berechnet aus einem beliebig großen Datenstrom den CRC-Wert. Der Datenstrom setzt sich aus den einzelnen Elementen des Arrays am Ein-/Ausgangsparameter "inputArray" zusammen. Der Startwert "initValue" und das Generatorpolynom "mask" sind frei wählbar.

Page 73: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.5 Data handling

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 73

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Hinweis Für die Berechnung der CRC-Werte stehen verschiedene Online-Tools zur Verfügung. Die Funktion des Bausteins wurde mit folgendem Online-Tool getestet, da es die Eingangsparameter "mask" ("Polynom") und "initValue" ("Initial Value") unterstützt:

http://www.sunshine2k.de/coding/javascript/crc/crc_js.html

Page 74: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.5 Data handling

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 74

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

3.5.7 LGF_CRC32

Kurzbeschreibung

Die CRC-Berechnung wird für die Fehlererkennung bei der Datenübertragung verwendet. Das Ergebnis einer Berechnung liefert einen CRC-Wert über die gesendeten Daten. Der Empfänger erkennt eine fehlerhafte Übertragung aufgrund des ungleichen CRC-Werts. Die Funktion "LGF_CRC32" verwendet als Generatorpolynom (Maske) 32 Bit.

Baustein

Abbildung 3-41: FB LGF_CRC32

FC LGF_CRC32

DWORD initValue Ret_Val DWORD

DWORD mask

DWORD finalXorValue

BOOL reflectInput

BOOL reflectResult

ARRAY of BYTE inputArray

Eingangsparameter

Tabelle-89: Eingangsparameter

Parameter Datentyp Beschreibung

initValue DWORD Startwert, mit dem die Berechnung durchgeführt wird. Wenn Sie keinen Startwert benötigen, belegen Sie den Parameter mit 0x0.

mask DWORD Generatorpolynom, mit dem die Berechnung durchgeführt wird.

finalXorValue DWORD Wert, mit dem am Ende eine weitere XOR-Operation durchgeführt wird

reflectInput BOOL Ist der Wert TRUE, wird die Reihenfolge der Bits innerhalb des Eingangsbytes gespiegelt. Aus der Reihenfolge 0…7 wird 7…0.

reflectResult BOOL Ist der Wert TRUE, wird die Reihenfolge der Bits innerhalb des Ergebnisbytes gespiegelt. Aus der Reihenfolge 0…7 wird 7…0.

Ein-/Ausgangsparameter (InOut)

Tabelle-90: Ein-/Ausgangsparameter (InOut)

Parameter Datentyp Beschreibung

inputArray ARRAY of BYTE Datenstrom, für den der CRC-Wert berechnet werden soll.

Page 75: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.5 Data handling

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 75

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Ausgangsparameter

Tabelle-91: Ausgangsparameter

Parameter Datentyp Beschreibung

Ret_Val DWORD Berechneter CRC-Wert (Rückgabewert der Funktion).

Funktionsweise

Der Baustein berechnet aus einem beliebig großen Datenstrom den CRC-Wert. Der Datenstrom setzt sich aus den einzelnen Elementen des Arrays am Ein-/ Ausgangsparameter "inputArray" zusammen. Der Startwert "initValue" und das Generatorpolynom "mask" sind frei wählbar. Über die boolschen Eingangsparameter "reflectInput" und "reflectResult" können Sie optional die Bits der Eingangsdaten bzw. des CRC-Werts spiegeln (siehe Eingangsparameter). Außerdem wird der CRC-Wert am Ende mit dem Wert, der an "finalXOR" anliegt, XORiert.

Hinweis Für die Berechnung der CRC-Werte stehen verschiedene Online-Tools zur Verfügung. Die Funktion des Bausteins wurde mit folgendem Online-Tool getestet, da es die Eingangsparameter "mask" ("Polynom"), "initValue" ("Initial Value"), "finalXorValue" ("Final Xor Value"), "reflectInput" ("Input reflected") und "reflectResult" ("Result reflected") unterstützt:

http://www.sunshine2k.de/coding/javascript/crc/crc_js.html

Page 76: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.6 Converter operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 76

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

3.6 Converter operations

3.6.1 LGF_BinaryToGray

Kurzbeschreibung

Dieser Baustein wandelt einen binär codierten Wert in einen Gray codierten Wert um.

Baustein

Abbildung 3-42: FC LGF_BinaryToGray

FC LGF_BinaryToGray

DWORD variableBinary Ret_Val DWORD

Eingangsparameter

Tabelle 3-92: Eingangsparameter

Parameter Datentyp Beschreibung

variableBinary DWORD Binär codierter Wert

Ausgangsparameter

Tabelle 3-93: Ausgangsparameter

Parameter Datentyp Beschreibung

Ret_Val DWORD Gray codierter Wert

Page 77: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.6 Converter operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 77

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

3.6.2 LGF_GrayToBinary

Kurzbeschreibung

Dieser Baustein wandelt einen nach Gray codierten Wert in einen binär codierten Wert um.

Baustein

Abbildung 3-43: FC LGF_GrayToBinary

FC LGF_GrayToBinary

DWORD variableGray Ret_Val DWORD

Eingangsparameter

Tabelle 3-94: Eingangsparameter

Parameter Datentyp Beschreibung

variableGray DWORD Gray codierter Wert

Ausgangsparameter

Tabelle 3-95: Ausgangsparameter

Parameter Datentyp Beschreibung

Ret_Val DWORD Binär codierter Wert

Page 78: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.6 Converter operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 78

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

3.6.3 LGF_BitsToWord

Kurzbeschreibung

Dieser Baustein wandelt 16 BOOL-Variablen in eine WORD-Variable um.

Baustein

Abbildung 3-44: FC LGF_BitsToWord

FC LGF_BitsToWord

BOOL bit0 Ret_Val WORD

BOOL bit1

BOOL bit2

BOOL bit3

BOOL bit4

BOOL bit5

BOOL bit6

BOOL bit7

BOOL bit8

BOOL bit9

BOOL bit10

BOOL bit11

BOOL bit12

BOOL bit13

BOOL bit14

BOOL bit15

Eingangsparameter

Tabelle 3-96: Eingangsparameter

Parameter Datentyp Beschreibung

bit0

bit15

BOOL Bit-Variablen, deren Bits zu einer Bitfolge zusammengefügt werden

Ausgangsparameter

Tabelle 3-97: Ausgangsparameter

Parameter Datentyp Beschreibung

Ret_Val WORD Zusammengefügte Bitfolge, gespeichert in einer Variable

Page 79: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.6 Converter operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 79

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

3.6.4 LGF_WordToBits

Kurzbeschreibung

Dieser Baustein wandelt eine WORD-Variable in 16 BOOL-Variablen um.

Baustein

Abbildung 3-45: FC LGF_WordToBits

FC LGF_WordToBits

WORD word bit0 BOOL

bit1 BOOL

bit2 BOOL

bit3 BOOL

bit4 BOOL

bit5 BOOL

bit6 BOOL

bit7 BOOL

bit8 BOOL

bit9 BOOL

bit10 BOOL

bit11 BOOL

bit12 BOOL

bit13 BOOL

bit14 BOOL

bit15 BOOL

Eingangsparameter

Tabelle 3-98: Eingangsparameter

Parameter Datentyp Beschreibung

word WORD Bitfolge, die zerlegt wird

Ausgangsparameter

Tabelle 3-99: Ausgangsparameter

Parameter Datentyp Beschreibung

bit0

bit15

BOOL Bit-Variablen, in denen die einzelnen Bits gespeichert werden

Page 80: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.6 Converter operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 80

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

3.6.5 LGF_DTLtoString

Kurzbeschreibung

Dieser Baustein konvertiert ein Datum vom Datentyp DTL in eine Zeichenkette vom Datentyp STRING.

Baustein

Abbildung 3-46: FC LGF_DTLtoString

FC LGF_DTLtoString

DTL inDTL Ret_Val STRING

BOOL format

CHAR separatorDate

Eingangsparameter

Tabelle 3-100: Eingangsparameter

Parameter Datentyp Beschreibung

inDTL DTL Datum

format BOOL Formatauswahl der ausgegebenen Zeichenkette:

0: international (YYYY MM DD ...)

1: traditionell (DD MM YYYY ...)

separatorDate CHAR Trennzeichens zwischen den Komponenten des ausgegebenen Datums.

Ausgangsparameter

Tabelle 3-101: Ausgangsparameter

Parameter Datentyp Beschreibung

Ret_Val STRING Ausgegebenen Zeichenkette entsprechend dem Format. Beispiel:

0: '2019-01-22 14:06:51.524621000'

1: '22-01-2019 14:07:57.696417000'

Funktionsweise

Der Baustein liest ein Datum vom Datentyp DTL ein und konvertiert die einzelnen Komponenten des Datums (Jahr, Monat, Tag, Stunde...) in eine Zeichenkette und gibt diese aus. Die einzelnen Komponenten werden entsprechend der Formatauswahl an der richtigen Position in der Zeichenkette platziert. Das Trennzeichen zwischen den Komponenten des Datums ist variabel.

Page 81: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.6 Converter operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 81

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Formatauswahl

Über den Eingangsparameter "format" können Sie zwischen dem internationalen (ISO 8601) und dem traditionellen (DE) Datumsformat für die ausgegebene Zeichenkette wählen.

1. Internationales Format (ISO 8601) Wenn der Eingangsparameter "format" nicht gesetzt ist (format = FALSE), wird das Datum als Zeichenkette im internationalen Format ausgegeben. Beispiel: 2016-03-16 13:34:12.123456789 Folgende Abbildung stellt die Positionen der einzelnen Zeichen in der Zeichenkette dar.

Abbildung 3-47: Positionen der einzelnen Zeichen

2. Traditionelles Format (DE) Wenn der Eingangsparameter "format" gesetzt ist (format = TRUE), wird das Datum als Zeichenkette im traditionellen Format ausgegeben. Beispiel: 16-03-2016 13:34:12.123456789 Folgende Abbildung stellt die Positionen der einzelnen Zeichen in der Zeichenkette dar.

Abbildung 3-48: Positionen der einzelnen Zeichen

Trennzeichen

Am Eingangsparameter "separatorDate" müssen Sie das Trennzeichen zwischen den Komponenten des Kalenderdatums vorgeben.

Beispiel: separatorDate = ‘/’ outString = ‘2016/03/16 …’

separatorDate = ‘-‘ outString = ‘2016-03-16 …’

Page 82: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.6 Converter operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 82

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

3.6.6 LGF_StringToDTL

Kurzbeschreibung

Dieser Baustein konvertiert eine Zeichenkette vom Format String mit Datumskomponenten in den Datentyp DTL.

Baustein

Abbildung 3-49: FC LGF_StringToDTL

FC LGF_StringToDTL

STRING inString Ret_Val DTL

BOOL format error Bool

status WORD

Eingangsparameter

Tabelle 3-102: Eingangsparameter

Parameter Datentyp Beschreibung

inString STRING Datum als Zeichenkette entsprechend dem Format. Beispiel:

0: '2019-01-22 14:06:51.524621000'

1: '22-01-2019 14:07:57.696417000'

format BOOL Formatauswahl der eingelesenen Zeichenkette:

0: international (YYYY MM DD ...)

1: traditionell (DD MM YYYY ...)

Ausgangsparameter

Tabelle 3-103: Ausgangsparameter

Parameter Datentyp Beschreibung

Ret_Val DTL Gibt das eingelesene Datum aus

error BOOL FALSE: kein Fehler

TRUE: Fehler im Baustein, "status" gibt Fehlercode aus

status WORD "status" gibt den Status/Fehler-Code aus (siehe folgende Tabelle)

Status- und Fehleranzeigen

Tabelle 3-104: Status/Fehlercodes

Status Bedeutung Abhilfe / Hinweise

16#0000 Kein Fehler -

16#7000 Initialwert -

16#8201 Format: Jahr Jahresangabe entspricht nicht dem Format oder Angabe (außerhalb des Wertebereiches von DTL)

16#8202 Format: Monat Monatsangabe entspricht nicht dem Format oder Angabe (außerhalb des Wertebereiches von DTL)

Page 83: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.6 Converter operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 83

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Status Bedeutung Abhilfe / Hinweise

16#8203 Format: Tag Tagesangabe entspricht nicht dem Format oder Angabe (außerhalb des Wertebereiches von DTL)

16#8204 Format: Stunde Stundenangabe entspricht nicht dem Format oder Angabe (außerhalb des Wertebereiches von DTL)

16#8205 Format: Minute Minutenangabe entspricht nicht dem Format oder Angabe (außerhalb des Wertebereiches von DTL)

16#8206 Format: Sekunde

Sekundenangabe entspricht nicht dem Format oder Angabe (außerhalb des Wertebereiches von DTL)

16#8207 Format: Nanosekunde

Nanosekundenangabe entspricht nicht dem Format oder (Angabe außerhalb des Wertebereiches von DTL)

Funktionsweise

Der Baustein liest ein Datum als Zeichenkette ein und konvertiert dieses in den Datentyp DTL. Die einzelnen Datumskomponenten in der Zeichenkette werden entsprechend der Formatauswahl (Positionierung der Datumskomponenten in der Zeichenkette) separiert. Dabei ist das Trennzeichen zwischen den Komponenten in der Zeichenkette irrelevant.

Formatauswahl

Über den Eingangsparameter "format" wählen Sie, ob die eingelesene Zeichenkette im internationalen (ISO 8601) oder traditionellen (DE) Datumsformat angegeben ist.

1. Internationales Format (ISO 8601) Wenn der Eingangsparameter "format" nicht gesetzt ist (format = FALSE), wird das Datum in der Zeichenkette im internationalen Format eingelesen. Beispiel: inString = `2016-03-16 13:34:12.001` format = FALSE outDTL = DTL#2016-03-16-13:34:12.001000 Die Abbildung 2-10 stellt die Positionen der einzelnen Zeichen in der Zeichenkette dar.

Abbildung 3-50: Positionen der einzelnen Zeichen

2. Traditionelles Format (DE) Wenn der Eingangsparameter "format" gesetzt ist (format = TRUE), wird das Datum in der Zeichenkette im traditionellen Format eingelesen. Beispiel: inString = ‘16/03/2016 13:34:12.1‘ format = TRUE outDTL = DTL#2016-03-16-13:34:12.100000 Folgende Abbildung stellt die Positionen der einzelnen Zeichen in der Zeichenkette dar.

Abbildung 3-51: Positionen der einzelnen Zeichen

Page 84: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.6 Converter operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 84

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

3.6.7 LGF_TemperatureConvert

Kurzbeschreibung

Dieser Baustein rechnet °Celsius in °Fahrenheit oder Kelvin als auch °Fahrenheit in Kelvin um und umgekehrt.

Baustein

Abbildung 3-52: FC LGF_TemperatureConvert

FC LGF_TemperatureConvert

INT mode Ret_Val REAL

REAL temperature error BOOL

status WORD

Eingangsparameter

Tabelle 3-105: Eingangsparameter

Parameter Datentyp Beschreibung

mode INT Modus

1. °Celsius in °Fahrenheit

2. °Fahrenheit in °Celsius

3. °Celsius in Kelvin

4. Kelvin in °Celsius

5. °Fahrenheit in Kelvin

6. Kelvin in °Fahrenheit

temperature REAL Umzurechnende Temperatur

Ausgangsparameter

Tabelle 3-106: Ausgangsparameter

Parameter Datentyp Beschreibung

Ret_Val REAL Umgerechnete Temperatur

error BOOL FALSE: Kein Fehler

TRUE: Fehler im Baustein

status WORD "status" gibt den Status/Fehler-Code aus (siehe folgende Tabelle).

Status- und Fehleranzeigen

Tabelle 3-107: Status/Fehlercodes

Status Bedeutung Abhilfe / Hinweise

16#7000 Initialwert -

16#0000 Kein Fehler -

16#8200 Kein korrekter Modus am Eingang "mode".

Siehe Beschreibung der Eingangsparameter

Page 85: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.6 Converter operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 85

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

3.6.8 LGF_ScaleLinear

Kurzbeschreibung

Diese Funktion skaliert eine Eingangsgröße über eine lineare Geradengleichung.

Baustein

Abbildung 3-53: FC LGF_ScaleLinear

FC LGF_ScaleLinear

LREAL x y LREAL

LREAL x1 error BOOL

LREAL y1 status WORD

LREAL x2

LREAL y2

LREAL yMin

LREAL yMax

Eingangsparameter

Tabelle 3-108: Eingangsparameter

Parameter Datentyp Beschreibung

x LREAL Eingangswert, der skaliert werden soll.

x1 LREAL Punkt 1 (P1) der linearen Funktion.

y1 LREAL

x2 LREAL Punkt 2 (P2) der linearen Funktion.

y2 LREAL

yMin LREAL Unterer Grenzwert des Ausgangs.

yMax LREAL Oberer Grenzwert des Ausgangs.

Ausgangsparameter

Tabelle 3-109: Ausgangsparameter

Parameter Datentyp Beschreibung

y LREAL Ausgangswert, skaliert.

error BOOL Fehleranzeige.

FALSE: kein Fehler.

TRUE: Fehler im Baustein, "status" gibt Fehlercode aus.

status WORD "status" gibt den Status/Fehlercode aus (siehe folgende Tabelle).

Page 86: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.6 Converter operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 86

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Status- und Fehleranzeigen

Tabelle 3-110: Status- und Fehlercodes

Status Bedeutung Abhilfe

16#0000 Kein Fehler. -

16#8204 Unterer Grenzwert "yMin"ist größer als oberer Grenzwert "yMax".

Wählen Sie unteren Grenzwert unterhalb des oberen Grenzwertes.

16#8205 Ausgabewert auf yMin begrenzt -

16#8206 Ausgabewert auf yMax begrenzt -

Funktionsweise

Die Funktion skaliert eine Eingangsgröße (z. B. ein Analogeingangswert) linear auf eine bestimmte Ausgangsgröße (z. B. Füllstand).

Zur Bestimmung der Ausgangsgröße wird in der Funktion folgende lineare Geradengleichung angewendet:

𝑦 = 𝑦2 − 𝑦1𝑥2 − 𝑥1

∙ (𝑥 − 𝑥1) + 𝑦1

Die Gerade wird durch die zwei Punkte, P1 und P2, beschrieben. Die Punkte geben Sie im Sinne eines kartesischen Koordinatensystems durch x- und y-Koordinaten vor.

Hinweis Falls die Werte der Parameter "x1" und "x2" gleich sind, wird am Ausgang "y" der Wert von "y1" ausgegeben.

Mit der Angabe von "yMin" und "yMax" können Sie den berechneten Wert von "y" auf einen unten und oben begrenzten Bereich einschränken. Somit vermeiden Sie Über- und Untersteuerungsbereiche.

Page 87: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.6 Converter operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 87

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Abbildung 3-54: Skalierung

P2

P1

x1 x2

y2

y1

yMax

yMin

x**

y*

.

.

*) resultierender, skalierter Wert**) zu skalierender Wert

Sie können die Formalparameter mit folgenden Datentypen parametrieren:

Tabelle 3-111: Datentypen

Formalparameter

Skalierung

x, x1, x2 y, y1, y2, yMin, yMax

Datentyp

INT → INT INT INT

INT → REAL INT REAL

REAL → INT REAL INT

REAL → REAL REAL REAL

Beispiel

An einer Analogeingangsbaugruppe liegt ein Signal von 4 bis 20mA an. Dieses Signal wird zu dem CPU-internen Wert von 0 bis 27648 gewandelt, um einen Füllstand zu messen. Dabei entsprechen 0 dem Füllstand 0,0m und 27648 dem Füllstand 1,7m.

Den Baustein müssen Sie dann wie folgt parametrieren:

• x1 = 0; y1 = 0,0 (P1)

• x2 = +27648; y2 = 1,7 (P2)

• yMin = 0,0

• yMax = 1,7

Page 88: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.6 Converter operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 88

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

3.6.9 LGF_StringToTaddr

Kurzbeschreibung

Der Systemdatentyp "TADDR_Param" enthält Adressinformation, bestehend aus einer IPV4-Adresse und der Port-Nummer.

Die Funktion LGF_StringToTaddr konvertiert eine Variable vom Datentyp "String" in eine Variable vom Systemdatentyp "TADDR_Param".

Baustein

Abbildung 3-55: FC LGF_StringToTaddr

FC LGF_StringToTaddr

STRING ipAddressString Ret_Val TADDR_param

error BOOL

status WORD

Eingangsparameter

Tabelle 3-112: Eingangsparameter

Parameter Datentyp Beschreibung

ipAddressString STRING IPV4-Addresse

Ausgangsparameter

Tabelle 3-113: Ausgangsparameter

Parameter Datentyp Beschreibung

Ret_Val TADDR_param IPV4-Addresse

error BOOL FALSE: Kein Fehler

TRUE: Fehler im Baustein

status WORD "status" gibt den Status/Fehler-Code aus (siehe folgende Tabelle).

Status- und Fehleranzeigen

Tabelle 3-114: Status/Fehlercodes

Status Bedeutung Abhilfe / Hinweise

16#0000 Kein Fehler -

16#8101 Falscher Wert im 1. Bereich der IP-Adresse

Überprüfen Sie die IP-Adresse am Eingang

16#8102 Falscher Wert im 2. Bereich der IP-Adresse"

16#8103 Falscher Wert im 3. Bereich der IP-Adresse

16#8104 Falscher Wert im 4. Bereich der IP-Adresse"

16#8105 Falscher Wert im Port Bereich der IP-Adresse"

Page 89: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.6 Converter operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 89

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Funktionsweise

Die Funktion konvertiert die IPV4-Adresse mit oder ohne Portnummer vom Datentyp "STRING" nach "TADDR_param". Der String muss der folgenden Form entsprechen:

[0..255].[0..255].[0..255].[0..255] ohne Portnummer

oder

[0..255].[0..255].[0..255].[0..255]:[0..65535] mit Portnummer

Beispiel

• Das Standard String Format für eine IPV4 Adresse ohne Port Nummer: ‘192.168.11.11’

• Das Standard String Format für eine IPV4 Adresse mit Port Nummer: '192.168.11.11:3294'

Hinweis Wenn Sie im Parameter "ipAddressString" keine Portnummer angeben, gibt der Parameter "Ret_Val.REM_PORT_NR" den Wert "0" aus.

Page 90: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.6 Converter operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 90

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

3.6.10 LGF_TaddrToString

Kurzbeschreibung

Der Systemdatentyp "TADDR_Param" enthält Adressinformation, bestehend aus einer IPV4-Adresse und der Port-Nummer.

Die Funktion LGF_TaddrToString konvertiert eine Variable vom Systemdatentyp "TADDR_Param" in eine Variable vom Datentyp "String".

Baustein

Abbildung 3-56: FC LGF_TaddrToString

FC LGF_TaddrToString

TADDR_Param ipAdressTaddr Ret_Val STRING

Eingangsparameter

Tabelle 3-115: Eingangsparameter

Parameter Datentyp Beschreibung

ipAdressTaddr TADDR_Param IPV4-Addresse

Ausgangsparameter

Tabelle 3-116: Ausgangsparameter

Parameter Datentyp Beschreibung

Ret_Val STRING IPV4-Addresse

Funktionsweise

Die Funktion konvertiert die IPV4-Adresse mit oder ohne Portnummer. Der Systemdatentyp "TADDR_Param" ist ein strukturierter Datentyp. In dieser Struktur befindet sich die Variable "REM_PORT_NR". Falls diese Variable "0" ist, wird kein Port in den Parameter "Ret_Val" geschrieben.

Beispiel

• Ret_val ohne Port Nummer: ‘192.168.11.11’

• Ret_val mit Port Nummer: '192.168.11.11:3294'

Page 91: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.6 Converter operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 91

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

3.6.11 LGF_IntToString

Kurzbeschreibung

Dieser Baustein konvertiert eine Variable vom Systemdatentyp "DInt" in eine Variable vom Datentyp "String".

Baustein

Abbildung 3-57: FC LGF_IntToString

FC LGF_IntToString

DINT intValue Ret_Val STRING

Eingangsparameter

Tabelle 3-117: Eingangsparameter

Parameter Datentyp Beschreibung

intValue DINT Integer Wert

Ausgangsparameter

Tabelle 3-118: Ausgangsparameter

Parameter Datentyp Beschreibung

Ret_Val STRING Konvertierter Wert als String.

Beispiel: '+16927'

Page 92: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.6 Converter operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 92

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

3.6.12 LGF_TimeToString

Kurzbeschreibung

Dieser Baustein konvertiert eine Variable vom Systemdatentyp "Time" in eine Variable vom Datentyp "String".

Baustein

Abbildung 3-58: FC LGF_TimeToString

FC LGF_TimeToString

TIME timeValue Ret_Val STRING

stringDay STRING

stringHour STRING

stringMinute STRING

stringSecond STRING

stringMilliSecond STRING

Eingangsparameter

Tabelle 3-119: Eingangsparameter

Parameter Datentyp Beschreibung

timeValue TIME Zeit-Wert

Beispiel: T#1D_3H_45M_6S

Ausgangsparameter

Tabelle 3-120: Ausgangsparameter

Parameter Datentyp Beschreibung

Ret_Val STRING Konvertierte Zeit als String.

Beispiel: '1D3H45M6S0MS'

stringDay STRING Konvertierter Tag als String.

Beispiel: '1'

stringHour STRING Konvertierte Stunde als String.

Beispiel: '3'

stringMinute STRING Konvertierte Minute als String.

Beispiel: '45'

stringSecond STRING Konvertierte Sekunde als String.

Beispiel: '6'

stringMilliSecond STRING Konvertierte Millisekunde als String.

Beispiel: '0'

Page 93: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.6 Converter operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 93

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

3.6.13 LGF_UnixTimeToDTL (NEU)

Kurzbeschreibung

Dieser Baustein konvertiert eine Unixzeit vom Datentyp DInt in Datum und Uhrzeit vom Datentyp DTL. Der Zeitstempel wird in UTC gerechnet. Das bedeutet, dass die Zeitzone nicht berücksichtigt wird.

Es sind nur Zeiten ab dem 01.01.1990 zulässig.

Baustein

Abbildung 3-59: FC LGF_UnixTimeToDTL

FC LGF_UnixTimeToDTL

DINT timeUnix Ret_Val DTL

error BOOL

Eingangsparameter

Tabelle 3-121: Eingangsparameter

Parameter Datentyp Beschreibung

timeUnix DINT Unixzeit

Ausgangsparameter

Tabelle 3-122: Ausgangsparameter

Parameter Datentyp Beschreibung

Ret_Val DTL Konvertierte Zeit (Datum und Uhrzeit)

Wenn error = TRUE, Ret_Val = 0

error BOOL FALSE: kein Fehler

TRUE: Fehler: Unixzeit (timeUnix) liegt vor dem 01.01.1990

Page 94: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.6 Converter operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 94

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

3.6.14 LGF_DTLToUnixTime (NEU)

Kurzbeschreibung

Dieser Baustein konvertiert Datum und Uhrzeit vom Datentyp DTL in eine Unixzeit vom Datentyp DInt. Der Zeitstempel wird in UTC gerechnet. Das bedeutet, dass die Zeitzone nicht berücksichtigt wird.

Es sind nur Zeiten ab dem 01.01.1990 zulässig.

Baustein

Abbildung 3-60: FC LGF_DTLToUnixTime

FC LGF_DTLToUnixTime

DTL timeDTL Ret_Val DINT

error BOOL

Eingangsparameter

Tabelle 3-123: Eingangsparameter

Parameter Datentyp Beschreibung

timeDTL DTL Datum und Uhrzeit

Ausgangsparameter

Tabelle 3-124: Ausgangsparameter

Parameter Datentyp Beschreibung

Ret_Val DINT Konvertierte Unixzeit

error BOOL FALSE: kein Fehler

TRUE: Fehler: Datum und Uhrzeit (timeDTL) liegt vor dem 01.01.1990

Page 95: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.7 Signal generators

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 95

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

3.7 Signal generators

3.7.1 LGF_Frequency

Kurzbeschreibung

Der Baustein generiert ein Signal, das in Abhängigkeit von einer definierten Frequenz und einem Pulspausenverhältnis, zwischen den Werten "0" und "1" wechselt.

Baustein

Abbildung 3-61: FB LGF_Frequency

FB LGF_Frequency

REAL frequency clock BOOL

REAL pulsePauseRatio countdown TIME

Eingangsparameter

Tabelle 3-125: Eingangsparameter

Parameter Datentyp Beschreibung

frequency REAL Taktfrequenz in Hz

pulsePauseRatio REAL Pulspausenverhältnis (Standard: 1.0 enspricht 1:1)

Ausgangsparameter

Tabelle 3-126: Ausgangsparameter

Parameter Datentyp Beschreibung

clock BOOL Ausgang wechselt mit definierter Frequenz

countdown TIME Verbleibende Zeit des aktuellen Zustands von "clock"

Funktionsweise

Der Ausgang "clock" ist ein boolscher Wert, der in der gewünschten Frequenz toggelt. Über den Eingang "pulsePauseRatio" wird das Pulspausenverhältnis eingestellt werden.

Der Ausgang "countdown" gibt die verbleibende Zeit des aktuellen Zustands von "clock" aus.

Falls die gewünschte Frequenz oder das Pulspausenverhältnis kleiner oder gleich "0.0" ist, ist der Ausgang "clock" = FALSE und "countdown" = "0 s".

Page 96: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.7 Signal generators

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 96

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Beispiel

Abbildung 3-62: FB LGF_Frequency

T#0S_703MS

TRUE

T = 2 ston = 1,5 stoff = 0,5 s

FB LGF_Frequency

frequency clock

countdown

0.5

pulsePauseRatio3.0

Tton toff

clock

𝑢𝑙 𝑒𝑃𝑎𝑢 𝑒𝑅𝑎𝑡 𝑜 = 𝑡𝑜

𝑡𝑜 = 3

1

Hinweis Der Takt ("clock") des FB LGF_Frequency ist abhängig von der Zykluszeit des OB Main. Um die Genauigkeit zu erhöhen, kann der FB auch in einem Weckalarm-OB (Cyclic Interrupt OB) mit niedrigem Zeittakt aufgerufen werden.

Page 97: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.7 Signal generators

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 97

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

3.7.2 LGF_Impulse

Kurzbeschreibung

Dieser Baustein generiert Impulse in einer vorgegebenen Frequenz. Der Impuls steht immer für einen (Steuerungs-) Zyklus an.

Baustein

Abbildung 3-63: FB LGF_Impulse

FB LGF_Impulse

REAL frequency impulse BOOL

countdown TIME

Eingangsparameter

Tabelle 3-127: Eingangsparameter

Parameter Datentyp Beschreibung

frequency REAL Taktfrequenz in Hz

Ausgangsparameter

Tabelle 3-128: Ausgangsparameter

Parameter Datentyp Beschreibung

impulse BOOL Signal mit Impulsen

countdown TIME Zeit bis zum nächsten Impuls

Funktionsweise

Der Baustein generiert Impulse am Ausgang "impulse" mit der Frequenz "frequency". Der Baustein beginnt immer mit einem Impuls und setzt den folgenden Impuls nach der verstrichenen Periodendauer.

Beispiel

Abbildung 3-64: Beispiel

TRUE

Periodendauer: 2 Sekunden

FB LGF_Impulse

frequency

impulse

countdown

0.5

T#0S_703MS

Hinweis Neu ab V1.2.0 Der Baustein LGF_Impulse (ab V1.2.0) ruft den Baustein LGF_Frequency nicht mehr auf.

Page 98: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.7 Signal generators

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 98

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

3.7.3 LGF_SawTooth

Kurzbeschreibung

Dieser Baustein generiert einen sägezahnförmigen Signalverlauf. Jeder Sägezahn besteht aus einer definierten Anzahl an Schritten (Inkrementen).

Baustein

Abbildung 3-65: FB LGF_SawTooth

FB LGF_SawTooth

INT startValue value INT

TIME timeRange

INT incrementRange

INT numberSteps

BOOL endlessSteps

BOOL restart

Eingangsparameter

Tabelle 3-129: Eingangsparameter

Parameter Datentyp Beschreibung

startValue INT Startwert bei dem das Signal beginnt.

timeRange TIME Zeit nach der der Ausgangsparameter "value" inkrementiert wird

incrementRange INT Größe des Sprunges von einem Inkrement auf den nächsten.

numberSteps INT Anzahl der Inkremente pro Sägezahn. (Im Falle eines endlosen Sägezahnsignales ist die Angabe nicht nötig).

endlessSteps BOOL Angabe ob ein endloses Sägezahnsignal generiert werden soll.

restart BOOL Sägezahn beginnt wieder beim Startwert "startValue".

Hinweis Beachten Sie, dass Änderungen an den Eingangsparametern erst mit "restart" wirksam werden.

Ausgangsparameter

Tabelle 3-130: Ausgangsparameter

Parameter Datentyp Beschreibung

value INT Aktueller Wert des Sägezahnsignales.

Page 99: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.7 Signal generators

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 99

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Funktionsweise

Der Baustein berechnet die Werte für einen sägezahnförmigen Signalverlauf, die am Ausgangsparamter "value" ausgegeben werden. Das Signal beginnt mit dem Startwert "startValue" und wird nach jedem Ablauf des Zeitintervalls "timeRange" mit dem Wert "increment" addiert. Der Wert kann auch negativ sein.

Ist die Variable "endlessSteps" auf "FALSE" gesetzt, wird die Anzahl der Addiervorgänge gezählt. Überschreitet diese den Wert "numberSteps" wird der Ausgangsparamter "value" wieder auf den Startwert gesetzt. Ein neuer Sägezahn beginnt.

Ist die Variable "endlessSteps" auf "TRUE" gesetzt, wird - einmalig beginnend bei "startValue" - ununterbrochen der Wert "increment" aufaddiert. Wenn der maximale positive INT-Wertebereich (32767) des Ausgangsparameters "value" überschritten wird, wechselt "value" in den maximalen negativen INT-Wertebereich (-32768) und wird weiter aufaddiert.

Hinweis Die Dauer eines Sägezahns bei "endlessSteps" auf "FALSE" berechnet sich wie folgt:

Dauer = "timeRange * ("numberSteps" + 1)

Abbildung 3-66: Signalverlauf des Ausgangs "value"

startValue

incrementRange

timeRange

time

value

endless Steps= true

restart = true

restart = false

Page 100: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.7 Signal generators

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 100

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

3.7.4 LGF_SawToothCI

Kurzbeschreibung

Dieser Baustein generiert einen sägezahnförmigen Signalverlauf. Er verwendet dazu den Zeittakt des aufrufenden Cyclic Interrupt OB.

Baustein

Abbildung 3-67: FB LGF_SawToothCI

FB LGF_SawToothCI

REAL amplitude sawToothValues REAL

REAL offset error BOOL

UDINT periodeMS statusID UINT

OB_CYCLIC callOB status WORD

BOOL reset

Eingangsparameter

Tabelle 3-131: Eingangsparameter

Parameter Datentyp Beschreibung

amplitude REAL Amplitude des Signalverlaufs.

offset REAL Verschiebung des Signalverlaufs in Y-Richtung.

periodeMS UDINT Periodendauer des Signalverlaufs in [ms]

callOB OB_CYCLIC Aufrufender Weckalarm-OB (Cyclic interrupt OB)

reset BOOL Rücksetzen des Signalverlaufs.

Hinweis Änderungen an den Eingangsparametern werden sofort wirksam.

Ausgangsparameter

Tabelle 3-132: Ausgangsparameter

Parameter Datentyp Beschreibung

sawToothValues REAL Aktueller Wert des Sägezahnsignales.

error BOOL FALSE: Kein Fehler

TRUE: Fehler im Baustein, "statusID" gibt die Fehlerquelle aus, "status" gibt den Fehlercode aus.

statusID UINT "statusID" gibt die ID des Bausteins aus, der den Status meldet. Siehe folgende Tabelle.

status WORD "status" gibt den Status/Fehler-Code aus (siehe folgende Tabelle).

Page 101: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.7 Signal generators

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 101

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Status- und Fehleranzeigen

Tabelle 3-133: Status/Fehlercodes

statusID status Bedeutung Abhilfe / Hinweise

1 16#0000 Kein Fehler Auftrag abgeschlossen.

1 16#8200 OB am Eingang "callOB" ist nicht projektiert / vorhanden.

Verschalten Sie am Eingang "callOB" den Konstantennamen eines projektierten Weckalarm-OB.

2 - Fehler / Status der unterlagerten Funktion "QRY_CINT" beim Abfragen der Weckalarm-Parameter.

Mögliche Ursache: OB am Eingang "callOB" ist vom falschen Typ.

Funktionsweise

Der Baustein berechnet die Werte für einen sägezahnförmigen Signalverlauf, die am Ausgangsparamter "sawToothValues" ausgegeben werden.

Die Amplitude "amplitude", die Verschiebung in Y-Richtung "offset" und die Periodendauer "periodeMS" können an den Eingangsparametern vorgegeben werden.

Mit dem Eingangsparameter "reset" wird der Signalverlauf zurückgesetzt. Am Ausgangsparamter "sawToothValues" wird der Wert "0" ausgegeben, solange "reset" auf "TRUE" gesetzt ist.

Der Baustein muss in einem Weckalarm-OB (Cyclic interrupt OB) aufgerufen werden. Der Zeittakt des aufrufenden Weckalarm-OB wird im FB mit der Anweisung "QRY_CINT" ermittelt. Dazu muss am Eingangsparameter "callOB" der Konstantenname des aufrufenden Weckalarm-OB verschaltet werden.

Abbildung 3-68: Weckalarm-OB verschalten

Die Anzahl der berechneten Werte des Signalverlaufs pro Periodendauer errechnet sich folgendermaßen:

𝐴𝑛𝑧𝑎ℎ𝑙 𝑊𝑒𝑟𝑡𝑒 =𝑃𝑒𝑟 𝑜𝑑𝑒𝑛𝑑𝑎𝑢𝑒𝑟

𝑍𝑒 𝑡𝑡𝑎𝑘𝑡 𝑊𝑒𝑐𝑘𝑎𝑙𝑎𝑟𝑚 𝑂𝐵

Hinweis Um einen kontinuierlichen Signalverlauf der Kurve zu erhalten, sollte der Zeittakt des aufrufen Weckalarm-OB in Abhängigkeit von der Periodendauer nicht zu groß gewählt werden.

Page 102: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.7 Signal generators

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 102

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Die folgende Abbildung zeigt den Signalverlauf der berechneten Werte.

Abbildung 3-69: Signalverlauf bei "offset" = 0

Periodendauer

Time

y

Amplitude

0

-Amplitude

Page 103: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.7 Signal generators

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 103

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

3.7.5 LGF_TriangleCI

Kurzbeschreibung

Dieser Baustein generiert einen dreieckigen Signalverlauf. Er verwendet dazu den Zeittakt des aufrufenden Cyclic Interrupt OB.

Baustein

Abbildung 3-70: FB LGF_TriangleCI

FB LGF_TriangleCI

REAL amplitude triangleValues REAL

REAL offset error BOOL

UDINT periodeMS statusID UINT

OB_CYCLIC callOB status WORD

BOOL reset

Eingangsparameter

Tabelle 3-134: Eingangsparameter

Parameter Datentyp Beschreibung

amplitude REAL Amplitude des Signalverlaufs.

offset REAL Verschiebung des Signalverlaufs in Y-Richtung.

periodeMS UDINT Periodendauer des Signalverlaufs in [ms]

callOB OB_CYCLIC Aufrufender Weckalarm-OB (Cyclic interrupt OB)

reset BOOL Rücksetzen des Signalverlaufs.

Hinweis Änderungen an den Eingangsparametern werden sofort wirksam.

Ausgangsparameter

Tabelle 3-135: Ausgangsparameter

Parameter Datentyp Beschreibung

triangleValues REAL Aktueller Wert des Dreiecksignales.

error BOOL FALSE: Kein Fehler

TRUE: Fehler im Baustein, "statusID" gibt die Fehlerquelle aus, "status" gibt den Fehlercode aus.

statusID UINT "statusID" gibt die ID des Bausteins aus, der den Status meldet. Siehe folgende Tabelle.

status WORD "status" gibt den Status/Fehler-Code aus (siehe folgende Tabelle).

Page 104: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.7 Signal generators

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 104

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Status- und Fehleranzeigen

Tabelle 3-136: Status/Fehlercodes

statusID status Bedeutung Abhilfe / Hinweise

1 16#0000 Kein Fehler Auftrag abgeschlossen.

1 16#8200 OB am Eingang "callOB" ist nicht projektiert / vorhanden.

Verschalten Sie am Eingang "callOB" den Konstantennamen eines projektierten Weckalarm-OB.

2 - Fehler / Status der unterlagerten Funktion "QRY_CINT" beim Abfragen der Weckalarm-Parameter.

Mögliche Ursache: OB am Eingang "callOB" ist vom falschen Typ.

Funktionsweise

Der Baustein berechnet die Werte für einen dreieckigen Signalverlauf, die am Ausgangsparamter "triangleValues" ausgegeben werden.

Die Amplitude "amplitude", die Verschiebung in Y-Richtung "offset" und die Periodendauer "periodeMS" können an den Eingangsparametern vorgegeben werden.

Mit dem Eingangsparameter "reset" wird der Signalverlauf zurückgesetzt. Am Ausgangsparamter "triangleValues" wird der Wert "0" ausgegeben, solange "reset" auf "TRUE" gesetzt ist.

Der Baustein muss in einem Weckalarm-OB (Cyclic interrupt OB) aufgerufen werden. Der Zeittakt des aufrufen Weckalarm-OB wird im FB mit der Anweisung "QRY_CINT" ermittelt. Dazu muss am Eingangsparameter "callOB" der Konstantenname des aufrufenden Weckalarm-OB verschaltet werden.

Abbildung 3-71: Weckalarm-OB verschalten

Die Anzahl der berechneten Werte des Signalverlaufs pro Periodendauer errechnet sich folgendermaßen:

𝐴𝑛𝑧𝑎ℎ𝑙 𝑊𝑒𝑟𝑡𝑒 =𝑃𝑒𝑟 𝑜𝑑𝑒𝑛𝑑𝑎𝑢𝑒𝑟

𝑍𝑒 𝑡𝑡𝑎𝑘𝑡 𝑊𝑒𝑐𝑘𝑎𝑙𝑎𝑟𝑚 𝑂𝐵

Hinweis Um einen kontinuierlichen Signalverlauf der Kurve zu erhalten, sollte der Zeittakt des aufrufen Weckalarm-OB in Abhängigkeit von der Periodendauer nicht zu groß gewählt werden.

Page 105: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.7 Signal generators

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 105

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Die folgende Abbildung zeigt den Signalverlauf der berechneten Werte.

Abbildung 3-72: Signalverlauf bei "offset" = 0

Periodendauer

Time

y

Amplitude

0

-Amplitude

Page 106: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.7 Signal generators

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 106

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

3.7.6 LGF_RectangleCI

Kurzbeschreibung

Dieser Baustein generiert einen rechteckigen Signalverlauf. Er verwendet dazu den Zeittakt des aufrufenden Cyclic Interrupt OB.

Baustein

Abbildung 3-73: FB LGF_RectangleCI

FB LGF_RectangleCI

REAL amplitude rectangleValues REAL

REAL offset error BOOL

UDINT periodeMS statusID UINT

OB_CYCLIC callOB status WORD

BOOL reset

Eingangsparameter

Tabelle 3-137: Eingangsparameter

Parameter Datentyp Beschreibung

amplitude REAL Amplitude des Signalverlaufs.

offset REAL Verschiebung des Signalverlaufs in Y-Richtung.

periodeMS UDINT Periodendauer des Signalverlaufs in [ms]

callOB OB_CYCLIC Aufrufender Weckalarm-OB (Cyclic interrupt OB)

reset BOOL Rücksetzen des Signalverlaufs.

Hinweis Änderungen an den Eingangsparametern werden sofort wirksam.

Ausgangsparameter

Tabelle 3-138: Ausgangsparameter

Parameter Datentyp Beschreibung

rectangleValues REAL Aktueller Wert des Rechtecksignales.

error BOOL FALSE: Kein Fehler

TRUE: Fehler im Baustein, "statusID" gibt die Fehlerquelle aus, "status" gibt den Fehlercode aus.

statusID UINT "statusID" gibt die ID des Bausteins aus, der den Status meldet. Siehe folgende Tabelle.

status WORD "status" gibt den Status/Fehler-Code aus (siehe folgende Tabelle).

Page 107: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.7 Signal generators

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 107

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Status- und Fehleranzeigen

Tabelle 3-139: Status/Fehlercodes

statusID status Bedeutung Abhilfe / Hinweise

1 16#0000 Kein Fehler Auftrag abgeschlossen.

1 16#8200 OB am Eingang "callOB" ist nicht projektiert / vorhanden.

Verschalten Sie am Eingang "callOB" den Konstantennamen eines projektierten Weckalarm-OB.

2 - Fehler / Status der unterlagerten Funktion "QRY_CINT" beim Abfragen der Weckalarm-Parameter.

Mögliche Ursache: OB am Eingang "callOB" ist vom falschen Typ.

Funktionsweise

Der Baustein berechnet die Werte für einen rechteckigen Signalverlauf, die am Ausgangsparamter "rectangleValues" ausgegeben werden.

Die Amplitude "amplitude", die Verschiebung in Y-Richtung "offset" und die Periodendauer "periodeMS" können an den Eingangsparametern vorgegeben werden.

Mit dem Eingangsparameter "reset" wird der Signalverlauf zurückgesetzt. Am Ausgangsparamter "rectangleValues" wird der Wert "0" ausgegeben, solange "reset" auf "TRUE" gesetzt ist.

Der Baustein muss in einem Weckalarm-OB (Cyclic interrupt OB) aufgerufen werden. Der Zeittakt des aufrufen Weckalarm-OB wird im FB mit der Anweisung "QRY_CINT" ermittelt. Dazu muss am Eingangsparameter "callOB" der Konstantenname des aufrufenden Weckalarm-OB verschaltet werden.

Abbildung 3-74: Weckalarm-OB verschalten

Die Anzahl der berechneten Werte des Signalverlaufs pro Periodendauer errechnet sich folgendermaßen:

𝐴𝑛𝑧𝑎ℎ𝑙 𝑊𝑒𝑟𝑡𝑒 =𝑃𝑒𝑟 𝑜𝑑𝑒𝑛𝑑𝑎𝑢𝑒𝑟

𝑍𝑒 𝑡𝑡𝑎𝑘𝑡 𝑊𝑒𝑐𝑘𝑎𝑙𝑎𝑟𝑚 𝑂𝐵

Hinweis Um einen kontinuierlichen Signalverlauf der Kurve zu erhalten, sollte der Zeittakt des aufrufen Weckalarm-OB in Abhängigkeit von der Periodendauer nicht zu groß gewählt werden.

Page 108: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.7 Signal generators

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 108

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Die folgende Abbildung zeigt den Signalverlauf der berechneten Werte.

Abbildung 3-75: Signalverlauf bei "offset" = 0

Periodendauer

Time

y

Amplitude

0

-Amplitude

Page 109: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.7 Signal generators

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 109

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

3.7.7 LGF_SinusCI

Kurzbeschreibung

Dieser Baustein generiert einen sinusförmigen Signalverlauf. Er verwendet dazu den Zeittakt des aufrufenden Cyclic Interrupt OB.

Baustein

Abbildung 3-76: FB LGF_SinusCI

FB LGF_SinusCI

REAL amplitude sinusValues REAL

REAL offset error BOOL

UDINT periodeMS statusID UINT

OB_CYCLIC callOB status WORD

BOOL reset

Eingangsparameter

Tabelle 3-140: Eingangsparameter

Parameter Datentyp Beschreibung

amplitude REAL Amplitude des Signalverlaufs.

offset REAL Verschiebung des Signalverlaufs in Y-Richtung.

periodeMS UDINT Periodendauer des Signalverlaufs in [ms]

callOB OB_CYCLIC Aufrufender Weckalarm-OB (Cyclic interrupt OB)

reset BOOL Rücksetzen des Signalverlaufs.

Hinweis Änderungen an den Eingangsparametern werden sofort wirksam.

Ausgangsparameter

Tabelle 3-141: Ausgangsparameter

Parameter Datentyp Beschreibung

sinusValues REAL Aktueller Wert des Dreiecksignales.

error BOOL FALSE: Kein Fehler

TRUE: Fehler im Baustein, "statusID" gibt die Fehlerquelle aus, "status" gibt den Fehlercode aus.

statusID UINT "statusID" gibt die ID des Bausteins aus, der den Status meldet. Siehe folgende Tabelle.

status WORD "status" gibt den Status/Fehler-Code aus (siehe folgende Tabelle).

Page 110: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.7 Signal generators

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 110

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Status- und Fehleranzeigen

Tabelle 3-142: Status/Fehlercodes

statusID status Bedeutung Abhilfe / Hinweise

1 16#0000 Kein Fehler Auftrag abgeschlossen.

1 16#8200 OB am Eingang "callOB" ist nicht projektiert / vorhanden.

Verschalten Sie am Eingang "callOB" den Konstantennamen eines projektierten Weckalarm-OB.

2 - Fehler / Status der unterlagerten Funktion "QRY_CINT" beim Abfragen der Weckalarm-Parameter.

Mögliche Ursache: OB am Eingang "callOB" ist vom falschen Typ.

Funktionsweise

Der Baustein berechnet die Werte für einen sinusförmigen Signalverlauf, die am Ausgangsparamter "sinusValues" ausgegeben werden.

Die Amplitude "amplitude", die Verschiebung in Y-Richtung "offset" und die Periodendauer "periodeMS" können an den Eingangsparametern vorgegeben werden.

Mit dem Eingangsparameter "reset" wird der Signalverlauf zurückgesetzt. Am Ausgangsparamter "sinusValues" wird der Wert "0" ausgegeben, solange "reset" auf "TRUE" gesetzt ist.

Der Baustein muss in einem Weckalarm-OB (Cyclic interrupt OB) aufgerufen werden. Der Zeittakt des aufrufen Weckalarm-OB wird im FB mit der Anweisung "QRY_CINT" ermittelt. Dazu muss am Eingangsparameter "callOB" der Konstantenname des aufrufenden Weckalarm-OB verschaltet werden.

Abbildung 3-77: Weckalarm-OB verschalten

Die Anzahl der berechneten Werte des Signalverlaufs pro Periodendauer errechnet sich folgendermaßen:

𝐴𝑛𝑧𝑎ℎ𝑙 𝑊𝑒𝑟𝑡𝑒 =𝑃𝑒𝑟 𝑜𝑑𝑒𝑛𝑑𝑎𝑢𝑒𝑟

𝑍𝑒 𝑡𝑡𝑎𝑘𝑡 𝑊𝑒𝑐𝑘𝑎𝑙𝑎𝑟𝑚 𝑂𝐵

Hinweis Um einen kontinuierlichen Signalverlauf der Kurve zu erhalten, sollte der Zeittakt des aufrufen Weckalarm-OB in Abhängigkeit von der Periodendauer nicht zu groß gewählt werden.

Page 111: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.7 Signal generators

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 111

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Die folgende Abbildung zeigt den Signalverlauf der berechneten Werte.

Abbildung 3-78: Signalverlauf bei "offset" = 0

Periodendauer

Time

y

Amplitude

0

-Amplitude

Page 112: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.7 Signal generators

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 112

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

3.7.8 LGF_CosinusCI

Kurzbeschreibung

Dieser Baustein generiert einen cosinusförmigen Signalverlauf. Er verwendet dazu den Zeittakt des aufrufenden Cyclic Interrupt OB.

Baustein

Abbildung 3-79: FB LGF_CosinusCI

FB LGF_CosinusCI

REAL amplitude cosinusValues REAL

REAL offset error BOOL

UDINT periodeMS statusID UINT

OB_CYCLIC callOB status WORD

BOOL reset

Eingangsparameter

Tabelle 3-143: Eingangsparameter

Parameter Datentyp Beschreibung

amplitude REAL Amplitude des Signalverlaufs.

offset REAL Verschiebung des Signalverlaufs in Y-Richtung.

periodeMS UDINT Periodendauer des Signalverlaufs in [ms]

callOB OB_CYCLIC Aufrufender Weckalarm-OB (Cyclic interrupt OB)

reset BOOL Rücksetzen des Signalverlaufs.

Hinweis Änderungen an den Eingangsparametern werden sofort wirksam.

Ausgangsparameter

Tabelle 3-144: Ausgangsparameter

Parameter Datentyp Beschreibung

cosinusValues REAL Aktueller Wert des Dreiecksignales.

error BOOL FALSE: Kein Fehler

TRUE: Fehler im Baustein, "statusID" gibt die Fehlerquelle aus, "status" gibt den Fehlercode aus.

statusID UINT "statusID" gibt die ID des Bausteins aus, der den Status meldet. Siehe folgende Tabelle.

status WORD "status" gibt den Status/Fehler-Code aus (siehe folgende Tabelle).

Page 113: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.7 Signal generators

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 113

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Status- und Fehleranzeigen

Tabelle 3-145: Status/Fehlercodes

statusID status Bedeutung Abhilfe / Hinweise

1 16#0000 Kein Fehler Auftrag abgeschlossen.

1 16#8200 OB am Eingang "callOB" ist nicht projektiert / vorhanden.

Verschalten Sie am Eingang "callOB" den Konstantennamen eines projektierten Weckalarm-OB.

2 - Fehler / Status der unterlagerten Funktion "QRY_CINT" beim Abfragen der Weckalarm-Parameter.

Mögliche Ursache: OB am Eingang "callOB" ist vom falschen Typ.

Funktionsweise

Der Baustein berechnet die Werte für einen cosinusförmigen Signalverlauf, die am Ausgangsparamter "cosinusValues" ausgegeben werden.

Die Amplitude "amplitude", die Verschiebung in Y-Richtung "offset" und die Periodendauer "periodeMS" können an den Eingangsparametern vorgegeben werden.

Mit dem Eingangsparameter "reset" wird der Signalverlauf zurückgesetzt. Am Ausgangsparamter "cosinusValues" wird der Wert "0" ausgegeben, solange "reset" auf "TRUE" gesetzt ist.

Der Baustein muss in einem Weckalarm-OB (Cyclic interrupt OB) aufgerufen werden. Der Zeittakt des aufrufen Weckalarm-OB wird im FB mit der Anweisung "QRY_CINT" ermittelt. Dazu muss am Eingangsparameter "callOB" der Konstantenname des aufrufenden Weckalarm-OB verschaltet werden.

Abbildung 3-80: Weckalarm-OB verschalten

Die Anzahl der berechneten Werte des Signalverlaufs pro Periodendauer errechnet sich folgendermaßen:

𝐴𝑛𝑧𝑎ℎ𝑙 𝑊𝑒𝑟𝑡𝑒 =𝑃𝑒𝑟 𝑜𝑑𝑒𝑛𝑑𝑎𝑢𝑒𝑟

𝑍𝑒 𝑡𝑡𝑎𝑘𝑡 𝑊𝑒𝑐𝑘𝑎𝑙𝑎𝑟𝑚 𝑂𝐵

Hinweis Um einen kontinuierlichen Signalverlauf der Kurve zu erhalten, sollte der Zeittakt des aufrufen Weckalarm-OB in Abhängigkeit von der Periodendauer nicht zu groß gewählt werden.

Page 114: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.7 Signal generators

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 114

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Die folgende Abbildung zeigt den Signalverlauf der berechneten Werte.

Abbildung 3-81: Signalverlauf bei "offset" = 0

Periodendauer

Time

y

-Amplitude

Amplitude

0

Page 115: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.8 Technology operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 115

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

3.8 Technology operations

3.8.1 LGF_LimRateOfChangeBasic

Kurzbeschreibung

Dieser Baustein begrenzt die Änderungsgeschwindigkeit einer Eingangsgröße. Aus einer Sprungfunktion wird eine Rampenfunktion.

Baustein

Abbildung 3-82: FB LGF_LimRateOfChangeBasic

FB LGF_LimRateOfChangeBasic

REAL inputValue outputValue REAL

REAL setRateLim error BOOL

REAL defaultOutValue statusID UINT

BOOL onDefaultOutValue status WORD

OB_CYCLIC callOB

Eingangsparameter

Tabelle 3-146: Eingangsparameter

Parameter Datentyp Beschreibung

inputValue REAL Eingangsgröße (Sprungfunktion)

setRateLim REAL Änderungsrate der Rampenfunktion (1/Sekunde)

onDefaultOutValue BOOL Ausgangsgröße vorbelegen

dafaultOutValue REAL Wert für die Vorbelegung der Ausgangsgröße

callOB OB_CYCLIC Aufrufender Weckalarm-OB

Ausgangsparameter

Tabelle 3-147: Ausgangsparameter

Parameter Datentyp Beschreibung

outputValue REAL Ausgangsgröße

error BOOL FALSE: Kein Fehler

TRUE: Fehler im Baustein, "statusID" gibt die Fehlerquelle aus, "status" gibt den Fehlercode aus

statusID UINT "statusID" gibt die ID des Bausteins aus, der den Status meldet. Siehe folgende Tabelle.

status WORD "status" gibt den Status/Fehler-Code aus (siehe folgende Tabelle)

Page 116: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.8 Technology operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 116

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Status- und Fehleranzeigen

Tabelle 3-148: Status/Fehlercodes

statusID status Bedeutung Abhilfe / Hinweise

1 16#0000 Kein Fehler -

1 16#7000 Initialwert "onDefaultOutValue" aktiv

1 16#8200 OB am Eingang "callOB" ist nicht projektiert/ vorhanden.

Verschalten Sie an den Eingang "callOB" einen projektierten/ vorhandenen Weckalarm-OB.

1 16#8201 Negative Änderungsrate. Parameter für die Änderungsrate darf nicht negativ sein.

2 - Fehler/Status von unterlagerten Funktion "QRY_CINT" beim Abfragen der Weckalarm-Parameter.

Mögliche Ursache: OB am Eingang "callOB" ist vom falschen Typ.

Hinweis Falls "statusID" > 1 ist, stammen alle Werte des Ausgangs "status" direkt von aufgerufenen Anweisungen (siehe Tabelle Ausgangsparameter). Holen Sie sich in diesem Fall die Informationen aus der TIA Portal Online Hilfe zu den jeweiligen Anweisungen.

Funktionsweise

Die Rampe ist eine Begrenzungsgerade und bezieht sich auf eine Änderungsrate pro Sekunde; wird zum Beispiel "setRateLim = 10.0" parametriert, so wird bei einer Abtastzeit von 1s/100ms/10ms bei jedem Bausteinaufruf, wenn "inputValue > outputValue" ist, 10.0/1.0/0.1 zu "outputValue" addiert, bis "inputValue" erreicht ist.

Die Begrenzung der Änderungsrate ist sowohl im positiven als auch negativen Wertebereich für den Anstieg und den Abfall gültig.

Der Ausgang "outputValue" kann vorbeleget bzw. initialisiert werden.

Der Zeittakt des aufrufen Weckalarm-OBs wird ermittelt, in dem am Eingangsparameter "callOB" der aufrufende Weckalarm-OB verschaltet wird.

Abbildung 3-83: Weckalarm-OB verschalten

Ausgang vorbelegen

Wenn "onDefaultOutValue = TRUE" gesetzt ist, wird am Ausgang "defaultOutValue" ausgegeben; bei Änderung von TRUE nach FALSE wird "outputValue" von "defaultOutValue" nach "inputValue" rampenförmig gefahren. Beim Wechsel von FALSE nach TRUE springt Ausgang "outputValue" sofort zu "defaultOutValue".

Page 117: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.8 Technology operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 117

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Funktionsverläufe

Abbildung 3-84: Rampenfunktionsverlauf

defaultOutValue

t

outputValue

inputValue (t)

onDefaultOutValue

Page 118: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.8 Technology operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 118

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

3.8.2 LGF_LimRateOfChangeAdvanced

Kurzbeschreibung

Der Baustein LGF_LimRateOfChangeAdvanced begrenzt die Änderungsgeschwindigkeit einer Eingangsgröße. Aus Sprungfunktionen werden Rampenfunktionen. Zusätzlich verfügt der Baustein über verschiedene Betriebsarten.

Baustein

Abbildung 3-85: FB LGF_LimRateOfChangeAdvanced

FB LGF_LimRateOfChangeAdvanced

REAL inputValue outputValue REAL

REAL setPosUpRateLim posUpRateLim BOOL

REAL setPosDownRateLim posDownRateLim BOOL

REAL setNegUpRateLim negUpRateLim BOOL

REAL setNegDownRateLim negDownRateLim BOOL

REAL setHighLim highLim BOOL

REAL setLowLim lowLim BOOL

REAL processValue error BOOL

REAL defaultOutValue statusID UINT

BOOL onDefaultOutValue status WORD

BOOL track

BOOL manOp

BOOL reset

OB_CYCLIC callOB

Eingangsparameter

Tabelle 3-149: Eingangsparameter

Parameter Datentyp Beschreibung

inputValue REAL Eingangsgröße (Sprungfunktion)

setPosUpRateLim REAL Änderungsrate pro Sekunde für die steigende Rampe im positiven Wertebereich

setPosDownRateLim REAL Änderungsrate pro Sekunde für die fallende Rampe im positiven Wertebereich

setNegUpRateLim REAL Änderungsrate pro Sekunde für die steigende Rampe im negativen Wertebereich

setNegDownRateLim REAL Änderungsrate pro Sekunde für die fallende Rampe im negativen Wertebereich

setHighLim REAL Obere Begrenzung

setLowLim REAL Untere Begrenzung

processValue REAL Regelgröße

defaultOutValue REAL Wert für die Vorbelegung der Ausgangsgröße

onDefaultOutValue BOOL Ausgangsgröße vorbelegen

Page 119: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.8 Technology operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 119

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Parameter Datentyp Beschreibung

track BOOL Eingangsgröße durchschalten (Nachführen)

manOp BOOL Regelgröße durchschalten

reset BOOL Neustart

callOB OB_CYCLIC Aufrufender Weckalarm-OB

Ausgangsparameter

Tabelle 3-150: Ausgangsparameter

Parameter Datentyp Beschreibung

outputValue REAL Ausgangsgröße

posUpRateLim BOOL Anstiegsbegrenzung im positiven Bereich angesprochen

posDownRateLim BOOL Abstiegsbegrenzung im positiven Bereich angesprochen

negUpRateLim BOOL Anstiegsbegrenzung im negativen Bereich angesprochen

negDownRateLim BOOL Abstiegsbegrenzung im negativen Bereich angesprochen

highLim BOOL Obere Begrenzung angesprochen

lowLim BOOL Untere Begrenzung angesprochen

error BOOL

FALSE: Kein Fehler

TRUE: Fehler im Baustein, "statusID" gibt die Fehlerquelle aus, "status" gibt den Fehlercode aus

statusID UINT "statusID" gibt die ID des Bausteins aus, der den Status meldet. Siehe folgende Tabelle

status WORD "status" gibt den Status/Fehler-Code aus (siehe folgende Tabelle)

Status- und Fehleranzeigen

Tabelle 3-151: Status/Fehlercodes

statusID status Bedeutung Abhilfe / Hinweise

1 16#0000 Kein Fehler -

1 16#8200 OB am Eingang "callOB" ist nicht projektiert/ vorhanden.

Verschalten Sie an den Eingang "callOB" einen projektierten/ vorhandenen Weckalarm-OB.

1 16#8201 "setHighLim" < "setLowLim" Obere Begrenzung "setHighLim" muss größer sein als die untere Begrenzung "setLowLim".

1 16#8202 Negative Änderungsrate. Parameter für die Änderungsrate dürfen nur >= 0.0 sein

2 - Fehler/Status von unterlagerten Funktion "QRY_CINT" beim Abfragen der Weckalarm-Parameter.

Mögliche Ursache: OB am Eingang "callOB" ist vom falschen Typ.

Hinweis Falls "statusID" > 1 ist, stammen alle Werte des Ausgangs "status" direkt von aufgerufenen Anweisungen (siehe Tabelle Ausgangsparameter). Holen Sie sich in diesem Fall die Informationen aus der TIA Portal Online Hilfe zu den jeweiligen Anweisungen.

Page 120: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.8 Technology operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 120

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Funktionsweise

Für den positiven/negativen Wertebereich sind je zwei Änderungsraten für die Rampe (steigende und fallende Werte) parametrierbar. Über Steuereingänge ist die Auswahl folgender Betriebsarten möglich:

• Neustart

• Ausgang vorbelegen

• Normalbetrieb (Automatik)

• Nachführen

• Regelgröße durchschalten (Hand)

Die Ausgangsgröße kann durch zwei parametrierbare Grenzen begrenzt werden. Eine aktive Begrenzung der Änderungsrate einer Rampe sowie eine aktive Begrenzung der Ausgangsgröße werden über Ausgänge gemeldet.

Der Zeittakt des aufrufen Weckalarm-OBs wird ermittelt, in dem am Eingangsparameter "callOB" der aufrufende Weckalarm-OB verschaltet wird.

Abbildung 3-86: Weckalarm-OB verschalten

Neustart

Bei Neustart "reset = TRUE" wird der Ausgang "outputValue" auf 0.0 rückgesetzt. Wenn "onDefaultOutValue = TRUE" gesetzt ist, wird "defaultOutValue" ausgegeben. Alle Signalausgänge werden auf FALSE gesetzt.

Ausgang vorbelegen

Wenn "onDefaultOutValue = TRUE" gesetzt ist, wird am Ausgang "defaultOutValue" ausgegeben; bei Änderung von TRUE nach FALSE wird outputValue von "defaultOutValue" nach "inputValue" rampenförmig gefahren. Beim Wechsel von FALSE nach TRUE springt Ausgang "outputValue" sofort zu "defaultOutValue".

Normalbetrieb

Die Rampen sind Begrenzungsgeraden und beziehen sich auf eine Änderungsrate pro Sekunde; wird zum Beispiel "setPosUpRateLim = 10.0" parametriert, so wird bei einer Abtastzeit von 1s/100ms/10ms bei jedem Bausteinaufruf, wenn "inputValue > outputValue" ist, 10.0/1.0/0.1 zu "outputValue" addiert, bis "inputValue" erreicht ist.

Die Begrenzung der Änderungsrate ist jeweils in positivem und negativem Wertebereich für den Anstieg und den Abfall parametrierbar.

Page 121: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.8 Technology operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 121

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Tabelle 3-152: Kennzeichnung der Rampen

Parameter Rampe

setPosUpRateLim outputValue > 0 und |outputValue| steigend

setPosDownRateLim outputValue > 0 und |outputValue| fallend

setNegUpRateLim outputValue < 0 und |outputValue| steigend

setNegDownRateLim outputValue < 0 und |outputValue| fallend

Wenn keine Parametrierung der Rampen vorgenommen wird ("setPosUpRateLim", "setPosDownRateLim", "setNegUpRateLim" und "setNegDownRateLim" gleich 0.0), bleibt der Ausgang auf dem Wert 0.0 und der Normalbetrieb ist außer Funktion.

Nachführen

Ist der Eingang "track = TRUE" gesetzt, wird die Eingangsgröße inputValue direkt zur Ausgangsgröße outputValue durchgeschaltet. Somit werden auch Sprünge der Eingangsgröße ausgegeben.

Regelgröße durchschalten

Wenn "manOp = TRUE" gesetzt ist, wird die Regelgröße "processValue" direkt auf die Ausgangsgröße "outputValue" durchgeschaltet.

In dieser Betriebsart sind die Parametrierung der Rampen bzw. der oberen/unteren Begrenzung der Ausgangsgröße und die Vorbelegung des Ausgangs unwirksam.

Beim Wechsel von TRUE nach FALSE, wird der Ausgang "outputValue" nach "inputValue" wieder rampenförmig gefahren.

Sobald der Werteabschnitt zwischen der unteren und oberen Begrenzung erreicht ist, wird die obere und untere Begrenzung wieder aktiviert.

Page 122: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.8 Technology operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 122

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Funktionsverläufe

Abbildung 3-87: Rampenfunktionsverlauf, Betriebsarten

setHighLiminputValue (t)

setLowLim

processValue (t)

t

outputValue

defaultOutValue

highLim

posNegRateLim

lowLim

posUpRateLim

negDownRateLim

negUpRateLim

manOp

track

onDefaultOutValue

Page 123: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.8 Technology operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 123

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

3.8.3 LGF_Ramp

Kurzbeschreibung

Dieser Baustein generiert eine Fahrkurve anhand einer Stützpunkttabelle. Zwischen den Punkten wird innerhalb der vorgegebenen Zeit linear interpoliert.

Baustein

Tabelle 3-153: FB LGF_Ramp

FB LGF_Ramp

REAL defaultOutValue outputValue REAL

INT contStepNbr actTimeTable BOOL

TIME contStepTime stepNumber INT

BOOL onDefaultOutValue remainTime TIME

BOOL start totalTime TIME

BOOL hold remainTotalTime TIME

BOOL continue error BOOL

BOOL cyclicOP statusID UINT

BOOL updateTime status WORD

BOOL reset

OB_CYCLIC callOB

ARRY of "typeTimeTable" setpoints

Eingangsparameter

Tabelle 3-154: Eingangsparameter

Parameter Datentyp Beschreibung

defaultOutValue REAL Wert für die Vorbelegung der Ausgangsgröße

contStepNbr INT Nummer des nächsten Stützpunktes zum Weitermachen

contStepTime TIME Restzeit zum Weitermachen bis zum Stützpunkt

"contStepNbr"

onDefaultOutValue BOOL Ausgangsgröße mit "defaultOutValue" vorbelegen

start BOOL Stützpunkttabelle abfahren

hold BOOL Aktuellen Wert am Ausgang halten

continue BOOL Weitermachen

cyclicOP BOOL Stützpunkttabelle zyklisch wiederholen

updateTime BOOL Zeitwerte aktualisieren

reset BOOL Neustart

callOB OB_CYCLIC Aufrufender Weckalarm-OB

setpoints ARRY of

"typeTimeTable" Stützpunkttabelle. Informationen zum Datentyp "typeTimeTable" finden Sie unter Punkt "Globale Daten" .

Page 124: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.8 Technology operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 124

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Ausgangsparameter

Tabelle 3-155: Ausgangsparameter

Parameter Datentyp Beschreibung

outputValue REAL Ausgangsgröße

actTimeTable BOOL Stützpunkttabelle wird bearbeitet.

stepNumber INT

aktuelle Stützpunktnummer (Stützpunkt, der angefahren wird)

remainTime TIME Restzeit bis Erreichen des nächsten Stützpunktes

totalTime TIME Gesamtzeit

remainTotalTime TIME Gesamtrestzeit

error

BOOL

FALSE: Kein Fehler

TRUE: Fehler im Baustein, "statusID" gibt die Fehlerquelle aus, "status" gibt den Fehlercode aus.

statusID UINT

"statusID" gibt die ID des Bausteins aus, der den Status meldet. Siehe folgende Tabelle.

status WORD

"status" gibt den Status/Fehler-Code aus (siehe folgende Tabelle).

Status- und Fehleranzeigen

Tabelle 3-156: Status/Fehlercodes

statusID status Bedeutung Abhilfe / Hinweise

1 16#0000 Kein Fehler Auftrag abgeschlossen.

1 16#7000 Initialwert Neustart wurde durchgeführt.

1 16#7001 Erster Aufruf Steigende Flanke "start".

1 16#7002 Folgeaufruf Eingang "cyclicOP" gesetzt.

1 16#8200 OB am Eingang "callOB" ist nicht projektiert/ vorhanden.

Verschalten Sie an den Eingang "callOB" einen projektierten/ vorhandenen Weckalarm-OB.

1 16#8201 Untere Arraygrenze <> 0 Das Array mit den Stützpunkten muss mit dem Index 0 beginnen.

2 - Fehler/Status von unterlagerten Funktion "QRY_CINT" beim Abfragen der Weckalarm-Parameter.

Mögliche Ursache: OB am Eingang "callOB" ist vom falschen Typ.

Hinweis Falls "statusID" > 1 ist, stammen alle Werte des Ausgangs "status" direkt von aufgerufenen Anweisungen (siehe Tabelle Ausgangsparameter). Holen Sie sich in diesem Fall die Informationen aus der TIA Portal Online Hilfe zu den jeweiligen Anweisungen.

Globale Daten

Zusammen mit dem Baustein erhalten Sie automatisch den PLC Datentyp "typeTimeTable", welcher sich aus den Parametern "outVal" für den Wert eines Stützpunktes und "time" für die Zeit bis zum Erreichen des nächsten Stützpunktes zusammensetzt. Die Deklaration erfolgt in einem eindimensionalen Array vom Datentyp "typeTimeTable" beginnend mit dem Index 0. Das Array wird in einem

Page 125: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.8 Technology operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 125

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

globalen Datenbaustein angelegt und dann an den Baustein "LGF_Ramp" übergeben.

Abbildung 3-88: Beispiel für die Deklaration der Stützpunkte

Der Parameter "time" des letzten Stützpunktes muss mit 0s parametriert werden, da kein Nachfolgestützpunkt mehr vorhanden ist.

Funktionsweise

Mit dem Baustein lassen sich anhand parametrierter Stützpunkte Fahrkurven ausführen; in jedem Aufrufzyklus werden Werte nach einem Zeitplan ausgegeben, wobei zwischen den Stützpunkten interpoliert wird.

In jedem Zyklus werden die aktuell angefahrene Stützpunktnummer "stepNumber", die aktuelle Restzeit "remainTime" bis zum Erreichen des Stützpunktes, die Gesamtzeit "totalTime" und die Gesamtrestzeit bis zum Erreichen des Fahrkurvenendes "remainTotalTime" ausgegeben. Desweitern wird der Ausgang "actTimeTable" gesetzt, wenn gerade die projektierte Fahrkurve ausgegeben wird.

Der Zeittakt des aufrufen Weckalarm-OBs wird ermittelt, indem am Eingangsparameter "callOB" der aufrufende Weckalarm-OB verschaltet wird.

Abbildung 3-89: Weckalarm-OB verschalten

Über Steuereingänge können folgende Betriebsarten ausgewählt werden:

• Neustart

• Ausgang vorbelegen

• Fahrkurve ausgeben

• Bearbeitung anhalten

• Bearbeitungsschritt und –zeit vorgeben

• Zyklischen Betrieb einschalten

• Gesamtzeit und –restzeit aktualisieren

Page 126: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.8 Technology operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 126

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Überblick über die Betriebsarten

Tabelle 3-157: Überblick über die Betriebsarten

Betriebsart onDefault

OutValue start hold continue cyclicOP updateTime reset Ausgang/Aktion

Neustart TRUE ↑ Baustein wird initialisiert.

Ausgang vorbelegen TRUE TRUE FALSE defaultOutValue

Fahrkurve ausgeben FALSE TRUE ↑ FALSE FALSE FALSE outputValue(t); Endwert wird nach Bearbeitung gehalten

Fahrkurve anhalten FALSE TRUE TRUE FALSE FALSE aktueller Wert von outputValue(t) wird gehalten

Bearbeitungsschritt und –zeit vorgeben

FALSE TRUE TRUE TRUE ↑ FALSE outputValue (alt)

FALSE Weitermachen mit parametriertem Stützpunkt

Zyklischen Betrieb einschalten

FALSE TRUE FALSE TRUE FALSE outputValue(t); nach Ende automatischer Neustart

Gesamtzeit und –restzeit aktualisieren

TRUE ↑ FALSE Gesamtzeit und –restzeit werden aktualisiert.

Neustart

Mit einer steigenden Flanke am Eingang "reset" wird der Ausgang "outValue" auf 0.0 zurückgesetzt. Bei "onDefaultOutValue" = TRUE wird am Ausgang "defaultOutValue" ausgegeben. Die Gesamtzeit und Gesamtrestzeit wird aktualisiert und am Ausgang ausgegeben.

Ausgang vorbelegen

Soll die Fahrkurve mit einem bestimmten Ausgangswert beginnen, dann muss "onDefaultOutValue" = TRUE sein. In diesem Fall steht am Ausgang des Zeitplangebers der Wert "defaultOutValue" an. Die interne Abarbeitung der Fahrkurve läuft in dieser Zeit weiter. Wechselt "onDefaultOutValue" wieder auf FALSE, so wird zum aktuell aktiven Stützpunkt interpoliert.

Fahrkurve ausgeben

Mit einer steigenden Flanke am Eingangs "start" wird die Fahrkurve ausgegeben - solange "start" TRUE ist oder bis die Fahrkurve durch das Erreichen des letzten Stützpunktes beendet wurde. Durch eine erneute steigende Flanke, wird die Fahrkurve nochmals ausgegeben. Zusätzlich wird bei jedem Einschalten die Gesamtzeit aktualisiert.

Zyklischen Betrieb einschalten

Wird zusätzlich zum Eingang "start" auch der Eingang "cyclicOP" auf TRUE gesetzt, kehrt die Fahrkurve nach Ausgabe des letzten Stützpunktwertes automatisch zum Startpunkt zurück und beginnt einen neuen Durchlauf.

Zwischen dem letzten Stützpunktwert und dem Startpunkt wird nicht interpoliert. Für einen stoßfreien Übergang muss gelten: letzter Stützpunktwert = Startpunkt.

Page 127: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.8 Technology operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 127

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Fahrkurve anhalten

Mit "hold" = TRUE wird der Wert der Ausgangsgröße (inkl. der Zeitbearbeitung) eingefroren. Bei Rücksetzen "hold" = FALSE wird an der Unterbrechungsstelle bzw. an einer parametrierten Stelle (Siehe "Bearbeitungsschritt und –zeit vorgeben) fortgefahren. Die Bearbeitungszeit der Fahrkurve verlängert sich um die Haltezeit "T1*" (sieheAbbildung 3-90).

Bearbeitungsschritt und –zeit vorgeben

Wird während dem Anhalten der Fahrkurve ("hold" = TRUE) der Eingangsparameter "continue" für das Fortsetzen auf TRUE gesetzt, dann wird nach dem Zurücksetzen des Eingangs "hold" die Stützpunktnummer "contStepNbr" (Zielstützpunkt) innerhalb der Zeit "contStepTime" angefahren (Interpolation). Die Gesamtrestzeit wird neu berechnet.

Gesamtzeit und Gesamtrestzeit aktualisieren

Bei Änderungen von Werten der Stützpunkte können sich die Gesamtzeit und die Gesamtrestzeit der Fahrkurve ändern. Da die Berechnung von "totalTime" und "remainTotalTime" bei vielen Stützpunkten die Bearbeitungszeit des Funktionsbausteins stark vergrößern kann, wird sie nur einmal bei einer steigenden Flanke am Eingang "updateTime" durchgeführt.

Funktionsverläufe

Abbildung 3-90: Funktionsverläufe

5*

t

outputValue

defaultOutValue

actTimeTable

onDafaultOutValue

start

hold

continue

0

1 2

3 4/ 4* = contStepNbr

5 6 6*

T* = contStepTime

T1*

T1*

projektierte Kurveaktuelle Kurve

* aktuelle Werte

setpoints[…].time 0 1 2 3 4 5

setpoints[…].outVal

4 + T1* 5

Page 128: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.8 Technology operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 128

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

3.8.4 LGF_NonLin

Kurzbeschreibung

Dieser Baustein realisiert eine Kennlinie. Die Kennlinie wird über eine Stützpunkt-tabelle mit linearer Interpolation zwischen den Stützpunkten vorgegeben. Ein vor-gegebener Eingangswert generiert in jedem Zyklus anhand der Kennlinie aus der Stützpunkttabelle einen Ausgangswert.

Baustein

Abbildung 3-91: FB LGF_NonLin

FB LGF_NonLin

REAL inputValue outputValue REAL

REAL defaultOutValue

BOOL onDefaultOutValue

BOOL track

BOOL reset

LGF_type

NonLinSetpoints setpoints

Eingangsparameter

Tabelle 3-158: Eingangsparameter

Parameter Datentyp Beschreibung

inputValue REAL Eingangswert zur Berechnung des Ausgangswerts über die definierte Kennlinie.

defaultOutValue REAL Standard-Ausgangswert ohne Nutzung der Kennlinie

onDefaultOutValue BOOL Aktivierung des Standard-Ausgangswerts Der Standard-Ausgangswert wird solange ausgegeben, solange dieser Eingang gesetzt ist.

track BOOL Der Wert des Ausgangs "outputValue" wird dem Wert des Eingangs "inputValue" ohne Nutzung der Kennlinie nachgeführt, solange dieser Eingang gesetzt ist.

reset BOOL Falls im laufenden Betrieb die Stützpunkttabelle verändert wird, muss anschließend den Eingang "reset" betätigt werden. Sonst kann der Baustein die korrekte Ausführung nicht gewährleisten.

Ein-/Ausgangsparameter (InOut)

Tabelle 3-159: Ein-/Ausgangsparameter (InOut)

Parameter Datentyp Beschreibung

setpoints LGF_typeNonLinSetpoints Stützpunkttabelle zur Definition der Kennlinie

Page 129: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.8 Technology operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 129

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Ausgangsparameter

Tabelle 3-160: Ausgangsparameter

Parameter Datentyp Beschreibung

outputValue REAL Der Ausgangswert, der anhand des Eingangswerts über die definierte Kennlinie berechnet wurde.

Funktionsweise

Der Wert des Ausgangs "outputValue" wird anhand folgender Priorität ausgegeben:

1. Solange der Eingang "onDefaultOutValue" gesetzt ist, wird der über den Parameter "defaultOutValue" definierte Wert als Ausgangswert ausgegeben.

2. Solange der Eingang "reset" gesetzt ist, wird der Baustein zurückgesetzt und als Ausgangswert wird der Wert 0.0 ausgegeben.

3. Solange der Eingang "track" gesetzt ist, wird als Ausgangswert direkt der Eingangswert ohne Berücksichtigung der Kennlinie ausgegeben.

4. Anhand des Eingangswerts wird über die linear interpolierte Stützpunkttabelle ein Kennlinienwert berechnet und als Ausgangswert ausgegeben.

– Befindet sich der Eingangswert zwischen zwei Stützpunkten innerhalb der Stützpunkttabelle, wird der Ausgangswert als Schnittpunkt mit der Verbindungsgeraden zwischen dem vorhergehenden und nachfolgenden Stützpunkt berechnet (siehe Abbildung 3-92).

– Befindet sich der Eingangswert vor dem ersten Stützpunkt (geringster Wert der in der Stützpunkttabelle definiert wurde), wird der Ausgangswert als Schnittpunkt der Geraden berechnet, die aus den ersten beiden Stützpunkten der Stützpunkttabelle gebildet wird.

– Befindet sich der Eingangswert hinter dem letzten Stützpunkt (höchster Wert der in der Stützpunkttabelle definiert wurde), wird der Ausgangswert als Schnittpunkt der Geraden berechnet, die aus den letzten beiden Stützpunkten der Stützpunkttabelle gebildet wird.

Abbildung 3-92: Beispielhafter Verlauf des Ausgangssignals

Eingangssignal

Ausgangssignal

Page 130: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.8 Technology operations

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 130

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

ACHTUNG Um die Rechenzeit des Bausteins möglichst gering zu halten, wird keine Überprüfung der Parametrierung oder der Daten der Stützpunkttabelle vorgenommen.

Beim Eintragen der Stützpunkte in die Stützpunkttabelle muss auf folgende Besonderheiten geachtet werden. Andernfalls kann es zu einem Fehlverhalten des Bausteins führen.

• In der Stützpunkttabelle müssen mindestens zwei Stützpunkte eingetragen sein.

• Die Stützpunkte in der Stützpunkttabelle müssen in aufsteigender Reihenfolge der Eingangswerte in der Tabelle eingetragen sein.

Stützpunkttabelle

Die Stützpunkttabelle wird durch eine Variable vom Datentyp Array realisiert. Der Typ des Arrays entspricht dem PLC-Datentyp "LGF_typeNonLinSetpoint".

Die Stützpunkttabelle können Sie in einem beliebigen globalen Datenbaustein anlegen. Die Größe des Arrays ist von der Anzahl der Stützpunkte abhängig.

Beispiel

Abbildung 3-93: Exemplarischer Datenbaustein

3.8.5 Regeln von simulierten Regelstrecken

In dem Beitrag "Regeln von simulierten Regelstrecken" erhalten Sie die Baustein-bibliothek "LSim" zur Simulation von Regelstrecken für die Steuerungsfamilien SIMATIC S7-1200 und SIMATIC S7-1500.

https://support.industry.siemens.com/cs/ww/de/view/79047707

Page 131: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.9 Measurement data processing

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 131

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

3.9 Measurement data processing

3.9.1 LGF_AverageAndDeviation

Kurzbeschreibung

Dieser Baustein berechnet aus einer Reihe von Zahlen das arithmetische Mittel und die Standardabweichung.

Baustein

Abbildung 3-94: FC LGF_AverageAndDeviation

FC LGF_AverageAndDeviation

ARRAY[*] of LREAL variableArray arithmeticAverage LREAL

standardDeviation LREAL

Eingangsparameter

Tabelle 3-161: Eingangsparameter

Parameter Datentyp Beschreibung

variableArray ARRAY[*] of LREAL

Zahlenreihe, mit der gerechnet werden soll

Ausgangsparameter

Tabelle 3-162: Ausgangsparameter

Parameter Datentyp Beschreibung

arithmeticAverage LREAL Arithmetischer Mittelwert

standardDeviation LREAL Standardabweichung

Funktionsweise

Über den Eingang "variableArray" wird ein Array beliebiger Größe angeschlossen. Nach dem Auslesen der Array-Grenzen, wird aus den Werten der arithmetische Mittelwert und die Standardabweichung berechnet und beides ausgegeben.

Hinweis Ein Array mit zu vielen Elementen kann zu einem Überschreiten der Zyklusüberwachungszeit führen.

Page 132: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.9 Measurement data processing

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 132

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

3.9.2 LGF_FloatingAverage

Kurzbeschreibung

Dieser Baustein berechnet aus REAL-Werten einen gleitenden arithmetischen Mittelwert. Diese Methode kann zur Glättung von Datenreihen verwendet werden. Die Werte können zyklisch oder getriggert eingelesen werden.

Baustein

Abbildung 3-95: LGF_FloatingAverage

FB LGF_FloatingAverage

REAL value average LREAL

INT mode windowSizeReached BOOL

INT windowSize error BOOL

BOOL trigger status WORD

BOOL reset

Eingangsparameter

Tabelle 3-163: Eingangsparameter

Parameter Datentyp Beschreibung

value REAL Werte, aus welchen der gleitende Mittelwert bestimmt werden soll.

mode INT Auswahl des Modus (siehe Funktionsweise); Standardwert: mode=1.

windowsSize INT Fensterlänge für die gleitende Mittelung im Bereich von 1..100

Der Standardwert liegt bei 100.

trigger BOOL Trigger-Variable, Impuls

reset BOOL Der Baustein wird zurückgesetzt und die Berechnung beginnt erneut.

Hinweis Der Baustein "LGF_FloatingAverage" führt keine Datentypabfrage für den Eingangsparameter "value" durch. Bei anderen Datentypen als REAL wird entweder automatisch eine implizite Konvertierung durchgeführt oder ein Fehler beim Übersetzen generiert.

Weitere Informationen finden Sie im Kapitel "Übersicht über die Datentypkonvertierung" in der Online Hilfe des TIA Portals oder unter:

https://support.industry.siemens.com/cs/de/de/view/109755202/100611494667

Page 133: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.9 Measurement data processing

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 133

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Ausgangsparameter

Tabelle 3-164: Ausgangsparameter

Parameter Datentyp Beschreibung

average LREAL Gleitender Mittelwert

windowSizeReached BOOL FALSE: Maximale noch nicht Fensterbreite erreicht

TRUE: Maximale Fensterbreite erreicht

error BOOL FALSE: Kein Fehler

TRUE: Fehler im Baustein

status WORD Status/Fehler-Code (siehe folgende Tabelle)

Status- und Fehleranzeigen

Tabelle 3-165: Status/Fehlercodes

status Bedeutung Abhilfe / Hinweise

16#0000 Kein Fehler -

16#8201 Kein Modus ausgewählt Wählen Sie einen Modus (1 oder 2).

16#8202 Keine korrekte Fensterbreite Stellen Sie einen Wert zwischen 1 und 100 ein.

Funktionsweise

Der Baustein berechnet den (gleitenden) Mittelwert anhand der eingestellten Fensterbreite. Die Fensterbreite gibt die maximale Anzahl der zuletzt eingelesenen Werte an. Nachdem die maximale Anzahl an Werten eingelesen wurde, wird der Ausgang "windowSizeReached" gesetzt und jeder neu eingelesene Wert ersetzt den jeweils ältesten Wert (FIFO-Prinzip).

Für das Einlesen der Werte stehen zwei Modi zur Verfügung, die mit dem Parameter "mode" festgelegt werden:

• mode = 1: Einlesen bei jedem Impuls am Eingang "trigger"

• mode = 2: Zyklisches Einlesen

Der Baustein wird aktiviert, sobald Sie einen Modus ausgewählt haben. Zwischen den Modi kann im Betrieb gewechselt werden.

Page 134: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.9 Measurement data processing

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 134

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

3.9.3 LGF_Boxplot (NEU)

Kurzbeschreibung

Wenn Sie sich einen Überblick über bestehende Daten verschaffen wollen, dann können Sie ein Boxplot-Diagramm verwenden. Ein Boxplot zeigt Ihnen, in welchem Bereich die Daten liegen und wie sie sich über diesen Bereich verteilen. Ein Boxplot besteht aus folgenden Kenngrößen:

• Minimum (kleinster auftretender Wert der Stichprobe)

• Unteres oder erstes Quartil (unterhalb dieses Wertes liegen 25% der Stichproben-Werte)

• Median oder zweites Quartil (unterhalb diesem Wert liegen 50% der Stichproben-Werte)

• Oberes oder drittes Quartil (unterhalb diesem Wert liegen 75% der Stichproben-Werte)

• Maximum (größter auftretender Wert der Stichprobe)

Abbildung 3-96: Boxplot

MIN MAX

1. QUARTIL 3. QUARTIL

2.QUARTIL / MEDIAN

WinCC-Control

Zur Visualisierung des Boxplots bietet Ihnen der Siemens Industry Online Support ein .Net-Control, das Sie in Verbindung mit WinCC Runtime Professional nutzen können. Den Download finden Sie unter Beitrags-ID: 81662739.

Abbildung 3-97: .Net Control "Boxplot"

Page 135: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.9 Measurement data processing

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 135

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Baustein

Abbildung 3-98: LGF_Boxplot

FB LGF_Boxplot

BOOL execute outlierMax REAL

Real rangeOutlier max REAL

VARIANT Array (InOut) q75 REAL

median REAL

q25 REAL

min REAL

outlierMin REAL

skewness REAL

busy BOOL

done BOOL

error BOOL

status WORD

statusID UINT

Eingangsparameter

Tabelle 3-166: Eingangsparameter

Parameter Datentyp Beschreibung

execute Bool Aktivierung der Berechnung mit jeder positiven Flanke.

rangeOutlier Real Ausreißererkennung:

• 0: Ausreißererkennung ist deaktiviert

• 0-1: Wert ist ungültig

• >1: Ausreißererkennung ist aktiviert.

Ausgangsparameter

Tabelle 3-167: Ausgangsparameter

Parameter Datentyp Beschreibung

outlierMax Real Obere Ausreißer in %.

max Real Maximaler Wert, der kein Ausreißer ist.

q75 Real 3.Quartil oder Q75 der Datenreihe.

median Real 2.Quartil oder Median der Datenreihe.

q25 Real 1.Quartil oder Q25 der Datenreihe.

min Real Minimaler Wert, der kein Ausreißer ist.

outlierMin Real Untere Ausreißer in %.

skewness Real Schiefe der Datenreihe.

busy Bool Die Bearbeitung des Bausteins ist aktiv.

done Bool Die Bearbeitung wurde erfolgreich beendet.

error Bool Bei der Bearbeitung ist ein Fehler aufgetreten.

Page 136: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.9 Measurement data processing

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 136

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Parameter Datentyp Beschreibung

status Word Gibt den Statuscode der Bearbeitung aus (siehe Tabelle).

statusID UInt Gibt die ID des Bausteins aus, der den Status meldet. Siehe folgende Tabelle.

Ein-/Ausgangsparameter (InOut)

Tabelle 3-168: Ein-/Ausgangsparameter (InOut)

Parameter Datentyp Beschreibung

array Variant Array, mit dem gerechnet werden soll. Folgende Datentypen werden unterstützt:

• Int

• UInt

• Real

Status- und Fehleranzeigen

Tabelle 3-169: Status/Fehlercodes

statusID status Bedeutung Abhilfe / Hinweise

1 16#0000 Kein Fehler Bearbeitung erfolgreich beendet.

1 16#7000 Kein Fehler Der Baustein wartet auf eine positive Flanke am Eingang "execute".

1 16#7001 Kein Fehler Erster Aufruf.

1 16#7002 Kein Fehler Die Bearbeitung ist aktiv.

1 16#9100 Falscher Datentyp Verwenden Sie einen der folgenden Datentypen:

• Int

• UInt

• Real

1 16#9101 Der Parameter "rangeOutlier" ist ungültig

Geben Sie dem Parameter "rangeOutlier" einen gültigen Wert:

• 0: Ausreißererkennung deaktiviert

• >1 gültiger Wert.

1 16#9102 Kein Array übergeben Übergeben Sie dem Baustein am InOut-Parameter "array" ein Array.

1 16#8xxx Fehler bei der Bearbeitung der Anweisung "MOVE_BLK_VARIANT".

Nutzen Sie die TIA Portal Online Hilfe zur Fehlerbeseitigung.

2 16#8xxx Fehler bei der Bearbeitung des Bausteins "LGF_Shellsort"

Informationen zu diesem Baustein erhalten Sie in Kapitel 3.5.3.

Funktionsweise

Der Baustein sortiert die Datenreihe und berechnet anschließend die sogenannte "Fünf-Punkte-Zusammenfassung":

Page 137: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.9 Measurement data processing

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 137

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Tabelle 3-170: Fünf-Punkte-Zusammenfassung

Kennwert der Fünf-Punkte-Zusammenfassung Ausgangsparameter des Bausteins

Minimum (kleinster auftretender Wert der Stichprobe)

min

Unteres oder erstes Quartil (unterhalb dieses Wertes liegen 25% der Stichproben-Werte)

q25

Median oder zweites Quartil (unterhalb diesem Wert liegen 50% der Stichproben-Werte)

median

Oberes oder drittes Quartil (unterhalb diesem Wert liegen 75% der Stichproben-Werte)

q75

Maximum (größter auftretender Wert der Stichprobe)

max

Der Baustein berechnet, falls die Ausreißererkennung aktiviert ist, zuerst die Grenzen. Ab diesen Grenzwerten werden die Werte als Ausreißer erkannt :

𝐵𝑜𝑢𝑛𝑑𝑙𝑜𝑤𝑒𝑟 = 𝑞25 − 𝑟𝑎𝑛𝑔𝑒𝑂𝑢𝑡𝑙 𝑒𝑟 ∗ (𝑞75 − 𝑞25)

𝐵𝑜𝑢𝑛𝑑𝑢𝑝𝑝𝑒𝑟 = 𝑞75 + 𝑟𝑎𝑛𝑔𝑒𝑂𝑢𝑡𝑙 𝑒𝑟 ∗ (𝑞75 − 𝑞25)

Anschließend berechnet der Baustein neue Werte für die Parameter "max" und "min", die innerhalb der Ausreißergrenzen liegen. Die Ausreißer werden gezählt und in Prozent ausgegeben.

Um leichter beurteilen zu können, wie die Daten verteilt sind, berechnet der Baustein berechnet ebenfalls die Schiefe. Die Schiefe liegt zwischen den Werten -1 und 1 mit folgender Bedeutung:

• -1: extrem linkschiefe Verteilung

• 0: symmetrische Verteilung

• 1: extrem rechtsschiefe Verteilung

Die Elemente des übergebenen Arrays werden vom Baustein aufsteigend sortiert. Zur Sortierung werden die "LGF_Shellsort"-Bausteine verwendet. (siehe 3.5.3)

Die Kenngrößen werden folgendermaßen berechnet:

Tabelle 3-171: Formeln Boxplot

Parameter Formel

q25 (1.Quartil) 𝑞25 = 𝑥(𝑘) mit 𝑘 =

{[1

2(𝑛+1)]+1}

2=

𝑛+3

4

median / q50 (2.Quartil) 𝑞50 = 𝑥([𝑛+1]/2)

q75 (3.Quartil) 𝑞75 = 𝑥(𝑛+1−𝑘) mit 𝑛 + 1 − 𝑘 =

3𝑛+1

4

n := Anzahl der Stichproben (Größe des Arrays)

Ist das Ergebnis des zu ermittelnden Elements (aus dem sich die Quartile ableiten lassen) nicht ganzzahlig, errechnet sich das Quartil aus dem linearen Anteil zwischen den beiden benachbarten Stichproben.

skewness skewness =

(𝑞25 + 𝑞75) − 2 ∗ q50q75 − q25

Hinweis: Dies ist lediglich eine Näherungsformel.

Page 138: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.9 Measurement data processing

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 138

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

3.9.4 LGF_Histogram (NEU)

Kurzbeschreibung

Das Histogramm stellt die Häufigkeitsverteilung einer Stichprobe nach Klassen dar. Eine Klasse beschreibt ein Werteintervall, in dem die einzelnen Häufigkeiten auf-addiert werden. Nach Vorgabe der Anzahl der Klassen wird die Klassenbreite und die jeweilige Klassenmitte berechnet. Die Klassenanzahl ist auf 15 Klassen begrenzt.

Die Verteilung stellt sich als Rechteck um den Klassenmittelwert mit der Klassenbreite und der aufsummierten Häufigkeit als Höhe dar.

Abbildung 3-99: Verteilung

1

3

5

8

6

5

2

0

1

2

3

4

5

6

7

8

9

154,00 158,93 163,86 168,79 173,72 178,65 183,58

Nu

mb

er

of

Ele

me

nts

Middle of Classes

Range

WinCC-Control

Zur Visualisierung des Histograms bietet Ihnen der Siemens Industry Online Support ein .Net-Control, das Sie in Verbindung mit WinCC Runtime Professional nutzen können. Den Download finden Sie unter Beitrags-ID: 81662739.

Abbildung 3-100: .Net-Control

Page 139: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.9 Measurement data processing

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 139

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Baustein

Abbildung 3-101: LGF_Histogram

FB LGF_Histogram

BOOL execute busy BOOL

UINT numberOfClasses done BOOL

VARIANT Array (InOut) error BOOL

status WORD

statusID UINT

histValues Array [0..1, 0..14] of REAL

axis Array [0..3] of REAL

classWidth REAL

Eingangsparameter

Tabelle 3-172: Eingangsparameter

Parameter Datentyp Beschreibung

execute Bool Aktivierung der Berechnung mit jeder positiven Flanke.

NumberOfClasses UInt Anzahl der gewünschten Klassen.

Ausgangsparameter

Tabelle 3-173: Ausgangsparameter

Parameter Datentyp Beschreibung

busy Bool Die Bearbeitung des Bausteins ist aktiv.

done Bool Die Bearbeitung wurde erfolgreich beendet.

error Bool Bei der Bearbeitung ist ein Fehler aufgetreten.

status Word Gibt den Statuscode der Bearbeitung aus (siehe Tabelle).

statusID UInt Gibt die ID des Bausteins aus, der den Status meldet. Siehe folgende Tabelle.

histValues Array[0..1, 0..14] of Real

Gibt in einem zweidimensionalen Array die errechneten Werte aus.

• HistValues[0,0..14] gibt die relative Häufigkeit der einzelnen Klassen aus.

• HistValues[1,0..14] gibt die Klassenmitten aus.

Falls weniger als 15 Klassen gewünscht sind, dann werden die nicht benötigten Arrayelemente mit 0 ausgegeben.

axis Array[0..3] of Real

Gibt die Achsenwerte an:

• Unterer Wert der X-Achse

• Oberer Wert der X-Achse

• Unterer Wert der Y-Achse

• Oberer Wert der Y-Achse

classWidth Real Gibt die berechnete Klassenbreite aus.

Page 140: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.9 Measurement data processing

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 140

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Ein-/Ausgangsparameter (InOut)

Tabelle 3-174: Ein-/Ausgangsparameter (InOut)

Parameter Datentyp Beschreibung

array Variant Array, mit dem gerechnet werden soll. Folgende Datentypen werden unterstützt:

• Int

• UInt

• Real

Status- und Fehleranzeigen

Tabelle 3-175: Status/Fehlercodes

statusID status Bedeutung Abhilfe / Hinweise

1 16#0000 Kein Fehler Bearbeitung erfolgreich beendet

1 16#7000 Kein Fehler Der Baustein wartet auf eine positive Flanke am Eingang "execute".

1 16#7001 Kein Fehler Erster Aufruf

1 16#7002 Kein Fehler Die Bearbeitung ist aktiv.

1 16#9100 Falscher Datentyp Verwenden Sie einen der folgenden Datentypen:

• Int

• UInt

• Real

1 16#9101 Falsche Anzahl der Klassen

Übergeben Sie dem Parameter "NumberOfClasses" einen gültigen Wert (1 bis 15).

1 16#9102 Kein Array übergeben Übergeben Sie dem Baustein am InOut-Parameter "array" ein Array.

2 16#8xxx Fehler bei der Bearbeitung der Anweisung "MOVE_BLK_VARIANT".

Nutzen Sie die TIA Portal Online Hilfe zur Fehlerbeseitigung.

3 16#8xxx Fehler bei der Bearbeitung des Bausteins "LGF_Shellsort"

Informationen zu diesem Baustein erhalten Sie in Kapitel 3.5.3.

Page 141: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.9 Measurement data processing

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 141

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Funktionsweise

Der Baustein sortiert die übergebenen Daten und berechnet mithilfe der überge-benen Klassenanzahl und den Datenbereich die allgemeine Klassenbreite. Anschließend zählt der Baustein die Werte, die innerhalb einer Klasse liegen. Um ein Histogramm zeichnen zu können, errechnet der Baustein auch die nötigen X- und Y-Koordinaten.

Die Elemente des übergebenen Arrays werden vom Baustein aufsteigend sortiert. Zur Sortierung werden die "LGF_Shellsort"-Bausteine verwendet (siehe 3.5.3).

Die Klassenanzahl kann mit folgender Faustformel angegeben werden:

𝑁𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝐶𝑙𝑎 𝑒 = √𝑛𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑒𝑙𝑒𝑚𝑒𝑛𝑡

z. B. 100 Werte -> 𝑁𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝐶𝑙𝑎 𝑒 = √100 = 10

Formeln

Die Klassenbreite errechnet der Baustein mit folgender Formel:

𝑐𝑙𝑎 𝑊 𝑑𝑡ℎ =𝑚𝑎𝑥 − 𝑚 𝑛

𝑁𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑐𝑙𝑎 𝑒

Page 142: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.9 Measurement data processing

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 142

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

3.9.5 LGF_SimpleSmoothingFB / LGF_SimpleSmoothingFC (NEU)

Kurzbeschreibung

Die einfachste Form der Glättung einer Messwertfolge ist die Berechnung des linearen Mittelwerts durch drei Punkte.

Der Baustein ist als Funktion und als Funktionsbaustein realisiert.

Tabelle 3-176: Gegenüberstellung FC-FB

Funktion (FC) Funktionsbaustein (FB)

Die Funktion berechnet den linearen Mittelwert azyklisch.

Die Funktion liest ein Array ein, das geglättet wird. Aus N-Messwerten lassen sich N-2 geglättete Messwerte berechnen. Daher enthält das Ausgabe-Array im Index (0) und Index (N) den Wert 0.

Der Funktionsbaustein berechnet den linearen Mittelwert zyklisch.

Der Funktionsbaustein liest mit jeder positiven Flanke am Eingang "insert" einen Wert ein. Sobald drei Werte eingelesen wurden, berechnet der Baustein einen geglätteten Wert und gibt diesen aus.

Funktionsbaustein (FB)

Abbildung 3-102: LGF_SimpleSmoothingFB

FB LGF_SimpleSmoothingFB

BOOL enable smoothedValue REAL

BOOL insert busy BOOL

REAL value done BOOL

error BOOL

status WORD

Eingangsparameter

Tabelle 3-177: Eingangsparameter

Parameter Datentyp Beschreibung

enable Bool Aktiviert den Baustein. Solange enable "TRUE" ist, kann der Baustein Werte am Parameter "value" übernehmen.

insert Bool Übernimmt bei einer positiven Flanke den Wert am Eingang "value" und gibt einen "smoothedValue" aus, wenn drei Werte eingelesen wurden.

value Real Wert, der in die Glättung eingehen sollen.

Ausgangsparameter

Tabelle 3-178: Ausgangsparameter

Parameter Datentyp Beschreibung

smoothedValue Real Die geglätteten Werte.

busy Bool Die Bearbeitung des Bausteins ist aktiv.

done Bool Die Bearbeitung wurde erfolgreich beendet.

error Bool Bei der Bearbeitung ist ein Fehler aufgetreten.

status Word Gibt den Statuscode der Bearbeitung aus (siehe Tabelle).

Page 143: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.9 Measurement data processing

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 143

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Status- und Fehleranzeigen

Tabelle 3-179: Status/Fehlercodes

status Bedeutung Abhilfe / Hinweise

16#0000 Kein Fehler Bearbeitung erfolgreich beendet

16#7000 Kein Fehler Der Baustein wartet auf die Aktivierung durch den Parameter "enable".

16#7001 Kein Fehler Erster Aufruf

16#7002 Kein Fehler Die Bearbeitung ist aktiv.

16#9000 Zu wenig Werte Der Baustein benötigt drei Werte um einen geglätteten Wert zu berechnen. Übergeben Sie weitere Werte mit einer positiven Flanke am Eingang "insert".

Funktion (FC)

Abbildung 3-103: LGF_SimpleSmoothingFC

FC LGF_SimpleSmoothingFC

ARRAY [*] of REAL values (InOut) error BOOL

ARRAY [*] of REAL smoothedValues(InOut) status WORD

Ausgangsparameter

Tabelle 3-180: Ausgangsparameter

Parameter Datentyp Beschreibung

error Bool Bei der Bearbeitung ist ein Fehler aufgetreten.

status Word Gibt den Statuscode der Bearbeitung aus (siehe Tabelle).

Ein-/Ausgangsparameter (InOut)

Tabelle 3-181: Ein-/Ausgangsparameter (InOut)

Parameter Datentyp Beschreibung

values Array[*] of Real Werte, die in die Glättung eingehen sollen.

smoothedValues Array[*] of Real Die geglätteten Werte.

Page 144: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.9 Measurement data processing

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 144

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Status- und Fehleranzeigen

Tabelle 3-182: Status/Fehlercodes

status Bedeutung Abhilfe / Hinweise

16#0000 Kein Fehler Bearbeitung erfolgreich beendet

16#7001 Kein Fehler Erster Aufruf

16#7002 Kein Fehler Die Bearbeitung ist aktiv.

16#9000 Zu wenig Werte Der Baustein benötigt drei Werte um einen geglätteten Wert zu berechnen. Vergrößern Sie das Array am Eingangsparameter "values". Passen Sie das Array am Ausgangsparameter "smoothedValues" an die neue Größe an.

16#9001 Ungleiche Arraygrößen

Die Arrays "values" und "smoothedValues" müssen die gleiche Größe besitzen.

Funktionsweise

Der Baustein berechnet die geglätteten Werte mit der folgenden Formel:

𝑦(𝑛)̅̅ ̅̅ ̅̅ =𝑦(𝑛 − 1) + 𝑦(𝑛) + 𝑦(𝑛 + 1)

3

Der berechnete Wert wird bzw. die berechneten Werte werden am Ausgang "smoothedValue" ausgegeben.

Aufgrund dieser Formel kann der FC keine Werte für die Elemente 0 und N berechnen.

Page 145: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.9 Measurement data processing

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 145

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

3.9.6 LGF_SmoothByPolynomFB / LGF_SmoothByPolynomFC (NEU)

Kurzbeschreibung

Zur Glättung wird durch fünf Wertepunkte ein Polynom 3. Grades gelegt. Die Fehlerquadrate der Distanzen zwischen Polynom und realem Wert werden hierbei minimiert. Aus den so gewonnenen Parametern des Polynoms können die geglätteten Werte bestimmt werden.

Der Baustein ist als Funktion und als Funktionsbaustein realisiert.

Tabelle 3-183: Gegenüberstellung FC-FB

Funktion (FC) Funktionsbaustein (FB)

Die Funktion berechnet die geglätteten Werte azyklisch.

Die Funktion liest ein Array ein, das geglättet wird. Aus N-Messwerten lassen sich N-4 geglättete Messwerte berechnen. Das Ausgabe-Array enthält im Index (0,1,N-1,N) den Wert 0. Allerdings können Ersatzwerte berechnet werden.

Der Funktionsbaustein berechnet die geglätteten Werte zyklisch.

Der Funktionsbaustein liest mit jeder positiven Flanke am Eingang "insert" einen Wert ein. Sobald fünf Werte eingelesen wurden, berechnet der Baustein einen geglätteten Wert und gibt diesen aus.

Funktionsbaustein (FB)

Abbildung 3-104: LGF_SmoothByPolynomFB

FB LGF_SmoothByPolynomFB

BOOL enable smoothedValue REAL

BOOL insert busy BOOL

REAL value done BOOL

error BOOL

status WORD

Eingangsparameter

Tabelle 3-184: Eingangsparameter

Parameter Datentyp Beschreibung

enable Bool Aktiviert den Baustein. Solange enable "TRUE" ist, kann der Baustein Werte am Parameter "value" übernehmen.

insert Bool Übernimmt den Wert am Eingang "value" und gibt einen "smoothedValue" aus, wenn fünf Werte eingelesen wurden.

value Real Wert, der in die Glättung eingehen soll.

Page 146: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.9 Measurement data processing

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 146

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Ausgangsparameter

Tabelle 3-185: Ausgangsparameter

Parameter Datentyp Beschreibung

smoothedValue Real Der geglättete Wert.

busy Bool Die Bearbeitung des Bausteins ist aktiv.

done Bool Die Bearbeitung wurde erfolgreich beendet.

error Bool Bei der Bearbeitung ist ein Fehler aufgetreten.

status Word Gibt den Statuscode der Bearbeitung aus (siehe Tabelle).

Status- und Fehleranzeigen

Tabelle 3-186: Status/Fehlercodes

status Bedeutung Abhilfe / Hinweise

16#0000 Kein Fehler Bearbeitung erfolgreich beendet

16#7000 Kein Fehler Der Baustein wartet auf die Aktivierung durch den Parameter "enable".

16#7001 Kein Fehler Erster Aufruf

16#7002 Kein Fehler Die Bearbeitung ist aktiv.

16#9000 Zu wenig Werte Der Baustein benötigt fünf Werte um einen geglätteten Wert zu berechnen. Übergeben Sie weitere Werte mit einer positiven Flanke am Eingang "insert".

Funktion (FC)

Abbildung 3-105: LGF_SmoothByPolynomFC

FC LGF_SmoothByPolynomFC

ARRAY [*] of REAL values (InOut) error BOOL

ARRAY [*] of REAL smoothedValues(InOut) status WORD

Ausgangsparameter

Tabelle 3-187: Ausgangsparameter

Parameter Datentyp Beschreibung

error Bool Bei der Bearbeitung ist ein Fehler aufgetreten.

status Word Gibt den Statuscode der Bearbeitung aus.

Ein-/Ausgangsparameter (InOut)

Tabelle 3-188: Ein-/Ausgangsparameter (InOut)

Parameter Datentyp Beschreibung

values Array[*] of Real Werte, die in die Glättung eingehen sollen.

smoothedValues Array[*] of Real Die geglätteten Werte.

Page 147: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.9 Measurement data processing

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 147

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Status- und Fehleranzeigen

Tabelle 3-189: Status/Fehlercodes

status Bedeutung Abhilfe / Hinweise

16#0000 Kein Fehler Bearbeitung erfolgreich beendet

16#7001 Kein Fehler Erster Aufruf

16#7002 Kein Fehler Die Bearbeitung ist aktiv.

16#9000 Zu wenig Werte Der Baustein benötigt fünf Werte um einen geglätteten Wert zu berechnen. Vergrößern Sie das Array am Eingangsparameter "values". Passen Sie das Array am Ausgangsparameter "smoothedValues" an die neue Größe an.

16#9001 Ungleiche Arraygrößen

Die Arrays "values" und "smoothedValues" müssen die gleiche Größe besitzen.

Funktionsweise

Das Ausgleichspolynom 3.Grades wird wie folgt berechnet:

𝑦(𝑛)̅̅ ̅̅ ̅̅ =1

35∗ (−3 ∗ 𝑦(𝑛 − 2) + 12 ∗ 𝑦(𝑛 − 1) + 17 ∗ 𝑦(𝑛) + 12 ∗ 𝑦(𝑛 + 1) − 3 ∗ 𝑦(𝑛 + 2))

Aus den N-Messwerten lassen sich so N-4 geglättete Messwerte berechnen. Das Ausgabe-Array enthält im Index (0,1, N-1, N) den Wert 0.

Diese "fehlenden" Werte werden mit den folgenden Formalismen berechnet:

𝑦(𝑛 − 2)̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅ =1

70∗ (69 ∗ 𝑦(𝑛 − 2) + 4 ∗ 𝑦(𝑛 − 1) − 6 ∗ 𝑦(𝑛) + 4 ∗ 𝑦(𝑛 + 1) − 𝑦(𝑛 + 2))

𝑦(𝑛 − 1)̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅ =2

70∗ (2 ∗ 𝑦(𝑛 − 2) + 27 ∗ 𝑦(𝑛 − 1) + 12 ∗ 𝑦(𝑛) − 8 ∗ 𝑦(𝑛 + 1) + 2 ∗ 𝑦(𝑛 + 2))

𝑦(𝑛 + 1)̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅ =2

70∗ (2 ∗ 𝑦(𝑛 − 2) − 8 ∗ 𝑦(𝑛 − 1) + 12 ∗ 𝑦(𝑛) + 27 ∗ 𝑦(𝑛 + 1) + 2 ∗ 𝑦(𝑛 + 2))

𝑦(𝑛 + 2)̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅ =1

70∗ (−𝑦(𝑛 − 2) + 4 ∗ 𝑦(𝑛 − 1) − 6 ∗ 𝑦(𝑛) + 4 ∗ 𝑦(𝑛 + 1) + 69 ∗ 𝑦(𝑛 + 2))

Page 148: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.9 Measurement data processing

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 148

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

3.9.7 LGF_DifferenceQuotientFB / LGF_DifferenceQuotientFC (NEU)

Kurzbeschreibung

Dieser Baustein differenziert numerisch ein zeitlich äquidistant abgetastetes Signal. So kann z. B. aus einer gemessenen Ortskurve die Geschwindigkeit, oder aus der gemessenen Geschwindigkeit die Beschleunigung errechnet werden. Um die Auswirkungen eines streuenden Messsignals zu minimieren nutzt dieser Algorithmus ein Ausgleichspolynom.

Der Baustein ist als Funktion und als Funktionsbaustein realisiert.

Tabelle 3-190: Gegenüberstellung FC-FB

Funktion (FC) Funktionsbaustein (FB)

Die Funktion berechnet die differenzierten Werte azyklisch.

Die Funktion liest ein Array ein, das differenziert wird. Aus N-Messwerten lassen sich N-4 geglättete Messwerte berechnen. Das Ausgabe-Array enthält im Index (0,1,N-1,N) den Wert 0. Allerdings können Ersatzwerte berechnet werden.

Der Funktionsbaustein berechnet die differenzierten Werte zyklisch.

Der Funktionsbaustein liest mit jeder positiven Flanke am Eingang "insert" einen Wert ein. Sobald fünf Werte eingelesen wurden, berechnet der Baustein einen differenzierten Wert und gibt diesen aus.

Funktionsbaustein (FB)

Abbildung 3-106: LGF_DifferenceQuotientFB

FB LGF_DifferenceQuotientFB

BOOL enable derivatedValue REAL

BOOL insert busy BOOL

REAL value valid BOOL

REAL deltaT error BOOL

status WORD

Eingangsparameter

Tabelle 3-191: Eingangsparameter

Parameter Datentyp Beschreibung

enable Bool Aktiviert den Baustein. Solange enable "TRUE" ist, kann der Baustein Werte am Parameter "value" übernehmen.

insert Bool Übernimmt den Wert am Eingang "value" und gibt einen "derivatedValue" aus, wenn fünf Werte eingelesen wurden.

value Real Wert, der in die Differenzierung eingehen sollen.

deltaT Real äquidistanter Abstand zwischen zwei Messwerten. (z. B. 1s)

Page 149: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.9 Measurement data processing

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 149

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Ausgangsparameter

Tabelle 3-192: Ausgangsparameter

Parameter Datentyp Beschreibung

derivatedValue Real Der differenzierte Wert.

busy Bool Die Bearbeitung des Bausteins ist aktiv.

valid Bool Die Bearbeitung wurde erfolgreich beendet.

error Bool Bei der Bearbeitung ist ein Fehler aufgetreten.

status Word Gibt den Statuscode der Bearbeitung aus (siehe Tabelle).

Status- und Fehleranzeigen

Tabelle 3-193: Status/Fehlercodes

status Bedeutung Abhilfe / Hinweise

16#0000 Kein Fehler Bearbeitung erfolgreich beendet

16#7000 Kein Fehler Der Baustein wartet auf die Aktivierung durch den Parameter "enable".

16#7001 Kein Fehler Erster Aufruf

16#7002 Kein Fehler Die Bearbeitung ist aktiv.

16#9000 Zu wenig Werte Der Baustein benötigt fünf Werte um einen differenzierten Wert zu berechnen. Übergeben Sie weitere Werte mit einer positiven Flanke am Eingang "insert".

Funktion (FC)

Abbildung 3-107: LGF_DifferenceQuotientFC

FC LGF_DifferenceQuotientFC

REAL deltaT error BOOL

ARRAY [*] of REAL values (InOut) status WORD

ARRAY [*] of REAL derivatedValues(InOut)

Eingangsparameter

Tabelle 3-194: Eingangsparameter

Parameter Datentyp Beschreibung

deltaT Real äquidistanter Abstand zwischen zwei Messwerten. (z. B. 1s)

Page 150: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.9 Measurement data processing

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 150

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Ausgangsparameter

Tabelle 3-195: Ausgangsparameter

Parameter Datentyp Beschreibung

busy Bool Die Bearbeitung des Bausteins ist aktiv.

done Bool Die Bearbeitung wurde erfolgreich beendet.

error Bool Bei der Bearbeitung ist ein Fehler aufgetreten.

status Word Gibt den Statuscode der Bearbeitung aus (siehe Tabelle).

Ein-/Ausgangsparameter (InOut)

Tabelle 3-196: Ein-/Ausgangsparameter (InOut)

Parameter Datentyp Beschreibung

values Array[*] of Real Werte, die in die Differenzierung eingehen sollen.

derivatedValues Array[*] of Real Die differenzierte Wertereihe.

Status- und Fehleranzeigen

Tabelle 3-197: Status/Fehlercodes

status Bedeutung Abhilfe / Hinweise

16#0000 Kein Fehler Bearbeitung erfolgreich beendet

16#7001 Kein Fehler Erster Aufruf

16#7002 Kein Fehler Die Bearbeitung ist aktiv.

16#9000 Zu wenig Werte Der Baustein benötigt fünf Werte um einen differenzierten Wert zu berechnen. Vergrößern Sie das Array am Eingangsparameter "values".

16#9001 Ungleiche Arraygrößen

Die Arrays "values" und "derivatedValues" müssen die gleiche Größe besitzen.

Page 151: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.9 Measurement data processing

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 151

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Funktionsweise

Zur Berechnung des Differenzenquotienten eines streuenden Signals wird zuerst ein Ausgleichspolynom dritten Grades durch die Messwerte gelegt. Anschließend wird dieses Polynom differenziert. Durch dieses Verfahren kann auch ein verrauschtes Eingangssignal noch sinnvoll differenziert werden.

Der Differenzquotient berechnet sich mit folgender Formel:

�̇̅�(𝑛) =1

12𝑑𝑒𝑙𝑡𝑎𝑇(𝑦(𝑛 − 2) − 8𝑦(𝑛 − 1) + 8𝑦(𝑛 + 1) − 𝑦(𝑛 + 2))

deltaT: äquidistanter Abstand zwischen zwei Messwerten (z.B. 1s).

Die Funktion (FC) kann aus N-Messwerten N-4 differenzierte und geglättete Messwerte berechnen. Das Ausgabe-Array würde im Index (0,1,N-1,N) mit 0 belegt werden. Allerdings können mit folgenden Formalismen Ersatzwerte berechnet werden:

�̇̅�(𝑛 − 2) =1

84𝑑𝑒𝑙𝑡𝑎𝑇(−125𝑦(𝑛 − 2) + 136𝑦(𝑛 − 1) + 48𝑦(𝑛) − 88𝑦(𝑛 + 1)

+ 29𝑦(𝑛 + 2))

�̇̅�(𝑛 − 1) =1

84𝑑𝑒𝑙𝑡𝑎𝑇(−38𝑦(𝑛 − 2) − 2𝑦(𝑛 − 1) + 24𝑦(𝑛) + 26𝑦(𝑛 + 1)

− 10𝑦(𝑛 + 2))

�̇̅�(𝑛 + 1) =1

84d𝑑𝑒𝑙𝑡𝑎𝑇(10𝑦(𝑛 − 2) − 26𝑦(𝑛 − 1) − 24𝑦(𝑛) + 2𝑦(𝑛 + 1)

+ 38𝑦(𝑛 + 2))

�̇̅�(𝑛 + 2) =1

84𝑑𝑒𝑙𝑡𝑎𝑇(−29𝑦(𝑛 − 2) + 88𝑦(𝑛 − 1) − 48𝑦(𝑛) − 136𝑦(𝑛 + 1)

+ 125𝑦(𝑛 + 2))

deltaT: äquidistanter Abstand zwischen zwei Messwerten (z. B. 1s).

Page 152: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.9 Measurement data processing

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 152

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

3.9.8 LGF_RegressionLine (NEU)

Kurzbeschreibung

Der einfachste Fall einer Regression ist die Regressionsgerade. D. h. der angenommene Zusammenhang zwischen Ein- und Ausgangssignal ist eine lineare Gerade.

Abbildung 3-108: Regressionline

Baustein

Abbildung 3-109: LGF_RegressionLine

FC LGF_RegressionLine

ARRAY [*] of LGF_typeRegressionLine values(InOut) slope LREAL

intercept LREAL

error BOOL

status WORD

Ausgangsparameter

Tabelle 3-198: Ausgangsparameter

Parameter Datentyp Beschreibung

slope LReal Steigung der Geraden

intercept LReal Schnittpunkt mit der Y-Achse

error Bool Bei der Bearbeitung ist ein Fehler aufgetreten.

status Word Gibt den Statuscode der Bearbeitung aus (siehe Tabelle).

Page 153: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

3 Erläuterung der Bausteine

3.9 Measurement data processing

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 153

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Ein-/Ausgangsparameter (InOut)

Tabelle 3-199: Ein-/Ausgangsparameter (InOut)

Parameter Datentyp Beschreibung

values Array[*] of LGF_typeRegressionLine

Die Datenpunkte werden mit Ihren X- und Y-Werten übergeben.

Der Datentyp "LGF_typeRegressionLine" hat den folgenden Aufbau:

• x (Real)

• y (Real)

Status- und Fehleranzeigen

Tabelle 3-200: Status/Fehlercodes

status Bedeutung Abhilfe / Hinweise

16#0000 Kein Fehler Bearbeitung erfolgreich beendet

16#9000 Zu wenig Werte Der Baustein benötigt mindestens zwei Wertepaare um eine Regressionsgerade zu berechnen. Vergrößern Sie das Array am Eingangsparameter "values" in der zweiten Dimension.

Funktionsweise

Der Baustein berechnet die Regressionsgerade mit folgender Geradengleichung:

𝑓(𝑥) = 𝑎 + 𝑏 ∗ 𝑥

b: Steigung der Gerade

a: Schnittpunkt mit y-Achse

Die Steigung b wird mit folgender Gleichung berechnet:

𝑏 =𝑛 ∗ ∑ (𝑥(𝑛) ∗ 𝑦(𝑛)) − (∑ 𝑥(𝑛) ∗ ∑ 𝑦(𝑛))𝑁

1𝑁1

𝑁1

𝑛 ∗ ∑ 𝑥2(𝑛)𝑁1 − (∑ 𝑥(𝑛) ∗ ∑ 𝑥(𝑛)𝑁

1𝑁1 )

Der Schnittpunkt mit der Y-Achse wird mit folgender Gleichung berechnet:

𝑎 =∑ 𝑦(𝑛)𝑁1

𝑁− 𝑏 ∗

∑ 𝑥(𝑛)𝑁1

𝑁

Page 154: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

4 Anhang

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 154

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

4 Anhang

4.1 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: 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: www.siemens.de/industry/supportrequest

SITRAIN – Training for Industry

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: 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: 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 Apple iOS, Android und Windows Phone verfügbar: support.industry.siemens.com/cs/ww/de/sc/2067

Page 155: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

4 Anhang

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 155

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

4.2 Links und Literatur

Tabelle 4-1

Nr. Thema

\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

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

Page 156: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

4 Anhang

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 156

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

4.3 Änderungsdokumentation

4.3.1 Versionierung der Bibliothek

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

Tabelle 4-2: Definition der Version

V 1. 2. 3

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

• Upgrade auf neue TIA Portal Version

Beispiel zu Versionierung

Tabelle 4-3: Beispiel für Änderung der Version

Bibliothek FB1 FB2 FC1 FC2 Kommentar

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.0 Neue Funktionen, Fehlerbehebungen

Page 157: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

4 Anhang

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 157

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

4.3.2 Änderungsprotokoll

Tabelle 4-4 : Änderungsprotokoll

Version Datum Änderung

V1.0.0 09/2015 Erste Ausgabe

V1.0.1 10/2015 LGF_Astro V1.0.1

• T_ADD Anweisung wurde durch "+” ersetzt.

V1.0.2 10/2015 LGF_BinaryToGray V1.0.1

• Name geändert

LGF_GrayToBinary V1.0.1

• Name geändert

V1.0.3 11/2015 LGF_CompareVariant V1.0.1

• Fehlerkorrektur

V1.0.4 11/2015 LGF_SawTooth V1.0.1

• Fehlerkorrektur

V1.0.5 11/2015 LGF_Astro V1.0.2

• Fehlerkorrektur

LGF_AverageAndDeviation V1.0.1

• Fehlerkorrektur

LGF_TimerSwitch V1.0.1

• Fehlerkorrektur

LGF_FIFO V1.0.1

• Fehlerkorrektur

V2.0 07/2016 Neu:

Kapitel 1.3 Bibliotheksressourcen

FB LGF_PulseRelay V1.0.0

FB LGF_SetTime V1.0.0

FB LGF_FloatingAverage V1.0.0

FC LGF_DTLtoString V1.0.0

FC LGF_StringToDTL V1.0.0

FB LGF_LimRateOfChangeBasic V1.0.0

FB LGF_LimRateOfChangeAdvanced V1.0.0

Überarbeitet:

LGF_Astro V1.1.1

• Ausgang systemTime und localTime hinzugefügt

FB LGF_TimerSwitch V1.1.0

• Zwei neue Modi: Werktag, Wochenende

FB LGF_ShallSort… V1.1.0

• Neuer Mode: Absteigend Sortieren

FB LGF_Frequency V1.1.0

• Neue Funktion: Puls-Pause-Verhältnis einstellbar

FB LGF_Impulse V1.1.0

• Ruft neuen LGF_Frequency V1.1.0 auf.

V2.0.1 01/2017 Überarbeitet:

LGF_Astro V1.1.2

• Fehlerkorrektur bei Sonnenauf- und Sonnenuntergangsberechnung.

V2.0.2 01/2017 Überarbeitet:

Alle Bausteine: Upgrade TIA V14

V3.0.0 03/2017 Neu:

Page 158: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

4 Anhang

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 158

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Version Datum Änderung

FC LGF_CalendarDayWeekV1.0.0

FC LGF_CompareReal V1.0.0

FC LGF_RandomBasic V1.0.0

FC LGF_HighLowLimit V1.0.0

FC LGF_BitsToWord V1.0.0

FC LGF_WordToBits V1.0.0

FC LGF_ScaleLinear V1.0.0

FC LGF_StringToTaddr V1.0.0

FC LGF_TaddrToString V1.0.0

FB LGF_Ramp V1.0.0

FB LGF_NonLin V1.0.0

Überarbeitet:

Ergänzung im Kapitel 4.3.1 Versionierung der Bibliothek

FB LGF_PulseRelay V1.0.2

• Kommentarkorrektur

FB LGF_Astro V1.1.4

• Codeoptimierung

FB LGF_SetTime V1.0.2

• Korrektur: FB Nummer: automatic

FB LGF_FloatingAverage V1.1.0

• Codeoptimierung

• Neuer Eingangsparameter "windowSize"

FC LGF_MatrixAddition V2.0.0

• Codeoptimierung

• Eingangsparameter geändert auf ARRAY*

FC LGF_MatrixInverse V2.0.0

• Codeoptimierung

• Eingangsparameter geändert auf ARRAY*

FC LGF_MatrixMultiplication V2.0.0

• Codeoptimierung

• Eingangsparameter geändert auf ARRAY*

FC LGF_MatrixSubtraction V2.0.0

• Codeoptimierung

• Eingangsparameter geändert auf ARRAY*

FC LGF_MatrixTranspose V2.0.0

• Codeoptimierung

• Eingangsparameter geändert auf ARRAY*

FB LGF_Impulse V1.2.0

• Codeoptimierung: kein Aufruf von LGF_Frequency mehr

Page 159: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

4 Anhang

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 159

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Version Datum Änderung

V3.0.1 05/2017 Überarbeitet:

FB LGF_Ramp V1.0.1

• Kommentarkorrektur

V4.0.0 09/2018 Neu:

FC LGF_GermanHoliday V1.0.0 FC LGF_Factorial V1.0.0 FC LGF_Distance V1.0.0 FB LGF_LIFO V1.0.0 FC LGF_CRC8 V1.0.0 FC LGF_CRC8For1Byte V1.0.0 FC LGF_CRC16 V1.0.0 FC LGF_CRC32 V1.0.0 FC LGF_IntToString V1.0.0 FC LGF_TimeToString V1.0.0 FB LGF_SawToothCI V1.0.0 FB LGF_TriangleCI V1.0.0 FB LGF_RectangleCI V1.0.0 FB LGF_SinusCI V1.0.0 FB LGF_CosinusCI V1.0.0

Überarbeitet:

Ergänzung von Kapitel 2.2 Simulierbarkeit mit SIMATIC S7-PLCSIM Advanced

FB LGF_Astro V1.1.5

• Codeoptimierung

FB LGF_TimerSwitch V1.1.2

• Codeoptimierung

V4.0.1 - Nur für TIA Portal V15

V4.0.2 10/2018 FB LGF_TimerSwitch V1.1.3

Verbindung zum Typ wiederhergestellt.

V4.0.3 02/2019 Alle Bausteine: Upgrade TIA V15.1 Upd1

Anwenderdefinierte Dokumentation (Anwenderhilfe) für alle Bausteine.

Neu:

FB LGF_Boxplot

FB LGF_Histogram

FB LGF_SimpleSmoothingFB

FC LGF_SimpleSmoothingFC

FB LGF_SmoothByPolynomFB

FC LGF_SmoothByPolynomFC

FB LGF_DifferenceQuotiontFB

FC LGF_DifferenceQuotiontFC

FB LGF_RegressionLine

FC LGF_UnixTimeToDTL

FC LGF_DTLToUnixTime

FB LGF_CountFalInDWordFB (FC LGF_CountFalInDWord → 99_Legacy)

FB LGF_CountRisInDWordFB (FC LGF_CountRisInDWord → 99_Legacy)

Page 160: Functions (LGF) für SIMATIC S7 1500 · 2020. 5. 11. · • SIMATIC S7-1500 und SIMATIC S7-1500 F Produktfamilie (ab Firmware V2.0) • Simulation mit SIMATIC S7-PLCSIM (ab V14)

4 Anhang

Library of General Functions (LGF) Beitrags-ID: 109479728, V4.0.6, 11/2019 160

© S

iem

en

s A

G 2

01

9 A

ll ri

gh

ts r

ese

rve

d

Version Datum Änderung

Überarbeitet:

FC LGF_XRoot V1.0.4

• Codeoptimierung

FC LGF_Distance V1.1.0

• Codeoptimierung

FB LGF_FIFO V2.0.0

• Ausgang "done" gelöscht

FB LGF_LIFO V2.0.0

• Ausgang "done" gelöscht

FB LGF_ShellSortInt V2.0.0

• Ausgang "done" gelöscht

FB LGF_ShellSortUint V2.0.0

• Ausgang "done" gelöscht

FB LGF_ShellSortReal V2.0.0

• Ausgang "done" gelöscht

FC LGF_ScaleLinear V2.0.0

• Datentyp geändert (Variant → LREAL)

FC LGF_AverageAndDeviation V2.0.0

• Datentyp geändert (Variant → ARRAY [*] of LREAL)

FB LGF_SetTime V1.0.5

• Steigende Flanke am Eingang REQ der Anweisung SET_TIMEOUT

V4.0.4 06/2019 Bugfixing

FB LGF_DifferenceQuotientFB V1.0.1

FB LGF_PulseRelay V1.0.5

V4.0.5 09/2019 FB LGF_SetTime V1.0.6

• Doku überarbeitet und neue Zeitzonen hinzugefügt

V4.0.6 11/2019 Bugfixing

FB LGF_SmoothByPolynomFB