Step 7 SFC14/15 Aufruf im FB

Hausen

Level-1
Beiträge
77
Reaktionspunkte
3
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

ich habe mit der suche leider nichts passendes gefunden, deshalb erstelle ich mal ein neues Thema.

Ich möchte in einem FB die Bausteine SFC14/15 aufrufen und die empfangenen bzw. zu sendenden Daten direkt in dem
zugehörigen Datenbaustein ablegen.

D.h. ich rufe z.B. den SFC14 im FB auf und möchte am Anschluss RECORD die Adresse des Lokalstacks L4.0 mit einer Länge von 16Byte anlegen.
Ich weiß jedoch nicht wie ich den Pointer am Anschluss RECORD benennen muss damit das funktioniert. Oder geht das so überhaupt nicht? (siehe Screenshot)

Wenn ich den DB direkt benenne (P#DB521.DBX0.0 BYTE 16) dann funktioniert es.

Danke und Gruß

Hausen
 

Anhänge

  • SFC14.jpg
    SFC14.jpg
    123 KB · Aufrufe: 45
Zuviel Werbung?
-> Hier kostenlos registrieren
Schade, so ein riesiger Screenshot mit sooo wenig relevanten Informationen ... :(

Beispiel für eine symbolische Anbindung:
Code:
TEMP 4.0 | myRecord : Array [0..15] of Byte


CALL  "DPRD_DAT"
 LADDR  :=W#16#604
 RET_VAL:=#tmp_INT
 RECORD :=#myRecord

Harald
 
Du vertauschst da die Speicherbereiche.

Mit "L" gibst du einen Speicherbereich im Lokaldatenbereich an, also Temp.
Du willst deine Daten aber im Stat-Bereich ablegen, das wäre dann mit "DIX" zu adressieren. Das funktioniert dann aber nur wenn dein FB nicht Bestandteil einer Multiinstanz ist, denn dann kannst du aufgrund des möglichen Offsets keine absoluten Adressen mehr angeben (kann schon, wäre aber dann eine falsche Adresse), oder müsstest dann den AR2 Offset mit einberechnen.

Am Besten ist darum eine symbolische Angabe, dann musst du dich um nichts weiter kümmern.
 
Zurück
Oben