Festo · Inhalt und allgemeine Sicherheitshinweise Festo P.BE-FST4-B2-DE de 0403NH I Autoren S....

406
Software-Paket FST Version 4 Band 2 Treiber und Bau- steine Beschreibung de 0403NH [682296] Festo Software Tools

Transcript of Festo · Inhalt und allgemeine Sicherheitshinweise Festo P.BE-FST4-B2-DE de 0403NH I Autoren S....

  • Software-Paket FST

    Version 4

    Band 2

    Treiber und Bau-steine

    Beschreibungde 0403NH[682296]

    Festo Software Tools

  • Inhalt und allgemeine Sicherheitshinweise

    IFesto P.BE-FST4-B2-DE de 0403NH

    Autoren S. Breuer, Dr. F. Haase, Z. Kirch, J. Römer. . . . . . . .I. Walter, O. Westrik. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    Redaktion M. Holder. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    Original de. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    Ausgabe de 0403NH. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    Bezeichnung P.BE-FST4-B2-DE. . . . . . . . . . . . . . . . . . . . . . .

    Bestell-Nr. des Software-Pakets 537 927. . . . . . . . . . . . . . .

    � (Festo AG & Co. KG, D-73726 Esslingen, 2004)Internet: http://www.festo.comE-Mail: [email protected]

    Weitergabe sowie Vervielfältigung dieses Dokuments, Verwer-tung und Mitteilung seines Inhalts verboten, soweit nichtausdrücklich gestattet. Zuwiderhandlungen verpflichten zuSchadenersatz. Alle Rechte vorbehalten, insbesondere dasRecht, Patent-, Gebrauchsmuster- oder Geschmacksmu-steranmeldungen durchzuführen.

  • Inhalt und allgemeine Sicherheitshinweise

    II Festo P.BE-FST4-B2-DE de 0403NH

    Microsoft® Windows® eingetragenes Warenzeichen derMicrosoft Corporation

    Microsoft Internet Explorer®eingetragenes Warenzeichen derMicrosoft Corporation

    AS-Interface® eingetragenes Warenzeichen derAS-Interface Association

    MODBUS® eingetragenes Warenzeichen vonSchneider Automation

  • Inhalt und allgemeine Sicherheitshinweise

    IIIFesto P.BE-FST4-B2-DE de 0403NH

    Inhaltsverzeichnis

    Bestimmungsgemäße Verwendung IX. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    Zielgruppe IX. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Service IX. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    Hinweise zur vorliegenden Beschreibung IX. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Treiber und Bausteine zum FST-SPS-Betriebssystem X. . . . . . . . . . . . . . . . . . . . . . . . . .

    1. Standard-Treiber und -Bausteine 1-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    1.1 Allgemeine Bausteine 1-5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    1.2 Bausteine zum Steuern der Programmausführung 1-11. . . . . . . . . . . . . . . . . . . .

    1.3 Bausteine zur Fehlerbehandlung 1-14. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    1.4 Bausteine zum Ändern von Operanden 1-16. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    1.5 Einstellen der Echtzeituhr oder der Systemuhr 1-21. . . . . . . . . . . . . . . . . . . . . . .

    1.5.1 Bausteine zum Einstellen der Echtzeituhr oder Systemuhr 1-23. . . . . .

    1.6 Bausteine für 32-Bit Arithmetik 1-26. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    1.7 Gleitpunktoperationen (Treiber FPMATHDR) 1-30. . . . . . . . . . . . . . . . . . . . . . . . .

    1.7.1 Konfiguration des Treibers und Zuordnung von Parametern 1-34. . . . .

    1.7.2 Zusätzliche CI-Kommandos 1-34. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    1.7.3 Bausteine 1-35. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    1.7.4 Beispiel: Verwendung der Bausteine 1-52. . . . . . . . . . . . . . . . . . . . . . . .

    1.8 String-Treiber (Treiber STRINGS) 1-54. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    1.8.1 Treiber konfigurieren und parametrieren 1-54. . . . . . . . . . . . . . . . . . . .

    1.8.2 Initialisierung von Strings 1-55. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    1.8.3 Zusätzliche CI-Kommandos 1-56. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    1.8.4 Bausteine für die Behandlung von Strings 1-57. . . . . . . . . . . . . . . . . . .

    1.9 PID-Regler (Treiber PID) 1-80. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    1.9.1 Einführung 1-80. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    1.9.2 Konfiguration und Parametrierung des Treibers 1-80. . . . . . . . . . . . . . .

    1.9.3 Zusätzliche CI-Kommandos 1-81. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    1.9.4 Baustein für den Treiber PID 1-81. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

  • Inhalt und allgemeine Sicherheitshinweise

    IV Festo P.BE-FST4-B2-DE de 0403NH

    1.10 Serielle Kommunikation 1-84. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    1.10.1 Treiber auswählen und parametrieren 1-85. . . . . . . . . . . . . . . . . . . . . . .

    1.10.2 Bausteine für serielle Kommunikation 1-86. . . . . . . . . . . . . . . . . . . . . . .

    1.11 TCP/IP (Treiber TCPIP...) 1-100. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    1.11.1 Konfiguration des TCP/IP-Treibers 1-104. . . . . . . . . . . . . . . . . . . . . . . . . .

    1.11.2 Zusätzliche CI-Kommandos 1-108. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    1.11.3 Bausteine für TCP/IP 1-111. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    1.11.4 Weitere Bausteine für TCP/IP 1-121. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    1.11.5 Bausteine zur Handhabung einer zweiten Netzwerkkarte 1-137. . . . . . .

    1.11.6 EasyIP Statuswerte 1-140. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    1.11.7 Empfang von Daten über Handler 1-140. . . . . . . . . . . . . . . . . . . . . . . . . .

    1.11.8 Zeitdifferenz 1-141. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    1.11.9 Fehlercodes 1-142. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    1.12 Web-Server (Treiber WEB_SRVR) 1-143. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    1.12.1 Treiber installieren 1-143. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    1.12.2 Möglichkeiten und Grenzen des Web-Servers 1-144. . . . . . . . . . . . . . . . .

    1.12.3 Dateien für den Web-Server in die Steuerung übertragen 1-149. . . . . . .

    1.12.4 Aufrufen von HTML-Seiten mit einem Internet-Browser 1-150. . . . . . . . .

    1.12.5 Grundlagen zum Thema Web-Server 1-152. . . . . . . . . . . . . . . . . . . . . . . .

    1.12.6 Kurze Einführung zur Erstellung von HTML-Seiten 1-154. . . . . . . . . . . . .

    1.13 E-Mail-Treiber (SMTP-Treiber) 1-158. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    1.13.1 Überblick 1-158. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    1.13.2 Konfiguration und Parametrierung des Treibers 1-159. . . . . . . . . . . . . .

    1.13.3 Zusätzliche CI-Kommandos 1-159. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    1.13.4 Baustein für den Treiber SMTP 1-160. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    1.13.5 Fehlercodes 1-163. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    1.13.6 Beispielprogramm 1-164. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

  • Inhalt und allgemeine Sicherheitshinweise

    VFesto P.BE-FST4-B2-DE de 0403NH

    2. Treiber und Bausteine für CPX-FEC 2-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    2.1 Zugriff auf interne Parameter und Daten (FECCPX) 2-4. . . . . . . . . . . . . . . . . . . .

    2.1.1 Zusätzliche CI-Kommandos 2-4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    2.1.2 Bausteine 2-5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    2.1.3 Fehlermeldung 2-15. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    2.2 Kommunikation via MODBUS/TCP 2-16. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    2.2.1 Konfiguration des Treibers MODBUSTCP 2-16. . . . . . . . . . . . . . . . . . . . .

    2.2.2 Zusätzliche CI-Kommandos 2-16. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    2.2.3 Kommunikation über Modbus/TCP 2-17. . . . . . . . . . . . . . . . . . . . . . . . .

    3. Treiber und Bausteine für FEC Compact, FEC Standard und PS1 3-1. . . . . . . .

    3.1 Schnelle Zähler (FECCNTR) 3-4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    3.1.1 Benötigte Treiber und Bausteine 3-5. . . . . . . . . . . . . . . . . . . . . . . . . . .

    3.1.2 Einsatz des Bausteins 3-5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    3.2 Schnelle Ausgänge (FASTOUT) 3-12. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    3.2.1 Treiber konfigurieren und parametrieren 3-13. . . . . . . . . . . . . . . . . . . .

    3.2.2 Baustein FASTOUT 3-14. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    3.2.3 Zusätzliche CI-Kommandos 3-15. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    3.2.4 Beispiele für FASTOUT 3-15. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    3.2.5 Hinweise und Einschränkungen 3-16. . . . . . . . . . . . . . . . . . . . . . . . . . . .

    3.3 Schrittmotor-Treiber (STEPLITE) 3-18. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    3.3.1 STEPLITE in einem Projekt einsetzen 3-20. . . . . . . . . . . . . . . . . . . . . . . .

    3.3.2 StepLT Bausteinfunktionen 3-21. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    3.3.3 Liste der Fehlernummern 3-32. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    3.4 Watchdog-Treiber (WATCHDRV) 3-33. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    3.4.1 Konfiguration und Parametrierung des Treibers 3-33. . . . . . . . . . . . . . .

    3.4.2 Zusätzliche CI-Kommandos 3-34. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    3.4.3 Bausteine für WATCHDOG 3-34. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

  • Inhalt und allgemeine Sicherheitshinweise

    VI Festo P.BE-FST4-B2-DE de 0403NH

    4. Weitere Treiber und Bausteine für FEC Compact 4-1. . . . . . . . . . . . . . . . . . . . .

    4.1 FEC Remote E/A-Erweiterung (FCMASTER/FCSLAVE) 4-4. . . . . . . . . . . . . . . . . .

    4.1.1 Konfiguration der Slave-FECs 4-5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    4.1.2 Konfiguration des Master-FEC 4-6. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    4.1.3 Laufzeitverhalten 4-8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    4.1.4 Diagnosebaustein (REMDIAG) 4-9. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    5. Weitere Treiber und Bausteine für PS1 5-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    5.1 Baustein für Encoder-Modul IM2... (Baustein IM2X) 5-5. . . . . . . . . . . . . . . . . . .

    5.2 AS-Interface (ASI-Treiber) 5-9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    5.2.1 Treiber auswählen und parametrieren 5-9. . . . . . . . . . . . . . . . . . . . . . .

    5.2.2 Der AS-Interface Konfigurator 5-9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    5.2.3 Auswahl des gewünschten Masters 5-10. . . . . . . . . . . . . . . . . . . . . . . . .

    5.2.4 Konfiguration der einzelnen Teilnehmer 5-10. . . . . . . . . . . . . . . . . . . . . .

    5.2.5 Zusätzliche CI-Kommandos 5-14. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    5.2.6 Fehlernummern 5-15. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    5.2.7 Bausteine für AS-Interface 5-16. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    5.3 Festo Feldbus Master (FESTOBUS) 5-20. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    5.3.1 Festo-Feldbus-Parameter einstellen 5-20. . . . . . . . . . . . . . . . . . . . . . . . .

    5.3.2 Der Festo Feldbus-Konfigurator 5-22. . . . . . . . . . . . . . . . . . . . . . . . . . . .

    5.3.3 Programmierung von Feldbus-Operanden 5-27. . . . . . . . . . . . . . . . . . . .

    5.3.4 Bausteine 5-28. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    5.3.5 Zusätzliche CI-Kommandos 5-36. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    5.3.6 Fehlernummern 5-37. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    5.3.7 CP61 LED Fehlercodes 5-37. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    5.4 Festo Feldbus Slave (FBSLAVE) 5-38. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    5.4.1 Treiber auswählen und parametrieren 5-38. . . . . . . . . . . . . . . . . . . . . . .

    5.4.2 Anwendung des Bausteins FBSLAVE 5-38. . . . . . . . . . . . . . . . . . . . . . . .

    5.5 PROFIBUS-DP mit Modul CP62 (Treiber PDP) 5-45. . . . . . . . . . . . . . . . . . . . . . . . .

    5.5.1 Treiber auswählen und parametrieren 5-45. . . . . . . . . . . . . . . . . . . . . . .

    5.5.2 Konfiguration 5-47. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    5.5.3 Fehlermeldungen 5-48. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    5.5.4 Bausteine 5-49. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    5.6 PROFIBUS-FMS (Treiber PROFIFMS) 5-53. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

  • Inhalt und allgemeine Sicherheitshinweise

    VIIFesto P.BE-FST4-B2-DE de 0403NH

    5.6.1 Treiber auswählen und parametrieren 5-53. . . . . . . . . . . . . . . . . . . . . . .

    5.6.2 Zusätzliche CI-Kommandos für PROFIFMS 5-54. . . . . . . . . . . . . . . . . . . .

    5.6.3 Bausteine 5-54. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    5.6.4 Objektverzeichnis 5-56. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    5.6.5 Fehlercode der Bausteine 5-59. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    5.6.6 Fehlerwerte in der Statusvariable 5-59. . . . . . . . . . . . . . . . . . . . . . . . . . .

    5.6.7 Heterogene Netzwerke 5-60. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    5.7 Bausteine zur Handhabung von Dateien 5-62. . . . . . . . . . . . . . . . . . . . . . . . . . . .

    5.7.1 Bausteine 5-64. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    5.7.2 Fehlernummern und Zustandswerte 5-76. . . . . . . . . . . . . . . . . . . . . . . .

    5.8 Einstellen der Login-Methode 5-77. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    6. Hinweise zur Adressierung 6-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    6.1 Lokale Ein- /Ausgänge FEC Standard, FEC Compact und HC0x 6-4. . . . . . . . . . .

    6.1.1 FEC Standard 6-4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    6.1.2 FEC Compact 6-6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    6.1.3 HC0X 6-7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    6.1.4 Analoges Potentiometer 6-7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    6.1.5 Drehschalter 6-7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    6.1.6 Schnelle Zähler 6-9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    6.1.7 Software-Inkremental-Encoder 6-10. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    6.2 Ein- und Ausgangsmodule (PS1) 6-12. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    6.3 Digitale Ein- und Ausgangsmodule für PS1 6-15. . . . . . . . . . . . . . . . . . . . . . . . . .

    6.3.1 Digitale Eingangsmodule 6-16. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    6.3.2 Digitale Ausgangsmodule 6-21. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    6.3.3 Multi-EA-Modul 6-36. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    6.3.4 Sondermodule 6-38. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    6.4 Analoge E/A-Module für PS1 6-41. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    6.4.1 Analoge Eingangsmodule 6-42. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    6.4.2 Analoge Ausgangsmodule 6-54. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

  • Inhalt und allgemeine Sicherheitshinweise

    VIII Festo P.BE-FST4-B2-DE de 0403NH

    A. Übersicht der Treiber und Bausteine A-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    A.1 Bausteine A-3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    A.1.1 Standard-Bausteine A-3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    A.1.2 Bausteine für CPX-Front-End-Controller A-10. . . . . . . . . . . . . . . . . . . . . .

    A.1.3 Bausteine für FEC Compact, FEC Standard und PS1 A-10. . . . . . . . . . . .

    A.1.4 Weitere Treiber und Bausteine für FEC Compact A-12. . . . . . . . . . . . . . .

    A.1.5 Weitere Treiber und Bausteine für PS1 A-12. . . . . . . . . . . . . . . . . . . . . .

    A.2 Treiber A-15. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    B. Stichwortverzeichnis B-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    B.1 Stichwortverzeichnis B-3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

  • Inhalt und allgemeine Sicherheitshinweise

    IXFesto P.BE-FST4-B2-DE de 0403NH

    Bestimmungsgemäße Verwendung

    Mit diesem Software-Paket kann der Anwender, der mit derjeweiligen SPS/IPC vertraut ist, die Konfiguration, Program-mierung und Inbetriebnahme der vom Software-Paket unter-stützten SPS/IPC vornehmen.

    Beachten Sie die in den jeweiligen Kapiteln angegebenenNormen sowie die Vorschriften der Berufsgenossenschaften,des Techn. Überwachungsvereins, die VDE-Bestimmungenoder entsprechende nationale Bestimmungen.

    Zielgruppe

    Diese Beschreibung wendet sich ausschließlich an ausgebil-dete Fachleute der Steuerungs- und Automatisierungstech-nik, die Erfahrung mit der Installation, Inbetriebnahme, Pro-grammierung und Diagnose von SPS/IPCs besitzen.

    Service

    Bitte wenden Sie sich bei technischen Problemen an Ihrenlokalen Festo-Service.

    Hinweise zur vorliegenden Beschreibung

    Die vorliegende Beschreibung enthält Informationen über diein der FST verfügbaren Treiber und Bausteine sowie zur Hard-warekonfiguration und Adressierung beim FEC Standard, FECCompact und PS1 (siehe Kapitel 6).

    Spezielle Informationen zu den unterstützten SPS/IPCs findenSie in der Hardware-Dokumentation zum jeweiligen Produkt.

  • Inhalt und allgemeine Sicherheitshinweise

    X Festo P.BE-FST4-B2-DE de 0403NH

    Treiber und Bausteine zum FST-SPS-Betriebssystem

    Die Funktionalität des FST-SPS-Betriebssystems kann durchvorgefertigte Treiber und Bausteine erweitert werden. Bau-steine können in das Projekt eingebunden (importiert) unddann in die Steuerung geladen werden.

    HinweisDiese Beschreibung bezieht sich auf die in Anhang A.2aufgeführten Treiberversionen.

    Bausteine können in allen verfügbaren Programmiersprachenerstellt werden (AWL, KOP, C). Informationen zur Erstellungvon Bausteinen in C finden Sie auf dem Datenträger. Detail-lierte Informationen hierzu enthält die Datei README.TXT imInstallationsverzeichnis der FST-Software.

    Zahlreiche C-Bausteine stehen für spezielle Aufgaben zu Ver-fügung. Diese können entweder als Funktions- oder als Pro-grammbausteine aufgerufen werden.

    Die meisten Treiber unterstützen den Einsatz spezieller Bau-steine. Zum Einsatz dieser Bausteine muss dann der jeweiligeTreiber im Treiberkonfigurator eintragen und parametriertwerden. Details hierzu finden Sie in Band 1.

  • Standard-Treiber und -Bausteine

    1-1Festo P.BE-FST4-B2-DE de 0403NH

    Kapitel 1

  • 1. Standard-Treiber und -Bausteine

    1-2 Festo P.BE-FST4-B2-DE de 0403NH

    Inhaltsverzeichnis

    1. Standard-Treiber und -Bausteine 1-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    1.1 Allgemeine Bausteine 1-5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    1.2 Bausteine zum Steuern der Programmausführung 1-11. . . . . . . . . . . . . . . . . . . .

    1.3 Bausteine zur Fehlerbehandlung 1-14. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    1.4 Bausteine zum Ändern von Operanden 1-16. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    1.5 Einstellen der Echtzeituhr oder der Systemuhr 1-21. . . . . . . . . . . . . . . . . . . . . . .

    1.5.1 Bausteine zum Einstellen der Echtzeituhr oder Systemuhr 1-23. . . . . .

    1.6 Bausteine für 32-Bit Arithmetik 1-26. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    1.7 Gleitpunktoperationen (Treiber FPMATHDR) 1-30. . . . . . . . . . . . . . . . . . . . . . . . .

    1.7.1 Konfiguration des Treibers und Zuordnung von Parametern 1-34. . . . .

    1.7.2 Zusätzliche CI-Kommandos 1-34. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    1.7.3 Bausteine 1-35. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    1.7.4 Beispiel: Verwendung der Bausteine 1-52. . . . . . . . . . . . . . . . . . . . . . . .

    1.8 String-Treiber (Treiber STRINGS) 1-54. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    1.8.1 Treiber konfigurieren und parametrieren 1-54. . . . . . . . . . . . . . . . . . . .

    1.8.2 Initialisierung von Strings 1-55. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    1.8.3 Zusätzliche CI-Kommandos 1-56. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    1.8.4 Bausteine für die Behandlung von Strings 1-57. . . . . . . . . . . . . . . . . . .

    1.9 PID-Regler (Treiber PID) 1-80. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    1.9.1 Einführung 1-80. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    1.9.2 Konfiguration und Parametrierung des Treibers 1-80. . . . . . . . . . . . . . .

    1.9.3 Zusätzliche CI-Kommandos 1-81. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    1.9.4 Baustein für den Treiber PID 1-81. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    1.10 Serielle Kommunikation 1-84. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    1.10.1 Treiber auswählen und parametrieren 1-85. . . . . . . . . . . . . . . . . . . . . . .

    1.10.2 Bausteine für serielle Kommunikation 1-86. . . . . . . . . . . . . . . . . . . . . . .

    1.11 TCP/IP (Treiber TCPIP...) 1-100. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    1.11.1 Konfiguration des TCP/IP-Treibers 1-104. . . . . . . . . . . . . . . . . . . . . . . . . .

    1.11.2 Zusätzliche CI-Kommandos 1-108. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    1.11.3 Bausteine für TCP/IP 1-111. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    1.11.4 Weitere Bausteine für TCP/IP 1-121. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

  • 1. Standard-Treiber und -Bausteine

    1-3Festo P.BE-FST4-B2-DE de 0403NH

    1.11.5 Bausteine zur Handhabung einer zweiten Netzwerkkarte 1-137. . . . . . .

    1.11.6 EasyIP Statuswerte 1-140. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    1.11.7 Empfang von Daten über Handler 1-140. . . . . . . . . . . . . . . . . . . . . . . . . .

    1.11.8 Zeitdifferenz 1-141. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    1.11.9 Fehlercodes 1-142. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    1.13 Web-Server (Treiber WEB_SRVR) 1-143. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    1.13.1 Treiber installieren 1-143. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    1.13.2 Möglichkeiten und Grenzen des Web-Servers 1-144. . . . . . . . . . . . . . . . .

    1.13.3 Dateien für den Web-Server in die Steuerung übertragen 1-149. . . . . . .

    1.13.4 Aufrufen von HTML-Seiten mit einem Internet-Browser 1-150. . . . . . . . .

    1.13.5 Grundlagen zum Thema Web-Server 1-152. . . . . . . . . . . . . . . . . . . . . . . .

    1.13.6 Kurze Einführung zur Erstellung von HTML-Seiten 1-154. . . . . . . . . . . . .

    1.14 E-Mail-Treiber (SMTP-Treiber) 1-158. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    1.14.1 Überblick 1-158. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    1.14.2 Konfiguration und Parametrierung des Treibers 1-159. . . . . . . . . . . . . .

    1.14.3 Zusätzliche CI-Kommandos 1-159. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    1.14.4 Baustein für den Treiber SMTP 1-160. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    1.14.5 Fehlercodes 1-163. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    1.14.6 Beispielprogram 1-164. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

  • 1. Standard-Treiber und -Bausteine

    1-4 Festo P.BE-FST4-B2-DE de 0403NH

    Inhalt dieses Kapitels Dieses Kapitel gibt Ihnen einen Überblick über die Standard-Treiber und Standard-Bausteine zum FST-SPS-Betriebssys-tem. Die in diesem Kapitel beschriebenen Treiber und Bau-steine sind für folgende SPS/IPCs von Festo einsetzbar:

    – CPX-Terminal mit CPX-FEC

    – FEC Compact

    – FEC Standard

    – PS1.

    Weitere Information Informationen zu weiteren Treibern und Bausteinen, die nurfür einzelne der genannten SPS/IPCs nutzbar sind, findenSie in folgenden Kapiteln:

    – Treiber und Bausteine für CPX-FEC; Kapitel 2

    – Treiber und Bausteine für FEC Compact, FEC Standardund PS1; Kapitel 3

    – Weitere Treiber und Bausteine für FEC Compact; Kapitel 4

    – Weitere Treiber und Bausteine für PS1; Kapitel 5.

  • 1. Standard-Treiber und -Bausteine

    1-5Festo P.BE-FST4-B2-DE de 0403NH

    1.1 Allgemeine Bausteine

    Baustein-Übersicht

    Bausteine Beschreibung

    Blink Allgemeine blinkende Bits

    FIFO “First-in-first-out” Speicher

    INRANGE Prüft, ob der Wert innerhalb eines bestimmten Be-reichs liegt

    MINMAX Ringpuffer mit Minimal-, Maximal- und Mittelwert

    SCALE Skaliert einen 16-Bit-Wert

    BLINK Allgemeine blinkende Bits

    Eingangsparameter

    Keine

    Rückgabeparameter

    FE32 4 blinkende Bits

    Bit Signaldauer [s] Frequenz [Hz]

    0 0.25 2

    1 0.5 1

    2 1 0.5

    3 2 0.25

    Dieser Baustein verwendet keinen Timer. Der Baustein musszyklisch aufgerufen werden, um die blinkenden Bits einzu-stellen.

  • 1. Standard-Treiber und -Bausteine

    1-6 Festo P.BE-FST4-B2-DE de 0403NH

    FIFO ”First-in-first-out”-Speicher (FIFO-Speicher)

    Eingangsparameter

    FE32 Funktion0 = FIFO zurücksetzen1 =Wert aus FE33 in den FIFO übernehmen2 = Nächsten Wert aus dem FIFO lesen3 = Anzahl der im FIFO gespeicherten Werte erfassen4 = Beliebiges Element im FIFO-Speicher lesen5 = Beliebiges Element im FIFO-Speicher schreiben

    FE33 Wenn Funktion (Eingangsparameter FE32)= 1: Neuer Wert, der in den FIFO-Speicher übertragen

    werden soll.= 4: Position im FIFO-Speicher= 5: Position im FIFO-Speicher

    FE34 Wenn Funktion (Eingangsparameter FE32)= 5: Wert, der in den FIFO-Speicher übertragen werden

    soll.

    Rückgabeparameter

    FE32 Wenn Funktion (Eingangsparameter FE32)= 1: 0: Operation erfolgreich durchgeführt;

    1: kein Speicherplatz zur Erweiterung desFIFO-Speichers vorhanden

    2: FIFO-Speicher ist voll= 2: Nächster Wert aus dem FIFO oder 0 wenn FIFO leer= 3: Anzahl der im FIFO gespeicherten Werte= 4: Wert aus dem FIFO oder 0 wenn FIFO leer= 5: Liefert 0 wenn erfolgreich

    Im FIFO-Speicher lassen sich maximal 10000 Werte speichern.

  • 1. Standard-Treiber und -Bausteine

    1-7Festo P.BE-FST4-B2-DE de 0403NH

    INRANGE Prüft, ob der Wert innerhalb eines bestimmten Be-reichs liegt.

    Eingangsparameter

    FE32 Wert

    FE33 Nennwert

    FE34 +/- Abweichung vom Nennwert

    Rückgabeparameter

    FE32 -1: Wert ist kleiner als Nennwert - Abweichung0: Wert ist größer als Nennwert - Abweichung

    und kleiner als Nennwert + Abweichung1: Wert ist größer als Nennwert + Abweichung

    FE33 Differenz zwischen Wert und Nennwert (absolut)

    FE34 wie FE32, allerdings mit vorzeichenbehafteten Werten

    FE35 wie FE33, allerdings mit vorzeichenbehafteten Werten

    Beim Vergleich vorzeichenloser Werte (0 ... 65535) sind FE32und FE33 auszuwerten. Beim Vergleich vorzeichenbehafteterZahlen (-32768 bis 32767) sind FE34 und FE35 auszuwerten.

    HinweisDie berechnete Differenz ist immer positiv!

  • 1. Standard-Treiber und -Bausteine

    1-8 Festo P.BE-FST4-B2-DE de 0403NH

    MINMAX Ringpuffer mit der Möglichkeit der Abfrage desMinimal-, Maximal- und Mittelwerts

    Eingangsparameter

    FE32 Mode0 = Puffer initialisieren bzw. löschen1 =Wert hinzufügen2 =Minimal-, Maximal- und Mittelwerte berechnen3 = wie 2. mit vorzeichenbehafteten Zahlen4 = Puffer in Merkerwortbereich kopieren

    FE33 Abhängig vomMode:Mode 0: Puffergröße (1 ... 1024)Mode 1: Neuer WertMode 4: Startmerkerwort

    Rückgabeparameter

    FE32 Fehlercode (0 = kein Fehler)

    FE33 Anzahl der Werte im Puffer

    FE34 Minimalwert (Mode 2 und 3)

    FE35 Maximalwert (Mode 2 und 3)

    FE36 Mittelwert (Mode 2 und 3)

    Der Bereich für vorzeichenbehaftete Zahlen geht von -32768bis 32767, ansonsten von 0 bis 65535.

    Fehlercodes Beschreibung

    -1 nicht initialisiert

    1 nicht unterstützter Mode (ungültiger Wert in FE32)

    2 Puffergröße zu groß (> 1024)

  • 1. Standard-Treiber und -Bausteine

    1-9Festo P.BE-FST4-B2-DE de 0403NH

    SCALE 16-Bit-Wert skalieren

    Skaliert einen 16-Bit-Wert gemäß dieser Formel:

    y = x ⋅ �ab�+ c

    Eingangsparameter

    FE32 x Eingangswert

    FE33 a Bereich Ausgangswert

    FE34 b Bereich Eingangswert

    FE35 c Offset

    Rückgabeparameter

    FE32 y Ausgangswert

    Diese Funktion unterstützt Sie dabei, Werte in einen anderenBereich umzurechnen. Zum Beispiel den Rückgabewert einerAnalogkarte (meist 0...4095) in Millivolt.

    So wandeln Sie 0...4095 in 0 mV ... 10000 mV:

    BAF 0 ” Scale: X * (A/B) + C

    MIT EW10 ” X

    MIT K10000 ” A

    MIT K4095 ” B

    MIT K0 ” C

    So wandeln Sie -2048...2047 in -10000 mV ... +10000 mV:

    BAF 0 ” Scale: X * (A/B) + C

    MIT EW10 ” X

    MIT K20000 ” A

    MIT K4095 ” B

    MIT K0 ” C

  • 1. Standard-Treiber und -Bausteine

    1-10 Festo P.BE-FST4-B2-DE de 0403NH

    So wandeln Sie 0...4095 in -10000 mV ... +10000 mV:

    BAF 0 ” Scale: X * (A/B) + C

    MIT EW10 ” X

    MIT K20000 ” A

    MIT K4095 ” B

    MIT K-10000 ” C

    So wandeln Sie 0...4095 in 0 mA ... 20 mA:

    BAF 0 ” Scale: X * (A/B) + C

    MIT EW10 ” X

    MIT K20 ” A

    MIT K4095 ” B

    MIT K0 ” C

    So wandeln Sie 0...4095 in 4 mA ... 20 mA:

    BAF 0 ” Scale: X * (A/B) + C

    MIT EW10 ” X

    MIT K16 ” A

    MIT K4095 ” B

    MIT K4 ” C

  • 1. Standard-Treiber und -Bausteine

    1-11Festo P.BE-FST4-B2-DE de 0403NH

    1.2 Bausteine zum Steuern der Programmausführung

    Baustein-Übersicht

    Bausteine Beschreibung

    F4 Zyklisches Starten eines Programms

    F8 Stoppen aller zyklischen Programme

    F23 Abfrage, ob ein Programm zum Ausführen bereit ist

    F26 Programm steuern, dessen Nummer in einer Varia-blen gespeichert ist

    F4 Zyklisches Starten eines Programms

    Eingangsparameter

    FE32 Programmnummer, 0 bis 63

    FE33 Zeit in Millisekunden, 14 bis 65535 oder 0 um zu deaktivie-ren

    Rückgabeparameter

    keine

    Die Auflösung beträgt:

    – bei FEC Compact und HC0X mit Betriebssystem-Version <S2.00: 13.74 ms

    – bei FEC Standard, CPX-FEC, FEC Compact und HC0X mitBetriebssystem-Version ≥ S2.00: 5 ms

    Alle Zeitangaben in FE33 werden auf ein Vielfaches der ge-nannten Auflösung abgerundet.

  • 1. Standard-Treiber und -Bausteine

    1-12 Festo P.BE-FST4-B2-DE de 0403NH

    Funktionsbaustein F4 kann auch zum Stoppen von zyklischgestarteten Programmen verwendet werden. Übergeben Siedazu beim Aufruf in FE33 den Wert 0 (siehe auch BausteinF8).

    Ein zyklisches Programm muss sich mit RESET Pn selbst zu-rücksetzen (stoppen), damit es erst nach Ablauf der einge-stellten Zeit wieder gesetzt wird.

    F8 Stoppen aller zyklischen Programme

    Dieser Funktionsbaustein beendet die zyklische Bearbeitungder Programme. Alle Programme werden gestoppt, die mit F4zyklisch gestartet wurden. Um ein einzelnes Programm ausder zyklischen Bearbeitung zu entfernen, muss F4 eingesetztwerden.

    Eingangsparameter

    keine

    Rückgabeparameter

    keine

    F23 Abfrage, ob ein Programm zum Ausführen bereitist

    Eingangsparameter

    FE32 Programmnummer

    Rückgabeparameter

    FE32 0 = Programm existiert nicht-1 = Programm kann gestartet werden

  • 1. Standard-Treiber und -Bausteine

    1-13Festo P.BE-FST4-B2-DE de 0403NH

    F26 Programm steuern, dessen Nummer in einer Varia-blen gespeichert ist

    Eingangsparameter

    FE32 Programmnummer

    FE33 0 = Programm starten1 = Programm stoppen2 = Angehaltenes (unterbrochenes) Programm fortsetzen3 = Programm anhalten (unterbrechen)

    Rückgabeparameter

    keine

  • 1. Standard-Treiber und -Bausteine

    1-14 Festo P.BE-FST4-B2-DE de 0403NH

    1.3 Bausteine zur Fehlerbehandlung

    Baustein-Übersicht

    Bausteine Beschreibung

    F21 Nummer des Fehlerprogramms abfragen oder ein-stellen

    F22 Fehlerbehandlung einstellen

    F25 Fehlerbehandlung für E/A-Fehler einstellen

    F21 Nummer des Fehlerprogramms abfragen oder ein-stellen

    Eingangsparameter

    FE32 0: Funktion zurückzusetzen (kein Fehlerprogramm)1...63: Nummer des Fehlerprogramms≥ 64: aktuellen Zustand abfragen

    Rückgabeparameter

    FE32 Nummer des aktuellen Fehlerprogramms

    Das Fehlerprogramm kann auch in den SPS-Einstellungenzum Projekt definiert werden.

  • 1. Standard-Treiber und -Bausteine

    1-15Festo P.BE-FST4-B2-DE de 0403NH

    F22 Fehlerbehandlung einstellen

    Eingangsparameter

    FE32 0 = Fehlerdaten abfragen1 = Fehlerdaten abfragen und Fehler löschen2 = Programme weiterbearbeiten, Fehlerdaten abfragen

    und Fehler löschen3 = Nicht behebbarer Fehler, Programme stoppen

    Rückgabeparameter

    FE32 Fehlernummer

    FE33 Programmnummer

    FE34 Schrittnummer

    FE35 Immer 0 (Fehleradresse)

    F25 Fehlerbehandlung für E/A-Fehler einstellen

    Dieser Baustein hat nur eine Bedeutung für die E/A-Fehlerer-kennung bezogen auf Fehler 11 und 12 (nur bei FEC Compact,FEC Standard und PS1 relevent).

    Beim CPX-FEC lässt sich die E/A-Fehlererkennung (Überwa-chung) parametrieren (siehe CPX-Systembeschreibung).

    Eingangsparameter

    FE32 0 = Fehlererkennung ausschalten1 = Fehlererkennung einschalten, Voreinstellung

    Rückgabeparameter

    keine

  • 1. Standard-Treiber und -Bausteine

    1-16 Festo P.BE-FST4-B2-DE de 0403NH

    1.4 Bausteine zum Ändern von Operanden

    Baustein-Übersicht

    Bausteine Beschreibung

    CHECKSUM Prüfsumme über einen Teilbereich der Merkerworte

    COPY Kopieren eines Teilbereiches der Merkerworte

    DINDEXMW Merkerwort indiziert dekrementieren

    F9 Löschen von Operanden

    FLAGBIT Merkerbit indiziert setzen oder rücksetzen

    IINDEXMW Merkerwort indiziert inkrementieren

    NINDEXMW Merkerwortbereich löschen

    RINDEXMW Merkerwort indiziert lesen

    WINDEXMW Merkerwort indiziert schreiben

    CHECKSUM Prüfsumme über einen Teilbereich der Merkerwor-te

    Eingangsparameter

    FE32 Nummer des ersten Merkerwortes

    FE33 Nummer des letzten Merkerwortes

    Rückgabeparameter

    FE32 Prüfsumme

    Die Bildung der Prüfsumme erfolgt durch einfache Additionder Merkerworte.

  • 1. Standard-Treiber und -Bausteine

    1-17Festo P.BE-FST4-B2-DE de 0403NH

    COPY Kopieren eines Teilbereiches der Merkerworte

    Eingangsparameter

    FE32 Nummer des ersten Quell-Merkerwortes

    FE33 Nummer des ersten Ziel-Merkerwortes

    FE34 Anzahl der Merkerworte

    Rückgabeparameter

    keine

    Die Merkerwortbereiche dürfen sich überschneiden.

    DINDEXMW Merkerwort indiziert dekrementieren

    Eingangsparameter

    FE32 Nummer des Merkerwortes

    Rückgabeparameter

    FE32 Neuer Wert

    Das angegebene Merkerwort wird um 1 erniedrigt, wenn esnoch nicht Null war.

  • 1. Standard-Treiber und -Bausteine

    1-18 Festo P.BE-FST4-B2-DE de 0403NH

    F9 Löschen von Operanden

    Eingangsparameter

    FE32 0 = alle Register, Zähler, Timer, Merker löschen1 = alle Register löschen2 = alle Merker löschen3 = alle Timer löschen4 = alle Zähler löschen

    Rückgabeparameter

    keine

    FLAGBIT Merkerbit indiziert setzen oder rücksetzen

    Eingangsparameter

    FE32 Merkerwortnummer

    FE33 Bitnummer

    FE34 0 = Bit zurücksetzen1 = Bit setzen2 = Bitwert in FE33 zurückgeben3 = Bit umschalten

    Rückgabeparameter

    FE32 0 = Baustein erfolgreich ausgeführt1 = unzulässige Merkerwortnummer2 = unzulässige Bitnummer3 = ungültige Funktion

    FE33 Bitwert0 = Bit nicht gesetzt1 = Bit gesetzt

  • 1. Standard-Treiber und -Bausteine

    1-19Festo P.BE-FST4-B2-DE de 0403NH

    IINDEXMW Merkerwort indiziert inkrementieren

    Eingangsparameter

    FE32 Nummer des Merkerwortes

    Rückgabeparameter

    FE32 Neuer Wert

    Das angegebene Merkerwort wird um 1 erhöht, wenn derMaximalwert 65535 ($FFFF) noch nicht erreicht war.

    NINDEXMW Merkerwortbereich löschen

    Eingangsparameter

    FE32 Nummer des ersten Merkerwortes

    FE33 Anzahl der zu löschenden Merkerworte

    Rückgabeparameter

    keine

    RINDEXMW Merkerwort indiziert lesen

    Eingangsparameter

    FE32 Nummer des Merkerwortes

    Rückgabeparameter

    FE32 Gelesener Wert

  • 1. Standard-Treiber und -Bausteine

    1-20 Festo P.BE-FST4-B2-DE de 0403NH

    WINDEXMW Merkerwort indiziert schreiben

    Eingangsparameter

    FE32 Nummer des Merkerwortes

    FE33 Neuer Wert

    Rückgabeparameter

    keine

  • 1. Standard-Treiber und -Bausteine

    1-21Festo P.BE-FST4-B2-DE de 0403NH

    1.5 Einstellen der Echtzeituhr oder der Systemuhr

    Echtzeituhr Echtzeituhren sind Uhrenbausteine, die auch bei ausge-schalteter Steuerung weiterarbeiten. Sie werden separat,z. B. über eine Batterie, mit Spannung versorgt. So könnenSie immer die aktuelle Uhrzeit und das aktuelle Datum lie-fern. Nur die Zentraleinheiten HC0X, HC1X und HC2X stellenEchtzeituhren zur Verfügung.

    Systemuhr Die Systemuhr ist Teil des Betriebssystems der Steuerungund daher immer vorhanden. Sie arbeitet nur, wenn dieSteuerung eingeschaltet ist. Beim Einschalten startet dieSystemuhr immer mit der gleichen Zeit. (i. d. R. 1980-01-0100:00:00). Wenn zusätzlich eine Echtzeituhr vorhanden ist,wird bei Systemstart (nach dem Booten oder Einschalten)die Systemuhr automatisch mit der Echtzeituhr synchroni-siert. Während der Laufzeit wird die Systemuhr vom System-timer aktualisiert.

    Einstellen der Uhren mitder FST

    Die FST bietet die Bausteine F10 bis F13 zum Lesen undEinstellen der Systemuhr bzw. der Echtzeituhr an (sieheauch Abschnitt 1.5.1). Ist keine Echtzeituhr vorhanden wirddie Systemuhr direkt beeinflusst. Ist eine Echtzeituhr vor-handen wird diese direkt beeinflusst und bei jedem Aufrufder o. g. Bausteine die Systemuhr zur Echtzeituhr synchroni-siert.

    Zum Einstellen der Uhr mit der FST, muss ein Projekt mit denBausteinen F10 bis F13 in die Steuerung geladen werden. DieBausteine können mit den CI-Befehlen ”RF” oder ”RB” ausge-führt werden.

    Beispiel: Wenn der Baustein F10 z. B. als BAF 10 importiertwurde, stellt folgender CI-Befehl die Uhr auf 08:30 ein:

    >RF10,8,30,0,0>

  • 1. Standard-Treiber und -Bausteine

    1-22 Festo P.BE-FST4-B2-DE de 0403NH

    Echtzeituhren der Zentraleinheiten HC0X, HC1X und HC2X

    Zielsystem Beschreibung

    HC0X In der Zentraleinheit steht eine Echtzeituhr zu Verfügung. Sie wird von einer Batte-rie ca. 10 Jahre lang mit Energie versorgt.

    HC1X Das System kann 2 verschiedene Echtzeituhren enthalten:1. die I2C-Bus Echtzeituhr2. die SRAM EchtzeituhrDie I2C-Bus Echtzeituhr befindet sich nicht in der Zentraleinheit, sondern abhängigvon der Busplatine entweder auf der Busplatine oder im DC/DC Spannungswandler-Modul. Systeme auf einer dreier Busplatine haben keine I2C-Bus Echtzeituhr. EinGoldcap-Kondensator versorgt die Echtzeituhr nach Abschalten der Spannung 3 bis5 Tage lang mit Energie. Die SRAM Echtzeituhr befindet sich im Zentraleinheit-Modulund ist batteriegepuffert, die Batterie hält ca. 10 Jahre. Das Zentraleinheit-Modulbesitzt eine SRAM Echtzeituhr, wenn es mit einem ZL16 oder ZL17 SRAM ausgerü-stet ist. Wenn eine SRAM Echtzeituhr im System gefunden wird, wird diese gegen-über der I2C-Bus Echtzeituhr bevorzugt.

    HC2X Diese Zentraleinheit ist mit einer SRAM Echtzeituhr ausgestattet. Die SRAM Echt-zeituhr befindet sich im Zentraleinheit-Modul und ist batteriegepuffert, die Batteriehält ca. 10 Jahre.

    Manuelle Einstellung der Uhr bei HC1X

    Die I2C-Bus Echtzeituhr der HC1X kann im BIOS Setup einge-stellt werden. Wie die Einstellung erfolgt, ist in der Dokumen-tation der Hardware beschrieben. Es muss dazu auf jeden Fallein Bildschirm und eine Tastatur angeschlossen werden.

  • 1. Standard-Treiber und -Bausteine

    1-23Festo P.BE-FST4-B2-DE de 0403NH

    1.5.1 Bausteine zum Einstellen der Echtzeituhr oder Systemuhr

    Baustein-Übersicht

    Bausteine Beschreibung

    F10 Uhrzeit einstellen

    F11 Datum einstellen

    F12 Uhrzeit abfragen

    F13 Datum abfragen

    F10 Uhrzeit einstellen

    Eingangsparameter

    FE32 Stunde (0 bis 23)

    FE33 Minute (0 bis 59)

    FE34 Sekunde (0 bis 59)

    FE35 Hundertstelsekunde (0 bis 99)

    Rückgabeparameter

    keine

  • 1. Standard-Treiber und -Bausteine

    1-24 Festo P.BE-FST4-B2-DE de 0403NH

    F11 Datum einstellen

    Eingangsparameter

    FE32 Jahr (1980 bis 2099)

    FE33 Monat (1 bis 12)

    FE34 Tag (1 bis 31)

    Rückgabeparameter

    keine

    F12 Uhrzeit abfragen

    Eingangsparameter

    keine

    Rückgabeparameter

    FE32 Stunde (0 bis 23)

    FE33 Minute (0 bis 59)

    FE34 Sekunde (0 bis 59)

    FE35 Hundertstelsekunde (0 bis 99)

  • 1. Standard-Treiber und -Bausteine

    1-25Festo P.BE-FST4-B2-DE de 0403NH

    F13 Datum abfragen

    Eingangsparameter

    keine

    Rückgabeparameter

    FE32 Jahr (1980 bis 2099)

    FE33 Monat (1 bis 12)

    FE34 Tag (1 bis 31)

    FE35 Wochentag (0=Sonntag, 6=Samstag)

  • 1. Standard-Treiber und -Bausteine

    1-26 Festo P.BE-FST4-B2-DE de 0403NH

    1.6 Bausteine für 32-Bit Arithmetik

    Mit den folgenden Bausteinen ist es möglich, Rechen- undVergleichsoperationen auf 32-Bit-Werten durchzuführen.Dazu werden die Zahlen auf jeweils zwei aufeinanderfolgende16-Bit-Operanden verteilt.

    Bausteine Beschreibung

    LADD Addition von 32-Bit Werten

    LCMP Vergleich von 32-Bit Werten

    LDIV Division von 32-Bit Werten

    LMUL Multiplikation von 32-Bit Werten

    LNEG Vorzeichenwechsel bei 32-Bit Wert

    LSUB Subtraktion von 32-Bit Werten

    LADD Addition von 32-Bit Werten

    Eingangsparameter

    FE32 niederwertiges Wort des 1. Operanden

    FE33 höherwertiges Wort des 1. Operanden

    FE34 niederwertiges Wort des 2. Operanden

    FE35 höherwertiges Wort des 2. Operanden

    Rückgabeparameter

    FE32 niederwertiges Wort des Ergebnisses

    FE33 höherwertiges Wort des Ergebnisses

  • 1. Standard-Treiber und -Bausteine

    1-27Festo P.BE-FST4-B2-DE de 0403NH

    LCMP Vergleich von 32-Bit Werten

    Eingangsparameter

    FE32 niederwertiges Wort des 1. Operanden

    FE33 höherwertiges Wort des 1. Operanden

    FE34 niederwertiges Wort des 2. Operanden

    FE35 höherwertiges Wort des 2. Operanden

    Rückgabeparameter

    FE32 Ergebnis in Bitform$xx01: 1. Operand < 2. Operand, mit Vorzeichen (signed)$xx02: 1. Operand == 2. Operand, mit Vorzeichen (signed)$xx04: 1. Operand > 2. Operand, mit Vorzeichen (signed)$01xx: 1. Operand < 2. Operand, ohne Vorzeichen

    (unsigned)$02xx: 1. Operand == 2. Operand, ohne Vorzeichen

    (unsigned)$04xx: 1. Operand > 2. Operand, ohne Vorzeichen

    (unsigned)

  • 1. Standard-Treiber und -Bausteine

    1-28 Festo P.BE-FST4-B2-DE de 0403NH

    LDIV Division von 32-Bit Werten

    Eingangsparameter

    FE32 niederwertiges Wort des 1. Operanden

    FE33 höherwertiges Wort des 1. Operanden

    FE34 niederwertiges Wort des 2. Operanden

    FE35 höherwertiges Wort des 2. Operanden

    Rückgabeparameter

    FE32 niederwertiges Wort des Ergebnisses

    FE33 höherwertiges Wort des Ergebnisses

    LMUL Multiplikation von 32-Bit Werten

    Eingangsparameter

    FE32 niederwertiges Wort des 1. Operanden

    FE33 höherwertiges Wort des 1. Operanden

    FE34 niederwertiges Wort des 2. Operanden

    FE35 höherwertiges Wort des 2. Operanden

    Rückgabeparameter

    FE32 niederwertiges Wort des Ergebnisses

    FE33 höherwertiges Wort des Ergebnisses

  • 1. Standard-Treiber und -Bausteine

    1-29Festo P.BE-FST4-B2-DE de 0403NH

    LNEG Vorzeichenwechsel bei 32-Bit Wert

    Eingangsparameter

    FE32 niederwertiges Wort des Operanden

    FE33 höherwertiges Wort des Operanden

    Rückgabeparameter

    FE32 niederwertiges Wort des Ergebnisses

    FE33 höherwertiges Wort des Ergebnisses

    LSUB Subtraktion von 32-Bit Werten

    (Ergebnis = 1. Operand - 2. Operand)

    Eingangsparameter

    FE32 niederwertiges Wort des 1. Operanden

    FE33 höherwertiges Wort des 1. Operanden

    FE34 niederwertiges Wort des 2. Operanden

    FE35 höherwertiges Wort des 2. Operanden

    Rückgabeparameter

    FE32 niederwertiges Wort des Ergebnisses

    FE33 höherwertiges Wort des Ergebnisses

  • 1. Standard-Treiber und -Bausteine

    1-30 Festo P.BE-FST4-B2-DE de 0403NH

    1.7 Gleitpunktoperationen (Treiber FPMATHDR)

    Der Treiber FPMATHDR unterstützt folgende Funktionen:

    – grundlegende Gleitpunktoperationen (Multiplikation, Divi-sion, Addition, Subtraktion)

    – Umsetzung zwischen:

    – Gleitpunktzahl und 16-bit-Ganzzahlen

    – Gleitpunktzahl und 32-bit-Ganzzahlen.

    Um Gleitpunktoperationen in Ihrem FST-Projekt zu ermögli-chen, fügen Sie diesen Treiber (FPMATHDR) der Treiberlistedes Projekts hinzu. Der Treiber benötigt keine Parameter.

    Mathematische Operationen/Umsetzungen des FST-Pro-gramms erfolgen mit Hilfe von Bausteinen (siehe Abschnitt1.7.3). Die Verwendung von Bausteinen ohne den Treiberwird Fehler 1 verursachen, der vom Baustein zurückgegebenwird.

    Der Treiber unterstützt Operationen im Format single float(auch unterstützt als Typ float von Standard-C-Compilern,Microsoft C/C++, Borland C/C++ usw.).

    S E E E E E E E E M M M M M M M M M M M M M M M M M M M M M M M

    1

    31

    8 1 23

    0

    Byte 1 Byte 2 Byte 3 Byte 4

    Bild 1/1: Gleitpunktformat (Single float)

    E=Exponent; M=Mantisse; S=Vorzeichenbit: 0 = +, 1 = –

  • 1. Standard-Treiber und -Bausteine

    1-31Festo P.BE-FST4-B2-DE de 0403NH

    Die Mantisse besitzt eine Länge von 24 Stellen - M1 bis M23plus eine versteckte Stelle (M0). Die versteckte Stelle (hiddenbit) wird intern wie folgt ermittelt:

    – M0 = 0, bei Exponent -127

    – M0 = 1, bei Exponent -126 ... +127

    – M0 ist unrelevant bei Exponent + 128

    Bitmuster imExponent

    Exponent Hiddenbit (M0)

    Dargestellte Gleitpunktzahl

    00000000 0 -127 0 ± (0.M1M2 ... M23) * 2-127

    00000001 1 -126 1 ± (1.M1M2 ... M23) * 2-126

    ...

    01111111 127 0 1 ± (1.M1M2 ... M23) * 20

    10000001 128 1 1 ± (1.M1M2 ... M23) * 21

    ...

    11111110 254 127 1 ± (1.M1M2 ... M23) * 2127

    11111111 255 128 - ∞ falls M1=...=M23=0, sonst NaN (not a num-ber)

    Berechnung des Wertes

    Wert = 0. * 2x +M1 * 2x−1 +M2 * 2x−2 +M3 * 2x−3+ ��� +M23 * 2x−23

    Wert = 1. * 2x +M1 * 2x−1 +M2 * 2x−2 +M3 * 2x−3+ ��� +M23 * 2x−23

    x = Exponent, M = Mantissenstelle

  • 1. Standard-Treiber und -Bausteine

    1-32 Festo P.BE-FST4-B2-DE de 0403NH

    Beispiel

    Die Gleitpunktzahl 550.0 wird wie folgt gespeichert:

    0x44098000(0x44 ist Byte 1; 0x09 ist Byte 2; 0x80 ist Byte 3; ...).

    1

    31

    8 1 23

    0

    Byte 1 Byte 2 Byte 3 Byte 4

    0 1 0 0 0 1 0 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

    Bild 1/2: Gleitpunktformat (Single float)

    Vorzeichenbit: 0 (+)

    Exponent: 136 - 127 = 9

    M0 = 1

    Ergebnis: 1 * 29 + 1 * 25 + 1 * 22+ 1 * 21 = 550

  • 1. Standard-Treiber und -Bausteine

    1-33Festo P.BE-FST4-B2-DE de 0403NH

    Ein Hinweis zum float-Format des MODBUS

    HinweisBeachten Sie, dass das MODBUS-Protokoll das gleicheFormat verwendet, um Gleitpunktzahlen darzustellen, abermit einer anderen Byte-Reihenfolge.

    Float-Format des MODBUS

    S E E E E E E E E M M M M M M MM M M M M M M M M M M M M M M M

    1

    31

    8123

    0

    Byte 3 Byte 4 Byte 1 Byte 2

    8 7

    1 2

    1 MODBUS Adresse X 2 MODBUS Adresse X + 1

    Bild 1/3: Float-Format des MODBUS

    S=Vorzeichenbit, E=Exponent, M=Mantisse

    Beispiel

    Bei MODBUS wird die Gleitpunktzahl 550.0 wie folgt gespei-chert:

    0x80004409 (Byte 3 wird zuerst gespeichert, ...).

  • 1. Standard-Treiber und -Bausteine

    1-34 Festo P.BE-FST4-B2-DE de 0403NH

    1.7.1 Konfiguration des Treibers und Zuordnung von Parametern

    Wenn Sie die FPMATH-Module in einem FST IPC-Projekt nut-zen wollen, müssen Sie den FPMATH-Treiber in die Treiber-konfiguration eingeben und die nötigen Parameter zuordnen.

    Ziellaufwerk

    Geben Sie das Laufwerk an, auf dem der FPMATH-TreiberFPMATHDR.EXE sich befindet oder auf das er geladen werdensoll.

    1.7.2 Zusätzliche CI-Kommandos

    Dieser Treiber ergänzt den CI um folgende Befehle:

    CI-Kommando Beschreibung

    !46 Zeigt Treiber-Info und Versionsnummer an.Diese Information wird auch dann angezeigt,wenn ein unbekanntes Kommando eingegebenwird (z.B. !46abcdef ).

  • 1. Standard-Treiber und -Bausteine

    1-35Festo P.BE-FST4-B2-DE de 0403NH

    1.7.3 Bausteine

    Baustein-Übersicht

    Baustein Beschreibung

    FPA2F Umsetzung string zu float

    FPF2A Umsetzung float zu string

    FPF2I Umsetzung float zu 16-bit-Ganzzahl

    FPF2L Umsetzung float zu 32-bit-Ganzzahl

    FPI2F Umsetzung 16-bit-Ganzzahl zu float

    FPL2F Umsetzung 32-bit-Ganzzahl zu float

    FPBINOP Grundlegende Gleitpunkt-Binäroperationen

    FPABCD Führt (A*B)/(C*D) aus

    FPM1 Führt ((A-B)*C - (D-E)*(F-G))/(100-H) aus

    FPROM1 Auswertung kundenspezifischer Ausdrücke

    FPSQRT Berechnung von Quadratwurzeln

    FPGONIO Trigonometrische Funktionen

  • 1. Standard-Treiber und -Bausteine

    1-36 Festo P.BE-FST4-B2-DE de 0403NH

    FPA2F Umsetzung string zu float

    Eingangsparameter

    FE32 Stringnummer

    Rückgabeparameter

    FE32 Status0 = Ok1 = Fehler beim Zugriff auf FpMathDr-Treiber2 = Zahl außerhalb Bereich3 =Mathematischer Fehler während der Umsetzung

    FE33 Umgesetzte Zahl (16-bit-Ganzzahl mit Vorzeichen)

    FE34 Wertebereich der umgesetzten Zahl

    FPF2A Umsetzung float zu string

    Eingangsparameter

    FE32 Byte_3, Byte_4 der float-Zahl

    FE33 Byte_1, Byte_2 der float-Zahl

    FE34 Anzahl der Nachkommastellen

    FE35 Stringnummer

    Rückgabeparameter

    FE32 Status0 = Ok1 = Fehler beim Zugriff auf FpMathDr-Treiber2 = Zahl außerhalb Bereich3 =Mathematischer Fehler während der Umsetzung

  • 1. Standard-Treiber und -Bausteine

    1-37Festo P.BE-FST4-B2-DE de 0403NH

    FPF2I Umsetzung float zu 16-bit-Ganzzahl

    Verwendung in FST: Funktionsmodul FPF2I im Projekt einfü-gen, als Typ F (Funktionsmodul) deklarieren und mit einerModulnummer Ihrer Wahl versehen. Dieses Funktionsmodulführt die Umsetzung von Standard-Gleitpunktzahl in die ent-sprechende 16-bit-Ganzzahl mit Vorzeichen aus.

    Eingangsparameter

    FE32 Byte_3, Byte_4 der float-Zahl(Inhalte der MODBUS-Adresse X der float-Zahl-Speiche-rung)

    FE33 Byte_1, Byte_2 der float-Zahl(Inhalte der MODBUS-Adresse X+1 der float-Zahl-Speiche-rung)

    FE34 Bereichsspezifikation:0 = kein Bereich1 = automatischer Bereich mit max. Genauigkeit2 = automatischer Bereich mit wissenschaftlichem Format3 = verwende bestimmten Wertebereich (FE35)

    FE35 Bestimmter Wertebereich. Gültig nur für FE34 = 3

    Rückgabeparameter

    FE32 Status0 = Ok1 = Fehler beim Zugriff auf FpMathDr-Treiber2 = Zahl außerhalb Bereich3 = Mathematischer Fehler während der Umsetzung

    FE33 Umgesetzte Zahl (16-bit-Ganzzahl mit Vorzeichen)

    FE34 Wertebereich der umgesetzten Zahl

  • 1. Standard-Treiber und -Bausteine

    1-38 Festo P.BE-FST4-B2-DE de 0403NH

    Beschreibung des Wertebereichs (Eingabeparameter FE35,Ausgabeparameter FE34)

    Wertebereich ist der Exponent der Zahl auf der Basis 10. Beigegebener Zahl NUM und Wertebereich RANGE_VALUE, er-gibt das folgendes Endergebnis:

    Ergebnis = NUM * 10 ^ RANGE_VALUE

    Wertebereich ist Ganzzahl mit Vorzeichen.

    Beispiele

    – IntValue = 4567, RangeValue = 3:Ergebnis = 4567 * 103 = 4567000

    – IntValue = 4567, RangeValue = 1:Ergebnis = 4567 * 101 = 45670

    – IntValue = 4567, RangeValue = -5:Ergebnis = 4567 * 10-5 = 0.04567

    Beschreibung der Bereichsspezifikation(Eingabeparameter FE34)

    FE34 Beschreibung

    0 Es wird keine Bereichszuordnung für die Umsetzung ausgeführt, z.B. Wertebereich = 0 beiAusgabe

    1 Automatischer Bereich mit max. Genauigkeit.Die Zahl wird so umgesetzt, dass sie am besten in den Bereich (-32000, +32000) passt, beimaximaler Ziffernanzahl. Der Wertebereich wird berechnet werden und bei Ausgabe in FE34zurückgegeben.

    2 Automatischer Bereich mit wissenschaftlichem Format.Ähnlich wie oben, aber die Zahl wird so umgesetzt, dass der Wertebereich dem Vielfachenvon 3 (Wertebereich in [...,-6,-3,0,+3,+6,...]) entspricht.

    3 Wertebereich in FE35 bei Eingabe bestimmt.Ausgabewertebereich in FE34 wird der Gleiche sein. Die Zahl wird gemäß dem gegebenenWertebereich umgesetzt.

  • 1. Standard-Treiber und -Bausteine

    1-39Festo P.BE-FST4-B2-DE de 0403NH

    FPF2L Umsetzung float zu 32-bit-Ganzzahl vom Typ long

    Verwendung in FST: Funktionsmodul FPF2L im Projekt einfü-gen, als Typ F (Funktionsmodul) deklarieren und mit einerModulnummer Ihrer Wahl versehen. Dieses Funktionsmodulführt die Umsetzung von Gleitpunktzahl in die entsprechende32-bit-Ganzzahl mit Vorzeichen aus.

    Eingangsparameter

    FE32 Byte_3, Byte_4 der float-Zahl(Inhalte der MODBUS-Adresse X der float-Zahl-Speiche-rung)

    FE33 Byte_1, Byte_2 der float-Zahl(Inhalte der MODBUS-Adresse X+1 der float-Zahl-Speiche-rung)

    FE34 Bereichsspezifikation:0 = kein Bereich1 = automatischer Bereich mit max. Genauigkeit2 = automatischer Bereich mit wissenschaftlichem Format3 = verwende bestimmten Wertebereich (FE35)

    FE35 Bestimmter Wertebereich. Gültig nur für FE34 = 3

    Rückgabeparameter

    FE32 Status0 = Ok1 = Fehler beim Zugriff auf FpMathDr-Treiber2 = Zahl außerhalb Bereich3 = Mathematischer Fehler während der Umsetzung

    FE33 Low word (= niederwertiges Wort) der umgesetzten 32-bit-Ganzzahl vom Typ long

    FE34 High word (= höherwertiges Wort) der umgesetzten 32-bit-Ganzzahl vom Typ long

    FE35 Wertebereich der umgesetzten Zahl

  • 1. Standard-Treiber und -Bausteine

    1-40 Festo P.BE-FST4-B2-DE de 0403NH

    Beschreibung des Wertebereichs (Eingabeparameter FE35,Ausgabeparameter FE35)

    Beachten Sie bitte die Beschreibung für FunktionsmodulFPF2I.

    Beschreibung der Bereichsspezifikation (EingabeparameterFE34)

    Beachten Sie bitte die Beschreibung für FunktionsmodulFPF2I.

  • 1. Standard-Treiber und -Bausteine

    1-41Festo P.BE-FST4-B2-DE de 0403NH

    FPI2F Umsetzung 16-bit-Ganzzahl zu float

    Verwendung in FST: Funktionsmodul FPI2F im Projekt einfü-gen, als Typ F (Funktionsmodul) deklarieren und mit einerModulnummer Ihrer Wahl versehen. Dieses Funktionsmodulführt die Umsetzung von 16-bit-Ganzzahl mit Vorzeichen indie entsprechende Gleitpunktzahl aus.

    Umsetzung ausgeführt:Ergebnis (FE33,34) = float(FE32 * 10 ^ FE33)

    Eingangsparameter

    FE32 16-bit-Ganzzahl mit Vorzeichen

    FE33 Bestimmter Wertebereich

    Rückgabeparameter

    FE32 Status0 = Ok1 = Fehler beim Zugriff auf FpMathDr-Treiber2 = Zahl außerhalb Bereich3 = Mathematischer Fehler während der Umsetzung

    FE33 Byte_3, Byte_4 der float-Zahl (Inhalte der MODBUS-Adresse X der float-Zahl-Speicherung)

    FE34 Byte_1, Byte_2 der float-Zahl (Inhalte der MODBUS-Adresse X+1 der float-Zahl-Speicherung)

  • 1. Standard-Treiber und -Bausteine

    1-42 Festo P.BE-FST4-B2-DE de 0403NH

    FPL2F Umsetzung 32-bit-Ganzzahl vom Typ long zu float

    Verwendung in FST: Funktionsmodul FPL2F im Projekt einfü-gen, als Typ F (Funktionsmodul) deklarieren und mit einerModulnummer Ihrer Wahl versehen. Dieses Funktionsmodulführt die Umsetzung von 32-bit-Ganzzahl vom Typ long mitVorzeichen in die entsprechende Gleitpunktzahl aus.

    Umsetzung ausgeführt:Ergebnis (FE33,34) =float((long)(FE32 + 65536 * FE33) * 10 ^ FE34)

    Eingangsparameter

    FE32 Low word (= niederwertiges Wort) der 32-bit-Ganzzahlvom Typ long mit Vorzeichen

    FE33 High word (= höherwertiges Wort) der 32-bit-Ganzzahlvom Typ long mit Vorzeichen

    FE34 Bestimmter Wertebereich

    Rückgabeparameter

    FE32 Status0 = Ok1 = Fehler beim Zugriff auf FpMathDr-Treiber2 = Zahl außerhalb Bereich3 =Mathematischer Fehler während der Umsetzung

    FE33 Byte_3, Byte_4 der float-Zahl (Inhalte der MODBUS-Adresse X der float-Zahl-Speicherung)

    FE34 Byte_1, Byte_2 der float-Zahl (Inhalte der MODBUS-Adresse X+1 der float-Zahl-Speicherung)

  • 1. Standard-Treiber und -Bausteine

    1-43Festo P.BE-FST4-B2-DE de 0403NH

    FPBINOP Grundlegende Gleitpunkt-Binäroperationen

    Verwendung in FST: Funktionsmodul FPBINOP im Projekteinfügen, als Typ F (Funktionsmodul) deklarieren und miteiner Modulnummer Ihrer Wahl versehen. Diese Funktionführt grundlegende binäre Operationen mit Gleitpunktzahlenaus. Das Ergebnis wird auch als Gleitpunktzahl ausgegeben.

    Eingangsparameter

    FE32 Operationscode (BIN_OP):0 = Multiplikation1 = Division2 = Addition3 = Subtraktion4 = Potenz5 = natürlicher Logarithmus (braucht nur FE33 und FE34)

    FE33 Byte_3, Byte_4 der float-Zahl 1

    FE34 Byte_1, Byte_2 der float-Zahl 1

    FE35 Byte_3, Byte_4 der float-Zahl 2

    FE36 Byte_1, Byte_2 der float-Zahl 2

    Rückgabeparameter

    FE32 Status0 = Ok1 = Fehler beim Zugriff auf FpMathDr-Treiber2 = Zahl außerhalb Bereich3 = Mathematischer Fehler während der Umsetzung4 = Falscher Operationscode

    FE33 Operationscode (der Gleiche wie bei FE32 bei Eingabe)

    FE34 Byte_3, Byte_4 des float-Ergebnisses

    FE35 Byte_1, Byte_2 des float-Ergebnisses

  • 1. Standard-Treiber und -Bausteine

    1-44 Festo P.BE-FST4-B2-DE de 0403NH

    FPABCD Führt (A * B) / (C * D) aus

    Verwendung in FST: Funktionsmodul FPABCD im Projekt ein-fügen, als Typ F (Funktionsmodul) deklarieren und mit einerModulnummer Ihrer Wahl versehen. Dieses Funktionsmodulführt die folgende Operation aus:

    Ergebnis = (A * B) / (C * D)

    Eingabezahlen (A,B,C und D) sind 16-bit-Ganzzahlen mit Vor-zeichen. Das Ergebnis wird als Gleitpunktzahl ausgegeben.

    Eingangsparameter

    FE32 A (16-bit-Ganzzahl mit Vorzeichen)

    FE33 B (16-bit-Ganzzahl mit Vorzeichen)

    FE34 C (16-bit-Ganzzahl mit Vorzeichen)

    FE35 D (16-bit-Ganzzahl mit Vorzeichen)

    Rückgabeparameter

    FE32 Status0 = Ok1 = Fehler beim Zugriff auf FpMathDr-Treiber2 = Zahl außerhalb Bereich3 =Mathematischer Fehler während der Umsetzung

    FE33 Byte_3, Byte_4 des float-Ergebnisses

    FE34 Byte_1, Byte_2 des float-Ergebnisses

  • 1. Standard-Treiber und -Bausteine

    1-45Festo P.BE-FST4-B2-DE de 0403NH

    FPM1 Führt ( ( A-B )*C - ( D-E )*( F-G ) ) / ( 100 - H ) aus

    Verwendung in FST: Funktionsmodul FPM1 im Projekt einfü-gen, als Typ F (Funktionsmodul) deklarieren und mit einerModulnummer Ihrer Wahl versehen. Dieses Funktionsmodulführt die folgende Operation aus:

    Ergebnis = ((A-B)*C - (D-E)*(F-G))/(100-H)

    Eingabezahlen (A,B,C,D,E,F,G,H) sind alle 16-bit-Ganzzahlenmit Vorzeichen. Das Ergebnis wird auch als Ganzzahl mit Vor-zeichen ausgegeben.

    Eingangsparameter

    FE32 Startmerkerwort aus demBereich von 8 aufeinanderfolgen-denMerkerworten, die die Eingabeparameter Abis Henthal-ten.

    FE33 Bereichsspezifikation:0 = kein Bereich1 = automatischer Bereich mit max. Genauigkeit2 = automatischer Bereich mit wissenschaftlichem Format3 = verwende bestimmten Wertebereich (FE34)

    FE34 Bestimmter Wertebereich. Gültig nur für FE33 = 3

    Rückgabeparameter

    FE32 Status0 = Ok1 = Fehler beim Zugriff auf FpMathDr-Treiber2 = Zahl außerhalb Bereich3 = Mathematischer Fehler während der Umsetzung

    FE33 Das Ergebnis (16-bit-Ganzzahl mit Vorzeichen)

    FE34 Wertebereich des Ergebnisses

  • 1. Standard-Treiber und -Bausteine

    1-46 Festo P.BE-FST4-B2-DE de 0403NH

    Beschreibung des Wertebereichs (Eingabeparameter FE34,Ausgabeparameter FE34)

    Wertebereich ist der Zahlenexponent auf Basis 10. Das Ender-gebnis nach Ausführung dieses Funktionsmoduls sollte fol-gendermaßen interpretiert werden:

    Ergebnis = FE33 * 10 ^ FE34.

    Beide, sowohl das Ergebnis (FE33) als auch der Wertebereich,sind Ganzzahlen mit Vorzeichen.

    Beispiele

    – FE33 = 4567, FE34 = 3:Ergebnis = 4567 * 103 = 4567000

    – FE33 = 4567, FE34 = 1:Ergebnis = 4567 * 101 = 45670

    – FE33 = 4567, FE34 = -5:Ergebnis = 4567 * 10-5 = 0.04567

    Beschreibung der Bereichsspezifikation(Eingabeparameter FE34)

    FE34 Beschreibung

    0 Es wird keine Bereichszuordnung für die Umsetzung ausgeführt, z. B. Wertebereich = 0 beiAusgabe

    1 Automatischer Bereich mit max. Genauigkeit.Die Zahl wird so umgesetzt, dass sie am besten in den Bereich (-32000, +32000) passt, beimaximaler Ziffernanzahl. Der Wertebereich wird berechnet werden und bei Ausgabe in FE34zurückgegeben.

    2 Automatischer Bereich mit wissenschaftlichem Format. Ähnlich wie oben, aber das Ergebnis(FE33 bei Rückgabe) wird so berechnet, dass der Wertebereich (FE34 bei Rückgabe) gleichdem Vielfachen von 3 (Wertebereich in [...,-6,-3,0,+3,+6,...]) entspricht.

    3 Wertebereich wird in FE34 bei Eingabe bestimmt. Ausgabewertebereich in FE34 wird derGleiche sein. Ergebnis (FE33 bei Rückgabe) wird gemäß dem bestimmten Wertebereichberechnet.

  • 1. Standard-Treiber und -Bausteine

    1-47Festo P.BE-FST4-B2-DE de 0403NH

    FPROM1 Führt Param1 * 0.001 * 0.5719 *(Param2 + 1) ^ 0.9545 aus

    Verwendung in FST: Funktionsmodul FPROM1 im Projekt ein-fügen, als Typ F (Funktionsmodul) deklarieren und mit einerModulnummer Ihrer Wahl versehen. Das Funktionsmodulbenötigt FpMathDr.exe Version 1.40 oder neuer.

    Dieses Funktionsmodul führt die folgende Operation aus:

    Ergebnis = Param1 * 0.001 * 0.5719 * (Param2 + 1) ^ 0.9545

    – Die Eingabeparameter (Param1, Param2) sind beidesGleitpunktzahlen. Das Ergebnis wird ebenfalls als Gleit-punktzahl ausgegeben.

    Eingangsparameter

    FE32 Byte_3, Byte_4 des float-Parameters 1

    FE33 Byte_1, Byte_2 des float-Parameters 1

    FE34 Byte_3, Byte_4 des float-Parameters 2

    FE35 Byte_1, Byte_2 des float-Parameters 2

    Rückgabeparameter

    FE32 Status0 = Ok1 = Fehler beim Zugriff auf FpMathDr-Treiber2 = Zahl außerhalb Bereich3 = Mathematischer Fehler während der Umsetzung

    FE33 Byte_3, Byte_4 des float-Ergebnisses

    FE34 Byte_1, Byte_2 des float-Ergebnisses

  • 1. Standard-Treiber und -Bausteine

    1-48 Festo P.BE-FST4-B2-DE de 0403NH

    FPSQRT Führt Sqrt (FloatNumber) aus

    Verwendung in FST: Funktionsmodul FPSQRT im Projekt ein-fügen, als Typ F (Funktionsmodul) deklarieren und mit einerModulnummer Ihrer Wahl versehen. Das Funktionsmodulbenötigt FPMATHDR Version 1.50 oder neuer.

    Dieses Funktionsmodul führt die folgende Operation aus:

    – Der Eingabeparameter FloatNumber ist eine Gleitpunkt-zahl. Das Ergebnis wird als Gleitpunktzahl ausgegeben.

    Eingangsparameter

    FE32 Byte_3, Byte_4 von FloatNumber

    FE33 Byte_1, Byte_2 von FloatNumber

    Rückgabeparameter

    FE32 Status0 = Ok1 = Fehler beim Zugriff auf FpMathDr-Treiber2 = Zahl außerhalb Bereich3 =Mathematischer Fehler während der Umsetzung

    FE33 Byte_3, Byte_4 des float-Ergebnisses

    FE34 Byte_1, Byte_2 des float-Ergebnisses

  • 1. Standard-Treiber und -Bausteine

    1-49Festo P.BE-FST4-B2-DE de 0403NH

    FPGONIO Trigonometrische Funktionen

    Das Funktionsmodul benötigt FPMATHDR Version 1.60 oderneuer. Die zu berechnenden Winkel müssen im Bogenmaß(Rad) vorgegeben werden.

    Eingangsparameter

    FE32 Funktion: 1= sin, 2= cos, 3= tan,4=asin, 5= acos,6=atan

    FE33 Byte_3, Byte_4 von FloatNumber

    FE34 Byte_1, Byte_2 von FloatNumber

    Rückgabeparameter

    FE32 Status0 = Ok1 = Fehler beim Zugriff auf FpMathDr-Treiber2 = Zahl außerhalb Bereich3 = Mathematischer Fehler während der Umsetzung4 = ungültiger Funktionsvorwahlwert

    FE33 Byte_3, Byte_4 des float-Ergebnisses

    FE34 Byte_1, Byte_2 des float-Ergebnisses

  • 1. Standard-Treiber und -Bausteine

    1-50 Festo P.BE-FST4-B2-DE de 0403NH

    Hinweise zu Umsetzungen float - longint (= Ganz-zahlen vom Typ long)

    Hinweis 1 - Genauigkeit

    Laut der Dokumentation hinsichtlich der IEEE-754 -Gleit-punktzahlen (dargestellt unter Verwendung von 4 Bytes),beträgt ihre Genauigkeit circa 7 Ziffern. Diese Tatsache führtzu einem Genauigkeitsverlust bei Umsetzungen von Ganzzah-len vom Typ long in float, wenn long-Ganzzahlen verwendetwerden, die mehr als 7 Ziffern haben.

    Beispiel 1

    LongInt-Zahl = 1966080500 (753001F4h)

    Nach der Umsetzung in float unter Verwendung vomFPL2F.COM-Funktionsmodul gilt:

    Float-Zahl (Bytes 1,2,3,4) = 4E EA 60 04

    Nach der Umsetzung zurück in long integer unter Verwen-dung von FPF2L.COM gilt:

    LongInt-Zahl = 1966080512 (75300200h)

    Beispiel 2

    LongInt-Zahl = 196608500 (0BB801F4h)

    Nach der Umsetzung in float unter Verwendung vomFPL2F.COM-Funktionsmodul gilt:

    Float-Zahl (Bytes 1,2,3,4) = 4D 3B 80 1F

    1) Nach der Umsetzung zurück in long integer unter Verwen-dung von FPF2L.COM und Bereichspezifikation = 0 gilt:

    LongInt-Zahl = 196608496 (0BB801F0h)

  • 1. Standard-Treiber und -Bausteine

    1-51Festo P.BE-FST4-B2-DE de 0403NH

    2) Nach der Umsetzung zurück in long integer unter Verwen-dung von FPF2L.COM und Bereichspezifikation = 1 gilt:

    LongInt-Zahl = 1966084992 (75301380h) und Wertebe-reich = -1 (FFFFh)

    Man beachte, dass die Umsetzung mit automatischem Be-reich (2.) einen genaueren Wert geliefert hat.

    Hinweis 2 - Mit oder ohne Vorzeichen ?

    Man beachte, dass die Umsetzungsfunktionsmodule anneh-men, dass alle long-integer-Werte ein Vorzeichen haben !Beispiel:

    LongInt-Zahl = -65535 (FFFF0001h)

    Nach der Umsetzung in float unter Verwendung vomFPL2F.COM-Funktionsmodul gilt:

    Float-Zahl (Bytes 1,2,3,4) = C7 7F FF 00

    1) Nach der Umsetzung zurück in long integer unter Verwen-dung von FPF2L.COM und Bereichspezifikation = 0 gilt:

    LongInt-Zahl= -65535 (FFFF0001h)

    2) Nach der Umsetzung zurück in long integer unter Verwen-dung von FPF2L.COM und Bereichspezifikation = 1 gilt:

    LongInt-Zahl= -655350016 (D8F02700h) und Wertebe-reich = -4 (FFFCh)

  • 1. Standard-Treiber und -Bausteine

    1-52 Festo P.BE-FST4-B2-DE de 0403NH

    1.7.4 Beispiel: Verwendung der Bausteine

    Das folgende Beispiel veranschaulicht die Verwendung derBausteine FPI2F, FPBINOP und FPF2A.

    Beispiel

    SCHRITT

    ”” Setze Merkerwort MW0 in float um - Ergebnis ist MW0 * (10 ^ MW1)

    WENN NOP

    DANN BAF 0 ” Umsetzung 16-bit-Ganzzahl zu float

    MIT MW0 ” 16-bit-Ganzzahl mit Vorzeichen

    MIT MW1 ” Wertebereich

    ”” Wenn Wandlung erfolgreich, dann lade Ergebnis nach MW20,MW21

    WENN FE32 ’Parameter 1

    = K0

    DANN LADE FE33 ’Parameter 2

    NACH MW20

    LADE FE34 ’Parameter 3

    NACH MW21

    SCHRITT

    ”” Setze Merkerwort MW2 in float um - Ergebnis ist MW2 * (10 ^ MW3)

    WENN NOP

    DANN BAF 0 ” Umsetzung 16-bit-Ganzzahl zu float

    MIT MW2 ” 16-bit-Ganzzahl mit Vorzeichen

    MIT MW3 ” Wertebereich

    ”” Wenn Wandlung erfolgreich, dann lade Ergebnis nach MW22,MW23

    WENN FE32 ’Parameter 1

    = K0

    DANN LADE FE33 ’Parameter 2

    NACH MW22

    LADE FE34 ’Parameter 3

    NACH MW23

    SCHRITT

    ”” Division von Zwischenergebnis 1 und 2

    WENN NOP

    DANN BAF 1 ” Gleitpunkt-Binäroperationen

    MIT K1 ” Operationscode

    ” (0=*,1=/,2=+,3=-,4=^,5=ln)

    MIT MW20 ” Bytes 3,4 von Parameter 1 (F1)

    MIT MW21 ” Bytes 1,2 von Parameter 1 (F1)

    MIT MW22 ” Bytes 3,4 von Parameter 2 (F2)

    MIT MW23 ” Bytes 1,2 von Parameter 2 (F2)

  • 1. Standard-Treiber und -Bausteine

    1-53Festo P.BE-FST4-B2-DE de 0403NH

    ”” Wenn Division erfolgreich, dann lade Ergebnis nach MW30,MW31

    WENN FE32 ’Parameter 1

    = K0

    DANN LADE FE34 ’Parameter 3

    NACH MW30

    LADE FE35 ’Parameter 4

    NACH MW31

    SCHRITT

    ”” Setze Ergebnis in String mit 5 Nachkommastellen um

    WENN NOP

    DANN BAF 2 ” Umsetzung float zu String

    MIT MW30 ” Bytes 3,4 der float-Zahl

    MIT MW31 ” Bytes 1,2 der float-Zahl

    MIT K5 ” Anzahl der Nachkommastellen

    MIT K1 ” Nummer des Strings für das

    “ Ergebnis

    WENN FE32 ’Parameter 1

    = K0

    DANN NOP

  • 1. Standard-Treiber und -Bausteine

    1-54 Festo P.BE-FST4-B2-DE de 0403NH

    1.8 String-Treiber (Treiber STRINGS)

    Der String-Treiber der FST stellt einen neuen, zusätzlichenDatentyp STRING bereit. Als Voreinstellung werden 256Strings unterstützt. Angesprochen werden einzelne Stringsüber eine Zahl, welche die String-Nummer darstellt. Stringskönnen beliebige Zeichen ausgenommen dem NUL-Zeichen(hexadezimal $00) enthalten. Im Rahmen des eingestelltenSpeicherbedarfs können Strings beliebig lang sein. DieStrings sind nicht remanent.

    1.8.1 Treiber konfigurieren und parametrieren

    Wenn Sie Strings in einem FST IPC Projekt verwenden möch-ten, müssen Sie den Treiber STRINGS im Treiberkonfiguratoreintragen und parametrieren.

    IPC-Laufwerk

    Geben Sie das Laufwerk an, auf dem sich der String-TreiberSTRINGS.EXE befindet bzw. wohin er geladen werden soll.

    Reservierter Speicher in Bytes

    Geben Sie den maximalen Speicherplatz für Strings ein. Zu-lässiger Bereich von 5 bis 65000 Bytes. Die Voreinstellungbeträgt 2000 Bytes. Diese Einstellung kann auch durch denBaustein STRINIT erfolgen oder verändert werden.

    Anzahl Strings

    Geben Sie die maximale Anzahl von Strings ein. ZulässigerBereich von 5 bis 1024 Strings. Die Voreinstellung beträgt256 Strings.

  • 1. Standard-Treiber und -Bausteine

    1-55Festo P.BE-FST4-B2-DE de 0403NH

    Datei mit Vorbelegungen

    Geben Sie den Namen der Datei ein, welche die Initialisie-rungswerte für die Strings enthält. Das Format dieser Datei istim folgenden Abschnitt beschrieben.

    1.8.2 Initialisierung von Strings

    Zur Initialisierung der Strings wird eine einfache Textdateiverwendet. Sie muss die Erweiterung ”.TXT” besitzen. JedeZeile dieser Datei ist ein String. Die erste Zeile wird zum String0. Fehlende Strings werden als leer initialisiert. Zeilenvor-schubzeichen (CR und LF) in der Textdatei werden entfernt.

    Sonderzeichen

    Sonderzeichen werden durch eine Kombination aus zwei Zei-chen dargestellt, dem Zeichen ’\’ und einem weiteren Zei-chen. Folgende Sonderzeichen sind möglich:

    Sonderzeichen Bedeutung Beschreibung

    \a alert Glockenzeichen (Signalton)

    \b backspace Positionierung um ein Zeichen rückwärts

    \f formfeed Seitenvorschub (FF)

    \n linefeed Zeilenvorschub (LF)

    \r return neue Zeile (CR)

    \t tab Tabulatorzeichen

    \ Hexadezimale Definition eines Zeichens; muss mit einerZiffer beginnen, also z.B. ”\0A8” (richtig) statt ”\A8” (falsch).

    \\ \ Das Zeichen ’\’ wird durch zwei ’\\’ dargestellt.

  • 1. Standard-Treiber und -Bausteine

    1-56 Festo P.BE-FST4-B2-DE de 0403NH

    1.8.3 Zusätzliche CI-Kommandos

    Durch den String-Treiber wird der Befehlsumfang des CI er-gänzt. Die zusätzlichen Kommandos für den String-Treibersind:

    CI-Kommando Beschreibung

    !3 Zeigt Treiber-Info und Versionsnummer an. DieseInformation wird auch dann angezeigt, wenn einunbekanntes Kommando eingegeben wird (z.B.!3abcdef ).

    !3Dx Anzeige des String x

    !3Mx=text Einstellen des String x mit der Zeichenfolge text

    !3S Statusanzeige,Ergebnis ”= count=, storage=, ” mit:– XX = Anzahl Strings– YY = reservierter Speicherplatz– ZZ = OK, wenn Stringspeicher ok ist,

    oder = BAD, wenn Stringspeicher defekt ist

    In diesen Kommandos ist ”!3” das Präfix für einen CI-Aufruf ineinem Treiber, hier im Treiber 3 für Strings.

  • 1. Standard-Treiber und -Bausteine

    1-57Festo P.BE-FST4-B2-DE de 0403NH

    1.8.4 Bausteine für die Behandlung von Strings

    Für die Handhabung von Strings sind eine Reihe von Baustei-nen vorbereitet. Diese sind wie üblich in ein Projekt zu impor-tieren. Die jeweils beteiligten Strings werden mit der String-nummer, angegeben.

    Beispiel

    Um den String 5 zu löschen, d. h. ihn auf die Länge 0 zu brin-gen, muss der Baustein STRCLR aufgerufen werden. Der Bau-stein STRCLR möge als BAP 73 importiert worden sein. InAWL ist zu programmieren:

    DANN . . .

    BAP 73 ” Aufruf von STRCLR zum Löschen

    MIT K5 ” von String 5

    Um den String 6 in den String 12 zu kopieren, muss der Bau-stein STRCPY aufgerufen werden. Der Baustein STRCPY mögeals BAP 74 importiert worden sein. In AWL ist zu programmie-ren:

    DANN . . .

    BAP 74 ” Aufruf von STRCPY

    MIT R0 ” kopieren von String mit Nummer

    ” in R0

    MIT K12 ” nach String 12

    Die meisten String-Bausteine liefern ein Ergebnis zur Fehlerer-kennung zurück.

  • 1. Standard-Treiber und -Bausteine

    1-58 Festo P.BE-FST4-B2-DE de 0403NH

    Baustein-Übersicht

    Baustein Kurzbeschreibung

    STRADDR Interne Adresse eines Strings ermitteln

    STRAPPND Zeichen an String anhängen

    STRATOH Hexadezimalen String inWort wandeln

    STRATOI String in Wort mit Vorzeichen wandeln (signed)

    STRATOIX String in Wort mit Vorzeichen wandeln (signed)

    STRATOU String in Wort ohne Vorzeichen wandeln (unsigned)

    STRCAT Zusammenfassen zweier Strings in einen dritten

    STRCHECK Speicherprüfung

    STRCHGET Zeichen aus einem String extrahieren

    STRCHSET Zeichen in einem String ersetzen

    STRCI Ausführen eines CI-Kommandos

    STRCLR String löschen

    STRCMP Zeichenweises Vergleichen zweier Strings, Groß- undKleinbuchstaben werden unterschieden

    STRCPY String kopieren

    STRDEL Teil eines Strings entfernen

    STRDUMP Einige Strings ausgeben

    STRFILL String mit gegebener Anzahl gleicher Zeichen erzeu-gen

    STRFILLW String mit anderem String rechts- oder linksbündigfüllen

    STRFINDC Suchen eines Zeichens in einem String

    STRFINDS Suchen eines Teil-Strings in einem String

    STRGROW String-Speicher für einzelnen String vergrößern

    STRHTOA Wort in hexadezimalen String wandeln

  • 1. Standard-Treiber und -Bausteine

    1-59Festo P.BE-FST4-B2-DE de 0403NH

    Baustein Kurzbeschreibung

    STRICMP Zeichenweises Vergleichen zweier Strings, Groß- undKleinschreibung gleichwertig

    STRINIT Initialisierung oder erneute Initialisierung

    STRINSRT Einfügen eines Strings in einen anderen

    STRITOA Wort mit Vorzeichen in String wandeln

    STRLEFT Linken Teilstring übertragen

    STRLEN Länge eines Strings

    STRLOWER String in Kleinbuchstaben wandeln

    STRMID Mittleren Teilstring übertragen

    STRNCMP Vergleichen der ersten Zeichen zweier Strings, Groß-und Kleinbuchstaben werden unterschieden

    STRNICMP Vergleichen der ersten Zeichen zweier Strings, Groß-und Kleinschreibung gleichwertig

    STRRIGHT Rechten Teilstring übertragen

    STRSTAT Zustand des String-Treibers

    STRUPPER String in Großbuchstaben wandeln

    STRUSAGE Benutzter und freier Speicher

    STRUTOA Wort ohne Vorzeichen in String wandeln

    STR2FLAG Kopieren eines Strings in einen Merkerwortbereich

    FLAG2STR Kopieren eines Merkerwortbereichs in einen String

  • 1. Standard-Treiber und -Bausteine

    1-60 Festo P.BE-FST4-B2-DE de 0403NH

    STRADDR Interne Adresse eines Strings ermitteln

    Eingangsparameter

    FE32 Nummer des Strings

    Rückgabeparameter

    FE32 Offset der Adresse, 0 bei unzulässiger Stringnummer

    FE33 Segment der Adresse, 0 bei unzulässiger Stringnummer

    Da sich die Längen der beteiligten Strings dynamisch ändernkönnen, werden die Strings innerhalb des String-Speichersverschoben, wenn dies erforderlich ist. Hieraus folgt unmittel-bar, dass eine einmal ermittelte Adresse eines Strings sichdurch String-Operationen mit anderen Strings verändernwird. Die Adressen von Strings sind daher nur unter besonde-ren Bedingungen verwendbar.

    STRAPPND Ein Zeichen an einen String anhängen

    Eingangsparameter

    FE32 Nummer des Strings

    FE33 Zeichen

    Rückgabeparameter

    FE32 0 bei Erfolg, sonst Fehler

  • 1. Standard-Treiber und -Bausteine

    1-61Festo P.BE-FST4-B2-DE de 0403NH

    STRATOH Hexadezimalen String in Wort wandeln

    Eingangsparameter

    FE32 Nummer des Strings

    Rückgabeparameter

    FE32 0 bei Erfolg, sonst Fehler

    FE33 ermittelter Wert

    Leerzeichen und Tabulatorzeichen am Anfang und am Endedes Strings sind erlaubt. Ebenso ist ein ’$’-Zeichen vor denhexadezimalen Ziffernzeichen erlaubt. Es lassen sich nur posi-tive Werte umwandeln. Die hexadezimalen Ziffern müssen alsGroßbuchstaben im String enthalten sein. Vier Ziffern könnenumgewandelt werden (z. B. ABC2).

    STRATOI String in Wort mit Vorzeichen wandeln (signed)

    Eingangsparameter

    FE32 Nummer des Strings

    Rückgabeparameter

    FE32 0 bei Erfolg, sonst Fehler

    FE33 ermittelter Wert

    Leerzeichen und Tabulatorzeichen am Anfang und am Endedes Strings sind erlaubt. Ebenso sind ein ’+’- oder ’-’-Zeichenvor den Ziffernzeichen erlaubt.

  • 1. Standard-Treiber und -Bausteine

    1-62 Festo P.BE-FST4-B2-DE de 0403NH

    STRATOIX String in Wort mit Vorzeichen wandeln (signed)

    Eingangsparameter

    FE32 Nummer des Strings

    FE33 Position, ab der gewandlt wird

    Rückgabeparameter

    FE32 0 bei Erfolg, sonst Fehler

    FE33 ermittelter Wert

    FE34 Anzahl der gelesenen Zeichen

    Leerzeichen und Tabulatorzeichen am Anfang und am Endedes Strings sind erlaubt. Ebenso sind ein ’+’- oder ’-’-Zeichenvor den Ziffernzeichen erlaubt.

    STRATOU String in Wort ohne Vorzeichen wandeln(unsigned)

    Eingangsparameter

    FE32 Nummer des Strings

    Rückgabeparameter

    FE32 0 bei Erfolg, sonst Fehler

    FE33 ermittelter Wert

    Leerzeichen und Tabulatorzeichen am Anfang und am Endedes Strings sind erlaubt. Ebenso ist ein ’+’-Zeichen vor denZiffernzeichen erlaubt.

  • 1. Standard-Treiber und -Bausteine

    1-63Festo P.BE-FST4-B2-DE de 0403NH

    STRCAT Zusammenfassen zweier Strings in einen dritten

    Eingangsparameter

    FE32 Nummer des ersten Quellen-Strings

    FE33 Nummer des zweiten Quellen-Strings

    FE34 Nummer des Ziel-Strings

    Rückgabeparameter

    FE32 0 bei Erfolg, sonst Fehler

    STRCHECK Prüfung des String-Speichers

    Eingangsparameter

    keine

    Rückgabeparameter

    FE32 0 bei Erfolg, sonst Fehler

  • 1. Standard-Treiber und -Bausteine

    1-64 Festo P.BE-FST4-B2-DE de 0403NH

    STRCHGET Indiziertes Zeichen aus einem String extrahieren

    Eingangsparameter

    FE32 Nummer des Strings

    FE33 Zeichenindex, 1 für erstes Zeichen des Strings

    Rückgabeparameter

    FE32 0 bei Erfolg, sonst Fehler

    FE33 extrahiertes Zeichen

    STRCHSET Indiziertes Zeichen in einem String ersetzen

    Eingangsparameter

    FE32 Nummer des Strings

    FE33 Zeichenindex, 1 für erstes Zeichen

    FE34 Ersatzzeichen im niederwertigen Byte

    Rückgabeparameter

    FE32 0 bei Erfolg, sonst Fehler

  • 1. Standard-Treiber und -Bausteine

    1-65Festo P.BE-FST4-B2-DE de 0403NH

    STRCI Ausführen eines CI-Kommandos

    Eingangsparameter

    FE32 Nummer des Strings mit dem CI-Kommando

    FE33 Nummer des Strings für das Resultat des Kommandos

    Rückgabeparameter

    FE32 0 bei Erfolg, sonst Fehler

    Der resultierende String des Kommandos darf nicht länger als80 Zeichen sein. Das Ergebnis des CI-Kommandos wird nichtinterpretiert.

    STRCLR String löschen

    D.h. den String leeren, seine Länge auf 0 bringen.

    Eingangsparameter

    FE32 Nummer des Strings

    Rückgabeparameter

    FE32 0 bei Erfolg, sonst Fehler

  • 1. Standard-Treiber und -Bausteine

    1-66 Festo P.BE-FST4-B2-DE de 0403NH

    STRCMP Zeichenweises vergleichen zweier Strings

    Eingangsparameter

    FE32 Nummer des ersten Strings

    FE33 Nummer des zweiten Strings

    Rückgabeparameter

    FE32 0 bei Erfolg, sonst Fehler

    FE33 1 = Zeichen im ersten String > als Zeichen im zweitenString

    0 = beide Strings sind identisch-1 = Zeichen im ersten String < als Zeichen im zweiten

    String

    Große und kleine Buchstaben werden unterschieden. GroßeBuchstaben haben einen kleineren Wert als kleine Buchsta-ben.

    STRCPY String in einen anderen kopieren

    Eingangsparameter

    FE32 Nummer des Quellen-Strings

    FE33 Nummer des Ziel-Strings

    Rückgabeparameter

    FE32 0 bei Erfolg, sonst Fehler

  • 1. Standard-Treiber und -Bausteine

    1-67Festo P.BE-FST4-B2-DE de 0403NH

    STRDEL Teil eines Strings entfernen

    Eingangsparameter

    FE32 Nummer des Strings

    FE33 Index für erstes zu entfernendes Zeichen, 1 für erstes Zei-chen

    FE34 Zeichenanzahl

    Rückgabeparameter

    FE32 0 bei Erfolg, sonst Fehler

    STRDUMP Debug-Ausgabe einiger Strings auf dem Monitordes IPC

    Eingangsparameter

    FE32 Nummer des ersten Strings

    FE33 Nummer des letzten Strings

    Rückgabeparameter

    keine

    Im normalen Betrieb sollte dieser Baustein nicht verwendetwerden. Erforderlichenfalls können die erweiterten CI-Kom-mandos des String-Treibers benutzt werden.

  • 1. Standard-Treiber und -Bausteine

    1-68 Festo P.BE-FST4-B2-DE de 0403NH

    STRFILL String mit gegebener Anzahl gleicher Zeichen er-zeugen

    Eingangsparameter

    FE32 Nummer des Strings

    FE33 Zeichenanzahl

    FE34 Füllzeichen

    Rückgabeparameter

    FE32 0 bei Erfolg, sonst Fehler

    STRFILLW String mit anderem String rechts- oder linksbündigfüllen

    Eingangsparameter

    FE32 Nummer des zu erzeugenden Strings

    FE33 Zeichenanzahl für diesen String> 0 für rechtsbündig< 0 für linksbündig

    FE34 Nummer des zu übertragenden Strings

    Rückgabeparameter

    FE32 0 bei Erfolg, sonst Fehler

    Falls der zu erzeugende String zu klein angegeben wurde,wird der resultierende String abgeschnitten.

  • 1. Standard-Treiber und -Bausteine

    1-69Festo P.BE-FST4-B2-DE de 0403NH

    STRFINDC Suchen eines Zeichens in einem String

    Eingangsparameter

    FE32 Nummer des Strings

    FE33 Suchzeichen

    Rückgabeparameter

    FE32 0 bei Erfolg, sonst Fehler

    FE33 > 0 Position1 für erstes Zeichen0 für Zeichen nicht enthalten

    STRFINDS Suchen eines Teil-Strings in einem String

    Eingangsparameter

    FE32 Nummer des Strings, in dem gesucht wird

    FE33 Nummer des zu suchenden Teil-Strings

    Rückgabeparameter

    FE32 0 bei Erfolg, sonst Fehler

    FE33 > 0 Position1 für erstes Zeichen0 falls Teil-String nicht enthalten oder Teil-String leer

  • 1. Standard-Treiber und -Bausteine

    1-70 Festo P.BE-FST4-B2-DE de 0403NH

    STRGROW String-Speicher für einen einzelnen String aus demvorhandenen Speicher vergrößern

    Eingangsparameter

    FE32 Nummer des Strings

    FE33 neue maximale Größe des Strings in Zeichen (ohne \0 amEnde des Strings)

    Rückgabeparameter

    FE32 0 bei Erfolg, sonst Fehler

    Der vorhandene String bleibt unverändert erhalten. Danachkann auf die mit STRADDR ermittelte Adresse ein String mitmaximal der eingestellten Länge geschrieben werden. Jederandere Aufruf eines String-Bausteins kann den eingestelltenWert wieder verändern.

    STRHTOA Wort in hexadezimalen String wandeln

    Eingangsparameter

    FE32 umzuwandelnder Wert

    FE33 Nummer des Strings

    Rückgabeparameter

    FE32 0 bei Erfolg, sonst Fehler

    Es wird ein ’$’-Zeichen vor den vier hexadezimalen Ziffernzei-chen eingefügt.

  • 1. Standard-Treiber und -Bausteine

    1-71Festo P.BE-FST4-B2-DE de 0403NH

    STRICMP Zeichenweises vergleichen zweier Strings

    Eingangsparameter

    FE32 Nummer des ersten Strings

    FE33 Nummer des zweiten Strings

    Rückgabeparameter

    FE32 0 bei Erfolg, sonst Fehler

    FE33 1 = Zeichen im ersten String > als Zeichen im zweitenString