Vergleich auf Char

lord.paddington

Level-1
Beiträge
6
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo!

Rufe einen Datenbaustein auf und möchte ein Bit des Datenbaustein (DB1.dbx1.0) des Dateityps char mit einem Festwert vergleichen.

Wie bekommen ich den Typ char in Integer gewandelt?
Geht es überhaupt?


Welch anderer Weg steht mir zur Verfügung?:confused:
 
Hallo!

Der Datentype CHAR belegt ein Byte. Also wenn du das Zeichen A geladen hast dann steht der Wert nach dem ASCII Code in deinem Byte. In diesem Fall 65(DEZ) oder 41(HEX).

Was ich aber jetzt nicht verstehe ist warum du das in Integer (=2Byte) Wandeln willst? :confused:

Ausserdem kannst du mit einem Bit sowieso nur Boolsche Verknüpfungen machen.

Mfg Godi
 
wenn ich den zugehörigen ASCII - Wert nutzen könnte, wäre ich ja schon glücklich!

Gehen wir davon aus, dass ich auf 'A' vergleichen will.
'A' hat den Wert 65.
Ein Eingang des Vergleichers hat somit den Wert 65.

In dem Datenbaustein steht auch das 'A'.
Wie kommt ich an den Wert des ASCII - Zeichens heran?
Was steht an dem zweiten Eingang des Vergleichers?
 
Vielleicht verstehe ich das Ganze nicht richtig:
Code:
L DB1.DBB1 // Adresse wie im Beispiel
L 'A'      // oder L 65 oder ....
==I        // Und jetzt darf gesprungen werden ...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Code:
      L     'A'                         //Zeichen
      T     DB1.DBB    1                //DB wo Zeichen hinterlegt ist
 
      L     DB1.DBB    1                //Lade Zeichen aus DB
      L     65                          //Lade Wert von A in Dez nach ASCII
      ==I                               //Vergleiche auf gleich
      =     M      1.0                  //Wenn A dann Setze M1.0
 
      L     DB1.DBB    1                //Lade Zeichen aus DB
      L     'B'                         //Lade B (Umwandlung erfolgt Automatisch)
      ==I                               //Vergleiche auf gleich
      =     M      1.1                  //Wenn B dann Setze M1.1

Mfg Godi
 
lord.paddington schrieb:
Mein Problem ist, dass das Zeichen im DB als Char deklariert ist!

Ja Deklariert aber hinterlegt ist trozdem ein Zahlenwert im Dualcode.

Wenn du jetzt ein Byte aus einem DB Ladest das im DB als Char deklariert ist dann hast du trozdem einen Zahlenwert im Akku 1 stehen und nicht A oder sonstige Zeichen.

Mfg Godi
 
Evtl. die Typprüfung von Step7 abschalten, kann sein das bei den grafischen Sprachen (KOP/FUP) sich Step7 über sowas "beschwert".

Wie das geht wurde auch schon unzählige male besprochen.

Einfach mal suchen.
 
Befinde mich in der Ansicht FUP.
Der Vergleicher akzeptiert nur ein Datenwort!
Ansonsten kommt es zu einem Typkonflikt!

Das werde ich jetzt erstmal ausprobieren.
Wenn ich im Wort statische Werte bekomme, die ich auswerten kann, dann ändere ich halt nur den Vergleichswert!

Danke an alle!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Dann einfach mal nach AWL umschalten, Zeilen eingeben und schauen, ob das ganze in der Ansicht FUP auch dargestellt werden kann und wie das dann aussieht. Ansonsten das Netzwerk in AWL lassen.
 
Zurück
Oben