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

Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 18 von 18

Thema: Namen von Multiinstanzaufrufen

  1. #11
    Registriert seit
    07.02.2008
    Ort
    Tonga
    Beiträge
    72
    Danke
    14
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Entschuldigung das ich mich wiederhole aber nochmal meine Frage.

    Wann kann ich NW1 machen und wann nicht?

    Da hat doch sicher was damit zu tun ob die in den Aufrufen verwendeten statischen Variablen jedes einzelnen Aufrufs für den Zyklus noch gültig sein sollen oder nicht, oder?

    Bleiben wir bei dem Codebeispiel:
    TON ist ein SFB wahrscheinlich weil darin die momentane Zeit als statische Variable angelegt ist, wenn nicht stellen wir es uns halt jetzt einfach mal so vor.
    Wenn ich nun TON mit gleichem Namen in der gleichen Strukturebene nochmal aufrufe wird diese statische Variable von dem 2. Aufruf überbügelt heißt also im nächsten Zyklus wird der erste Aufruf nicht mehr funktionieren.

    @M-Ott: ja
    @Approx: Dein Post hat nichts mit meinem Problem zu tun.
    Angehängte Grafiken Angehängte Grafiken

  2. #12
    Registriert seit
    30.10.2009
    Ort
    10 km vom Herzen der Natur
    Beiträge
    1.626
    Danke
    120
    Erhielt 340 Danke für 255 Beiträge

    Standard

    Zitat Zitat von cosmomaster Beitrag anzeigen
    Da hat doch sicher was damit zu tun ob die in den Aufrufen verwendeten statischen Variablen jedes einzelnen Aufrufs für den Zyklus noch gültig sein sollen oder nicht, oder?
    Bedingt. Du könntest ja auch absichtlich zweimal die gleiche Instanz verwenden, aber prinzipiell hast Du Recht.

    Zitat Zitat von cosmomaster Beitrag anzeigen
    ... heißt also im nächsten Zyklus wird der erste Aufruf nicht mehr funktionieren.
    In Deinem konkreten Fall: Ja!
    Gruß
    Michael

  3. Folgender Benutzer sagt Danke zu M-Ott für den nützlichen Beitrag:

    cosmomaster (14.04.2011)

  4. #13
    Registriert seit
    07.02.2008
    Ort
    Tonga
    Beiträge
    72
    Danke
    14
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von M-Ott Beitrag anzeigen
    Bedingt. Du könntest ja auch absichtlich zweimal die gleiche Instanz verwenden, aber prinzipiell hast Du Recht.
    Klar z.B. um den IDB klein zu halten, was mir nun blüht.

  5. #14
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.197
    Danke
    926
    Erhielt 3.292 Danke für 2.661 Beiträge

    Standard

    Zitat Zitat von cosmomaster Beitrag anzeigen
    Wann muss ich Multiinstanz-Aufrufen unterschiedliche Namen geben und wann nicht?
    Jede Variable und jede Multiinstanz in einem FB muß einen unterschiedlichen "unique" Name haben, es kann nicht mehrere Variablen oder Multiinstanzen mit dem selben Name geben.
    Man muß nicht den Aufrufen unterschiedliche Namen geben, sondern man muß den Namen von der Instanz verwenden, die man aufrufen will. FC, FB oder Multiinstanzen kann man so oft aufrufen wie man will. Man muß nur beachten, ob das sinnvoll ist und das gewünschte Ergebnis bringt.

    Zitat Zitat von cosmomaster Beitrag anzeigen
    Was ist der Unterschied zwischen NW1 und NW2 im Anhang?

    Wann kann ich NW1 machen und wann nicht?
    Im NW1 wird die selbe TON-Instanz dreimal aufgerufen.
    Im NW2 werden zwei verschiedene TON-Instanzen jeweils einmal aufgerufen.

    Da #parkplatz in Deinem Beispiel eine Timer-Instanz ist (TON), würde der in NW1 dreimal aufgerufene Timer #parkplatz dreimal so schnell ablaufen als tatsächlich Zeit vergeht. Das ist in der Regel nicht sinnvoll.

    Ein Beispiel für einen sinnvollen mehrfach-Aufruf der selben (Multi)Instanz:
    Auf Ereignisse, die gleichzeitig eintreten können, muß nacheinander reagiert werden, z.B. Störmeldungen auf einen Drucker ausgeben. Dazu muß man die Ereignisse erstmal in eine Druckliste (FIFO) einspeichern und dann einzeln nacheinander ausdrucken. Nun kann es vorkommen, daß in einem OB1-Zyklus mehrere Störungen gleichzeitig kommen, dann muß der Code zum einspeichern der Meldungen in den FIFO entsprechend mehrfach aufgerufen werden. Wenn der Code als FB oder als Multiinstanz programmiert ist, dann wird eben die selbe Instanz des FB bzw. die selbe Multiinstanz mehrfach aufgerufen - kein Problem.

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  6. #15
    Registriert seit
    30.10.2009
    Ort
    10 km vom Herzen der Natur
    Beiträge
    1.626
    Danke
    120
    Erhielt 340 Danke für 255 Beiträge

    Standard

    @Harald
    Hälst Du eigentlich Schulungen oder so etwas in der Art?
    Deine Antworten sind immer sehr verständlich. Selbst wenn ich oft das gleiche meine wie Du, finde ich Deine Antworten fast immer besser als meine eigene.
    Gruß
    Michael

  7. Folgender Benutzer sagt Danke zu M-Ott für den nützlichen Beitrag:

    PN/DP (14.04.2011)

  8. #16
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.197
    Danke
    926
    Erhielt 3.292 Danke für 2.661 Beiträge

    Standard

    Zitat Zitat von M-Ott Beitrag anzeigen
    @Harald
    Hälst Du eigentlich Schulungen oder so etwas in der Art?
    1991-1997 habe ich Programmiersprachen unterrichtet.
    Außerdem ist mir wohl angeboren, daß ich jede Aussage auf die Goldwaage lege. Deshalb dauern meine Antworten auch meist etwas länger.

    Seit 1997 hatte ich in der Automatisierungs-Branche oft mit Auftraggebern zu tun, die gar nicht genau sagen können, was sie eigentlich wollen. Denen mußte ich dann immer erklären, welche Auslegungungen ihre Aussagen zulassen und dann Stück für Stück den eigentlichen Wunsch aus der Nase ziehen. Und hier im Forum ist es ja oft genauso, daß die TE mit unpräzisen Fragen kommen. Da formuliere ich meine Antworten lieber etwas ausführlicher, um sicher zu gehen, daß der Fragesteller meine Antwort wirklich versteht und auch versteht, was ich nicht meine.

    Aktuell habe ich einige Mechatroniker um mich herum, denen ich beibringen möchte, wie man die Ursachen von Anlagenstörungen logisch findet, damit ich nicht immer selber 'ran muß. Also auch von daher der Zwang zu verständlichem Ausdrücken.

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  9. #17
    Registriert seit
    23.10.2009
    Beiträge
    391
    Danke
    58
    Erhielt 113 Danke für 87 Beiträge

    Standard

    Zitat Zitat von PN/DP Beitrag anzeigen
    Da #parkplatz in Deinem Beispiel eine Timer-Instanz ist (TON), würde der in NW1 dreimal aufgerufene Timer #parkplatz dreimal so schnell ablaufen als tatsächlich Zeit vergeht...
    Das glaube ich nicht, habs aber noch nicht probiert.
    Hast Du das schon mal getestet?
    Gruß
    Erich

    Edit sagt: Habs gerade mal für TOF getestet, Zeit bleibt gleich.
    Geändert von LargoD (14.04.2011 um 15:31 Uhr) Grund: Nachtrag

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

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    IEC TON und TOF verwendet den Systemzeit.
    Es subtrahiert der Anfangszeit von den aktuellen Zeit, und erhaltet davon der vergangene Zeit.
    Auf diesen Grund braucht TON und TOF nicht unbedingt zyklisch aufgerufen werden.
    Jesper M. Pedersen

Ähnliche Themen

  1. POU´s mit gleichem Namen erstellen
    Von Bensen83 im Forum CODESYS und IEC61131
    Antworten: 4
    Letzter Beitrag: 09.09.2011, 10:11
  2. Namen EtherCat Teilnehmer
    Von bonatus im Forum CODESYS und IEC61131
    Antworten: 1
    Letzter Beitrag: 11.02.2010, 11:18
  3. Suche nach Var-Namen
    Von L.T. im Forum CODESYS und IEC61131
    Antworten: 2
    Letzter Beitrag: 19.08.2009, 21:55
  4. KKS im Tag-Namen
    Von BPlagens im Forum HMI
    Antworten: 0
    Letzter Beitrag: 06.05.2009, 11:30
  5. Variablen Namen
    Von MatMer im Forum Programmierstrategien
    Antworten: 10
    Letzter Beitrag: 14.03.2006, 16:38

Stichworte

Lesezeichen

Berechtigungen

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