festo · inhalt und allgemeine sicherheitshinweise festo p.be-fst4-b2-de de 0403nh i autoren s....
TRANSCRIPT
-
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