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

Results 1 to 10 of 10

Thread: Auf Variablen im Instanzdatenbaustein direkt zugreifen

  1. #1
    Join Date
    19.01.2009
    Location
    Klagenfurt (Ö)
    Posts
    8
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Default


    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
    Reply With Quote Reply With Quote Auf Variablen im Instanzdatenbaustein direkt zugreifen  

  2. #2
    Join Date
    08.08.2007
    Location
    Dresden
    Posts
    9,882
    Danke
    1,064
    Erhielt 2,056 Danke für 1,632 Beiträge

    Default

    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
    Join Date
    22.01.2008
    Location
    Allgäu, da wo die Kühe schöner sind als die Mädels
    Posts
    1,898
    Danke
    53
    Erhielt 793 Danke für 473 Beiträge

    Default

    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
    Join Date
    01.10.2007
    Location
    Waiblingen
    Posts
    3,557
    Danke
    767
    Erhielt 537 Danke für 420 Beiträge

    Default

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

  6. #5
    Join Date
    08.08.2007
    Location
    Dresden
    Posts
    9,882
    Danke
    1,064
    Erhielt 2,056 Danke für 1,632 Beiträge

    Default

    Quote Originally Posted by Perfektionist View Post
    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
    Last edited by vierlagig; 21.01.2009 at 11:22.
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  7. #6
    Join Date
    06.10.2004
    Location
    Kopenhagen.
    Posts
    5,800
    Danke
    466
    Erhielt 1,059 Danke für 830 Beiträge

    Default

    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
    Join Date
    04.01.2008
    Location
    Wien
    Posts
    816
    Danke
    142
    Erhielt 40 Danke für 36 Beiträge

    Default

    Hab mir durch das ändern eines FB´s auch mal ins Bein geschossen. Deshalb seh ich das genau so wie 4-L u. Perf.

  9. #8
    Join Date
    04.02.2007
    Posts
    2,581
    Danke
    167
    Erhielt 731 Danke für 528 Beiträge

    Default

    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
    Join Date
    03.04.2008
    Posts
    6,464
    Danke
    238
    Erhielt 825 Danke für 698 Beiträge

    Default

    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
    Join Date
    29.03.2004
    Posts
    7,253
    Danke
    165
    Erhielt 2,176 Danke für 1,557 Beiträge

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Quote Originally Posted by jabba View Post
    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.

Similar Threads

  1. Replies: 14
    Last Post: 16.04.2019, 17:35
  2. Replies: 6
    Last Post: 12.04.2011, 10:33
  3. Replies: 15
    Last Post: 21.05.2010, 09:31
  4. Replies: 0
    Last Post: 06.07.2007, 10:26
  5. auf TEMP Variablen zugreifen
    By serdnar in forum Simatic
    Replies: 2
    Last Post: 06.10.2006, 14:07

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •