TIA Indirekte Adressierung im SCL-Editor

MarkusP210

Level-2
Beiträge
72
Reaktionspunkte
10
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo

Ich muss leider für ein neues Projekt auf das Portal wechseln. Leider geht das nicht ganz so einfach und deshalb eine Frage mit der Bitte um Inputs:

Indirekte Adressierung von Variablen funktioniert gem. Hilfe vom Portal so:

Zugriff auf Bitvariable:
Operandenkennzeichen(Byteadresse.Bitadresse)

Ich habs mit allen möglichen Kombinationen versucht, leider ohne Erfolg:
%A(Byteadr.Bitadr)
A(Byteadr.Bitadr)

Leider wie gesagt ohne Erfolg. Hat jemand eine Idee?

P.S. Wie vergebe ich einen symbolischen Namen für einen Baustein (z.B. FC)? Die Symboltabelle scheint das nicht mehr zu unterstützen.

Markus
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke für den Link, hier die Lösung (welche nicht in der Hilfe erklärt ist):

Korrektur: Link führt nicht zum Ziel

Zugriff indexiert auf z.B. einen Ausgang:

AX(IDX:=byteadresse, BIT:=bitadresse);

wobei byteadresse und bitadresse vom Typ INT sein müssen

Markus
 
Zuletzt bearbeitet:
Hier ein paar Informationsquellen aus dem Handbuch "STEP 7 Professional V12 SP1"

Variablen in globalen Datenbausteinen adressieren (Seite 2092)
POKE: Speicheradresse schreiben (Seite 4053)
POKE_BOOL: Speicherbit schreiben (Seite 4055)
PEEK: Speicheradresse lesen (Seite 4049)
PEEK_BOOL: Speicherbit lesen (Seite 4052)
POKE_BLK: Speicherbereich schreiben (Seite 4057)
Indirektes Adressieren über Pointer (Seite 2103)
Indirektes Indizieren von ARRAY-Komponenten (Seite 2104)
Indirektes Adressieren in AWL (Seite 2109)​

Zu beachten ist, das bei diversen Adressierungsmethoden der optimierte Bausteinzugriff von Bausteinen deaktiviert werden muss damit es funktioniert. Dies kann man in den Einstellungen ändern.
 
Danke für den Link, hier die Lösung (welche nicht in der Hilfe erklärt ist):

Korrektur: Link führt nicht zum Ziel

Zugriff indexiert auf z.B. einen Ausgang:

AX(IDX:=byteadresse, BIT:=bitadresse);

wobei byteadresse und bitadresse vom Typ INT sein müssen

Markus

Könnte das nochmal jemand bitte zusammenfassen? (SCL spezifisch ohne PEEK/POKE für V13)
Am besten mit einem kleinen Programm Beispiel.
 
Also sehe ich das richtig, dass man für die 1200/1500 Steuerungen immer Peek/Poke verwenden muss und bei den 300/400 Steuerungen dieses "%AX()" ?
Vielen dank für den Link.
 
Zuletzt bearbeitet:
Zurück
Oben