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

Ergebnis 1 bis 10 von 10

Thema: Auf Variablen im Instanzdatenbaustein direkt zugreifen

  1. #1
    Registriert seit
    19.01.2009
    Ort
    Klagenfurt (Ö)
    Beiträge
    8
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo

    Ich bin's schon wieder mit einer Frage.

    Darf man direkt auf Variablen in einem IDB zugreifen (auch schreibend). In der S......-Hilfe hab ich meiner Meinung nach gelesen das nur der zugehörige FB darauf zugreifen sollte.

    Ich denke aber (ich weiss es nicht besser) das ein direkter Zugriff (symbolisch) kein Problem darstellen sollte - ODER DOCH?


    SG
    esse
    Zitieren Zitieren Auf Variablen im Instanzdatenbaustein direkt zugreifen  

  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

    was man darf und was nicht entscheidet am ende der kunde. (im besten fall)

    grundsätzlich ist es möglich, da der instanz-DB wie ein global-DB behandelt werden kann.
    ob das sinnvoll ist oder nicht, was es für auswirkungen haben kann und in wie weit du damit dann noch eine saubere programmierung herstellen kannst sei jetzt deinem urteilsvermögen und den kommentatoren nach diesem post überlassen ...

    ich habe meine meinung dazu im forum schon öfter zum ausdruck gebracht. (wobei das mittlerweile mehr und mehr verschwimmt...)
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  3. Folgender Benutzer sagt Danke zu vierlagig für den nützlichen Beitrag:

    esse (21.01.2009)

  4. #3
    Registriert seit
    22.01.2008
    Ort
    Allgäu, da wo die Kühe schöner sind als die Mädels
    Beiträge
    1.774
    Danke
    50
    Erhielt 729 Danke für 434 Beiträge

    Standard

    4l hat recht, es ist möglich
    Aber wer verantwortungsvoll programmiert unterlässt es. Die symbolische programmierung bei S7 ist keine. Sie ist lediglich auf die absolute aufgesetzt. Bei Rockwell gibt es keine absolut adressen mehr (allerdings auch keine DBs) da wäre so etwas möglich.
    Besonders kritisch wird es, wenn ein anderer kollege auf absolut umstellt, und instanzdbs verändert, weil er es nicht besser weiss.
    Das ergebnis kann erstaunlich sein.
    Auch wenn merker aus der mode gekommen sind, sie habe durchaus vorteile.

    Gruss
    Audsuperuser
    Gruss Audsuperuser

    Herzlich Willkommen im Chat:
    SPS-Forum Chat (Mibbit) | SPS-Forum Chat (MIRC)

  5. #4
    Registriert seit
    01.10.2007
    Ort
    Waiblingen
    Beiträge
    3.317
    Danke
    767
    Erhielt 536 Danke für 419 Beiträge

    Standard

    im Umfeld von diesem Beitrag:
    http://www.sps-forum.de/showthread.p...iff#post124649
    steht noch einiges zum Thema ...

  6. #5
    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 Perfektionist Beitrag anzeigen
    im Umfeld von diesem Beitrag:
    http://www.sps-forum.de/showthread.p...iff#post124649
    steht noch einiges zum Thema ...
    und ab hier: http://www.sps-board.de/showthread.php?t=18429&page=5

    ... das war der selbe beitrag

    da reich ich halt den hier nach: http://sps-forum.de/showthread.php?t=15536
    Geändert von vierlagig (21.01.2009 um 11:22 Uhr)
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  7. #6
    Registriert seit
    06.10.2004
    Ort
    Kopenhagen.
    Beiträge
    4.626
    Danke
    377
    Erhielt 801 Danke für 642 Beiträge

    Standard

    Es geht ohne grössere Probleme. Genau so tu ich zeit viele Jahren.

    Einzigste Punkt wo man aufmerksam sein muss:
    Der FB Deklarationsteil darf nicht geändert werden, wenn man mit Inbetriebnahme oder Instandhaltung auf ein laufende Anlage zu tun hat.
    Der Grund ist, das wenn der Deklarationsteil und somit auch der entsprechende IDB geändert wird, muss alle IDBs und Programm Bausteine das die IDB anspricht neu auf den CPU geladen werden.

    Solange das man offline und symbolisch programmiert, kan man tun wie man will.

    Dasselbe gelt für Programme die mit aufwendige DBs + UDTs erstellt wird.

    Wenn man so tun, muss man voraus die FBs erzeugen und testen, so das man bei laufende Anlage kein bedarf hat den Deklaration zu ändern. Es fordert damit mehr Vorarbeit, aber es lohnt sich, auch für andere Grunde als nur den möglicheit IDBs direkt zuzugreifen.
    Jesper M. Pedersen

  8. #7
    Registriert seit
    04.01.2008
    Ort
    Wien
    Beiträge
    772
    Danke
    136
    Erhielt 39 Danke für 35 Beiträge

    Standard

    Hab mir durch das ändern eines FB´s auch mal ins Bein geschossen. Deshalb seh ich das genau so wie 4-L u. Perf.
    irgendetwas ist ja immer...
    ING. Gerald Miedler

  9. #8
    Registriert seit
    04.02.2007
    Beiträge
    2.544
    Danke
    167
    Erhielt 731 Danke für 528 Beiträge

    Standard

    Ich mache es manchmal , aber nur bei fertigen Bausteinen von Siemens, wie z.B. Regler-Bausteine. Da will ich in der Visu oft viele Parameter ändern können und diese über einen Parametrier-DB zu schleifen ist mir schlicht zu viel Arbeit. Sollwert, Istwert , Stellgrad usw werden natürlich übergeben, aber manchmal will der Kunde z.B. zum test die Änderungsgeschwidigkeit des Sollwert ändern usw.
    Aber sobald es um einen änderbaren FB geht, gilt ein absolutes Nein, da man da nicht drauf achten kann.
    Wenn man dann einen FB ändert und der Übersicht wegen, einen Parameter einfügt ändern sich schnell mal alle adressen im Instanzdb.

  10. #9
    Registriert seit
    03.04.2008
    Beiträge
    6.200
    Danke
    237
    Erhielt 815 Danke für 689 Beiträge

    Standard

    Nach meiner Meinung gehört ein DI dem entsprechenden FB.
    Mir ist keine Situation bekannt wo der DI von aussen verändert werden muss.
    Müssen Werte geändert werden, dann ist es notwendig den FB so zu erweitern, dass die Parameter vom FB in andere Variablen z.B Merker oder Global DB geschrieben und ggF dort wieder abgeholt werden.

    bike

  11. #10
    Registriert seit
    29.03.2004
    Beiträge
    5.741
    Danke
    143
    Erhielt 1.686 Danke für 1.225 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von jabba Beitrag anzeigen
    Ich mache es manchmal , aber nur bei fertigen Bausteinen von Siemens, wie z.B. Regler-Bausteine. Da will ich in der Visu oft viele Parameter ändern können und diese über einen Parametrier-DB zu schleifen ist mir schlicht zu viel Arbeit. Sollwert, Istwert , Stellgrad usw werden natürlich übergeben, aber manchmal will der Kunde z.B. zum test die Änderungsgeschwidigkeit des Sollwert ändern usw.
    Aber sobald es um einen änderbaren FB geht, gilt ein absolutes Nein, da man da nicht drauf achten kann.
    Wenn man dann einen FB ändert und der Übersicht wegen, einen Parameter einfügt ändern sich schnell mal alle adressen im Instanzdb.
    Genauso habe ich es selber schon bei einigen Projekten gemacht.
    Zugriff auf Instanz-DBs nur bei Standardbausteinen für Motoren, Ventile, Messungen, Zähler etc.
    Dort sind meine nach außen hin sichtbaren oder veränderbaren Variablen gekennzeichnet, z.b. durch gruppieren in Strukturen mit passendem Namen (z.B. PUBLIC / PRIVATE oder BEFEHLE / STATUS_RO / INTERN).
    Der Zugriff erfolgt dann z.B. mit "Pumpe_1".PUBLIC.einschalten.
    Wenn das konsequent umgesetzt wird ergibt das auch ein schlüssiges Konzept

    Da Step7 die Objektorientierung sowieso nicht so richtig unterstützt, bringt mir ein "freifliegender" Merker auch nicht mehr Kapselung als direkter Zugriff auf den Instanz DB.

    P.S.:
    So ganz im Reinen bin ich mir mit dem Zugriff auf Instanzen selber auch nicht, dafür bringt es erhebliche Vorteile bei der Programmierung mit sich. Und da die Rangiererei entfällt können hier auch keine Fehler mehr entstehen.

Ähnliche Themen

  1. Antworten: 6
    Letzter Beitrag: 12.04.2011, 10:33
  2. Antworten: 15
    Letzter Beitrag: 21.05.2010, 09:31
  3. Antworten: 2
    Letzter Beitrag: 06.02.2008, 12:08
  4. Antworten: 0
    Letzter Beitrag: 06.07.2007, 10:26
  5. auf TEMP Variablen zugreifen
    Von serdnar im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 06.10.2006, 14:07

Stichworte

Lesezeichen

Berechtigungen

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