Pointer finden..

troeps

Level-1
Beiträge
11
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo an alle Experten!
Kennt jemand eine gute Möglichkeit eine Adresse zu finden die von einem Pointer beschrieben wird?? Anbei mal ein kleines Beispiel:
Code:
   CALL  "FILL"
       BVAL   :=P#DB100.DBX0.0 BYTE 5
       RET_VAL:=MW200
       BLK    :=P#DB200.DBX2.0 BYTE 20
      NOP   0
Dieser Code füllt den Bereich DB200.dbb2-dbb22 mit dem was im DB100 von dbb0-dbb5 steht.

Nun wenn ich ein riesen Programm habe (das evtl. auch noch der Kollege geschrieben hat) und möchte gerne sehen wo z.B. das Byte DB200.DBB15 verwendet wird. Wie macht Ihr das - weil mit "Gehe zur Verwendungsstelle" kannstes ja vergessen...

MfG Chris
 
ich mach mir ne quelle vom programm und ziehs in nen texteditor, da kann ich dann, um an deinen beispiel zu bleiben, nach P#DB200 suchen und finde alle stellen, wo per any auf den DB200 zu gegriffen wird, der rest ist dann kopfarbeit, also den speicherbereich dem jeweiligen zugriff zuzuordnen
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo an alle Experten!
Kennt jemand eine gute Möglichkeit eine Adresse zu finden die von einem Pointer beschrieben wird?? Anbei mal ein kleines Beispiel:
Code:
   CALL  "FILL"
       BVAL   :=P#DB100.DBX0.0 BYTE 5
       RET_VAL:=MW200
       BLK    :=P#DB200.DBX2.0 BYTE 20
      NOP   0
Dieser Code füllt den Bereich DB200.dbb2-dbb22 mit dem was im DB100 von dbb0-dbb5 steht.

Nun wenn ich ein riesen Programm habe (das evtl. auch noch der Kollege geschrieben hat) und möchte gerne sehen wo z.B. das Byte DB200.DBB15 verwendet wird. Wie macht Ihr das - weil mit "Gehe zur Verwendungsstelle" kannstes ja vergessen...

MfG Chris

Ich glaube (Hände zum Gebet, Amen), das ist bei indirekter Adressierung (da gehören auch Pointer zu) nicht möglich, zumindest nicht bei SIEMENS. Bei OMRON funzt das zum Teil schon.
Sorry.

Grüße
Michael
 
Ich glaube (Hände zum Gebet, Amen), das ist bei indirekter Adressierung (da gehören auch Pointer zu) nicht möglich, zumindest nicht bei SIEMENS. Bei OMRON funzt das zum Teil schon.
Sorry.

Grüße
Michael

zauberbausteine programmieren, aber nicht über den tellerrand des gelieferten editors blicken ... verrückte welt
 
ich mach mir ne quelle vom programm und ziehs in nen texteditor, da kann ich dann, um an deinen beispiel zu bleiben, nach P#DB200 suchen und finde alle stellen, wo per any auf den DB200 zu gegriffen wird, der rest ist dann kopfarbeit, also den speicherbereich dem jeweiligen zugriff zuzuordnen

Bei einem großem Programm ist das natürlich ne Menge Arbeit und zeitaufwändig und auch im Service vor Ort nur sehr schwierig, wenn es schnell gehen muss!

Aber ne Möglichkeit

Grüße
Michael
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Bei einem großem Programm ist das natürlich ne Menge Arbeit und zeitaufwändig und auch im Service vor Ort nur sehr schwierig, wenn es schnell gehen muss!

Aber ne Möglichkeit

Grüße
Michael

ne menge arbeit? verstehe den einwand nicht?
im regelfall sollte ein db einer bestimmten funktion zugewiesen sein, also in zwei drei bausteinen evtl. drauf zugegriffen werden. indirekt im besten fall zum glück nur ein bis zwei mal ...
 
zauberbausteine programmieren, aber nicht über den tellerrand des gelieferten editors blicken ... verrückte welt

Zauberbausteine ist gut :cool:! Besser und möglichst bei jedem Baustein über IN- / OUT-Variablen Operanden rausgeben und indirekte Adressierung nur intern verwenden! Klare Programmstrukturen sind von Vorteil! Ich mag persönlich (hab auch schon meoine Erfahrungen dazu gemacht) auch keinen Zugriff auf IntanzDB's von einem anderen Baustein im Programm. Erfahrungsgemäß führt das zu Problemen nach Änderungen.

Grüße
Michael

...im regelfall sollte ein db einer bestimmten funktion zugewiesen sein, also in zwei drei bausteinen evtl. drauf zugegriffen werden. indirekt im besten fall zum glück nur ein bis zwei mal ...
Ja sag ich doch FG
 
Zuletzt bearbeitet:
Danke

Danke Jungs für die schnellen Antworten!!
Freue mich über weitere orginelle Ideen :ROFLMAO:

Zauberbausteine ist gut :cool:! Besser und möglichst bei jedem Baustein über IN- / OUT-Variablen Operanden rausgeben und indirekte Adressierung nur intern verwenden! Klare Programmstrukturen sind von Vorteil! Ich mag persönlich (hab auch schon meoine Erfahrungen dazu gemacht) auch keinen Zugriff auf IntanzDB's von einem anderen Baustein im Programm. Erfahrungsgemäß führt das zu Problemen nach Änderungen.
Ich weiß auch das man mit "schöner Programmierung" das alles "einfacher" gestallten kann - aber leider wissen das nicht alle Programmierer... :sm10:
 
Zurück
Oben