Char umwandeln in Integer

Code:
     [COLOR=red][B] AUF   DB   200[/B][/COLOR]
 
      L     0
     [COLOR=red] [B]T     MD   200[/B][/COLOR]                    // Ergebnis
 
      L     DBB    0                    // Wert x 10000
      ITD   
      L     L#48
      -D    
      L     L#10000
      *D    
      T     MD   200                    // Ergebnis
 
      L     DBB    1                    // Wert x 1000
      ITD   
      L     L#48
      -D    
      L     L#1000
      *D    
      L     MD   200
      +D    
      T     MD   200                    // Ergebnis
 
      L     DBB    3                    // Wert x 100
      ITD   
      L     L#48
      -D    
      L     L#100
      *D    
      L     MD   200
      +D    
      T     MD   200                    // Ergebnis
 
      L     DBB    4                    // Wert x 10
      ITD   
      L     L#48
      -D    
      L     L#10
      *D    
      L     MD   200
      +D    
      T     MD   200                    // Ergebnis
 
      L     DBB    5                    // Wert x 1
      ITD   
      L     L#48
      -D    
      L     MD   200
      +D    
      T     MD   200                    // Ergebnis

Gruß Kai

Er holt die Daten aus dem DB200 und schreibt alles in das MD200.
Das könntest du beliebig ändern.

Ich wollte dich nicht kränken oder ähnliches, aber Fakt ist nun einmal :
"mit AWL geht alles - mit KOP oder FUP nun ein Teil" des Funktionsumfangs der SPS und immer nur, wenn du die Übersetzungs-Spielregeln beherrscht ...!

Gruß
LL
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@viperserver
Nimm doch den FC207 von OHGN, muß der zwingend in FUP sein? Du kannst den Code in eine leere Quelle einfügen, dann übersetzen. Anschließend hast du einen FC207, an den kannst du die 4 relevanten Char (ohne den Unterstrich) einzeln als INPUT antragen, als Ergebnis kommt dein INT raus. Was willst du mehr?


ja ok könnte ich so machen...
aber der bring bei mir jetzt eine fehlermeldung

Symbolischer Bausteinname 'FC' nicht erkannt!!! :confused:
 
Er holt die Daten aus dem DB200 und schreibt alles in das MD200.
Das könntest du beliebig ändern.

Ich wollte dich nicht kränken oder ähnliches, aber Fakt ist nun einmal :
"mit AWL geht alles - mit KOP oder FUP nun ein Teil" des Funktionsumfangs der SPS und immer nur, wenn du die Übersetzungs-Spielregeln beherrscht ...!

Gruß
LL


ne kränken kannst du mich damit nicht ;-)
hab davor noch nie was mit SPS zu tun gehabt, und die Firma wo ich arbeite will das halt soll. Weil bei denen in jedem Werk das so ist.
Nach meiner Technikerarbeit sieht das anders aus, weil ich mich dann nicht mehr damit rumschlagen muss.
aber dir vielen dank
 
Zuviel Werbung?
-> Hier kostenlos registrieren
ja ok könnte ich so machen...
aber der bring bei mir jetzt eine fehlermeldung

Symbolischer Bausteinname 'FC' nicht erkannt!!! :confused:

Das bedeutet, dass du dem FC207 (warscheinlich den) in der Symbolik den Namen FC zugewiesen hast. Entweder er behält der alten Namen "txt_to_int" oder einen sinnvollen Neuen, wenn du symbolische Adressierung ausgeschaltet hast ...

Gruß
LL
 
Ich hab Dein Programm mal testweise erweitert.

Im MW 100 sollten jetzt die Scannerdaten aus dem DB41 als Integerzahl stehen.




wo läßt du jetzt das MW 100 hinspeichern? entweder bin ich zu blöde (was höchstwahrscheinlich ist) oder ich find es wirklcih nicht.. hast du es in einem DB wieder hineingespeichert...

ich hab nur deine AWL Datei txt_to_i
 
wo läßt du jetzt das MW 100 hinspeichern? entweder bin ich zu blöde (was höchstwahrscheinlich ist) oder ich find es wirklcih nicht.. hast du es in einem DB wieder hineingespeichert...

