Merker FC übergreifend?

Zuviel Werbung?
-> Hier kostenlos registrieren
wie schnell wiederholt sich dieser zyklische Ablauf?

Nachsatz zu Rainer Hönle :
Das kannst du aber im OB1 auf abfragen. Dort gibt es eine TEMP-Variable mit dem Namen OB1_Prev_Clycle . In dieser steht immer die Dauer des letzten Programm-Durchlaufs in Millisekunden hinterlegt ...
 
Wenn ich einen Merker aus dem FC 2 als Startbedingung für den Programmablauf des FC 1 setze funktioniert es, richtig?
Ich stelle es mir so vor, FC 1 beginnt mit einem UND, wo der M1.6 ein Eingang darstellt. M1.6 wird aber in FC 2 gesetzt, greift dann dieser Merker bei FC 1 und startet somit den Ablauf von FC 1?
Zeilenfache Abarbeitung hin oder her, es kommt doch auf den Programmablauf an, ob sich etwas "bewegt" oder nicht.

Das war meine ursprüngliche Frage!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
... ich wollte dich nicht verunsichern ...

Zu deiner Frage:
Wenn du im FC2 den Merker M1.6 (oder welchen auch immer) setzt, dann steht er erstmal grundsätzlich in diesem Zustand jedem anderen Baustein zur Verfügung. Auch dann, wenn der Aufruf des anderen Bausteins vor dem stehen sollte, wo das Setzen erfolgt.
Was ich (und auch MSB) mit der zyklischen Bearbeitung sagen wollte war, dass es immer auf die Ausführbarkeit des letzten Befehls (vor deiner Abfrage) ankommt, welchen Zustand du letztlich in dem Merker hast ...

Gruß
LL
 
K3ul3: Du bist Azubi oder? Dann solltest du nochmal mit deinem Berufsschullehrer durchsprechen wie genau die SPS im Ablauf funktioniert.

Also ich hab es in der Berufsschule darmals nicht richtig gelernt, weil Klasse und Lehrer keinen Bock hatten und weil es mich auch nicht sonderlich interessiert hat ;)

Aber für deine Abschlussarbeit solltest du schon wissen was ein Prozessabbild ist und warum man z.B. keine Ausgänge doppelt verwenden sollte.


Nicht das beste, aber ein paar wichtige Sachen stehen z.B. hier:
http://de.wikipedia.org/wiki/Speicherprogrammierbare_Steuerung
 
Mal um die Verunsicherung komplett zu machen.
Zu dem Global und Lokal.
Global ist für ALLE Abläufe /FC´s FB´s. Also alle Variablen, Merker, ....
Lokal sind die Daten, die NUR in diesem einen FC, oder FB genutzt werden.
Dazu kommt halt eben der Global DB und die Instanz DB.
Im Global DB wäre dann der Merker, den du über mehrere FC´s FB´s verwenden willst/mußt. Im Instanz DB stehen halt eben nur die zu dem geschriebenen FC/FB gehörende Variablen.
Dazu auch gleich der Unterschied FC und FB. Der FB wird immer mit einer DB aufgerufen, und daher auch der Baustein mit "Gedächtniss" genannt.
.
.
.
.
So nun durcheinander genug.
Dein M1.6 erzeugst du einmal in FC1 mit z.B.
U E1.0
O E3.7
O A2.0
= M1.6
Und kannst ihn halt eben in FC2 und FC3 usw wieder verwenden, indem du seinen Wert da wieder aufrufst.

U M1.6
U E1.3
UN A2.0
= M47.1 // oder entsptrechenden Ausgang
Eben diese Merker können in einem seperaten FC auch als Zuweisung für Ausgänge genutzt werden, was allerdings sauberer über Datenbausteinen (DB) geht, weil es eben keine endlihen Systemresourcen verbraucht.
Soll soviel heißen, wie das Merker und auch Timer nur in begrenzter Anzahl in einer CPU vorhanden sind.
Bei den "kleinen" Projekten, deiner Größenordnung sind diese nicht wirklich aufbrauchbar, allerdings bei größeren Anlagen, was hier einige programieren ,kann es mit einem Wimperzucken schon erreicht werden.
Denke dass nun alle Klarheiten beseitigt wurden, und das Chaos perfektioniert wurde.:rolleyes:ROFLMAO:;)
 
Zurück
Oben