Beitragsliste anzeigen
ProTool -- HMI Projektierung erstellen -- Bild erstellen
Überschriften bei OP3-Bildern in ProTool V5.2 /SP2 projektieren
Programmieren der Funktion "Bit_setzen" beim Drücken einer Taste bei windowsbasierten Geräten
Bildwechsel am TP170A als Variablenfunktion
CPU-Funktionen für S7-300 bei OP7/OP17
Eingabe einer S5TIME" -Variablen in ProTool/Pro für die Versorgung eines Timers in der SIMATIC-Steuerung
Darstellung einer S5TIME"-Variablen aus einer SIMATIC-Steuerung mit ProTool/Pro
Projektieren der TAB-Reihenfolge in ProTool
Nachträgliches Einfügen von Bildern in die Projektierung
Grauschleier in der OP-Darstellung von Bitmap-Grafiken
Beschreibung des Default-Namens "PIC_xx" für ein ProTool/Pro Bild
Kann man im Meldebild auch Funktionstasten programmieren?
Sonder- und Sprachabhängige-Zeichen
Wie kann ich unbekannte ActiveX-Objekte auf einem PC registrieren und dann in ProTool/Pro einbinden?
Notwendige Einstellungen für die Verwendung der ProTool-Funktion "Programm_Starten"
Hilfetexte zu einem bestimmten Bildobjekt auf einem Touch Panel anzeigen
Wie können auf einem Bediengerät bestimmte Einträge der Systemsteuerung (Control Panel) direkt aus der Runtime gestartet werden?
Wie kann beim Mobile Panel 170 die Funktion "Putzbild" zum Säubern des Touchscreen realisiert werden?
Wie wird eine Bildanwahl an einem Zeilen- bzw. Grafik-Bediengerät über den Steuerungsauftrag 51 projektiert?
Wie wird eine Bildanwahl an einem Windows-basierten Bediengerät über den Steuerungsauftrag 51 projektiert?
Wie kann eine Bildanwahl an einem OP3 über die Steuerung durchgeführt werden?
Wie kann die Bildanwahl an einem Windows-basierten Bediengerät über die Steuerung durchgeführt werden, ohne einen Steuerungsauftrag zu verwenden?
Wie kann die Bildanwahl an einem Windows-basierten Bediengerät mittels Eingabe einer Bildnummer durchgeführt werden?
Wie kann bei einer Analoganzeige die Anzeige für den Gefahr- und Warnbereich farbig dargestellt werden?
Wie kann die Reaktionszeit - bei Ausführung eines Bildwechsels über die Steuerung - optimiert werden?
Wie können auf Panels -auf denen das Status/Steuern-Objekt nicht zur Verfügung steht- Variablen beobachtet und gesteuert werden?
Eingabe einer S5TIME" -Variablen in ProTool/Pro für die Versorgung eines Timers in der SIMATIC-Steuerung
Bestellnummer:

FRAGE:
Wie kann ich in Protool/Pro eine Variable vom Typ "S5TIME" eingeben, um damit in der SIMATIC-Steuerung einen Timer zu versorgen?

ANTWORT:
Weitere Informationen zum Thema S5-Timer und Verwendung von Skripten finden Sie auch in folgenden Beiträgen:

  • "Darstellung einer S5TIME-Variable mit ProTool/Pro", Beitrags-ID 9123496 
  • "Direkteingabe von ProTool/Pro  S5 Timerwerte", Beitrags-ID 947095.

Der Datentyp "S5TIME" besteht aus einer Zeitbasis und einem Zeitwert im Bereich von 0 bis 999 (siehe Beitrags-ID 56243). In Protool /Pro soll die Eingabe in Stunden, Minuten, Sekunden und Millisekunden erfolgen. Diese Eingabe muss anschließend gewandelt werden, so dass der Wert als "S5TIME" zur Versorgung eines Timers in der Steuerung verwendet werden kann.

Im beigefügten Projekt ist ein Skript enthalten, welches als Eingangsparameter Stunde, Minute, Sekunde und Millisekunde einliest. Der Rückgabewert der Funktion ist ein Datenwort vom Type "S5TIME".

Die Verwendung dieses Skriptes sollte folgendermaßen erfolgen:

  1. Sie definieren sich 4 Variablen (z.B. "HH", "MM", "SS" und "MS").
  2. Sie verknüpfen diese Variablen mit 4 Eingabefeldern, in die Sie die Werte für Stunden, Minuten, Sekunden bzw. Millisekunden eingeben können.
  3. Sie definieren eine Variable vom Typ "WORD"(z.B. "S5T"). Dies ist der "S5TIME"-Wert zur Versorgung des Timers in der Steuerung
  4. Jetzt definieren Sie einen Button, der das Skript aufruft. Sie übergeben an die Funktionsparameter die definierten Variablen (wobei der Rückgabewert in "S5T" geschrieben wird).

