Datenbereich über ANY Zeiger aus DB holen

Temotec

Level-1
Beiträge
3
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
wer kann mir nen Tipp geben.

Möchte aus einem DB eines FiFo Schieberegister mit 200 Plätzen einzelne Speichereinträge über eine Stationsindex nummer auslesen und wieder zurückschreiben. Bereich ist mit einem UDT erzeugt und 6 Byte lang.
Hab schon mit nem ANY Zeiger angefangen komm aber nicht klar.



L "DB_TPKomm".Transport_Pos_Mass_21; <--- z.B. Platz 21
T #TEMP_REG_POS; //<--- Hier steht die Startadresse des Speicherplatz als INT Zahl wo unten ausgelesen werden soll.


LAR1 P##REG_POS_HOLEN; <--- ANY Zeiger für Quell DB erzeugen
L B#16#10; //10 HEX für S7
T LB [AR1,P#0.0];
L B#16#4; //Datentyp WORD
T LB [AR1,P#1.0];
L 6; //Wiederholfaktor Bereichslänge
T LW [AR1,P#2.0];
L 10; //Quell Datenbaustein
T LW [AR1,P#4.0];
L P#DBX 11.0; //Daten aus DBB <----- HIER KOMM NOCH NICHT KLAR WIE ICH DA den INDEX AUF DAS RICHTIGE BYTE BEKOMME (#TEMP_REG_POS)
T LD [AR1,P#6.0];


//HIer sollen die Daten über den ANY Zeiger aus dem Register geholt werden und dann in die Station schreiben über BlockMove Befehl.
CALL "BLKMOV"
SRCBLK := #REG_POS_HOLEN, <-- ANY Zeiger von oben!
RET_VAL := #RET_VALUE,
DSTBLK := "DB_St.3_FiFoRahmenregister".Pos21.InfoBit0 <--- Adressbereich einer der Stationen.

oder gibt es was einfacheres!?

Gruß P
 
Code:
      L     21                          // Soll 1 bis 200 
      L     1
      -I    
      L     6
      *I    
      SLD   3
      LAR1  
      L     DBW [AR1,P#0.0]
      T     MW     0
      L     DBW [AR1,P#2.0]
      T     MW     2
      L     DBW [AR1,P#4.0]
      T     MW     4
Gruß
Cosman
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Code:
      LAR1  P##REG_POS_HOLEN            //<--- ANY Zeiger für Quell DB erzeugen
      L     B#16#10                     //10 HEX für S7
      T     LB [AR1,P#0.0]
      L     B#16#2                      //Datentyp BYTE(WORD)
      T     LB [AR1,P#1.0]
      L     6                           //6 bei BYTE, 3 bei WORD, Wiederholfaktor Bereichslänge
      T     LW [AR1,P#2.0]
      L     10                          //Quell Datenbaustein
      T     LW [AR1,P#4.0]

      L     #TEMP_REG_POS      // Soll 1 bis 200 
      L     1
      -I    
      L     6
      *I    
      ITD   
      SLD   3                           //Versatz
      L     P#DBX 0.0                   //Speicherbereich
      +D    
      T     LD [AR1,P#6.0]
Gruss Daniel
 
Zurück
Oben