Hi NBerger
erstens wozu und zweitens von welchen Adressen sprichst du? Wenn du ein Tag hast, dann hast du doch schon die Adresse. Da gibt es nichts mehr zu bestimmen.
Wenn es um Parameter von FC und FB geht, dann muss man zwischen einfachsten Typen (wie INT und REAL) und komplizierteren (wie UDT) unterscheiden. Daumenregel (mit hundert Ausnahmen) die einfachen per Wert, die komplizierteren per Referenz.
FB-Parameter werden über die Instanz übergeben. Beim Zugriff auf den Parameter bekommst du den Wert aus der Kopie im DB. Wenn du die Adresses eines FB-Parameter erfragst, dann ist dessen Adresse in der Instanz des FB. Was nutzt die? Das ist bestimmt nicht die E/A Adresse von dem was du angelegt hast.
Spannender sind FC-Parameter. Bei 300/400 werden Werte per Referenz übergeben, beim Zugriff wird durch MC7 dereferenziert. Das hat total krumme Effekte. Du legst am Input ein EB10 an. Nun programmierst du innen ein T #para

. Damit schreibst du dann auf PAB10 und nicht wie du vielleicht erhofft hast auf PEB10. (Hey, wer mach so einen Blödsinn) Gut das das bei der 1500 nicht mehr geht. Aber um zu deiner ursprünglichen Frage zurück zu kommen. Wenn du nach der Adresse von P##para fragst, dann hast du tasächlich im Akku die Adresse E10.0. So kodiert wie das auch im Adressregister liegen würde. Wenn der Aufruf aber nicht mit E, A oder M versorgt wird, dann wird es schon wieder seltsam. Zumeist findest du einen Verweis auf den L-Stack des Aufrufers. Scheinbar wird vorher rein und nacher raus kopiert, ganz so wie beim FB. Solltest du mit mehreren Ablaufeben arbeiten und der FC wird durch einen anderen OB unterbrochen, ergeben sich ganz komische Effekte. Wird im aufgerufenen FC auf den Paramter geschieben, dann wirkt das bei E,A und M sofort. Die unterbrechende Ebene sieht sofort was geschrieben wurde. Bei Versorgung mit DB oder L, arbeitest du im FC mit einer Kopie. Der geschriebene Wert wird erst sichtbar wenn der FC wieder verlassen ist. Für das Lesen gilt das Gleiche, die Auswirkungen sind halt anders. Der Unterbrecher kann dir deine mit EAM versorgten Parameter kaputt machen, bei DB und L gewinnt der FC.
Bei der 1200/1500 werden die Parameter aber wie beim FB übergeben. Die einfachen per Wert, die komplizierteren per Referenz. Ich weiß nur nicht wo. Eine Instanz gibt es nicht und im L-Stack sind sie auch nicht.

Trotzdem sind sie da und das ist auch gut so. Es gibt keine Unterschiede/Probleme wenn verschiedene Ablaufebenen unterwegs sind -- das ist sogar noch besser

. Aber zurück zu deiner Frage: Adressen ... es gibt keine Adressen. Die sind total unwichtig

.
Wozu willst du die Adressen haben, wenn du doch nur auf Kopien arbeitest.
schönen Tag auch
HB
wer wird denn gleich in die Luft gehen