Das Script prüft den eingegebenen Wert und passt die Zeitbasis an. Der Wert wird auf den maximal möglichen Wert von 9990s oder 2h46m30s begrenzt.

Funktionsweise des Skriptes:
Der eingegebene Wert wird zunächst in Millisekunden umgerechnet. Dann wird er auf 9990s begrenzt.
Im Anschluss daran wird geprüft, welche Zeitbasis zu verwenden ist. Diese wird in Bit12 und 13 des Ergebniswortes geschrieben.
Im Skript wird anschließend der Zeitwert ermittelt. Dieser Zeitwert wird in Bit 0-11 des Ergebniswortes BCD-codiert abgelegt.

Quelltext des Skriptes:
Dim Gesamtzeit, Ergebnis
Dim Stelle1, Stelle2, Stelle3

Gesamtzeit = Millisekunde + 1000*Sekunde + 60000*Minute + 3600000*Stunde

If Gesamtzeit > 9990000 Then Gesamtzeit = 9990000

If Gesamtzeit > 999000 Then
Ergebnis = 12288
Stelle1 = Fix(Gesamtzeit/1000000)
Gesamtzeit = Gesamtzeit - Stelle1*1000000
Stelle2 = Fix(Gesamtzeit/100000)
Gesamtzeit = Gesamtzeit - Stelle2*100000
Stelle3 = Fix(Gesamtzeit/10000)
Gesamtzeit = Gesamtzeit - Stelle3*10000
ElseIf Gesamtzeit > 99900 Then
Ergebnis = 8192
Stelle1 = Fix(Gesamtzeit/100000)
Gesamtzeit = Gesamtzeit - Stelle1*100000
Stelle2 = Fix(Gesamtzeit/10000)
Gesamtzeit = Gesamtzeit - Stelle2*10000
Stelle3 = Fix(Gesamtzeit/1000)
Gesamtzeit = Gesamtzeit - Stelle3*1000
ElseIf Gesamtzeit > 9990 Then
Ergebnis = 4096
Stelle1 = Fix(Gesamtzeit/10000)
Gesamtzeit = Gesamtzeit - Stelle1*10000
Stelle2 = Fix(Gesamtzeit/1000)
Gesamtzeit = Gesamtzeit - Stelle2*1000
Stelle3 = Fix(Gesamtzeit/100)
Gesamtzeit = Gesamtzeit - Stelle3*100
Else
Ergebnis = 0
Stelle1 = Fix(Gesamtzeit/1000)
Gesamtzeit = Gesamtzeit - Stelle1*1000
Stelle2 = Fix(Gesamtzeit/100)
Gesamtzeit = Gesamtzeit - Stelle2*100
Stelle3 = Fix(Gesamtzeit/10)
Gesamtzeit = Gesamtzeit - Stelle3*10
End If

Ergebnis = Ergebnis + Stelle1*256
Ergebnis = Ergebnis + Stelle2*16
Ergebnis = Ergebnis + Stelle3

S5Time = Ergebnis

Das Skript als Download:
Der Download enthält das oben beschriebene Skript. Kopieren Sie die Datei " pro___0l.exe" in ein separates Verzeichnis und starten Sie die Datei anschließend per Doppelklick.

  pro___0l.exe ( 39 KB )  

Wichtig:
Bei den Programmbeispielen handelt es sich um ausgewählte Lösungsvorschläge zu Anfragen mit komplexen Aufgaben, die im Customer Support erarbeitet wurden. Wir weisen außerdem darauf hin, dass es nach dem Stand der Technik nicht möglich ist, Fehler in Softwareprogrammen unter allen Anwendungsbedingungen auszuschließen. Die Programmbeispiele wurde nach bestem Wissen erstellt. Eine Haftung die über die übliche Gewährleistung für Software der Klasse C entsprechend unseren "Allgemeinen Bedingungen für die Überlassung von Softwareprodukten für Automatisierungs- und Antriebstechnik" hinaus geht, können wir jedoch nicht übernehmen.

Suchbegriffe:
Objektorientierte Programmierung, Zeitumrechnung, Timerversorgung

 Beitrags-ID:9125571   Datum:2002-08-29 
Dieser Artikel...hat mir geholfenhat mir nicht geholfen                                 
mySupport
My Documentation Manager 
Newsletter 
CAx-Download-Manager 
Support Request
Zu diesem Beitrag
Drucken
PDF erstellen 
Beitrag versenden
QuickLinks
Kompatibilitäts-Tool 
Hilfe
Online Hilfe
Guided Tour