Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 7 von 7

Thema: CFC Programmierung if / sprünge?

  1. #1
    Registriert seit
    17.02.2011
    Beiträge
    13
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Also Ich Programmiere grade auf einer Lenze Servo Drives 9400.

    Ich frage mich wie hier soetwas wie Abzweigungen bzw Sprünge realisieren soll.

    Das Problem ist es gibt offenbar keine Bausteine mit enable Eingang geschweige den Sprungmöglichkeiten.


    Folgende Situation:
    Ich habe eine binäre Variable A und eine DINT Variable B

    Wenn A = TRUE ist dann soll B = 0 gesetzt werden.

    Ok das ganze geht über

    A -> negation -> BooltoDINT -> B

    Problem ist nur Wenn A nicht gesetzt ist soll diese gefälligst nichts mit B tun.

    Also müsste die obrige Anweisung übersprungen werden da sonst B= 1 wird.


    Nur das Problem ist ich habe eben nur Logische Verknüpfungen AND OR ADD, FLIP FLOP und Konvertierungsbausteine. Keiner von denen hat den von S7 bekannten enable Eingang. Wie kann ich damit etwas realisieren was nur wenn A = TRUE wird B beeinflusst?
    Zitieren Zitieren CFC Programmierung if / sprünge?  

  2. #2
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.758
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard

    Geht es nicht wenn du
    A -> negation -> BooltoDINT -> C
    B x C -> B
    Machst?

    D.h. Mal null gibt null, und mal eins ergibt wert von b?

    Sorry, hab keinen lenze fu, ich weiss nicht ob das geht, nur als Idee...
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

  3. #3
    swissm ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    17.02.2011
    Beiträge
    13
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    das könnte in der tat funktionieren.

    das ist so einfach das ich nicht drauf gekommen bin.

  4. #4
    Registriert seit
    29.03.2004
    Beiträge
    5.793
    Danke
    144
    Erhielt 1.706 Danke für 1.238 Beiträge

    Standard

    Beim Siemens CFC mache ich sowas meistens mit einer SEL-Box. Bei der kann mit einem binären Eingang zwischen zwei Werten umgeschaltet werden. Auf den einen Eingang kommt der zu ändernde Wert, auf den anderen wird der Ausgang der SEL-Box zurückgeschliffen.
    Vielleicht gibts auch so einen Block beim Lenze CFC.

  5. #5
    Registriert seit
    09.06.2008
    Beiträge
    138
    Danke
    16
    Erhielt 13 Danke für 13 Beiträge

    Standard

    GENAU
    Der gesuchte Baustein lautet "SEL_R" ist glaub ich in der Rubrik MUX bzw. Multiplex.
    Dieser hat drei Eingänge. Einen binären "K" der zwischen den beiden REAL "IN1" und "IN2" wechselt. Ist "K" = 1 dann wird IN2 auf den Ausgang geschaltet.
    Falls bedarf besteht gibt es auch alle benötigten Converter-Bausteine INT->DINT->REAL...

    Alternativ kannst du wie gehabt auch einen Baustein erstellen und auf den CFC-Plan ziehen.
    Das coole am CFC ist, dass es genauso wie bisher ist. Nur dass man eben die Anschlüsse direkt verschaltet statt evtl. über merker oder ähnlich.
    Du hast auch an jedem Baustein deine "EN"ABLE-Anschlüsse. Du musst sie nur sichtbar machen. Den enable benutzt man im CFC eigentlich aber eher nicht.
    Für simple Verriegelungen ist CFC wirklich schick. Man darf nur nicht zu viel Logik auf den Plan bringen dann wird es wüst.

  6. #6
    swissm ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    17.02.2011
    Beiträge
    13
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    ok werd mal gucken ob ich den sel bausteine finde.

    Hab noch nen paar mehr Sprünge in meine Programm.

    Ich konvertier grad genaugenommen FUP Code von einem anderem Umrichter nach CFC.

    Ein Problem hab Ich da noch, dort wird alle 1s eine Task aufgerufen.

    Die 9400 hat zwar auch tasks kann aber max auf 8ms gestellt werden, was die Zeit zwischen 2 durchläufen angehet.

    Die Haupttask wird alle 1ms aufgerufen, ich würds also wohl mit nem zähler machen der bis 1000 zählt und den 1s teil der Anwendung dann immer nur bei 1000 aufrufen, müsste ja eigentlich auch auf das selbe hinauslaufen.

  7. #7
    Registriert seit
    09.06.2008
    Beiträge
    138
    Danke
    16
    Erhielt 13 Danke für 13 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Du kannst auch im CFC das ganze beschleunigen oder im schlimmsten Fall alles in den OB1 knallen -> nicht wirklich PCS7 like(falls wir von PCS7 reden).
    Ich sehe jedoch kein Problem.
    Deine Befehle gehen evtl. verzögert raus und werden vom 9400 eben sofort interpretiert. Aber das kann dir egal sein bzw. ist ja auch ganz schön wenn der 9400 richtig flott ist.
    Eine Verzögerung würde ich hier nicht einbauen bringt nur Nachteile synchron wird der 9400 nie mit der Steuerung sein. Muss auch nicht. Hauptsache er ist schneller, denn gleiche oder langsamere Geschwindigkeit ist gefährlich. Hierbei könnten Befehle verschluckt werden.

Ähnliche Themen

  1. Sprünge ?
    Von Techniker1907 im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 11.10.2011, 23:20
  2. Hilfe mit Sprünge
    Von Techniker1907 im Forum Simatic
    Antworten: 13
    Letzter Beitrag: 22.09.2011, 19:08
  3. Wer hilft mir auf die sprünge???
    Von hhbjörn im Forum Stammtisch
    Antworten: 23
    Letzter Beitrag: 03.09.2008, 22:22
  4. Sprünge Fehler.
    Von russkinemez im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 07.03.2007, 22:24
  5. HighGraph Sprünge im Permanentfenster???
    Von plc_tippser im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 26.01.2006, 09:54

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •