S5 Zahlenaufbereitung

A

Anonymous

Guest
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo!

Ich wollte euch mal fragen ob jemand einen anderen weg für folgende
Auswertung kennt:

Eine Anlage wird mit 99 Handfunktionen gesteuert.
Die Handfunktionen werden über ein OP eingegeben. Die Auswertung mache ich aber über ein Abbild der Systemtastatur und soll auch so bleiben.
Die Problematik ist das die Handfunktionen von Hex -> MB transferiert werden und mit den Merkern gearbeitet wird.
Um aber am OP7 die gewählte Funktion aus einer Variablenliste anzuzeigen, benötige ich aber einen Dezimalwert.

Wie bekomme ich am besten den HEX Wert als KF?

Zum Verständnis:

Je nach gedrückter Taste Lade ich Hex 1 - 9.
Wenn Zenerstelle (erste Eingabe) dann schiebe ich das Wort 4 Stellen links und erhalte somit bei Eingabe 5 -> 50.
Nach Eingabe der Einerstelle z.B. 1 benutze ich OW um somit letztendlich
die Zahl 51 Hex zu erhalten mit der Programmmässig als Funktion 51 gearbeitet wird.

Um nun den Wert als KF für das OP zu bekommen habe mir gedacht ich
speichere bei der Eingabe beide eingegebenen Zahlen zusätzlich in 2 andere DWs. Dann wollte ich hergehen und die Zahl der 10er Stelle mit 10 über den Siemens FB zu multiplizieren und die zweite Zahl der Eingabe einfach hinzuaddieren.

Hat da jemand mit mehr Erfahrung vielleicht noch eine andere möglichkeit zu bieten?

LG
 
KF

Hallo,

von BCD in KF umwandeln. Aber ich würde persönlich ein Eingabefeld auf dem OP vorziehen... Da habe ich die Grenzwerte und kann auch bei Falscheingabe korrigieren - und alles onboard. Dann gibts auch keine Probleme bei einem kurzen Tastendruck am OP weils die SPS gar nicht mitkriegt.

MfG
André Räppel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Bis jetzt hatte ich eigentlich noch keine Probleme mit der Eingabe da mein Testprogramm ziemlich klein ist. Möglicherweise wirds wirklich bei hoher Zykluszeit schwieriger, werde ich mal testen.
Mal ausgegangen von deinem Vorschlag das Eingabefeld zu benutzen.
Da muss ich dann aber hergehen und die eingegebene Zahl (dezimal) nach Hex wandeln.
Du sagst über BCD? Bin leider noch nicht so firm und habe mit BCD Zahlen noch nicht gearbeitet.
Wie könnte ich das realisieren? Könntest du mir ein Beispiel geben?

Vielen Dank.
 
Ich meinte das folgendermassen:

Eingabe OP Funktion 99

KF 99 entspricht aber HEX 0063, und die kann ich nunmal nicht auf das Merkerbyte wovon die Funktionen ausgewertet werden setzten.
Ich brauche da HEX 99 -> MB.
 
Zahl

Code:
L "Wort von OP
DUF
T "Wort fuer Auswertung"

Du hast scheinbar die ganze Zeit mit BCD gearbeitet ohne es zu wissen.

MfG
André Räppel
 
Hehe, möglich ist alles :)

Supi das funktioniert!
DUF kenne ich ja noch garnicht!?
Mal den Befehl in der Doku suchen ...


Vielen Dank für deine Hilfe!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
In der DOKU ist nirgends was zu finden!

Habe die original Siemens Unterlagen zu 95/115 U inkl. Tabellen und da ist nichts von dem Befehl zu finden.

Ich habe DUF und DEF letzendlich in einer Help Datei von einem alten S5/Win Programm gefunden.

Warum stehen die Befehle nicht in der Siemens Doku??!?!?
 
Doku

weil die Doku nicht von mir ist *g* Scherz beiseite, ich weiss es nicht. Vielleicht haste ja nur die falsche. Hauptsache ist doch dass es funzt. Jetzt kannste ja noch verraten wofür das Ganze ist. Privat? Firma?

MfG
André Räppel
 
Hallo Gast,
Habe die original Siemens Unterlagen zu 95/115 U inkl. Tabellen und da ist nichts von dem Befehl zu finden.
das wundert mich nicht, die SPS'en 95U bis 115U haben diesen Befehl nicht im Befehlsvorrat, sprich diese Steuerungen kennen diesen Befehl nicht.
Gruss
Question_mark
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@sps-concept:

Steuere damit meine Freundin: 01 = Bier holen, 02 = Essen kochen ,...
Auch Scherz beiseite ;-) Wofür bräuchte jemand privat 99 Handfunktionen ? ;-) Ich wollte mal wieder ein bisschen programmieren weil ich Spass daran habe und etwas lernen will dabei (mache das nicht hauptberuflich - normalerweise benutze ich Step5/7 nur zur Fehlersuche). Dabei kann ich dann gleich mal etwas umbauen bei uns in der Firma und "ganz alt" gegen "alt (aber Ersatz vorhanden)" tauschen bevor da mal garnichts mehr geht ;-)

Da liegst du garnicht mal falsch. Im Simulator ging´s noch .. Ist aber auch mal eine schöne Möglichkeit die CPU zu stoppen .. Just two clicks .. Nanu? ;-)
Musste dann doch auf den Wandler FB241? HEX->DUAL zurückgreifen :)
 
S5

Hallo Mikel,

wusste ja erst gar nicht was für ne CPU du hast. Stimmt, geht erst ab 135U. Is wohl diene Freundin mal kurz regungslos gewesen als die CPU im Stop war? ;-)

MfG
André Räppel
 
Zurück
Oben