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

Ergebnis 1 bis 9 von 9

Thema: Frage bez. Graf 7 und Stat Variable?

  1. #1
    Registriert seit
    22.06.2011
    Beiträge
    9
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    Wenn ich eine Stat Variabele in einem FBxxx (Graf 7 Baustein) erstelle (#Test) kann diese dann über den entsprechenden DBxxx von außen abgefragt werden?

    z.B.

    FB1 (Graf 7)
    DB1 (Instandbaustein von FB1)
    Aufgerufen im FC1

    Meine Stat Variable ist im DB1 (DB1.DBX10.0) #Test
    Diese könnte ich dann doch so in einem anderen Baustein als Verknüpfung verwenden.

    Jetzt meine Frage:
    Wenn ich in meinem FB1 Änderungen mache und sich die Adressen im DB1 neu Organisieren. Wäre das doch dann schlecht weil dann ja die ganzen Verknüpfungen nicht mehr die richtige Adresse hätten (DB1.DBX10.0)?

    Allso wäre dieses eine Schlechte Programmierlösung? Wie sollte man es richtig machen ohne einen Merker zu benutzen?

    Wie gesagt bin ich anfänger

    Gruß
    BORGER
    Zitieren Zitieren Frage bez. Graf 7 und Stat Variable?  

  2. #2
    Registriert seit
    19.06.2008
    Ort
    Ostalbkreis
    Beiträge
    3.140
    Danke
    201
    Erhielt 553 Danke für 498 Beiträge

    Standard

    Zitat Zitat von J.BORGER Beitrag anzeigen
    Hallo,

    Wenn ich eine Stat Variabele in einem FBxxx (Graf 7 Baustein) erstelle (#Test) kann diese dann über den entsprechenden DBxxx von außen abgefragt werden?
    ja, vorzugsweise nur lesend

    Zitat Zitat von J.BORGER Beitrag anzeigen
    Jetzt meine Frage:
    Wenn ich in meinem FB1 Änderungen mache und sich die Adressen im DB1 neu Organisieren. Wäre das doch dann schlecht weil dann ja die ganzen Verknüpfungen nicht mehr die richtige Adresse hätten (DB1.DBX10.0)?

    Allso wäre dieses eine Schlechte Programmierlösung? Wie sollte man es richtig machen ohne einen Merker zu benutzen?BORGER
    Stelle auf symbolische Programmierung um, dann werden die Adressen "nachgezogen".

    Symbol "Test.Start (alt db1.dbx0.0)
    Symbol "Test.Start (neu db1.dbx2.0)
    Angehängte Grafiken Angehängte Grafiken
    • Dateityp: jpg sym.jpg (31,9 KB, 10x aufgerufen)

  3. #3
    J.BORGER ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    22.06.2011
    Beiträge
    9
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von Verpolt Beitrag anzeigen
    ja, vorzugsweise nur lesend



    Stelle auf symbolische Programmierung um, dann werden die Adressen "nachgezogen".

    Symbol "Test.Start (alt db1.dbx0.0)
    Symbol "Test.Start (neu db1.dbx2.0)
    Ich weiß was du meinst. Aber ich kann die Datenadresse nur symbolisch innerhalb des FB1 sehen. Wenn ich jetzt zum Beispiel meinen FC2 aufmache kann ich die Adresse nicht symbolisch finden. Evt. mache ich auch etwas falsch??? Deswegen habe ich mir die Adresse direkt aus dem DB1 hollen wollen.?

    Wobei ich da die gefahr sehe das wenn der Baustein wegen änderungen an der Kette neu generiert wird sich die Adressierung der Variabele ändern könnte und ich dann eine Fehlerhafte verknüpfung innerhalb meines FC2 hätte?

  4. #4
    J.BORGER ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    22.06.2011
    Beiträge
    9
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Kleiner nachtrag:

    Innerhalb meines FC2 habe ich überhaubt keine möglichkeit an Stat Variabeln zu kommen. Evt. habe ich etwas im Simatic Manager falsch eingestellt? Version 5.3 SP2.

  5. #5
    Registriert seit
    19.06.2008
    Ort
    Ostalbkreis
    Beiträge
    3.140
    Danke
    201
    Erhielt 553 Danke für 498 Beiträge

    Standard

    Gib deinem DB1 einen Namen in der Symboltabelle.

    PS: im FB gibts auch Out In/Out-Bereiche (Variablen)

    dort könntest die benötigten Variablen nach aussen führen, ohne Instanzdatenzugriff von aussen

  6. #6
    J.BORGER ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    22.06.2011
    Beiträge
    9
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von Verpolt Beitrag anzeigen
    Gib deinem DB1 einen Namen in der Symboltabelle.
    Das hat wunderbar geklapt

    Jetzt bekomme ich es Symbolisch angezeigt:
    Beispiel: statt DB1.DBX10.0 angezeigt als "DB1".Test wobei sich Test wohl auf meine Stat Variable #Test bezieht.

    Muß ich dann keine bedenken mehr haben sollte sich innerhalb meines FB1 die Adresse von DB1.DBX10.0 auf z.B. DB.DBX33.7 ändern? Und wird dann ebenso im FC3 übernommen aufgrund der Symbolik?

    War allso eigentlich ein ganz leichter fehler bis jetzt und bedanke mich noch mal für die so schnelle Hilfe

  7. #7
    Registriert seit
    19.06.2008
    Ort
    Ostalbkreis
    Beiträge
    3.140
    Danke
    201
    Erhielt 553 Danke für 498 Beiträge

    Standard

    Zitat Zitat von J.BORGER Beitrag anzeigen
    Muß ich dann keine bedenken mehr haben sollte sich innerhalb meines FB1 die Adresse von DB1.DBX10.0 auf z.B. DB.DBX33.7 ändern? Und wird dann ebenso im FC3 übernommen aufgrund der Symbolik?
    Symbolik Vorrang eingestellt? Sollte keine Probleme machen.

    ABER: (und da scheiden sich die Geister)

    Auf Instanzdaten von "aussen" zuzugreifen (lesend) --> kann man machen
    Auf Instanzdaten von "aussen" zuzugreifen (schreibend) --> nicht gut

    Deshalb meinte ich ja, deine Variablen im FB (DB1) nach aussen führen

    VAR_OUT: Test --Integer/Word whatever

    Dann kannst im FC direkt den Wert am FB abholen (weitere Variable nötig, aber kein IDB-Zugriff)

  8. #8
    J.BORGER ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    22.06.2011
    Beiträge
    9
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von Verpolt Beitrag anzeigen
    Symbolik Vorrang eingestellt? Sollte keine Probleme machen.

    ABER: (und da scheiden sich die Geister)

    Auf Instanzdaten von "aussen" zuzugreifen (lesend) --> kann man machen
    Auf Instanzdaten von "aussen" zuzugreifen (schreibend) --> nicht gut

    Deshalb meinte ich ja, deine Variablen im FB (DB1) nach aussen führen

    VAR_OUT: Test --Integer/Word whatever

    Dann kannst im FC direkt den Wert am FB abholen (weitere Variable nötig, aber kein IDB-Zugriff)
    Ok Danke.

    Noch mal ganz kurz: Wenn ich es so mache wie du sagst müßte ich das wie beschrieben als VAR_OUT machen. Diese müßte ich dann aber innerhalb des FC mit einer neuen Variabele verknüpfen. Kann ich dieses dann mit einer Temporäre Variable machen? Weil im FC kann ich ja keine Stat Variabeln nutzen. Desweiteren habe ich mal gehört bei Temp Variabeln soll man Vorsichtig sein. Weiß nur nicht mehr wo da die gefahr liegen soll.

    Soory wenn meine Fragen langsame nervem sollten

    Gruß
    BORGER

  9. #9
    Registriert seit
    19.06.2008
    Ort
    Ostalbkreis
    Beiträge
    3.140
    Danke
    201
    Erhielt 553 Danke für 498 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von J.BORGER Beitrag anzeigen
    Ok Danke.

    Noch mal ganz kurz: Wenn ich es so mache wie du sagst müßte ich das wie beschrieben als VAR_OUT machen. Diese müßte ich dann aber innerhalb des FC mit einer neuen Variabele verknüpfen. Kann ich dieses dann mit einer Temporäre Variable machen? Weil im FC kann ich ja keine Stat Variabeln nutzen. Desweiteren habe ich mal gehört bei Temp Variabeln soll man Vorsichtig sein. Weiß nur nicht mehr wo da die gefahr liegen soll.

    Soory wenn meine Fragen langsame nervem sollten

    Gruß
    BORGER
    Im FC -->Aufruf FB --->Variable aktualisiert--->zurück zum FC--->Variable dort auf Temp. Jetzt ist diese im restlichen (nur da) FC-Ablauf aktuell.

    Springst wieder in den FC (2.zyklus) kann die Variable irgendeinen Zustand aufweisen. springst jetzt wieder in den FB --Variable aktualisiert--->zurück zum FC.

    Soll heißen. Brauchst du diese Var nur im FC nach dem FB-Aufruf, dann temp ok

    Brauchts du die var global, also woanderst im Prog, dann "globaleVar" daraus machen. (Merker,Datenbaustein(bit)...)

Ähnliche Themen

  1. Position einer STAT-Variable feststellen
    Von Züttu im Forum Simatic
    Antworten: 13
    Letzter Beitrag: 24.01.2011, 11:58
  2. FB IN/OUT/STAT Liste
    Von hank12 im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 09.05.2009, 10:41
  3. Wieso startet die Graf kette immer
    Von annabel im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 14.05.2007, 15:57
  4. ein Frage über Globale Variable in SCL
    Von Rose im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 16.06.2006, 17:08
  5. Flankenmerker->Merker oder Stat-Variable?
    Von oliver2306 im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 14.11.2003, 13:21

Lesezeichen

Berechtigungen

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