EA Feld mit 10-stelliger Auftragsnummer lässt sich nicht eingeben

elmoklemme

Level-2
Beiträge
174
Reaktionspunkte
28
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

wir haben in einem Rezept ein Element Auftragsnummer, das aus einer 10-stelligen Ziffer besteht. Als Datentyp ist Real deklariert. Beim Rezeptaufruf muss diese Zahl im Programm verglichen werden. Nun ist es aber so, dass ich eine 10-stellige Zahl ins EA-Feld eingebe, mir aber nach dem Enter-Befehl nur 7 Stellen der Zahl angezeigt werden. Der Rest füllt sich mit Nullen auf. Ändere ich den Datentyp nach String funktioniert es, was einen Vergleich aber erheblich verkompliziert. Hab schon alle Parameter durchgesehen, aber nichts gefunden. Hat mir jemand nen Tip?

Das ganze ist auf WinCC flex 2008 projektiert.

Vielen Dank im Voraus.
 
Real hat bei einer S7 per Definition nur maximal 7 signifikante Stellen. Du mußt also entweder DINT oder String nutzen.
Wenn deine Auftragsnummer wirklich als Real kommt, kann sie auch keine 10 Ziffern darstellen, das Format wäre dafür ungeeignet und auch unüblich.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@Ralle:
bei den Grenzen für DINT (+/- ca. 2 Milliarden also 2.000.000.000) wird es mit dem Typ für 10 stellig auch nichts.
Ich denke String ist hierfür schon richtig.

@TE:
Die Verarbeitung von Strings in AWL ist nicht so prickelnd, da hast du Recht. In SCL sollte es aber kein Thema sein und auch einen schönen übersichtlichen Code ergeben ...

Gruß
Larry
 
Ja DINT hatte ich schon ausgeschlossen, aber dass Real nur 7 signifikante Stellen hat war mir nicht klar. Ok, in nem anderen Beitrag hab ich gelesen, dass es für den Vergleich von Strings in der IEC Bibliothek auch was gibt. Muss ich mir morgen mal ansehen. Vielen Dank für eure Hilfe!
 
Zurück
Oben