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

Seite 4 von 4 ErsteErste ... 234
Ergebnis 31 bis 35 von 35

Thema: Behinderungen symbolischer Programmierung - Wie umgehen ?

  1. #31
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.262
    Danke
    537
    Erhielt 2.707 Danke für 1.956 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Machtnix Beitrag anzeigen
    Für dich scheint ein Datenbaustein so etwas wie ein Schatzkästchen zu sein, dessen Inhalt geschützt und bewahrt werden muß.
    Fast richtig erkannt, das gilt tatsächlich für den Instanz-DB, nicht aber für globale DB, das sagen doch schon die Namen. Das du das anders auslegtst, macht es nicht korrekter.

    Wenn du also Programmänderungen durchführen mußt, sind jedesmal alle deine Daten in der SPS hinüber? Denn ein sich ändernder IDB zwingt ja zum neuen Übertragen in die SPS. Da die Größe (teilweise reicht schon der Zeitstempel) des IDB sich geändert hat, werden alle "alten" Daten ja durch den neuen DB überschrieben. Das würde ich mir tatsäclich nicht antun wollen, genau das ist ja eigentlich der Vorteil der S7, daß man im laufenden Prozeß ändern kann. Ich denke noch mit Schaudern an einige andere Steuerungen, die einem beim Übertragen zum Stop zwingen. Übrigens einer der Gründe für mich, recht sparsam mit FB und IDB und schon gar mit all zu ausufernden Multiinstanzen umzugehen. Es mag einige Leute geben, die nur mit Quellen arbeiten (kannte bisher noch keinen), aber m.E. gibt man damit einige der wenigen halbwegs durchdachten Errungenschaft von Step7 auf.

    Aber ich seh schon, wir kommen da eh auf keinen gemeinsamen Nenner. Prinzipiell ist mir das egal, da ich nicht in deiner Branche tätig bin, ich würde deine Programme wohl besser nicht anfassen, da ich dann regelmäßig am hochgehen wäre, wetten .

    Deshalb für mich nun, Thema beendet, werde glücklich .
    Geändert von Ralle (30.04.2008 um 10:01 Uhr)
    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

  2. #32
    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 Machtnix Beitrag anzeigen
    Ob du einen DB mit einem FC oder als Instanz-DB mit einem zugehörigen FB bearbeitest, ist nur bei absoluter Adressierung kein großer Unterschied.
    Bei symbolischer Adressierung muß im FC jedesmal der komplette globale Name angegeben werden, zB "DSonstwas".irgendwas, während du das im FB einfach mit #irgendwas ansprechen kannst. Das ist nicht nur bequemer und leichter lesbar, sondern auch im Maschinencode kürzer und schneller, also effizienter.
    Wie kann es dann passieren, dass ein DB ohne zugehörigem Code entstehen kann? siehe:
    So deklarier ich eher mal einen DB über einen FB , um dann später vielleicht festzustellen, daß er gar keinen Code braucht.
    Zitat Zitat von Machtnix Beitrag anzeigen
    ... Ich bevorzuge zur Programmierung reine Texte. KOP, FUP oder Graph ist was nettes für'n Kindergarten und so praktisch wie Dreiradfahren.
    wollte Dich nur mal testen

    Zu Deinem OB1: wenn ich da lese
    Code:
    CALL "FCDigEin" ;
    läuft mir schon ein Schauer über den Rücken. Das sehen zwar andere Kollegen im Forum hier anders, aber genau diese Rangiererei würde ich an die Schnittstelle eines FB legen. Und wenn
    Code:
    CALL "FBPumpSt","DPumpSt";       // Pumpstation
    CALL "FBALeucht","DALeucht";     // Außenbeleuchtung
    nichts miteinander zu tun haben, kann man beide vollständig kapseln. Oder geht bei Pumpstation Störung automatisch die Aussenbeleuchtung an?

  3. #33
    Registriert seit
    22.11.2005
    Ort
    kl.Odenwald
    Beiträge
    716
    Danke
    111
    Erhielt 85 Danke für 71 Beiträge

    Standard

    Zitat Zitat von Perfektionist Beitrag anzeigen
    Code:
    CALL "FBALeucht","DALeucht";     // Außenbeleuchtung
    nichts miteinander zu tun haben, kann man beide vollständig kapseln. Oder geht bei Pumpstation Störung automatisch die Aussenbeleuchtung an?
    Tja, manche können eben kapseln und abstrahieren und andere nicht.


    Die Folgen obiger Vorgehensweise sind oft "duplizierter Code" oder auch "copy&paste"-Programmierung. Der Nachfolger der Kläranlagenprogramme langt garantiert ins Weiche
    "Das Leben ist viel zu kurz, um schlecht zu essen !"
    (Johann Lafer zur SWR3 Grillparty)

  4. #34
    Registriert seit
    23.04.2008
    Beiträge
    75
    Danke
    16
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von Ralle Beitrag anzeigen
    Fast richtig erkannt, das gilt tatsächlich für den Instanz-DB, nicht aber für globale DB, das sagen doch schon die Namen. Das du das anders auslegtst, macht es nicht korrekter.
    Instanz heißt soviel wie Exemplar, also ein konkretes Beispiel eines allgemeinen Schemas. Das Schema ist in diesem Fall eine Struktur, die in einem FB deklariert wird. Global sind Instanz-DBs auch, man kann von überall darauf zugreifen, auch wenn du meinst, daß man es nicht tun sollte.

    Ein Instanz-DB hat dadurch, daß er die Struktur von einem FB übernimmt, die wiederum Strukturen von anderen FBs enthalten kann, den Vorteil, daß diese FBs besonders einfach darauf zugreifen können. Nachteile hat er nicht, es sei denn, man macht sich welche. Deshalb konzeptiere ich fast alle DBs als FB-Instanzen.

    Die Frage nach der Unersetzbarkeit von Daten ist davon völlig unabhängig, wobei es dir natürlich freisteht, nur unersetzliche Daten in Instanz-DBs unterzubringen. Die Daten, mit denen ich zu tun habe, werden meist sowieso ständig erneuert.



    Zitat Zitat von Ralle Beitrag anzeigen
    Wenn du also Programmänderungen durchführen mußt, sind jedesmal alle deine Daten in der SPS hinüber? Denn ein sich ändernder IDB zwingt ja zum neuen Übertragen in die SPS. Da die Größe (teilweise reicht schon der Zeitstempel) des IDB sich geändert hat, werden alle "alten" Daten ja durch den neuen DB überschrieben. Das würde ich mir tatsäclich nicht antun wollen, genau das ist ja eigentlich der Vorteil der S7, daß man im laufenden Prozeß ändern kann. Ich denke noch mit Schaudern an einige andere Steuerungen, die einem beim Übertragen zum Stop zwingen.
    Die meisten meiner Daten sind in jedem Zyklus hinüber, weil sie von neuen Daten (die teilweise dieselben wie alten sind) überschrieben werden. Die wertvolleren Vorgaben- und Einstellungsdaten kommen vom PC und werden dort auf der Festplatte gespeichert.

    Bei Programmänderungen kommt es selten vor, daß ich die Datenbausteine übertragen muß, weil sich an der Struktur der FBs/DBs selten etwas grundlegendes ändert. Ich plane immer gleich ein paar Reservevariablen mit ein, so daß sich außer Namen selbst dann nichts ändert, wenn ich neue Variablen brauche. Alles Alte bleibt seinem Platz, nur wo sich vorher nichts tat, tut sich jetzt etwas neues. Meistens geht es ganz ohne Stop und falls doch, ist es in meiner Branche auch nicht so dramatisch.
    Nieder mit der Schwerkraft. Freien Fall für freie Bürger !

  5. #35
    Registriert seit
    23.04.2008
    Beiträge
    75
    Danke
    16
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Perfektionist Beitrag anzeigen
    Zu Deinem OB1: wenn ich da lese
    Code:
    CALL "FCDigEin" ;
    läuft mir schon ein Schauer über den Rücken. Das sehen zwar andere Kollegen im Forum hier anders, aber genau diese Rangiererei würde ich an die Schnittstelle eines FB legen.
    Das kann man vielleicht bei 3 oder 4 Eingänge pro FB machen. Bei den Datenmengen mit denen ich zu tun habe, wäre das eine völlige Überladung und damit Unüberschaubarkeit des OB1.(siehe früheren Beitrag von mir in diesem Thread.)

    Den Zugriff auf Ein- und Ausgänge auf dafür spezielle FCs zu beschränken, bringt eine Menge Vorteile. Gut sortiert hab ich den Überblick, wohin die Eingänge gehen und wovon die Ausgänge angesteuert werden. Alle anderen Bausteine bleiben unhabängig von der Peripherie, sind leicht wiederverwertbar und auszutesten. Nachteile hab ich bis jetzt noch keine erlebt, wenn ihr welche seht, müßt ihr es schon erklären.

    Zitat Zitat von Perfektionist Beitrag anzeigen
    Und wenn
    Code:
    CALL "FBPumpSt","DPumpSt";       // Pumpstation
    CALL "FBALeucht","DALeucht";     // Außenbeleuchtung
    nichts miteinander zu tun haben, kann man beide vollständig kapseln. Oder geht bei Pumpstation Störung automatisch die Aussenbeleuchtung an?
    Die Pumpstation braucht aber die Daten der Eingänge vom FCDigEin, Meßwerte vom FCAnaEin, Vorgaben vom PC usw. Wenn ich sie davon abkapseln würde, könnte ich mir auch das ganze Programm sparen. Es geht um notwendige Flüsse von Daten, nicht um stehende Tümpel oder Pfützen.
    Nieder mit der Schwerkraft. Freien Fall für freie Bürger !

Ähnliche Themen

  1. S7 224 Passwort umgehen?
    Von MacMan im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 16.12.2010, 14:17
  2. Zykluszeit umgehen
    Von brezeldieb im Forum Programmierstrategien
    Antworten: 7
    Letzter Beitrag: 07.12.2010, 23:58
  3. Symbolischer Name
    Von outbreak7 im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 26.02.2010, 11:24
  4. SCL : symbolischer Name
    Von Larry Laffer im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 14.06.2007, 06:56
  5. Symbolischer Abressierung vorrang geben???
    Von Jochen Kühner im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 27.01.2005, 12:57

Lesezeichen

Berechtigungen

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