Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 8 von 8

Thema: Pointer finden..

  1. #1
    Registriert seit
    10.06.2010
    Beiträge
    11
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Rotes Gesicht


    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
    Zitieren Zitieren Pointer finden..  

  2. #2
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    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
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  3. #3
    Registriert seit
    17.05.2010
    Ort
    Paderborn
    Beiträge
    824
    Danke
    84
    Erhielt 125 Danke für 94 Beiträge

    Beitrag

    Zitat Zitat von troeps Beitrag anzeigen
    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
    Grüße
    Michael

    1001101110110100... Das ist meine Welt

  4. #4
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    Zitat Zitat von MCerv Beitrag anzeigen
    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
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  5. #5
    Registriert seit
    17.05.2010
    Ort
    Paderborn
    Beiträge
    824
    Danke
    84
    Erhielt 125 Danke für 94 Beiträge

    Ausrufezeichen

    Zitat Zitat von vierlagig Beitrag anzeigen
    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
    Grüße
    Michael

    1001101110110100... Das ist meine Welt

  6. #6
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    Zitat Zitat von MCerv Beitrag anzeigen
    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 ...
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  7. #7
    Registriert seit
    17.05.2010
    Ort
    Paderborn
    Beiträge
    824
    Danke
    84
    Erhielt 125 Danke für 94 Beiträge

    Standard

    Zitat Zitat von vierlagig Beitrag anzeigen
    zauberbausteine programmieren, aber nicht über den tellerrand des gelieferten editors blicken ... verrückte welt
    Zauberbausteine ist gut ! 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
    Geändert von MCerv (21.10.2010 um 11:03 Uhr) Grund: Zitat von vierlagig
    Grüße
    Michael

    1001101110110100... Das ist meine Welt

  8. #8
    troeps ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    10.06.2010
    Beiträge
    11
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Danke Jungs für die schnellen Antworten!!
    Freue mich über weitere orginelle Ideen

    Zauberbausteine ist gut ! 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...
    Zitieren Zitieren Danke  

Ähnliche Themen

  1. Finden von Eingängen
    Von Thorben Nagel im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 31.10.2011, 14:06
  2. TP Vorlagen finden
    Von Servernexus im Forum HMI
    Antworten: 4
    Letzter Beitrag: 19.02.2011, 15:05
  3. Ein Bit aus Doppelwort finden
    Von Flo im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 15.04.2010, 23:37
  4. Finden Sie den Schatz
    Von Vorfilter im Forum Stammtisch
    Antworten: 12
    Letzter Beitrag: 15.04.2008, 18:16
  5. WS-Cad 42 Artikel im Schaltplan finden
    Von plc_tippser im Forum E-CAD
    Antworten: 3
    Letzter Beitrag: 02.09.2005, 12:03

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •