Vorbelegung einer Zahl mit Nullen

INST

Level-2
Beiträge
272
Reaktionspunkte
15
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Morgen,

ich habe folgendes Problem mit der Auftragsnummer, die an einem OP27 eingegeben wird und an ein BDE - System weitergeleitet wird.

Das BDE - System benötigt eine 12 stellige Zahl und die Auftragsnummer ist zur Zeit 6 stellig. Die Eingabe ist z.B. 000000174213.
Beim Eingeben die Auftragsnummer durch das Personal gibt es immer wieder Probleme (vergessen von Nullen).

Das Datenvormat ist String und es ist eine S7 / CPU318DP eingebaut.

Kann ich die Nullen Vorbelegen, dass die Bedienperson dann nur noch die 6 stellige Auftragsnummer eingeben muß ?

Danke und einen schönen Tag !!

Gruß die INST
 
hallo,

ich würde es so machen:
im op ein 6-stelliges stringfeld einrichten, dies ergibt in der sps einen 8-byte langen bereich.
in der sps in einem anderen datenbereich den 12-stelligen string anlegen (14-byte langer bereich). die ersten 6 datenbytes (byte 2 ... 7) mit den nullen vorbelegen (z.b. beim hochfahren der sps im ob100).
nun noch einen blockmove (sfc20) der 6 datenbytes (bytes 2...7 vom 8-byte-bereich) zum datenbereich des 12-selligen strings (bytes 8 ... 13).
die ersten beiden bytes in einem string dienen zur organisation des strings (byte 0 für die gesamtlänge, byte 1 für die tatsächliche länge)
ich hoffe, ich konnte dir helfen
 
Zuviel Werbung?
-> Hier kostenlos registrieren
hallo,

diesmal mit meiner richtigen anmeldung:

ich würde es so machen:
im op ein 6-stelliges stringfeld einrichten, dies ergibt in der sps einen 8-byte langen bereich.
in der sps in einem anderen datenbereich den 12-stelligen string anlegen (14-byte langer bereich). die ersten 6 datenbytes (byte 2 ... 7) mit den nullen vorbelegen (z.b. beim hochfahren der sps im ob100).
nun noch einen blockmove (sfc20) der 6 datenbytes (bytes 2...7 vom 8-byte-bereich) zum datenbereich des 12-selligen strings (bytes 8 ... 13).
die ersten beiden bytes in einem string dienen zur organisation des strings (byte 0 für die gesamtlänge, byte 1 für die tatsächliche länge)
ich hoffe, ich konnte dir helfen
 
Zurück
Oben