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

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

Thema: WIE Aufruf organisieren?

  1. #31
    Avatar von spirit
    spirit ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    12.09.2012
    Beiträge
    954
    Danke
    178
    Erhielt 23 Danke für 22 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von hucki Beitrag anzeigen
    Nur noch mal zu Sicherheit - der DB ist ein globaler DB? Weil Du dabei was von IN schreibst.
    Ähm, nein!

    Der DB ist ein FESTO-DB (Instanz-DB eines Steuerbausteins von Festo für Siemens Steuerungen) und die Variable "Velocity" steht unter IN-Parameter.
    LG
    spirit

  2. #32
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.352
    Danke
    397
    Erhielt 821 Danke für 664 Beiträge

    Standard

    Es ist ja immer wieder ein Streitpunkt, einen IDB direkt zu beschreiben.
    Ich vermute mal, das TIA deswegen meckert. Aber komisch, dass das dann im OB1 geht.

    Und das ist aber nicht der IDB eines der FBs, die im FC aufgerufen werden, oder doch?

  3. #33
    Avatar von spirit
    spirit ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    12.09.2012
    Beiträge
    954
    Danke
    178
    Erhielt 23 Danke für 22 Beiträge

    Standard

    Zitat Zitat von hucki Beitrag anzeigen
    Es ist ja immer wieder ein Streitpunkt, einen IDB direkt zu beschreiben.
    Ich vermute mal, das TIA deswegen meckert. Aber komisch, dass das dann im OB1 geht.

    Und das ist aber nicht der IDB eines der FBs, die im FC aufgerufen werden, oder doch?
    Nein, das ist nicht der IDB eines solchen FB's!

    Ok, warum auch immer das so nicht klappt - bliebe also noch die Variante mit der INOUT im FC - so wie ich es in Post #22 angedeutet hatte?

    Das werde ich morgen (huch, ist ja schon bald) mal versuchen ... und berichten.

    Danke zunächst für deine Hilfestellung!
    LG
    spirit

  4. #34
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.352
    Danke
    397
    Erhielt 821 Danke für 664 Beiträge

    Standard

    Zitat Zitat von spirit Beitrag anzeigen
    bliebe also noch die Variante mit der INOUT im FC - so wie ich es in Post #22 angedeutet hatte?
    Dann kann auch Deine Variante aus Post#16 funktionieren.

    Ich hatte das IN als IN vom FC verstanden und nicht mit dem direkten Beschreiben eines IDBs assoziert (kommt bisher in meiner Programmierweise so nicht vor).
    Sorry, wenn ich dadurch zusätzlich verwirrt habe.


    Auf jeden Fall darf dieser IN des Festo-FBs dann aber nicht beschaltet sein, sonst wird der ja beim Aufruf des Festo-FBs wieder überschrieben!
    Der offizielle Weg wäre die Beschaltung des Festo-FB-INs mit einer Variablen (z.B. in einem GDB), und diese Variable dann auch für die INOUTs Deiner FBs zu verwenden.

  5. #35
    Avatar von spirit
    spirit ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    12.09.2012
    Beiträge
    954
    Danke
    178
    Erhielt 23 Danke für 22 Beiträge

    Standard

    Zitat Zitat von hucki Beitrag anzeigen
    Dann kann auch Deine Variante aus Post#16 funktionieren.

    Ich hatte das IN als IN vom FC verstanden und nicht mit dem direkten Beschreiben eines IDBs assoziert (kommt bisher in meiner Programmierweise so nicht vor).
    Sorry, wenn ich dadurch zusätzlich verwirrt habe.


    Auf jeden Fall darf dieser IN des Festo-FBs dann aber nicht beschaltet sein, sonst wird der ja beim Aufruf des Festo-FBs wieder überschrieben!
    Der offizielle Weg wäre die Beschaltung des Festo-FB-INs mit einer Variablen (z.B. in einem GDB), und diese Variable dann auch für die INOUTs Deiner FBs zu verwenden.

    Guten Morgen lieber hucki,

    da bin ich (schon) wieder - zwar noch etwas müüüde aber sonst ok!


    Das mit der Verwirrung ist echt kein Problem; bin euch für jederlei Hilfestellung(en) sehr dankbar und oftmals stelle ich mich ja auch - naja sagen wir mal - etwas begriffsstutzig an ...

    Habe jetzt mal "deinen" offiziellen Weg beschritten - sieht erst mal gut aus so. Kann es aber momentan nicht testen, weil mir noch etwas an HW fehlt ...



    Vielleicht könnten wir noch folgendes Verständnisproblem (meinerseits) ausräumen?


    Zitat Zitat von spirit Beitrag anzeigen
    Warum verbietet sich denn WHILE DO - es ist doch eine "Durchführungsbedingung", d.h., solange die Bedingung anliegt, wird der Code innerhalb dieses Befehls bearbeitet ... oder verstehe ich das jetzt total falsch?

    Zitat Zitat von hucki Beitrag anzeigen
    Ja, aber innerhalb eines Zyklusses!
    Die Schrittketten sollen doch sicher über mehrere Zyklen laufen, oder?

    ... aber wenn das Programm nach einem Zyklus wieder an der Zeile mit dem Befehl "WHILE DO" ankommt und die Bedingung noch immer TRUE ist, dann wird der Programmcode doch erneut für einen Zyklus bearbeitet und somit laufen die SK doch auf dies Art und Weise über mehrere Zyklen, oder nicht?
    LG
    spirit

  6. #36
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.352
    Danke
    397
    Erhielt 821 Danke für 664 Beiträge

    Standard

    Zitat Zitat von spirit Beitrag anzeigen
    Vielleicht könnten wir noch folgendes Verständnisproblem (meinerseits) ausräumen?

    ... aber wenn das Programm nach einem Zyklus wieder an der Zeile mit dem Befehl "WHILE DO" ankommt und die Bedingung noch immer TRUE ist, dann wird der Programmcode doch erneut für einen Zyklus bearbeitet und somit laufen die SK doch auf dies Art und Weise über mehrere Zyklen, oder nicht?
    Das Programm hängt solange in der Schleife fest, wie die Bedingung erfüllt ist. Und zwar innerhalb eines Zyklusses. Erst, wenn die Bedingung falsch ist, wird mit dem Programm nach der Schleife weiter gemacht. (Keine einmalige Abarbeitung und im nächsten Zyklus wieder, wenn die Bedingung noch wahr ist. Das macht schon IF THEN so.)

    Wird die Bedingung nicht falsch, erzeugst Du ruckzuck eine Zykluszeitüberschreitung.

    Typisches Negativ-Beispiel dafür: Mit WHILE DO auf ein Ereignis an einem DI warten. Das kann aber nicht kommen, weil während des Schleifendurchlaufs das Prozessabbild nicht aktualisiert wird. Und das wiederum kann aber nicht aktualisiert werden, da das Programm in der Schleife fest hängt und somit nicht zum Ende kommt.

    Deine Schrittkette wird auch nicht in einem Zyklus abgearbeitet. Die Auswahl für diese Schrittkette würde somit nicht falsch und Dein WHILE DO nicht mehr verlassen werden.

  7. Folgender Benutzer sagt Danke zu hucki für den nützlichen Beitrag:

    spirit (15.07.2016)

  8. #37
    Avatar von spirit
    spirit ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    12.09.2012
    Beiträge
    954
    Danke
    178
    Erhielt 23 Danke für 22 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von hucki Beitrag anzeigen
    Das Programm hängt solange in der Schleife fest, wie die Bedingung erfüllt ist. Und zwar innerhalb eines Zyklusses. Erst, wenn die Bedingung falsch ist, wird mit dem Programm nach der Schleife weiter gemacht. (Keine einmalige Abarbeitung und im nächsten Zyklus wieder, wenn die Bedingung noch wahr ist. Das macht schon IF THEN so.)

    Wird die Bedingung nicht falsch, erzeugst Du ruckzuck eine Zykluszeitüberschreitung.

    Typisches Negativ-Beispiel dafür: Mit WHILE DO auf ein Ereignis an einem DI warten. Das kann aber nicht kommen, weil während des Schleifendurchlaufs das Prozessabbild nicht aktualisiert wird. Und das wiederum kann aber nicht aktualisiert werden, da das Programm in der Schleife fest hängt und somit nicht zum Ende kommt.

    Deine Schrittkette wird auch nicht in einem Zyklus abgearbeitet. Die Auswahl für diese Schrittkette würde somit nicht falsch und Dein WHILE DO nicht mehr verlassen werden.

    Wow, hab's auf Anhieb verstanden!

    Lieben Dank ...
    LG
    spirit

Ähnliche Themen

  1. Antworten: 6
    Letzter Beitrag: 04.12.2013, 14:28
  2. Simotion SCOUT Organisieren
    Von tisler im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 11.02.2011, 07:09
  3. Aufruf von Methoden wie in C
    Von zergi im Forum CODESYS und IEC61131
    Antworten: 8
    Letzter Beitrag: 05.07.2010, 16:54
  4. SFC0 Aufruf - Wie häufig?
    Von HarryH im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 31.03.2010, 18:23
  5. Wie oft FC1/FC2 aufruf?
    Von Kojote im Forum Feldbusse
    Antworten: 1
    Letzter Beitrag: 04.11.2004, 09:33

Lesezeichen

Berechtigungen

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