ich hab nur deine AWL Datei txt_to_i



hast sich erledigt danke.... mein pc hatte sich aufgehangen, hab das im ob nicht sehen können weil es das programm nur teilweise geladen hat
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@Viperserver,

welche Daten aus dem DB41 willst Du eigentlich von CHAR nach INT umwandeln?

Willst Du die Stückzahl_1 (DBB72) bis Stückzahl_5 (DBB77) umwandeln?

Gruß Kai
 
Code:
// ASCII-Tabelle
//
// CHAR '0' = HEX 30 = DEZ 48
// CHAR '1' = HEX 31 = DEZ 49 
// CHAR '2' = HEX 32 = DEZ 50 
// CHAR '3' = HEX 33 = DEZ 51 
// CHAR '4' = HEX 34 = DEZ 52 
// CHAR '5' = HEX 35 = DEZ 53 
// CHAR '6' = HEX 36 = DEZ 54 
// CHAR '7' = HEX 37 = DEZ 55 
// CHAR '8' = HEX 38 = DEZ 56 
// CHAR '9' = HEX 39 = DEZ 57 
 
      AUF   DB   200
 
      L     L#0
      T     MD   200                    // Ergebnis
 
      L     DBB    0                    // Wert x 10000
      ITD   
      L     L#48
      -D    
      L     L#10000
      *D    
      T     MD   200                    // Ergebnis
 
      L     DBB    1                    // Wert x 1000
      ITD   
      L     L#48
      -D    
      L     L#1000
      *D    
      L     MD   200
      +D    
      T     MD   200                    // Ergebnis
 
      L     DBB    3                    // Wert x 100
      ITD   
      L     L#48
      -D    
      L     L#100
      *D    
      L     MD   200
      +D    
      T     MD   200                    // Ergebnis
 
      L     DBB    4                    // Wert x 10
      ITD   
      L     L#48
      -D    
      L     L#10
      *D    
      L     MD   200
      +D    
      T     MD   200                    // Ergebnis
 
      L     DBB    5                    // Wert x 1
      ITD   
      L     L#48
      -D    
      L     MD   200
      +D    
      T     MD   200                    // Ergebnis

Hier noch mal ein kurzes Programmbeispiel, wie man den obigen AWL-Programmcode als FUP-Programmcode programmieren kann.

Gruß Kai
 

Anhänge

  • OB1.pdf
    3,7 KB · Aufrufe: 60
  • FC100.pdf
    10,1 KB · Aufrufe: 83
  • DB41.pdf
    5,3 KB · Aufrufe: 53
  • VAT.jpg
    VAT.jpg
    188,9 KB · Aufrufe: 57
  • Scanner.zip
    31 KB · Aufrufe: 35
Zuviel Werbung?
-> Hier kostenlos registrieren
Hier noch mal ein kurzes Programmbeispiel, wie man den obigen AWL-Programmcode als FUP-Programmcode programmieren kann.

Gruß Kai

hy kai,

vielen dank für deine Hilfe.
Durch deine und OHGN`s Hilfe hat es jetzt voll geklapt....
Es waren genau die Stückzahl_1 bis Stückzahl_5.!
vielen Dank

Gruß Dennis
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Habe ich eine Möglichkeit, einen REAL Wert in Char zu zerlegen ???

Danke.

ohne jetzt großartig die bibliotheken gewälzt der gegoogelt zu haben: wert mal 100, in dint wandeln und bei der umwandlung in einen string, das komma nicht vergessen... zwei kommastellen sind meist mehr als ausreichend...
 
RDT Real nach DINT
DINT DINT nach INT
INC sollte CHAR ergeben
Sorry aber für genaue Syntax F1

ach 4L war viel schneller und genauer, folg Ihm.
 
... bei Verwendung diese FC's wird aus der Variablen dann aber auch genau das, was man in der Status-Ansicht sieht - also aus 127.55 wird dann 1.275500E02 - das ist dann wahrscheinlich auch nicht unbedingt gewünscht.
Ich würde hier dann auch ehr dem Vorschlag von 4L folgen und mir ggf. das Komma später einschieben (falls benötigt).

Gruß
Larry
 
Zurück
Oben