Frage zu Siemens CFC

Licht9885

Well-known member
Beiträge
345
Punkte Reaktionen
18
Zuviel Werbung?
->Hier kostenlos registrieren
Hallo

Ich habe folgendes Problem

Ein Kunde möchte gern seine Anlage Modernisiert haben, in CFC hier sehe ich allerdings noch nicht wirklich das Problem.
Mein Problem ist das ich eine Flankenerkennung benötige und zwar am besten währe F_Trig allerdings wenn ich diese im Programm einfüge läuft meine Steuerung aus irgendwelchen Gründen nicht mehr bzw. die abschaltbedingung wird nicht erreicht.

Währe einer von euch mal bitte so nett und würde mir auf die Sprünge helfen weil ich arbeite gerade mal das erste mal mit CFC nach meinem Lehrgang.
 

SPSKILLER

Well-known member
Beiträge
728
Punkte Reaktionen
159
Hi,

ich würde mir einen FB in AWL erstellen.
Schnittstelle:

1 x In Typ Bool
2 x Out Typ Bool
2 x Stat Typ Bool

Der Code wäre dann:
Code:
U Input
Fp Statisch1
= Out1

U Input
Fn Statisch2
= Out2

Diesem FB ne Nummer geben, die im Anwenderbereich liegt (CFC Einstellungen).
Danach einfach im CFC verwenden...

Gruß

Micha
 

SPSKILLER

Well-known member
Beiträge
728
Punkte Reaktionen
159
Zuviel Werbung?
->Hier kostenlos registrieren
Noch was:

Warum geht es mit diesem F-Trig Baustein nicht?
Der müsste funktionieren.
Deshalb drängt sich der Gedanke auf, das mit der Ablaufreihenfolge was nicht stimmt...
 

kaputt

Well-known member
Beiträge
100
Punkte Reaktionen
10
This is a 300?

If you use clock memory ( MB0 in Hw-konfig/CPU) try to deselect this. It cocks up several of the standard Siemens blocks. Unbelivably but true.

Kaputt
 

Thomas_v2.1

Well-known member
Beiträge
8.796
Punkte Reaktionen
2.697
This is a 300?

If you use clock memory ( MB0 in Hw-konfig/CPU) try to deselect this. It cocks up several of the standard Siemens blocks. Unbelivably but true.

Die Verwendung des MW0 steht aber auch so in der CFC-Beschreibung - allerdings nicht in der Online-Hilfe zu den entsprechenden Blocks.

Siemens Hilfe für CFC schrieb:
Anlauf

Da bei S7-300-CPUs die Neustartebene nicht automatisch erkannt werden kann, wird bei Bausteinen mit Anlaufverhalten (in ELEM_300 enthalten) das Merkerwort 0 (MW0) als Anlaufmerker verwendet. Dieses Merkerwort darf daher im Anwenderprogramm nicht verändert werden.
Damit der Anlauf korrekt durchlaufen wird, müssen Sie die Funktion RESTART (FC 70) einmal pro S7-300-CPU in einem CFC-Plan platzieren.
Vorgehen:

1. Öffnen Sie den Ablaufeditor mit dem Menübefehl Bearbeiten > Ablaufreihenfolge oder über das Symbol in der Funktionsleiste.
2. Bauen Sie im OB*100 den RESTART-Baustein an erster Stelle ein.
3. Löschen Sie den RESTART-Baustein in der zyklischen Task (voreingestellt: OB*35)
der Baustein wird nur noch im OB*100 aufgerufen.
 

JOHKU

Well-known member
Beiträge
171
Punkte Reaktionen
19
Zuviel Werbung?
->Hier kostenlos registrieren
Hallo,

Der Flankenmerker steht nur für einen einzigen Zyklus an.
Wenn Du sowas „zu Fuß“ programmierst dann steht die Flankenbildung immer vor der Abfrage.
Dies muss bei einem graphischen Tool wie CFC nicht immer der Fall sein!
Sind nämlich die Bausteine nicht in der richtigen Ablaufreihenfolge eingebaut dann erfolgt die Auswertung vor der Bildung und Du wirst die Flanke niemals sehen da sie im nächsten Zyklus nicht mehr vorhanden ist.
Ich glaube der SPSKiller hat das auch so gemeint....
Deshalb überprüfe bitte die Reihenfolge. Hierfür gibt es eine graphische Ansicht die man über die Menüleiste abrufen kann.
Leider habe ich CFC nicht vor mir und kann Dir den Menüpunkt nicht nennen.

Gruß
Johannes
 

kaputt

Well-known member
Beiträge
100
Punkte Reaktionen
10
The flank will be '1' until the F-TRIG block is called next time, totally a whole OB1 or OB35 or OB... cycle.
So if the block that is to be triggered is called somewhere in the same 'OB', the sequence is not important. Worst case is that you trig one scan later.

Kaputt
 

SPSKILLER

Well-known member
Beiträge
728
Punkte Reaktionen
159
Thats wrong.
Worst case is the flank comming one cycle too late, and an other signal (further logic) is missing in that cycle.
Its always good to think about the order of calls.
Anyway I think the problem is not the F_TRIG FB.
Michael
 
Oben