string in int ode rreal konvertieren

Bensen83

Level-1
Beiträge
777
Reaktionspunkte
3
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?
 
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
 
Umwandeln

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 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?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
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
 
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.
 
Zurück
Oben