Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 7 von 7

Thema: string in int ode rreal konvertieren

  1. #1
    Registriert seit
    29.08.2009
    Beiträge
    776
    Danke
    25
    Erhielt 3 Danke für 3 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo, habe leider gerade kein Step 7 hier, aber will etas vorbereiten.

    Kann man in S7 SCL einen String in eine int, oder ein real konvertieren?

    Also Grundlage ist die, dass ich eine csv erzeuge und diese gerne über ein wincc flexible script einlesen würde.
    Dachte mir jetzt, dass ich alle werte in ein String array schreibe und dann später in nem SCL baustein auseinander klabüstere
    ist das dann möglich diese konvertierung vorzunehmen?
    Zitieren Zitieren string in int ode rreal konvertieren  

  2. #2
    Registriert seit
    19.06.2008
    Ort
    Ostalbkreis
    Beiträge
    3.140
    Danke
    201
    Erhielt 553 Danke für 498 Beiträge

  3. #3
    Bensen83 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.08.2009
    Beiträge
    776
    Danke
    25
    Erhielt 3 Danke für 3 Beiträge

    Standard

    Danke, also scheint es ja zu funktionieren
    Zitieren Zitieren Ok  

  4. #4
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.202
    Danke
    926
    Erhielt 3.292 Danke für 2.661 Beiträge

    Standard

    Zitat Zitat von Bensen83 Beitrag anzeigen
    Also Grundlage ist die, dass ich eine csv erzeuge und diese gerne über ein wincc flexible script einlesen würde.
    Dachte mir jetzt, dass ich alle werte in ein String array schreibe und dann später in nem SCL baustein auseinander klabüstere
    Also ich würde die Konvertierung von String in INT oder REAL gleich im WinCCflex-Script machen und in numerische CPU-Variablen schreiben.

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  5. #5
    Bensen83 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.08.2009
    Beiträge
    776
    Danke
    25
    Erhielt 3 Danke für 3 Beiträge

    Standard

    Naja die sache ist die, ich möchte mit meinen daten flexible bleiben. soll heissen, dass ich nicht jedes mal die gleiche datenstruktur habe. und dann müsste ich im flexible immer schon wissen, welche daten ich habe. oder? so kann ich generell in ein string schreiben und diesen mit string[i] adressieren und brauche auch nur eien variable im wincc flexible anlegen. dann kann ich einen baustein machen, der mir die strings in das entspechende format konvertiert.
    Oder sehe ich das flasch?
    Wenn ich die datenkonvertierung schon im wincc flexible machen würde, müsste ich ja auch jede variable anlegen, oder?
    Zitieren Zitieren Umwandeln  

  6. #6
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.728
    Danke
    398
    Erhielt 2.406 Danke für 2.002 Beiträge

    Standard

    Naja ...
    Woher weißt du denn, welches Datenformat du in dem String hast ? Woran erkennst du, ob es ein INT oder DINT oder REAL oder oder ist ?
    Du kannst das natürlich sehr wahrscheinlich so machen ... aber ob du dir dadurch das Leben dann leichter (flexibler) machst ...????

    Gruß
    Larry

  7. #7
    Registriert seit
    06.10.2004
    Ort
    Kopenhagen.
    Beiträge
    4.629
    Danke
    377
    Erhielt 801 Danke für 642 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Habe ein bisschen Erfahrung damit, und muss sagen das keine "konvertierung" ist notwendig beim einlesen von CSV Daten und übertragen in SPS Variablen.

    Nur muss man aufpassen das überall dieselbe Dezimaltrenner verwendet wird, ob "," (komma) oder "." (punkt). Speziel wenn es mehrere Benutzer gibt, und jeder einzelne Benutzer hat seine eigene Ländereinstellungen kann es Probleme erzeugen.
    Z.B.:
    Deutsch --> Dezimaltrenner = "," (komma).
    Englisch --> Dezimaltrenner = "." (punkt).

    Mit diese VBS code teste ich ob der richtige Dezimaltrenner eingestellt ist:
    Code:
    charDecPoint = Mid(CStr(8.1), 2, 1)
    If Not charDecPoint = "." Then ShowSystemAlarm "Decimal separator is wrong. Set decimal to '.', set list separator to ',' in Regional settings."
    Leider habe ich keinen code-Beispiel um zu erkennen ob der richtige Listenseparator eingestellt ist. Aber wenn Dezimaltrenner richtig ist, ist Listenseparator auch richtig - meistens.
    Jesper M. Pedersen

Ähnliche Themen

  1. DATE_AND_TIME in String konvertieren
    Von toto45 im Forum Simatic
    Antworten: 11
    Letzter Beitrag: 14.03.2012, 13:58
  2. Antworten: 4
    Letzter Beitrag: 09.11.2011, 15:21
  3. String nach Date_and_Time konvertieren
    Von McFly82 im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 02.08.2011, 14:16
  4. Antworten: 5
    Letzter Beitrag: 11.09.2009, 08:04
  5. WinnCC String in Ulong konvertieren
    Von Steffen44 im Forum HMI
    Antworten: 0
    Letzter Beitrag: 21.03.2006, 08:17

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •