×
Siemens Industry Online Support
Siemens AG
Beitragstyp: FAQ Beitrags-ID: 48711306, Beitragsdatum: 10.03.2016
(16)
Bewerten

Wie können Sie in STEP 7 (TIA Portal) die Datentypen für die S7-1200/S7-1500 umwandeln?

  • Beitrag
  • Betrifft Produkt(e)
Mit den Umwandlungsfunktionen in STEP 7 (TIA Portal) aus der Palette "Anweisungen" können Sie für die S7-1200/S7-1500 die Inhalte der Variablen in die ausgewählten Datentypen konvertieren.

Beschreibung
In der nachfolgenden Übersicht (Bild 1) erhalten Sie einen Überblick über die am meisten verwendeten Konvertierungen.
 


Bild 1

Umwandlung der Datentypen Int-, DInt-, Real- und Bcd-Zahlen
Zur Umwandlung der Datentypen Int-, DInt-, Real- und Bcd-Zahlen steht Ihnen in STEP 7 (TIA Portal) die Operation "CONV" (Konvertieren) zur Verfügung. Die nachstehende Anleitung enthält die Vorgehensweise, wie Sie diese Operation in Ihrem Bausteineditor einfügen und parametrieren können:
  1. Öffnen Sie im Bausteineditor in der Palette "Anweisungen" den Ordner "Einfache Anweisungen > Umwandler" und fügen Sie per Drag & Drop die Anweisung "CONVERT" in Ihr Netzwerk ein.
  2. Nach dem Einfügen der Anweisungsbox sind die Datentypen der Anweisung noch nicht definiert und somit stehen unterhalb der Bezeichnung "CONV" noch die Platzhalter "??? to ???". Wenn Sie den Cursor über das linke Dreieck der ersten drei Fragezeichen bewegen, erscheint eine Pfeiltaste.
  3. Klicken Sie auf die linke Pfeiltaste und wählen Sie aus der sich öffnenden Klappbox den gewünschten Datentyp für den Eingangsparameter "IN" (z.B. Int).
  4. Wiederholen Sie den Vorgang auch für den Ausgangsparameter "OUT" und wählen Sie aus der rechten Klappbox den Datentyp, in den Sie den Zahlenwert konvertieren wollen (z.B. Real). In diesem Beispiel kann nun ein Zahlenwert vom Datentyp Int in den Datentyp Real ("Int to Real") konvertiert werden.
     
    Hinweis
    Wenn Sie die Ein- und Ausgangsparameter direkt mit den Variablen parametrieren, wird die Anweisung automatisch mit den zugehörigen Datentypen definiert und die Schritte 2 bis 4 sind nicht erforderlich.
     
  5. Parametrieren Sie die Ein- und Ausgänge des Konverters mit den von Ihnen vorgesehenen Variablen. Nach der Parametrierung der Ein- und Ausgänge können Sie dann z.B. die folgenden Zahlenwerte konvertieren; 
  • von Int nach Int, DInt, Real, Bcd16, USint, UInt, UDint, SInt, LReal und Char
  • von DInt nach Int, DInt, Real, Bcd32, USint, UInt, UDint, SInt, LReal und Char
  • von Real nach Int, DInt, Real, USint, UInt, UDint, SInt und LReal
  • von USint nach Int, DInt, Real, USint, UInt, UDint, SInt, LReal und Char
  • von UInt nach Int, DInt, Real, USint, UInt, UDint, SInt, LReal und Char
  • von UDint nach Int, DInt, Real, USint, UInt, UDint, SInt, LReal und Char
  • von SInt nach  Int, DInt, Real, USint, UInt, UDint, SInt, LReal und Char
  • von LReal nach Int, DInt, Real, USint, UInt, UDint, SInt und LReal
  • von Char nach Int, DInt, USint, UInt, UDint, SInt und Char
  • von Bcd16 (16 Bit) nach Int,
  • von Bcd32 (32 Bit) nach DInt.

Hinweise zur Anweisung CONVERT
Bild 2 zeigt ein Beispiel für die Datentypkonvertierung vom BCD-Format nach Real und von Byte nach SInt.

  • Einen Zahlenwert im Bcd-Format müssen Sie zuerst in den Datentyp Int oder DInt umwandeln, bevor Sie ihn z.B. in den Datentyp Real konvertieren können.
  • Wenn Sie eine Datentypkonvertierung von Byte nach SInt oder von Byte nach USInt durchführen, müssen Sie bei der Anweisung CONVERT am Ein- und Ausgang manuell den Datentyp SInt bzw. USInt einstellen.

Weitere Informationen finden Sie in der STEP 7 (TIA Portal) Onlinehilfe und unter CONVERT: Wert konvertieren.
 


