Step 7 Indirekt adressierte Adresse finden

ADMUX

Level-1
Beiträge
12
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Mahlzeit zusammen,

gibt es eine Möglichkeit, eine indirekt adressierte Adresse bzw. deren Verwendungsstelle ausfindig zu machen?

Angenommen, ich möchte wissen, wo bspw. die Adresse DB100.DBD164 verwendet wird, diese aber vermutlich mit
Schweinereien wie

Code:
L #DBNR  //In-Variable
T #DBNRopn  //Temp
AUF DB[#DBNRopn] //Zu öffnender Baustein

L L#10  //Zu schreibender Wert
T DBD[MD5] //Zieladresse

geschrieben wird - gibt's da eine Chance?

Beste Grüße und Dank im Voraus,

Admux



EDIT: Über andere Suchbegriffe in der SuFu kam ich, wenn ich mich nicht irre, zu der Erkenntnis, dass es wohl nicht möglich ist :-(
 
Zuletzt bearbeitet:
Aus allen Bausteinen eine AWL-Quelle erzeugen und diese nach den eckigen Klammern [ durchsuchen und jede Fundstelle analysieren ...

Ich mache mir wenn möglich vor/nahe solcher indirekten Zugriffe einen voll qualifizierten Dummy-Zugriff auf die Tabellen/Bereichs-Anfangsadresse ins Programm um wenigstens einen Hinweis auf den Zugriff in die Referenzdaten zu bekommen. Wenn auch die DB-Nr variabel ist, dann geht voll qualifiziert nicht, da versuche ich die DB-Nr möglichst nicht als Integer sondern als BLOCK_DB zu übergeben, die erscheinen in den Referenzdaten.

In fremden Programmen kann man natürlich nicht sicher sein, daß der Programmierer freundlicherweise Find-Hilfen eingebaut hat, da hilft nur die Methode über die Quelltext-Analyse.

Harald
 
Vielen Dank an euch beide schonmal...

@PN/DP:
Ich werde deinen Tipp einmal ausprobieren.
Allerdings glaube ich, dass die Anzahl der Bausteine das Ding erschlagen wird.

Das Problem ist halt, dass es sich um ein "fremdes" Programm handelt und der Urheber schon darauf bedacht war, solche Nettigkeiten einzubauen.

Beste Grüße,
Admux
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Admux,

noch einf Möglichkeit die aber nicht immer zum Erfolg führt ist das Programm in PLC sim laden und Online den ob121 löschen und dann noch den DB löschen.

Jetzt sollte sich die PLC sim CPU in Stop verabschieden jetzt kannst in den Baugruppenzustand auf die Stags gehen und auf Bestein öffnen jetzt weist du wo die erste aufrufstelle des DB ist nun diesen auskommentieren und wider Probieren nach und nach solltest du so alle Zugriffe finden.

evtl ergibt es sin einen Ag Abzug in das PLC sim zu laden.


Achtung unbedingt auf Plc sim machen wird die Anlage nicht toll finden wenn die CPU auf Stopp geht!!!!!!


Gruß Tia
 
Guten Morgen zusammen,

@Frank:
Na klar, dafür gibt es definitiv Gründe.
Ich beschäftige mich derzeit autodidaktisch recht intensiv mit dem Thema "Indirekte Adressierung / Pointer".
Darin bin ich zwar noch nicht sonderlich gut aber ich habe mich auch schon ziemlich lange mit dem Urheber des Programms beschäftigen müssen, was meine Annahme dann nochmals bestätigt :ROFLMAO:

@Wincctia:
Das ist auf jeden Fall eine pfiffige Idee, die ich gleich mal ausprobiere. Vielen Dank dafür.

Schonmal ein schönes Wochenende und beste Grüße,

Admux
 
Zurück
Oben