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

Ergebnis 1 bis 7 von 7

Thema: Chars_to_String in SCL

  1. #1
    Registriert seit
    13.08.2012
    Beiträge
    112
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    habe von meinem umwandlungsversuch mal ein photo angehängt...

    ich finde zu den umwandlungsfunktionen nirgends mal kleine beispiele, wie man die syntax bei den jeweiligen befehlen zu schreiben hat
    lasse ich die eckigen klammern weg, wie bei der deklaration der ein und ausgänge beim funktionsaufruf, bekomme ich den syntaxfehler: falscher datentyp
    schreibe ich die erste stelle bei der Arrayquelle in die eckigen klammern, syntaxfehler: falscher datentyp
    lasse ich die klammern leer, soll ich mit einer eckigen klammer enden...

    ich checks grad nich, was TIA von mir will
    dieses ganze scl gedöns wird mir immer unsympatischer


    CHARS_TO_STRING.JPG
    Angehängte Grafiken Angehängte Grafiken
    Geändert von fk- princess (10.10.2012 um 16:38 Uhr)
    Zitieren Zitieren Chars_to_String in SCL  

  2. #2
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.792
    Danke
    398
    Erhielt 2.417 Danke für 2.013 Beiträge

    Standard

    Hallo,
    hat eine schlechte Qualität, der Screenshot.
    Außerdem ist der Code auch nicht sehr aussagekräftig ...
    Hast du die verwendeten Strings (vor Allem sofern sie TEMP sind) vor der ersten Benutzung initialisiert (in SCL wäre das myString := '' ?
    Wenn nein, dann mach das doch mal bitte.
    Wenn doch, dann liefer doch bitte mal etwas mehr Code in etwas besserer Qualität ...

    Gruß
    Larry

  3. #3
    fk- princess ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    13.08.2012
    Beiträge
    112
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    ich sehe gerade, das das bild wirklich grottig ist. werde es gleich ändern...

    ich will aus einem arry, was ich über tcp empfange einen string machen, damit ich mit den funktionen string to DINT arbeiten kann um die telegramminformation nutzen zu können.
    der einfacheit halber habe ich erstmal globele variablen genutzt. das array ist in einem datenbaustein abgespeichert.

  4. #4
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.262
    Danke
    537
    Erhielt 2.707 Danke für 1.956 Beiträge

    Standard

    Mist, wollte gerade mal nachsehen, aber die 300-er hat den Befehl gar nicht.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  5. #5
    fk- princess ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    13.08.2012
    Beiträge
    112
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    mit ner 300er würd ich das in awl machen und da is das logisch und einfach...

    aber der kunde will eine 1200er

  6. #6
    Registriert seit
    04.08.2006
    Beiträge
    107
    Danke
    58
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Hallo,

    habe mir wegen einem ähnlichen Problem diese zwei Funktionen zum wandeln von variablen CHAR-ARRAYS (1-10-Stellig) in DINT und umgekehrt geschrieben:

    http://www.sps-forum.de/showthread.p...753#post405753

    Gruß
    Johannes

  7. #7
    fk- princess ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    13.08.2012
    Beiträge
    112
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    dank dir... ich habe deine Lösung als ansatz für meine genommen. da bei mir das array immer eine länge von 6 bytes hat, konnte ich das ganze wie folgt vereinfachen. muss mich erst wieder mit den hochsprachen anfreunden und das hier war eine gute übung dazu.

    bei der "typ-wandlung" kann man ganz schnell fehler machen, wie sich herraus stellte...

    #Flaeche_ZwSp := 0;

    FOR #Bytes := 1 TO 6 BY 1 DO // Anzahl der Durchläufe
    IF #ARRAY_Flaeche[#Bytes] >= b#16#30 // Abfrage, ob das ASCII-Zeichen eine Zahl ist
    THEN
    IF #ARRAY_Flaeche[#Bytes] <= B#16#39
    THEN
    CASE #Bytes OF
    1: #Flaeche_ZwSp := #Flaeche_ZwSp + (BYTE_TO_DINT((#ARRAY_Flaeche[#Bytes]-48 )*100000);
    2: #Flaeche_ZwSp := #Flaeche_ZwSp + (BYTE_TO_DINT((#ARRAY_Flaeche[#Bytes]-48 )*10000);
    3: #Flaeche_ZwSp := #Flaeche_ZwSp + (BYTE_TO_DINT((#ARRAY_Flaeche[#Bytes]-48 )*1000);
    4: #Flaeche_ZwSp := #Flaeche_ZwSp + (BYTE_TO_DINT((#ARRAY_Flaeche[#Bytes]-48 )*100);
    5: #Flaeche_ZwSp := #Flaeche_ZwSp + (BYTE_TO_DINT((#ARRAY_Flaeche[#Bytes]-48 )*10);
    6: #Flaeche_ZwSp := #Flaeche_ZwSp + (BYTE_TO_DINT((#ARRAY_Flaeche[#Bytes]-48 )*1);
    END_CASE;
    END_IF;
    END_IF;
    END_FOR;

    #INT_Flaeche := #Flaeche_ZwSp; // Übertragung des DINT-Wertes der Fläche in den Datenbereich

Ähnliche Themen

  1. Antworten: 1
    Letzter Beitrag: 23.01.2012, 17:06
  2. SCL: FB Aufruf unter SCL mit Variablen DB
    Von ThorstenK im Forum Programmierstrategien
    Antworten: 32
    Letzter Beitrag: 10.02.2011, 19:15
  3. Antworten: 4
    Letzter Beitrag: 07.10.2006, 00:34
  4. SCL - AWL Kommando "SRD" in SCL
    Von Floh im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 09.06.2006, 09:37
  5. Brauche Hilfe bei SCL.SFC Aufrufen in SCL
    Von Gerold im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 06.10.2005, 10:47

Lesezeichen

Berechtigungen

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