Probleme bei Kopplung von CFC Funktionen

Kayle

Level-1
Beiträge
161
Reaktionspunkte
3
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

dank der Hilfe aus dem Forum habe ich einige Probleme mit meiner CFC Programmierung ( Codesys 2.3 ) schon lösen können. Aktuell stehe ich wieder vor einem Problem und hoffe erneut auf Hilfe :neutral:.

Folgenden Stand habe ich aktuell:

CFC_WC.PNG

Das WC Licht wird momentan über einen Taster ein bzw. aus geschaltet. Damit ich das Licht auch über Modbus schalten kann gibt es noch das Modbit. Zusätzlich besteht noch die Möglichkeit eines Zentral ein und Zentral aus. Das funktioniert sehr gut. Jetzt möchte ich den Bewegungsmelder noch integrieren:

- Wenn Bewegungsmelder an dann Licht und Modbit für 10s an
- Taster hat immer Vorrang, egal ob Bewegungsmelder an oder aus ist

Diese Kombinationen bereiten mir momentan Kopf zerbrechen. Habe das mit einem SEL und darauf folgenden EQ Bausteinen probiert. Da hat das Licht aber mehr geflackert als die gewünschten Funktionen zu bieten.

Es wäre nett wenn mir hier mal wieder jemand auf die Sprünge helfen könnte.

Danke schon mal im Voraus
Gruß Kay
 
Hallo,

Habs nur kurz überflogen, wenn du willst das der taster immer Vorrang hat, dann musst du den befehl vom taster speichern und das ganze über eine togglefunktion lösen, weil du vom das ja pro befehl immer eine pos flanke bekommst.

Und es kommt noch darauf an ob du ein relais oder ein stromstosschalter im verteiler hast.

Such mal nach togglefunktion bzw stromstoss und speichere den Befehl, darauf folgend, die weitere logik bauen.
 
Schau mal nach der xor funktion das sind Beispiele im Internet. Beim fb stromstoss von wago aufpassen weil der retainspeicher verbraucht.
Tipp. Nicht zu viel mit stromstossrelais an einer sps experimentieren weil das oft nicht so klappt. Lieber koppelrelais mit handbedienung für den notfall.

Ansonsten fällt mir nichts mehr ein. Bin noch in der Planungsphase meiner heimautomation mit wago 750 881 evtl wirds doch die 880, wegen mehr an Speicher.
 
Hi Blockmove,

habe es jetzt so:

CFC_WC_BW.PNG

Läuft perfekt. Wenn ich jetzt aber dem Taster "immer" vorrang geben will müsste ich das mit einem RS lösen oder ? Also wenn der Taster gedrückt wurde, dann soll der BWM "quasi" ausgeblendet werden. Erst wenn der Taster wieder gedrückt wird und das Licht aus geht soll der BWM wieder aktiv sein.

Gruß Kay
 
Läuft perfekt. Wenn ich jetzt aber dem Taster "immer" vorrang geben will müsste ich das mit einem RS lösen oder ? Also wenn der Taster gedrückt wurde, dann soll der BWM "quasi" ausgeblendet werden. Erst wenn der Taster wieder gedrückt wird und das Licht aus geht soll der BWM wieder aktiv sein.

Ja, so sollte es gehen.
Aber du musst bei CFC aufpassen mit der Reihenfolge.
So langsam sind einige Flanken im Spiel und für sowas ist dann CFC nicht mehr die erste Wahl.

Gruß
Blockmove
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ja, so sollte es gehen.
Aber du musst bei CFC aufpassen mit der Reihenfolge.
So langsam sind einige Flanken im Spiel und für sowas ist dann CFC nicht mehr die erste Wahl.

Gruß
Blockmove

Du meinst die Reihenfolge der Abarbeitung ? In meinen Programmen sind mittlerweile glaub ich 30 Flanken verbaut in CFC. Sind aber alles Unterprogramme und werden vom PLC_PRG aufgerufen.

Gruß Kay
 
Bei CFC gibt es bei jedem Baustein eine kleine Nummer. Wenn du einen Rechtsklick auf die Zahl bzw Baustein machst dann kriegst du die Option (alles nach Datenfluss ordnen). Wenn du da drauf klickst richten sich die zahlen nach der Optik des CFC,s aus. Sollte man machen.


Da die SPS alles zyklisch der Reihe nach abarbeitet im ms Bereich, kann es sein das dein Programm nicht mehr funktioniert, bzw komische Dinge passieren.
Also immer alles nach Datenfluss ordnen.


Am besten wäre meiner Meinung nach wenn du für deine Funktion die du jetzt gelöst hast einen FB machst, diesen kannst du dann in jedem PLC_PRG verwenden, weil den wirst öfters brauchen, du ersparst dir eine Menge Spaghetti Code. Diesen FB kannst du auch in Fup erstellen, da ist die Reihenfolge dann nach Netzwerken.
 
Da die SPS alles zyklisch der Reihe nach abarbeitet im ms Bereich, kann es sein das dein Programm nicht mehr funktioniert, bzw komische Dinge passieren.
Also immer alles nach Datenfluss ordnen.

Den Ratschlag würde ich jetzt nicht so zustimmen.
Gerade das Anordnen nach Datenfluß passt eben nicht immer.
Braucht man in CFC-Funktionalitäten, die entsprechende Reihenfolge erfordern, wird es schnell unuübersichtlich.
Manche Dinge lassen sich schlichtweg nicht so anordnen, dass die Topologie oder der Datenfluß der notwendigen Abarbeitung entspricht.
Dann ist manuelles Einstellen der Reihenfolge gefordert und das ist in Codesys nicht gerade komfortabel.
Auch wenn CFC viele Vorteile bietet, so muß man gerade beim Einsatz von Flanken eben aufpassen.
Ab einer bestimmten Komplexität, ist FUB dann doch die bessere Wahl.
 
Zurück
Oben