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

Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 22

Thema: Seiteneffekte bei externem Zugriff auf Instanzdatenbaustein? (SCL)

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

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Vielleicht sollten wir mal vom zu diesem Thema üblichen Diskussionstil abgehen.
    Denn üblich ist es dass mal wieder eine Seite total dafür ist und eine andere total dagegen. Die eine Seite gibt fleißig "Danke" für alle Pro-Posts, und vice versa. Dann können wir auch jedes mal eine Abstimmung machen.

    Außerdem sind auch die Anlagen sie mit Step 7 programmiert werden zu unterschienlich, als dass man hier eine allgemeingültige beste Lösung abgeben kann.
    Vergleiche mit Pascal oder C kann man auch nicht ziehen, da dieses Problem ein alleiniges Simatic Step7 Problem wegen der absoluten Adressen ist. Bei Codesys/Twincat gibt es diese Problem z.B. überhaupt nicht.
    Ich will die Step7-Struktur jetzt nicht prinzipiell in Frage stellen, denn sie ja sicher auch ihre Vorteile.
    Aber es ist nunmal so wie es ist, und wir müssen uns damit abfinden und das beste daraus machen.

    Wir könnten als Diskussionsgrundlage ja mal eine einfache Aufgabenstellung geben. Zu dieser Aufgabe kann dann jeder seine Programmstruktur skizzieren.
    Es geht dabei also nicht um das ausprogrammieren, sondern um eine grobe Übersicht der Programmstruktur.
    Zu den einzelnen Lösungen gibt es dann entsprechende Punkte die dafür, und andere die dagegen sprechen.

    Vorschlag für eine Aufgabenstellung:
    - 2 Analogmessungen
    - 3 Antriebe mit Frequenzumrichter
    - Automatik in der die Messwerte und der Messwertzustand ausgewertet werden müssen, und
    in der der Status der Antriebe (Störung) ausgwertet werden muss, und Befehle an die Antriebe (mit Sollwert) gegeben werden sollen
    - Visualisierung der Antriebe und Messungen über übliche S7-Kommunikation (z.B. wie WinCC flexible)

    Das Lösungskonzept könnte man entweder in textlicher Form beschreiben, oder mit einer Grafik darstellen.
    Ich habe mal ein Beispiel so einer Skizze angehängt.

    Dann hätte man eine Diskussionsgrundlage und weiß von welchem Konzept der andere spricht.
    Meinungen dazu?

    S7-Programmschema-1.jpg

  2. #12
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.222
    Danke
    533
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard

    Zitat Zitat von JesperMP Beitrag anzeigen
    Also, kein Unterschied zu wenn du die IDB Daten direkt zugreifen wurdest.

    Ich verstehe nicht warum du findest das direkten zugang zu IDBs in Code tabu ist, aber für den HMI ist es erlaubt ??
    Genau das tu ich auch nicht.
    Du hast mich nicht richtig verstanden, ich sprach von absoluter Ausnahme und von komplett in sich geschlossenen Bausteinen mit rel. großen Datenmengen, wie z.Bsp. der FB126 von Siemens. Ich hab einen ähnlichen Baustein für eine PNOZ-Multi von Pilz, da mache ich das auch so, alles andere wäre Megaplatz- und Zykluszeitverschwendung. Aber das ist auch schon mein einziger Baustein, der so arbeitet.

    Wenn du keinen Unterschied siehst, (siehe dein Zitat im letzen Post), dann sag ich auch nichts mehr zum Thema.

    @Thomas
    Nette Idee, aber da hab ich im Moment einfach nicht die Zeit dazu. Interessant aber immerhin, vielleicht finden sich ja Teilnehmer. Wir hatten ja mal einen Programmierwettbewerb ...

    Ich weiß schon, dass sich zu diesem Thema nie eine Einigung erzielen läßt, aber ich bin da ohnehin nicht zu Kompromissen bereit, ich habe einfach schon zu viel miesen Code nach Fehlern durchsucht und zu oft war das Rumgepoke im IDB eine der Ursachen. Ansonsten ist mein Code eh altmodisch! Aber immerhin, meißt funzt er.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  3. #13
    Registriert seit
    23.04.2009
    Ort
    Allgäu
    Beiträge
    3.042
    Danke
    241
    Erhielt 863 Danke für 617 Beiträge

    Standard

    Zitat Zitat von Horst-Kevin Beitrag anzeigen
    Oder wird nur aus Gründen sauberen Programmierstils davon abgeraten, auf die (lokalen)
    Variable eines Instanzdaten von außerhalb zuzugreifen, ohne dass es hierfür einen
    technischen Grund gibt?
    Na wenn das als Programmierer kein stichhaltiger Grund ist, dann weiß ich auch nicht.
    Gruß
    Paule
    ----------------------------------------------------------------------------
    > manchmal verliert man und manchmal gewinnen die anderen <

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

    Standard

    Zitat Zitat von Ralle Beitrag anzeigen
    Du hast mich nicht richtig verstanden, ich sprach von absoluter Ausnahme und von komplett in sich geschlossenen Bausteinen mit rel. großen Datenmengen, wie z.Bsp. der FB126 von Siemens.
    Ich habe deine Einträge sorgfältig gelesen. Du hast geschrieben das "..., IDB sind tabu, keine externen Zugriffe (Ausnahme evtl. vollkommen in sich abgeschlossenen Bausteine, wie der FB125 von Siemens, bei welchem die HMI den IDB nutzt.)"
    Also, es ist ein Ausnahme mit Zugriffe auf IDBs.
    In dein vorigen Eintrag die ich zitierte hast du nicht geschrieben das Änderungen von Global-DBs oder FB-Schnittstellen war ein Ausnahme
    Soll ich es so verstehen das du machst nie (mit Ausnahmen) Änderungen in Global-DBs, oder in FB-Schnittstellen ?

    Zitat Zitat von Ralle Beitrag anzeigen
    Wenn du keinen Unterschied siehst, (siehe dein Zitat im letzen Post), dann sag ich auch nichts mehr zum Thema.
    Ich sah kein Unterschied in den Wirkung auf den rest von das Program, ob man ein Global-DB ändert, ein FB-Schnittstelle ändert, oder den Deklarationsteil von ein FB ändert. Es wird sowieso ein Aktualisierung von den ganzen Program auslösen.

    Das du nicht mehr sagen willst ... ich weis nicht ob du nicht vertraust das ich Argumente verstehen kann und akzeptieren will (kann ich und will ich), oder weil du nicht argumentieren kannst oder willst.
    Jesper M. Pedersen

  5. #15
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.222
    Danke
    533
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard

    @Jesper
    In globalen Daten kannst du ändern was du willst, dazu sind sie da.
    Wenn ich einen FB ändere, dann will ich hinterher nicht das komplette Programm inkl. HMI und Programmteile mit indirekter Adressierung (im schlimmsten Fall) abändern.
    Stell dir vor, du gehst auf Fehlersuche und stellst fest, in FB100 ist ein Fehler, du beseitigst ihn und baust zusätzlich eine weiter IN-Variable ein. Danach geht in deinem gesamten Programm nichts mehr, inkl. HMI, also suchst du wieder.
    Wenn du in globalen DB änderst, dann hängst du hinten etwas an oder nutze freigelassene Reservebereiche. So etwas kann man im Fb gar nicht sinnvoll machen, der IDB entsteht ja aus IN, OUT, INOUT, STAT.
    Also ist es das sauberste, IDB als das zu nutzen was sie immer waren, Daten, die ausschließlich dem FB gehören.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  6. #16
    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

    @Ralle und Jesper:
    Ihr werdet euch darüber doch nie einig werden können. Es ist je nach Sichtweise ein philosophisches Thema. Ich sehe es zwar auch wie Ralle und würde es bei mir auch so durchsetzen - aber beim Forum als Missionar tätig sein zu wollen halte ich für sinnlos.
    Es ist halt eine Frage des (eigenen) Stils - ich würde mich für die Begründung aber auch an Hochsprachen orientieren ...

    Gruß
    Larry

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

    Standard

    @Larry:
    In Hochsprachen haben die Objekte Daten die durch Encapsulation entweder frei zugänglich (C++ "public") oder nur innerhalb von Objekt zugänglich (C++ "protected") sind.
    In IEC61131-3 gibt es auch Globale und Lokale Daten.
    In S7 gibt es diese Funktionalität gar nicht.
    Ihr sagen: Dann muss man mit S7 sich komplett von Globale Objekt-Daten verzichten.
    Ich sage: Dann muss man mit S7 selber die Daten in Local/protected und Global/public trennen, und freiwillig sich begrenzen so das man Global nur die "Globale" Daten addressieren.
    Jesper M. Pedersen

  8. #18
    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

    @Jesper:
    Ich sage mal so :
    Da es ja die duir ganz sicher auch bekannten unliebsamen Randerscheinungen bei diesen Querzugriffen gibt, die einem sofort unterlaufen können wenn man nur einen Augenblick nicht richtig aufpasst, halte ich es (und das gilt für mich und meinen Aktionsbereich und nicht für dich oder irgend jemanden sonst) so, dass ich genau aus dem Grund das eben nicht mache und bei uns auch nicht zulasse - außer im Falle der auch von Ralle schon genannten Ausnahme mit dem "echten" Standard-Baustein (wobei auch das schon wieder eine Inkonsequenz ist - ich weiß). Ich erwarte aber nicht, das irgend jemand im Forum (außer er arbeitet für mich) es mir gleichtut ...

    Liebe Grüße
    Larry

  9. #19
    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
    Da es ja die duir ganz sicher auch bekannten unliebsamen Randerscheinungen bei diesen Querzugriffen gibt, die einem sofort unterlaufen können wenn man nur einen Augenblick nicht richtig aufpasst, halte ich es (und das gilt für mich und meinen Aktionsbereich und nicht für dich oder irgend jemanden sonst) so, dass ich genau aus dem Grund das eben nicht mache und bei uns auch nicht zulasse - außer im Falle der auch von Ralle schon genannten Ausnahme mit dem "echten" Standard-Baustein (wobei auch das schon wieder eine Inkonsequenz ist - ich weiß). Ich erwarte aber nicht, das irgend jemand im Forum (außer er arbeitet für mich) es mir gleichtut ...
    Zitat Zitat von Larry Laffer Beitrag anzeigen
    Die ermittelten Info's werden von mir in der Hauptsache in der Visu ausgewertet / angezeigt. Hier verwende ich dann die Instanz des FB direkt.
    Passt irgendwie nicht so ganz zusammen. Wieviele Ausnahmen gibt es denn noch?

  10. #20
    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


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    @Thomas:
    Wirklich gut - einziger Unterschied zum Step7-Programm : Die Visu kümmert sich bei symbolischen Zugriffe ganz alleine um das glattziehen bei Änderungen - und zwar auf dann noch, wenn ich es mal vergessen habe, neu zu generieren.
    Aber schön, dass du dich als aufmerksamer Forums-User wieder mal um das "Haar in der Suppe" bemühst.
    Ganz generell gilt aber : "der Weg zur Hölle ist mit guten Vorsätzen gepflastert". ich versuche wenigstens, welche zu haben - die meißten anderen machen nichtmal das ...

    Wie dir aber vielleicht aufgefallen ist (oder auch nicht) - ich sprach die ganze Zeit von meiner Sicht der Dinge - nicht von deiner. Du darfst gerne weiterhin "von hinten durch die Brust ins Auge" programmieren - außer du tust es für mich ...

    Gruß
    Larry

Ähnliche Themen

  1. Indirekter zugriff auf DB's (SCL)
    Von zloyduh im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 03.05.2012, 09:45
  2. Antworten: 1
    Letzter Beitrag: 23.01.2012, 17:06
  3. Zugriff auf WinPLC-Engine mit externem Programm
    Von Murdock73 im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 20.02.2009, 15:56
  4. Indizierter Zugriff auf Datenbaustein im SCL
    Von tarzipan7 im Forum Simatic
    Antworten: 12
    Letzter Beitrag: 05.02.2008, 15:37
  5. SCL - Indirekter Zugriff auf DB/AR1,2
    Von Floh im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 07.06.2006, 10:32

Lesezeichen

Berechtigungen

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