Auch wenns einem Einzigen nicht gefällt, ich finde die Dikussion nicht langweilig, wer's nicht mag, muss es ja nicht lesen.
Hi Torsten
Torsten schrieb:
Die Variablen im FC verlieren leider ihren Wert (nicht den Wert an sich, aber die Zuordnung) wenn der Baustein verlassen wird....
Wenn's unerheblich ist, dass die Variablen ihren Wert verlieren? In jeder C-Funktion verlieren lokale Variablen (wenn diese nicht explizit als statisch deklariert werden) ihre Bedeutung, wenn die Funktion verlassen wird. Also warum sollte dies für FCs in Step7 anders sein, wenn es für die Realisierung einer Aufgabe ausreichend ist.
Es war ja schließlich deine Erklärung, mit der du in die Diskussion eingetreten bist, dass das Thread-Thema eine typische Aufgabenstellung sei, die mit einer Multiinstanz zu lösen wäre. Ich habe das nicht so gesehen und dem entsprechend versucht, meine Sicht der Dinge zu erläutern.
Torsten schrieb:
Resourcen sparen auf biegen und brechen ist was für's Hobbyprogrammieren, oder wenns drauf ankommt. In den meisten Fällen kommts aber nicht drauf an. Es zahlt eben keiner wenn du "von hinten durch die Brust ins Auge" programmierst um dir nen statische Variable zu sparen.
Ob nun ein FB oder ein FC programmiert werden soll, bei denen sich die Schnittstellen nur durch die Schlüsselworte VAR und VAR_TEMP unterscheiden würden und die Aufgabe gleichermaßen mit einem FC gelöst werden kann, so würde das keine Kosten verursachen. Im Gegenteil würde eine solche Vorgehensweise kostensparend sein, weil man weniger die Gefahr läuft, zu einem späteren Zeitpunkt zu erhöhten Kosten Resourcen freischaufeln oder nachkaufen zu müssen. Aber bitte, jeder ist seines Glückes Schmied.
Torsten schrieb:
Nicht mal ne Flankenabfrage würde so funktionieren, es sei denn man greift auf Merker zurück.
Aber bitte, ich habe die Verwendung von FBs nicht ausgeschlossen, meine Aussage im vorhergehenden Posting:
Barnee schrieb:
Was anderes ist es, wenn ich das Zwischenergebnis in den nächsten Zyklus hinüber retten will, d.h. Ergenisse aus dem vorgehenden Zyklus anwenden will, dann geht das nur mit statischen Variablen.
Aber für eine Flankenauswertung (1 Bit) gleich einen ganzen DB opfern?
Torsten schrieb:
Im übrigen sind deine Aussagen nur bedingt anwendbar, nämlich nur dann wenn die Zuweisungen im FC ausschliesslich mit E, A, M geschehen.
Von welchen Zuweisungen sprichst du? Innerhalb des FCs? Als Parameter an den Ein- bzw. den Ausgängen? Ich habe bisher noch keine Einschränkung feststellen können. Bisher war jeder Datenpunkt einer S7 als Ein-bzw. Ausgangsparameter oder aber auch innerhalb der Funktion adressierbar. Da ist mir deine Aussage völlig unklar, kannst du das mal näher beschreiben, was du da meinst?
Bleibt für mich die Frage offen, warum FB statt FC, auch wenn es mit einem FC gleichermaßen gehen würde? Sollte man dann Siemens nicht den Vorschlag unterbreiten, auf FCs zu verzichten, da man ohne hin alles in FBs programmieren kann?
Gruß Barnee