Boxy
Level-3
- Beiträge
- 1.494
- Reaktionspunkte
- 150
-> 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   0Beim 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
 
	 
  
 
		 
 
 
  
 
		 
 
		 
  
  
  
 
		 
  
 
		