Bild 2 

Rundung von Real-Zahlen
Für die Rundung eines Zahlenwertes vom Datentyp Real zu einer ganzen Zahl (Int oder DInt) stehen Ihnen die folgenden Anweisungen zur Verfügung. Diese Anweisungen finden Sie auch im Ordner "Umwandler", wie oben beschrieben:

  • "CEIL": Rundung zur nächst größeren ganzen Zahl,
  • "FLOOR": Rundung zur nächst kleineren ganzen Zahl,
  • "ROUND": Rundung zur nächsten ganzen Zahl,
  • "TRUNC": Ohne Rundung.

Umwandlung von String-Datentypen
Nachstehende Tabelle enthält die Anweisungen zur Konvertierung des Datentyps String. Die Vorgehensweise zur Programmierung ist die gleiche wie oben in der Anleitung beschrieben.
 

Erweiterte Anweisungen

Beschreibung
S_CONVZeichenkette konvertieren
STRG_VALZeichenkette in Zahlenwert konvertieren
VAL_STRGZahlenwert in Zeichenkette konvertieren
Strg_TO_CharZeichenkette in Array of CHAR konvertieren
Char_TO_StrgArray of CHAR in Zeichenkette konvertieren
ATHASCII-Zeichenkette in Hexadezimalzahl konvertieren
HTAHexadezimalzahl in ASCII-Zeichenkette konvertieren

Umwandlung in das Datenformat Time
Mit der erweiterten Anweisung "T_CONV" konvertieren Sie einen numerischen Wert vom Datentyp DInt in eine Zeitangabe (Time) und umgekehrt. Alle anderen Datentypen (Int, Real, Bcd,  ...) müssen Sie vorher in den Datentyp DInt konvertieren, bevor Sie sie in den Datentyp Time umwandeln. Die Anweisung "T_CONV" finden Sie im Bausteineditor in der Palette "Anweisungen" im Ordner "Erweiterte Anweisungen > Datum und Uhrzeit".
Bild 3 zeigt ein Beispiel für die Konvertierung der Zahlenwerte Int und Real in das Datenformat Time.
 


Bild 3

Umwandlung des Hardware-Datentyps HW_IO
Der Hardware-Datentyp "HW_IO" dient zur Identifikation eines Hardwaremoduls, mit der STEP 7 (TIA Portal) auf die Informationen einer Baugruppe zugreift. Diese Identifikationsnummer wird beim Anlegen der Gerätekonfiguration automatisch vergeben, ist in den Eigenschaften des Gerätes in der HWKonfig hinterlegt und liegt unter dem Baugruppennamen auch als Systemkonstante in der Liste "PLC-Variablen" vor. Hierdurch kann die Baugruppe direkt mit Hilfe ihres Namens bei den entsprechenden Bausteinen genutzt werden.


Zusätzlich können Sie mit Hilfe der Funktion "IO2MOD" aus einer logischen Adresse der Baugruppe, z.B. der Eingangsadresse "InAdress" (E0.0) die Hardware-Kennung "HWIO" ermitteln. Diese Hardware-Kennung "HWIO" können Sie dann direkt als Input für einen Baustein verwenden, der diese am Parameter "LADDR" benötigt. Eine weitere Konvertierung wird nicht benötigt, da der Parameter "LADDR" neben dem Parameter "HW_IO" auch Variablen vom Datentyp UINT akzeptiert.
 

Bild 4
 
In Bild 4 sehen Sie ein SCL-Programmbeispiel für den Aufruf der Anweisung "IO2MOD". Die Variable "ChangeHWIO" enthält den Fehlercode, falls die Funktion falsch parametriert wurde.

Weiterführende Informationen
zur Programmierung und Parametrierung der oben genannten Anweisungen, finden Sie in der STEP 7 (TIA Portal) Onlinehilfe. Um die Onlinehilfe zu erhalten, markieren Sie die Anweisung und drücken Sie auf die "F1"-Taste.

Erstellumgebung
Bilder in diesem FAQ sind mit STEP 7 (TIA Portal) V15 erstellt worden.

Securityhinweise
Um technische Infrastruktur, Systeme, Maschinen und Netzwerke gegen Cyber-Bedrohungen zu sichern, ist es erforderlich, ein ganzheitliches IT Security-Konzept zu implementieren (und kontinuierlich aufrechtzuerhalten), das dem aktuellen Stand der Technik entspricht. Die Produkte und Lösungen von Siemens formen nur einen Bestandteil eines solchen Konzepts. Weitergehende Informationen über Cyber Security finden Sie unter
https://www.siemens.com/cybersecurity#Ouraspiration.