Boxy
Level-3
- Beiträge
- 1.440
- Reaktionspunkte
- 138
-> Hier kostenlos registrieren
Hallo Kollegen,
bin gerade hier im Ausland und meine Kunde hat mal wieder so eine tolle Idee, bzw. die "Operator's" hier an der Maschine.
Wir haben hier ein Messgerät, welches 4 Messstellen (Real-Werte) ausliest und in einen DB abspeichert. Nun möchte dieser Kunde eine Anzeige mit den letzten 30 oder 50 Messungen. Also eine Messung in der Anziege soll immer MP1 ... MP4 sein.
Habe mir gedacht, machst das mit einem FILO und basta.
Leider habe ich da gerade ein kleines Problem und komme nicht weiter.
Die Messwerte werden nicht richtig weitergeschoben im Puffer.
Es sind also immer 4 DBD's die nach hinten geschoben werden sollen.
Beim Pointer habe ich es auch mit
L DBD [AR1,P#0.0]
T DBD [AR1,P#4.0]
versucht umd komme nicht weiter gerade. So habe ich es mit der Byt-Adresse versucht, aber auch ohne erfolg.
Hoffe mir kann einer schnell helfen
THX
bin gerade hier im Ausland und meine Kunde hat mal wieder so eine tolle Idee, bzw. die "Operator's" hier an der Maschine.
Wir haben hier ein Messgerät, welches 4 Messstellen (Real-Werte) ausliest und in einen DB abspeichert. Nun möchte dieser Kunde eine Anzeige mit den letzten 30 oder 50 Messungen. Also eine Messung in der Anziege soll immer MP1 ... MP4 sein.
Habe mir gedacht, machst das mit einem FILO und basta.
Leider habe ich da gerade ein kleines Problem und komme nicht weiter.
Die Messwerte werden nicht richtig weitergeschoben im Puffer.
Es sind also immer 4 DBD's die nach hinten geschoben werden sollen.
Code:
U "messen_fertig"
FP "m_res_420_0"
SPBN enwe
L "DI173_MESSWERTÜBER_MARP".MESSUNG[1].MESSWERT
T "DB273".Messung[1].MP1
L "DI173_MESSWERTÜBER_MARP".MESSUNG[2].MESSWERT
T "DB273".Messung[1].MP2
L "DI173_MESSWERTÜBER_MARP".MESSUNG[3].MESSWERT
T "DB273".Messung[1].MP3
L "DI173_MESSWERTÜBER_MARP".MESSUNG[4].MESSWERT
T "DB273".Messung[1].MP4
AUF "DB273" //Typ: Block_DB
L 100 //Typ: INT
L 1
-I
T "DB273".index //Typ: DINT
anf: NOP 0 //Schleifenanfang
L "DB273".index
SLD 3 //pointer erzeugen
LAR1 //in das Adressregister laden
L DBB [AR1,P#0.0]
T DBB [AR1,P#4.0]
L DBB [AR1,P#1.0]
T DBB [AR1,P#5.0]
L DBB [AR1,P#2.0]
T DBB [AR1,P#6.0]
L DBB [AR1,P#3.0]
T DBB [AR1,P#7.0]
L "DB273".index
L 1
-I //Index um 1 verringern
T "DB273".index
L 1
+I
L 0 //Typ: INT
<=I //prüfen ob fertig
SPB enwe //wenn ja ende
SPA anf //sonst schleife wiederholen
enwe: NOP 0
Beim Pointer habe ich es auch mit
L DBD [AR1,P#0.0]
T DBD [AR1,P#4.0]
versucht umd komme nicht weiter gerade. So habe ich es mit der Byt-Adresse versucht, aber auch ohne erfolg.
Hoffe mir kann einer schnell helfen
THX