Step 7 Bit Adresse aus einem Symbol in das Adressregister übernehmen?

Michael Müller

Level-2
Beiträge
89
Reaktionspunkte
6
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Abend,

ich stehe auf dem Schlauch.
Wie bekommen ich zb eine symbolische Adresse (Bit) in das Adressregister?

"DB_Sollwerte_TP".Stollenband.Feeder.Eins.KOMP1 // Adresse ist DB1000.DBX0.0
Wie kann ich die symbolisch in das Adressregister AR1 laden. Als P#1000.0


Danke.....:)

Grüße Michael
 
L P#Symbol
LAR1

Ob es beim DB geht kann ich aus dem Kopf nicht sagen.
Alternativ einen kleinen Baustein machen das Symbol als Pointer übergeben und diesen auflösen DB ins DB Register schreiben und Adresse ins AR1

Edit: wobei die Adresse von Dbx0.0 auch DBX0.0 ist. Der DB 1000 hat nichts mit dem AR zu tun
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
"L P##Symbol" geht nur mit lokalen Variablen (TEMP/STAT/IN/OUT/INOUT), aber nicht mit Symbolen in globalen DB.
Da muß man die Adresse des Symbols direkt händisch angeben:
Code:
//"DB_Sollwerte_TP".Stollenband.Feeder.Eins.KOMP1 ist DB1000.DBX0.0
AUF  DB1000
LAR1 P#DBX0.0 //Pointer für bereichsübergreifende registerindirekte Adressierung

U [AR1,P#0.0] //das Bit DB1000.DBX0.0 lesen
= #MyBit
oder das Symbol als POINTER (oder ANY) an einen Baustein übergeben und im Baustein den POINTER zerlegen:
Code:
CALL MyFC
 IN_POINTER:="DB_Sollwerte_TP".Stollenband.Feeder.Eins.KOMP1
Code:
//FC "MyFC":
// IN  : IN_POINTER : POINTER
// TEMP: DB_Nr : WORD

L     P##IN_POINTER       //Adresse des FC-IN-Parameters IN_POINTER (Typ POINTER)
LAR1

L     W [AR1,P#0.0]       //DB-Nummer aus dem außen angeschlossenen POINTER
T     #DB_Nr

L     D [AR1,P#2.0]       //Speicherbereich + Adresse aus dem außen angeschlossenen POINTER
LAR1

//Lesen des Bits, auf das der verschaltete POINTER zeigt (kann sein PE/E/A/M/L/DB/DI)
AUF   DB [#DB_Nr]
U     [AR1,P#0.0]         //Lesen des Bits, auf das der POINTER zeigt
=     #MyBit

PS: ich nehme an, daß eine S7-300/400-CPU gemeint ist. Bei S7-1500 gibt es evtl. weitere Möglichkeiten.

Harald
 
Zurück
Oben