Step 5 KH in KZ transferieren

FoodFighter

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

ich stehe momentan vor einem Problem, was vermutlich sehr leicht zu lösen ist.

Ich habe 2 DBs (DB111 und DB100)
In DB111 existiert alles nur im Hex-Format (KH) (Hier werden Daten aus PCS7 hin transferiert ...das funktioniert auch alles soweit)
In DB100 existiert alles nur im BCD-Format (KZ) (Hiermit wird im Programm weiter gearbeitet, u.a. konnte dort früher per OP393 Werte geändert werden).

Nun möchte ich ein Datenwort von DB111 nach DB100 transferieren, jedoch so, dass es das richtige Format annimmt - also von KH in KZ konvertiert wird.

Ich habe folgendes versucht:

Code:
A DB 111
L DW 65
A DB 100
T DW 9

Wenn nun im DB111 z.b. eine "123" im Hex-Format steht (also 16#7B), so wird beim Transferieren in den DB100 eine "7B" nach DB100.DW9 transferiert.
Ich hätte dort aber gerne eine 123 stehen.

Wie stellt man das mit der Konvertierung möglichst einfach an?

Danke vorweg,

MfG
Markus
 
Du willst nicht von Hex nach KZ transferieren, sondern von Dezimal (Siemens: DUAL) nach BCD konvertieren. Welche CPU hast Du? Manche CPU haben die Operation "DUF".
Achtung: der Wert von PCS7 darf max 999 sein, ggf. vor der Wandlung auf 0..999 prüfen/limitieren.

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Harald,

die CPU ist eine 115U (CPU 944).
Der Wert ist in PCS7 auf 999 begrenzt - soweit kein Problem.

würde das per DUF folgendermaßen aussehen?
Code:
A DB 111
L DW 65
DUF
A DB 100
T DW 9
 
Ohweh...
also DUF funktioniert nicht mit der 115U (jedenfalls nicht wie oben angenommen).

Wenn ich mich da nun richtig durch gegooglet habe, muss ich dafür wohl irgendwie den FB241 verwenden.
Damit habe ich leider echt wenig Erfahrung... könnte bitte jemand so gut sein und mir obiges Vorhaben als Code-Schnipsel zukommen lassen?
Ist das sehr aufwändig?:confused:
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Leider nein (bzw. mir wäre unklar wie ich das verbasteln sollte), die Kopplung über den IM308 ist so eingerichtet, dass dieser ein Word im DB erwartet.
Dieses Word wird halt in Hex übertragen und von der S5 auch so im DB111 angenommen (KH).
Ich hatte die Hoffnung, dass sich dieser "Umstand" recht einfach lösen ließe ... und ich bin mir auch sicher, dass ich mich als S5-Greenhorn da einfach ein bisschen zu blöd anstelle.
Unser S5-Urgestein ist mittlerweile seit 3 Jahren im sehr wohl verdienten Ruhestand, daher muss ich mir da irgendwas zurecht basteln.
 
Ich weiß nicht so genau, was es am Ende werden soll. Aber wahrscheinlich erwartest du eine Festpunktzahl KF? KZ ist ein Zählwert.
 
Nene, Zählwert ist schon korrekt.
Der Wert geht auf einen Rückwärtszähler, der Impulse eines Filterbandes abzählt.
Diese wurden früher per OP393 bei Gelegenheit mal nachgestellt - nun soll dies übers Leitsystem "komfortabler" werden.
Dabei soll jedoch die Möglichkeit, das OP393 ggf. doch nochmal nutzen zu können nicht verloren gehen.

Das OP393 schreibt in den DB100 (KZ).
Das Leitsystem schreibt in den DB111 (KH).

Nun möchte ich per Knopfdruck als Trigger den Wert des Leitsystems (DB111) einfach in den DB100 schreiben
 
Lang Lang ist's her ...
ja, die "normale" 115er kann keine Wandelbefehle (CPU945 mal ausgenommen).
Probier das mit dem FB241 mal aus. Sollte funktionieren.
Gruß Roland
 
Zurück
Oben