Step7 Problem bei dem Baustein DT_TO_STRF

Begonnen von Viper68, 23. Januar 2009, 13:17:10

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 2 Gäste betrachten dieses Thema.

Viper68

Hallo Oscat Gemeinde,

ich bin noch sehr jung was die Programmierung von Step7 angeht.
Als erstes möchte ich aber erst einmal ein grosses Lob an die ganze Oscat Gemeinde aussprechen. Eine Super Idee und eine Super Software.

So jetzt mein Problem:

Ich möchte über den Baustein "DT_TO_STRF", mir einmal die aktuelle Uhrzeit und zum anderen das Datum als String ausgeben.
Aber irgendwie scheine ich etwas falsch zu machen bei der Eingabe von FMT. Ich bekomme immer einen Fehler Konstatenformat passt nicht.
Meine Eingabe war bisher: '#C. #F #A' für Anzeige "23.Januar 2008". Was mache ich nur falsch.

Vielen Dank schon einmal!



dalbi

Hallo Viper68,

da hier der Typ String verlangt wird und dieser in der größe Variabel bleiben muss da verschiedene Formatierungen der DT Ausgabe möglich sind erfolgt die Vorgabe der Konstante unter Step 7 über einen Datenbaustein.

Dazu muss ein Datenbaustein angelegt werden z.B. DB10 in diesem eine Variable z.B. FMT vom Typ String erstellen. Als Aktualwert einfach die gewünschten Formatierungszeichen angeben.

      CALL  "DT_TO_STRF"
       DTI    :=#OB1_DATE_TIME
       MS     :=0
       FMT    :="DB_TEST".FMT
       LANG   :=1
       RET_VAL:="DB_TEST".DT_TO_STRF


Gruss Daniel



[gelöscht durch Administrator]

Viper68

Hallo Dalbi,

Vielen Dank für die Info. Habe es auch sofort umgesetzt. Rufe den FC235 aus einem FB 400 mit Instanz DB400 auf, der bei mir die Störungen abarbeitet. Nach dem ich dann alle FCÃ,´s die vom FC275 gebraucht werden geladen habe, erhalte ich aber einen SF. :'(
Siehe jpeg.
Habe keine Ahnung woran der Fehler liegt. ???
Vielleicht kannst Du mir ja helfen.

Danke schonmal
Gruss Mario



[gelöscht durch Administrator]

dalbi

Hallo Mario,

ich danke Dir beim DT_TO_STRF fehlt noch die Verwendungsliste nicht erschrecken.

Verwendete Bausteine:
//uses: S7/Standard Library/IEC Function Blocks/I_STRNG
//      S7/Standard Library/IEC Function Blocks/CONCAT
//      S7/Standard Library/IEC Function Blocks/DT_DATE
//      S7/Standard Library/IEC Function Blocks/DT_TOD
//      S7/Standard Library/IEC Function Blocks/FIND
//      S7/Standard Library/IEC Function Blocks/RIGHT
//      S7/Standard Library/IEC Function Blocks/LEN
//      S7/Standard Library/IEC Function Blocks/REPLACE
//      oscat/String/CODE
//      oscat/Time&Date/YEAR_OF_DATE
//      oscat/Time&Date/MONTH_OF_DATE
//      oscat/Time&Date/DAY_OF_YEAR
//      oscat/Time&Date/YEAR_BEGIN
//      oscat/Time&Date/LEAP_OF_DATE
//      oscat/Time&Date/LEAP_YEAR
//      oscat/String/MONTH_TO_STRING
//      oscat/Time&Date/DAY_OF_MONTH
//      oscat/Time&Date/DAY_OF_WEEK
//      oscat/String/WEEKDAY_TO_STRING
//      oscat/Time&Date/HOUR
//      oscat/Time&Date/MINUTE
//      oscat/Time&Date/SECOND
//      oscat/Constants/LANGUAGE
//      oscat/Time&Date/HOLIDAY_DATA


Gruss Daniel

GerLitz

Hallo,
ich möchte nochmal anknüpfen. Bekomm den FC235 auch nicht zum Laufen  :(.
Er liefert am Ausgang dass, was ich am FMT-Eingang dranschreibe, ersetzt also die Platzhalter nicht.
Fehler bekomm ich keinen.

Frage noch: Was ist der DB4 der Verwendungsliste? Ist damit ggf. "oscat/Constants/LANGUAGE" gemeint?
Den Hab ich nämlich nicht. Habe einen DB mit 1000 leer-Byte angelegt ... da ist bestimmt das Problem  :(