sollte funktionieren wenn du das Adressregister zum Beginn des FB temporär in einem Dword sicherst und dann am Ende wieder zurück ins AR2 schreibst.
Hallo Zusammen,
ich habe folgendes vor:
Ich möchte einen FB so gestalten, dass Rezeptwerte vom Typ Real (Anzahl kann variabel sein) aus einem DB ausgelesen werden und anschließend miteinander multipliziert werden. Bei den Werten kann es sich z.B. um eine Gechwindigkeit und eine Wegstrecke handeln, die miteinander multipliziert werden. Die einzelnen Produktergebnisse möchte ich anschließend addieren und ausgeben.
Ich bin mir an dieser Stelle nicht sicher, ob das Ganze mit AR2 dunktioniert, das der FB wahrscheinlich als Multiinstanz-FB funktionieren soll.
Welche Möglichkeiten habe ich sonst noch?
Danke schon mal vorab für eure Unterstützung
sollte funktionieren wenn du das Adressregister zum Beginn des FB temporär in einem Dword sicherst und dann am Ende wieder zurück ins AR2 schreibst.
Damit Du auf die richtige Adresse zugreifst...
habe ich letztens glaube ich irgendwo beschrieben...
http://www.spsforum.com/showthread.php?t=25226
EDIT: Schon wieder zu langsam... aber VLs Post ist sowieso besser...
Last edited by dtsclipper; 11.02.2009 at 09:00.
Das Grauen lauert in der Zwischenablage !!
Hallo,
erst mal danke für die Infos. Allerdings habe ich gerade einen geistigen Hänger. Ich brauche mal einen Ansatz, wie ich das Problem sinnvoll löse.
Wie beschrieben, möchte ich mit dem FB Werte aus einem DB einlesen (In Variablen) , die aus jeweils 20 Werten bestehen. (z.B. DB115.DBD40, DB115.DBD400). Diese Werte möchte ich miteinander multiplizieren und meine Ergebisse später aufaddieren.
Wäre klasse, wenn ihr mir mit einen Code-Ansatz helfen könntet.
Gruß Heizer
Ist doch plötzlich was ganz anderes...
Tja, für so eine Funktion wäre es sinnvoll den DB erst mal entsprechnd zu gestalten.
z.B.
DBD0 - DBD96 = Geschwindigkeit
DBD100 - DBD 196 = Wegstrecke
DBD200 - DBD 296 = sonstwas
usw. usw.
Die Einfachversion wäre:
Benötigt:
Startwert ( als Doppelwort )und ein paar Hilfsdoppelwörter
AUF DBxxx
L #Startwert
+ 100
SLW 3
T #Hilfsdoppel1
L #Startwert
+ 200
SLW 3
T #Hilfsdoppel1
L DBD[#Startwert]
L DBD[#Hilfsdoppel1]
+R
T ...
so als Gedankenansatz.
griele Füße dtsclipper
Das Grauen lauert in der Zwischenablage !!
Bookmarks