(Temp)oralen Werte
Ja.Wenn ich nun öfters diese Funktion in anderen FB's benutze überschneiden sich doch die Merker oder?
Kommt darauf an: Du solltest dabei immer bedenken, dass die temporären Variablen nur innerhalb eines Aufrufs ihre Gültigkeit behalten und zugewiesen werden müssen, bevor man sie verknüpft, da sie sonst undefinierte Zustände haben, deswegen sind sie denkbar ungeeignet um irgendetwas von einem Zyklus / Aufruf in den nächsten mitzunehmen. Dies verdient besondere Beachtung bei SR-Gliedern und Flankenauswertungen, muss aber auch an vielen anderen Stellen bedacht werden.Sollte ich also die Merker durch diese Temporalen Werte ersetzen die man in der Schnittstelle vorgeben kann...
Kann ich Dir so genau nicht sagen.... Also würden mir doch die temporären Daten reichen oder?
Die Funktion habe ich in einen FC geschrieben und nun möchte ich diese Funktion mehrmals in den FB's verwenden.Aber wenn sich die Merker überschneiden gibt es ja Chaos.
Was ergibt das dann für einen Sinn eine Funktion schreiben zu können wenn man sie dann nicht mehrmals benutzen kann?
Es wäre ja nicht schlimm wenn der Baustein nach einmal aufrufen wieder alles vergisst.
Die Funktion ist für eine Segmentanzeige die Analog angesteuert wird. Es wird also ein Realwert in BCD Code gewandelt und zum Display gegeben.
Die Funktion (Display) muss schon mehrere Zyklen durchlaufen also habe ich da wohl doch ein Problem oder?
Ich habe in der Funktion einen Zähler der bis 20 zählen muss . Zählt der dann normal durch oder fängt der immer dann wieder bei 0 an?
Was sagt Dir das? Einfach so geht es nicht, weil Du Deinen Zählerstand im nächsten Aufruf wieder brauchst.mir selbst schrieb:Gibt es irgendetwas in Deinem Baustein, was Du IM NÄCHSTEN AUFRUF WIEDER BRAUCHST?
Wenn NICHT, dann hast Du wahrscheinlicht recht.
egal ob FC oder FB, wenn du dort einen Zähler, z.B. Z10 drin hast, zählt dieser jedes mal hoch,wenn er im FC angesteuert wird. Sprich wenn du den FC in 1 Zyklus 5x aufrufst und pro Aufruf dieser einmal hochzählt, dann hast du am Ende des Zyklus eine 5 drin stehen, obwohl du dort für jeden FC eine 1 erwartest. Hier würde ich zu einem FB raten, in dem du die Zählfunktion "von Hand" mit ADD- Befehl und lokalen Variablen realisierst (ich hab noch nie einen Siemens- Zähler verwendet, die Add- Funktion geht genauso)Ja In/Out benutze ich so das die Ein und Ausgänge Flexibel sind.
Ich habe in der Funktion einen Zähler der bis 20 zählen muss . Zählt der dann normal durch oder fängt der immer dann wieder bei 0 an?
egal ob FC oder FB, wenn du dort einen Zähler, z.B. Z10 drin hast, zählt dieser jedes mal hoch,wenn er im FC angesteuert wird. Sprich wenn du den FC in 1 Zyklus 5x aufrufst und pro Aufruf dieser einmal hochzählt, dann hast du am Ende des Zyklus eine 5 drin stehen, obwohl du dort für jeden FC eine 1 erwartest. Hier würde ich zu einem FB raten, in dem du die Zählfunktion "von Hand" mit ADD- Befehl und lokalen Variablen realisierst (ich hab noch nie einen Siemens- Zähler verwendet, die Add- Funktion geht genauso)
Wenn ich jetzt eh einen FB Programmiere kann ich ja gar keine Temp benutzen.Also müsste ich die alle als STAT dann angeben.
Solltest Du mit indirekter Adressierung machen (kann man auch einfach mit absoluter Adressierung machen, sollte man aber nicht). Ich habe leider gerade wenig Zeit, sonst würde ich Dir auch ein Beispiel schreiben.Wenn ich jetzt alles in STAT Werte umändere, wie kann ich das dann mit dem MD 60 realisieren? Ich möchte den 32 Bit Wert speichern und eine bestimmte Stelle (M61.3) dann aus dem DB heraus abfragen und Ausgeben.
Wenn ich jetzt alles in STAT Werte umändere, wie kann ich
das dann mit dem MD 60 realisieren? Ich möchte den 32 Bit Wert speichern und
eine bestimmte Stelle (M61.3) dann aus dem DB heraus abfragen und
Ausgeben.
L #VariableDW
L 2#10000000000000000000 // Wenn ich mich nicht verzählt hab ;-)
UD
U >0
= #VariableBool
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?