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

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

Thema: Sehe das Problem nicht ...

  1. #11
    Registriert seit
    07.06.2016
    Beiträge
    58
    Danke
    14
    Erhielt 15 Danke für 14 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Genau, das stimmt so

  2. Folgender Benutzer sagt Danke zu Käse für den nützlichen Beitrag:

    spirit (23.08.2016)

  3. #12
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.625
    Danke
    432
    Erhielt 895 Danke für 725 Beiträge

    Standard

    Zitat Zitat von spirit;630263[U
    Frage:
    [/U]
    Aus welchem Grund muss hier #Start_Task als IN_OUT deklariert werden?
    Weil genau das Gleiche gilt, wie bei den temporaeren Variablen:
    Ein FC hat kein Gedaechtnis!

    Wo soll also der Zustand des Outs vom letzten Zyklus gespeichert werden?
    Genau wie Temps muessen Outs also in jedem Zyklus zugewiesen werden. Der Unterschied zu Temps ist lediglich die Weitergabe an die Bausteinschnittstelle.
    Erfolgt das Zuweisen nicht in jedem Zyklus, muss ausserhalb des Bausteins gespeichert und beim naechsten Aufruf zurueck uebertragen werden - INOUT.

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

    spirit (23.08.2016)

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

    Standard

    Zitat Zitat von hucki Beitrag anzeigen

    Genau wie Temps muessen Outs also in jedem Zyklus zugewiesen werden.
    ... und wenn in einem Zyklus das VKE vor dem Setz- bzw. Rücksetzbefehl FALSE ist, dann wird quasi ein zufälliger Wert (bei TIA false) zugewiesen. Könnte man/frau das so ausdrücken?

    Und wenn es dann doch mal geht, liegt das dann daran, dass in jenem Zyklus gerade das Setzen bzw. Rücksetzen ausgeführt wird und so dieses Mal kein zufälliger Wert zugewiesen wird?

    Lieben Dank ...
    LG
    spirit

  6. #14
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.625
    Danke
    432
    Erhielt 895 Danke für 725 Beiträge

    Standard

    Den zufaelligen Wert erhaelt der Out beim Aufruf des FCs.
    Der Programmierer hat dafuer zu sorgen, dass er vor Beendigung des FCs einen definierten Zustand erhaelt.

    Da kommen auch die Frauen unter den Programmierern nicht drum herum.


    :grins:

  7. #15
    Avatar von spirit
    spirit ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    12.09.2012
    Beiträge
    961
    Danke
    183
    Erhielt 23 Danke für 22 Beiträge

    Standard

    Zitat Zitat von hucki Beitrag anzeigen
    Den zufaelligen Wert erhaelt der Out beim Aufruf des FCs.

    ... das heißt, wenn der FC vom OB1 aufgerufen wird und das VKE vor dem Setzbefehl FALSE ist, oder?


    Zitat Zitat von hucki Beitrag anzeigen

    Da kommen auch die Frauen unter den Programmierern nicht drum herum.


    Ach Menno, immer diese blöde Gleichberechtigung!
    LG
    spirit

  8. #16
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.625
    Danke
    432
    Erhielt 895 Danke für 725 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Das hat mit dem VKE erst einmal nichts zu tun.

    Beim Aufruf des FCs wird für jede Variable ein Bereich des Speichers reserviert, aber nicht initialisiert.
    Diesen Speicher hat vorher ein anderer Baustein ( oder vlt. auch der gleiche) benutzt und bei der Freigabe nicht gelöscht.
    Daher kann man nicht genau sagen, was in diesem Speicherbereich für Werte stehen - er ist undefiniert.

    Erst wenn eine Zuweisung (=, S oder R) erfolgt, erhält dieser Speicher einen definierten Wert.
    Da aber S oder R nicht in jedem Zyklus erfolgen , behält der Speicher seinen Wert, den irgend ein anderer Baustein dort hin geschrieben hat, als dieser Bereich noch für ihn reserviert war.

    Deswegen funktioniert so ein FC manchmal scheinbar, wenn es nur wenige Bausteine gibt und der FC zufällig jedes Mal den gleichen Speicherbereich reserviert bekommt. Dann stehen halt zufällig noch die Werte vom letzten Zyklus im neu zugewiesenen Speicher.

    Wie Du liest sind es wirklich genau die gleichen Bedingungen wie bei temporären Variablen.

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

    spirit (24.08.2016)

Ähnliche Themen

  1. Antworten: 9
    Letzter Beitrag: 02.07.2015, 16:01
  2. Antworten: 6
    Letzter Beitrag: 27.12.2012, 07:55
  3. Antworten: 34
    Letzter Beitrag: 02.10.2012, 13:28
  4. VirtualBox mit S7, sehe keine Lizenz
    Von freic im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 29.03.2011, 09:44
  5. wieso sehe ich das nicht 1:1
    Von Anonymous im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 17.01.2006, 17:19

Lesezeichen

Berechtigungen

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