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

Seite 3 von 5 ErsteErste 12345 LetzteLetzte
Ergebnis 21 bis 30 von 50

Thema: Problem: Externer Zugriff auf IDB's

  1. #21
    Registriert seit
    06.10.2003
    Beiträge
    3.411
    Danke
    451
    Erhielt 506 Danke für 408 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Thomas_v2.1 Beitrag anzeigen
    ..Damit der FB dann aber nicht nackt ohne Beschaltung dasteht, kann man auch die Parameter mit dem eigenen Instanz-DB beschalten, also so:
    Code:
    CALL  "FB_TEST" , "IDB_TEST"
      IN1 :="IDB_TEST".IN1
      IN2 :="IDB_TEST".IN2
      OUT1:="IDB_TEST".OUT1
      OUT2:="IDB_TEST".OUT2
    Dann klappts auch mit dem Online-Status, und man kann zusätzlich schnell zur Verwendungsstelle springen wenn man auf den Operanden klickt.
    So ein Programm ist mir in diesem Jahr bei einem Kunden unter gekommen. Beim Übersetzen beisst sich die Katze in den Schwanz. Man kann mit Step7 sehr viel Mist machen, es gibt ja wirklich mehr als genug Möglichkeiten dazu.
    Es gibt viel mehr Leute, die freiwillig aufgeben, als solche, die echt scheitern.
    Henry Ford

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

    Standard

    Zitat Zitat von borromeus Beitrag anzeigen
    ... man kann eine Software immer schlecht und unübersichtlich programmieren, aber der qualifizierte Zugriff auf IDB Daten gehört m.E. nicht dazu.
    ...
    Na, da gibt es so Gebote, dass eine Funktionseinheit in sich abgeschlossen (gekapselt) sein sollte. Und Schnittstellen möglichst sparsam und entsprechend offensichtlich sein sollten. ...und ja, man wird mir auch an dieser Stelle wieder erklären, dass dies nicht auf jeden Prozess bzw. jede Automatisierungsaufgabe anwendbar sei.

  3. #23
    Registriert seit
    29.03.2004
    Beiträge
    5.735
    Danke
    143
    Erhielt 1.686 Danke für 1.225 Beiträge

    Standard

    Zitat Zitat von Onkel Dagobert Beitrag anzeigen
    So ein Programm ist mir in diesem Jahr bei einem Kunden unter gekommen. Beim Übersetzen beisst sich die Katze in den Schwanz.
    Inwiefern beisst sich die Katze in den Schwanz? Wenn ich die Bausteinschnittstelle ändere kann ich genauso wie sonst auch den Aufruf aktualisieren. Die Idee stammt auch nicht von mir, ich habe das mal in einem anderen Programm gesehen und es als garkeine schlechte Lösung angesehen, weil mir bisher auch noch keine gravierenden Nachteile aufgefallen sind.

  4. #24
    Registriert seit
    08.02.2007
    Ort
    A-2320
    Beiträge
    2.252
    Danke
    244
    Erhielt 332 Danke für 303 Beiträge

    Standard

    Zitat Zitat von Perfektionist Beitrag anzeigen
    Na, da gibt es so Gebote, dass eine Funktionseinheit in sich abgeschlossen (gekapselt) sein sollte. Und Schnittstellen möglichst sparsam und entsprechend offensichtlich sein sollten. ...und ja, man wird mir auch an dieser Stelle wieder erklären, dass dies nicht auf jeden Prozess bzw. jede Automatisierungsaufgabe anwendbar sei.
    Beispiel:
    Extruder mit 15 Heizzonen soll auf 80° heizen wenn diese im Tolaranzrahmen sind 15min warten, dann auf 160° heizen wieder den Toleranzrahmen abwarten, dann 15min warten und dann auf den Sollwert aus der Visu heizen.
    Da wird wohl irgendein Baustein dies bewerkstelligen müssen, der hat aber mit dem/den Regler/n perse nichts zu tun ausser den Sollwert zu ermitteln.
    Also was ist die offensichtlichste Schnittstelle zwischen den Bausteinen?
    Ich persönlich finde hier das Beschreiben des "Zone1".SP als ziemlich offensichtlich.
    Du nicht?

  5. #25
    Registriert seit
    06.10.2003
    Beiträge
    3.411
    Danke
    451
    Erhielt 506 Danke für 408 Beiträge

    Standard

    Zitat Zitat von Thomas_v2.1 Beitrag anzeigen
    Inwiefern beisst sich die Katze in den Schwanz? Wenn ich die Bausteinschnittstelle ändere kann ich genauso wie sonst auch den Aufruf aktualisieren...
    Ich bekam beim "Konsistenzprüfen-Alles Übersetzen" Probleme. Wenn ich mich recht entsinne waren alle diese Parameter rot und konnten nicht aktualisiert werden. Ich hätte alles manuell nachbearbeiten müssen, was sehr aufwändig geworden wäre.
    Es gibt viel mehr Leute, die freiwillig aufgeben, als solche, die echt scheitern.
    Henry Ford

  6. #26
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.726
    Danke
    398
    Erhielt 2.401 Danke für 2.001 Beiträge

    Standard

    @Borromeus:
    Das Problem ist hier NICHT das Verwenden der Daten des I-DB - das Problem ist was passiert wenn jemand die Schnittstelle des FB's ändert. Dann passen deine wunderschönen absoluten Zugriffe alle nicht mehr. Aus dem Grunde würde auch ich das als einen "faux pas" ansehen. Bei dem Versuch, sauber programmieren zu wollen, gehört der I-DB erstmal dem FB und nicht dem Rest des SPS-Programms - Stcihwort "Kapselung". Soll etwas mit den FB-Daten extern geschehen so gibt es die Schnittstelle ... auch wenn es ggf. "doppelt gemoppelt" ist.

    @Thomas:
    Dein Beispiel ist zwar ggf. funktionell - verbietet sich aber m.E. aus den gerade genannten Gründen genauso. Eigentlich sehe ich darin auch gar keinen Sinn.

    @Ralle:
    Aus meiner Sicht spricht nichts dagegen auf die Daten eines I-DB von der Visu zuzugreifen. Ggf. hat man im I-DB sogar genau dafür schon einen Koppelbereich geschaffen - ich muß allerdings gestehen, dass ich persönlich dies überwiegend nur "lesend von der Visu" mache und nur sehr selten "schreibend" und dann ist das auch irgendwo schon dokumentiert.

    Gruß
    Larry

  7. #27
    Registriert seit
    29.03.2004
    Beiträge
    5.735
    Danke
    143
    Erhielt 1.686 Danke für 1.225 Beiträge

    Standard

    Zitat Zitat von Larry Laffer Beitrag anzeigen
    @Borromeus:
    Das Problem ist hier NICHT das Verwenden der Daten des I-DB - das Problem ist was passiert wenn jemand die Schnittstelle des FB's ändert. Dann passen deine wunderschönen absoluten Zugriffe alle nicht mehr. Aus dem Grunde würde auch ich das als einen "faux pas" ansehen. Bei dem Versuch, sauber programmieren zu wollen, gehört der I-DB erstmal dem FB und nicht dem Rest des SPS-Programms - Stcihwort "Kapselung". Soll etwas mit den FB-Daten extern geschehen so gibt es die Schnittstelle ... auch wenn es ggf. "doppelt gemoppelt" ist.

    @Thomas:
    Dein Beispiel ist zwar ggf. funktionell - verbietet sich aber m.E. aus den gerade genannten Gründen genauso. Eigentlich sehe ich darin auch gar keinen Sinn.
    Dein Lieblingswort scheint ja "Kapselung" zu sein. Der Baustein hat eine definierte Schnittstelle, und diese Schnittstelle wird beschrieben. Wo und wieso steht in diesem Kapselungs-Gebot, dass die Schnittstelle nur am Bausteinaufruf zu beschreiben ist?

  8. #28
    Registriert seit
    29.03.2004
    Beiträge
    5.735
    Danke
    143
    Erhielt 1.686 Danke für 1.225 Beiträge

    Standard

    Zitat Zitat von Onkel Dagobert Beitrag anzeigen
    Ich bekam beim "Konsistenzprüfen-Alles Übersetzen" Probleme. Wenn ich mich recht entsinne waren alle diese Parameter rot und konnten nicht aktualisiert werden. Ich hätte alles manuell nachbearbeiten müssen, was sehr aufwändig geworden wäre.
    Ja, beim "alles Übersetzen" kann es ein Problem geben. Aber nur wenn man dem Baustein einen Parameter entfernt. Hinzufügen funktioniert damit auf jeden Fall.

  9. #29
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.726
    Danke
    398
    Erhielt 2.401 Danke für 2.001 Beiträge

    Standard

    Zitat Zitat von Thomas_v2.1 Beitrag anzeigen
    Dein Lieblingswort scheint ja "Kapselung" zu sein. Der Baustein hat eine definierte Schnittstelle, und diese Schnittstelle wird beschrieben. Wo und wieso steht in diesem Kapselungs-Gebot, dass die Schnittstelle nur am Bausteinaufruf zu beschreiben ist?
    Stimmt - das ist eines meiner Lieblingsworte. Meine Programme sind grundsätzlich nicht mit nur einem "FC-all" ausgestattet.

    Du darfst von mir aus auch im Zyklsu 10 mal die Schnittstelle deines FB's neu beschreiben - aber nach meiner Denke über den FB-Aufruf und NICHT über das direkte Adressieren des I-DB's (aus dem von mir schon genannten Grund). Es geht hier nicht darum, was funktioniert und was nicht sondern um die Durchsichtigkeit - den Grund dafür hat Approx ja auch in einem seiner ersten Beiträge schon genannt ...

    Gruß
    Larry

  10. Folgende 2 Benutzer sagen Danke zu Larry Laffer für den nützlichen Beitrag:

    Approx (30.12.2010),vierlagig (30.12.2010)

  11. #30
    Avatar von Approx
    Approx ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    16.05.2007
    Ort
    im Stahlwerk...
    Beiträge
    1.178
    Danke
    120
    Erhielt 429 Danke für 236 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Larry Laffer Beitrag anzeigen
    Es geht hier nicht darum, was funktioniert und was nicht sondern um die Durchsichtigkeit - den Grund dafür hat Approx ja auch in einem seiner ersten Beiträge schon genannt ...
    Eben. Das der externe Zugriff auf einen IDB funzt, dessen war und bin ich mir bewusst. Mir ging es eher um die Frage nach der zeitlichen Abfolge im Zyklus. Erst IDB beschreiben, und dann FB-Aufruf, oder umgekehrt - oder ist's egal? Und ich war mir nicht sicher, was mit den unbeschalteten FB-Eingängen passiert. Ich glaube jetzt zu wissen, daß es eigentlich egal ist (sein müsste). Völlig sicher bin ich mir immer noch nicht. Naja, jedenfalls habe ich inzwischen alle verwendeten Eingangsparameter der FB's mit aussagekräftigen Operanden beschaltet. Die Sachen, die auf den Stat-Bereich zielen habe ich erstmal so gelassen. Es gab wirklich noch keine Software, bei der sich alle so beschwert haben, wie bei dieser. Kraut und Rüben sag ich nur... Die Funktion der Anlage ist halt heikel - fährt einer der Antriebe nicht, dann ist nach 5min Schluss mit lustig und Produktionsende...
    Da macht es dann sehrwohl Sinn, die Übersichtlichkeit hinsichtlich Fehlersuche zu verbessern! Alle "Extern-IDB-Verbieger" sollen machen, was sie wollen - nur nicht bei uns!

    Allen einen guten Rutsch ins 2011 und möge die Wirtschaft weiter prosperieren!
    Nihil est in cpu, quod non fuerit in intellectu" - Nichts ist in der CPU, was nicht (zuvor) im Verstand war.

Ähnliche Themen

  1. TIA V11 SCL Problem mit DB zugriff
    Von epy im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 16.01.2012, 12:39
  2. Antworten: 0
    Letzter Beitrag: 12.09.2011, 21:44
  3. Problem mit externer Lib
    Von demon2000 im Forum CODESYS und IEC61131
    Antworten: 6
    Letzter Beitrag: 20.05.2011, 07:28
  4. Antworten: 1
    Letzter Beitrag: 10.02.2011, 11:54
  5. Externer Zugriff auf PLCSim - Active X?
    Von Brainyboy im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 11.09.2007, 15:25

Lesezeichen

Berechtigungen

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