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

Ergebnis 1 bis 7 von 7

Thema: Staffelung in Codesys

  1. #1
    Registriert seit
    19.02.2010
    Beiträge
    12
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Lächeln


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen,

    stehe vor folgenden Problem.
    Ich muß eine Anlaufstaffelung von 10 Motoren programmieren.
    Die Motoren können sowohl Linkslauf als auch Rechtslauf. Programm ist Codesys. Ich arbeite mit CFC-Sprache. Diese Sprache bin ich von Kirchner Soft (LogiCAD) gewöhnt.
    Wenn ich da meine Staffelung ausprogrammieren will , so wie ich es immer in LogiCAD mittels UND und ODER Gatter gemacht habe, dürfte sich Codesys aufhängen. Schafft irgendwie nicht diese Rückkopplungschleifen wie LogiCAD. Wenn ich abspeichern will dauert das ewig beim code generieren.
    Wenn ich nur für vier Maschinen die Staffelung mache funktioniert es. Kein Problem mit abspeichern etc. Ich brauchs aber für vierzehn Maschinen.
    Habe mal ein Jpeg angehängt damit Ihr wissts wovon ich spreche. Code funktioniert so. WEnn im gleichen Zyklus alle Befehl gleichzeitg kommen wird nur einer ausgegeben. Dient als Staffelung für Motoren damit die nicht gleichzeitg anlaufen können und das Netz belasten.
    So jetzt meine Frage gibts da vielleicht eine möglichkeit das man das in einer anderen Sprache in Codesys programmiert (Structured Text z.b.).
    Will mir einfach die Arbeit sparen das alles auf einzelen FB´s aufzuteilen.
    Wäre cool wenn ich ein paar Inputs bekommen würde
    Angehängte Grafiken Angehängte Grafiken
    Zitieren Zitieren Staffelung in Codesys  

  2. #2
    Registriert seit
    12.02.2008
    Ort
    Westfalen (Dort wo's Schwarzbrot gibt)
    Beiträge
    417
    Danke
    8
    Erhielt 87 Danke für 72 Beiträge

    Standard

    Als Ersatz wäre da ganz einfach eine Case Anweisung mit ST zu programmieren.

    Ungefähr so:

    Code:
    CASE MotorCount OF:
    
    1 : Motor_1_Ein := TRUE;
         MotorCount := MotorCount +1;
    
    2 : IF Rueckmeldung_Motor_1_Ein THEN
          MotorCount := MotorCount +1;
         END_IF;
    
    3  : Motor_2_Ein := TRUE;
          MotorCount := MotorCount +1;
     
    4 : IF Rueckmeldung_Motor_2_Ein THEN
           MotorCount := MotorCount +1;
          END_IF;
    
    ...Copy und Paste bis Motor 14...
    
    END_CASE
    Sowas in der Art vielleicht?

  3. #3
    Don_Travolta ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    19.02.2010
    Beiträge
    12
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Danke für die rasche Antwort.
    Leider fange ich mit dem Code nicht viel an. Wenn ich mich nicht täusche zählt er immer eins hinauf wenn er die Rückmeldung bekommt das der Motor ein ist.
    Stimmt das?

    Was ist wenn jetzt beide Befehle im gleichen Zyklus kommen? Fängt er immer beim ersten Motor an?

    Gruß

  4. #4
    Registriert seit
    12.02.2008
    Ort
    Westfalen (Dort wo's Schwarzbrot gibt)
    Beiträge
    417
    Danke
    8
    Erhielt 87 Danke für 72 Beiträge

    Standard

    Der Code ist gedacht dafür:

    1 Signal startet ALLE Motoren

    Dann werden alle Motoren nacheinander eingeschaltet.

    Aber beim zweiten Hinsehen brauchst Du etwas, was beliebiges Ansteuern aller Motoren ermöglicht und verhindert, das zwei beliebige Motoren zusammen anlaufen.

    Richtig?

  5. #5
    Don_Travolta ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    19.02.2010
    Beiträge
    12
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Cool

    Ja stimmt genau.
    Die Motoren müssen beliebt ansteuerbar sein (Wälzung). Diese Schaltung, die ich angehängt habe, bewirkt dass, wenn im gleichen Zyklus mehrere Einbefehle kommen, nur eine Maschine gestartet wird. Für das würde ich einen Ersatz brauchen. Weil im CFC Modus schafft es Codesys nicht.
    Sollen heisen:
    Setzen mehrer Eingänge im gleichen Zyklus wird nur ein Eingang auf einen Ausgang geschalten. Das kann dann aber immer der erste Eingang sein. Damit sich der nächste Motor im nächsten Zyklus einschaltet sorge ich in einem anderen Programmteil.
    Weil kommen z.B.: vier Startbefehle für die vier Motoren im gleich Zyklus wird der erste Motor gestartet, dann wird 5 Sekunden gewartet dann kommt der nächste drann, egal ob sich der erste eingeschalten hat oder nicht.

    Kann man im Codesys CFC Funktionsbausteine und ST-Funktionsbausteine im Hauptprogramm mischen?

    lg
    Geändert von Don_Travolta (19.02.2010 um 14:41 Uhr)

  6. #6
    Registriert seit
    30.08.2005
    Beiträge
    280
    Danke
    41
    Erhielt 96 Danke für 66 Beiträge

    Standard

    Hallo Don_Travolta,

    man kann natürlich alles beliebig mischen, aber ich glaube auch das dein CFC noch zu retten ist. Vermutlich genügt es, wenn du die lange Kette an Rückkopplungen einmal in der Mitte aufbrichst und stattdessen eine Hilfsvariable verwendest.
    Ansonsten muss CoDeSys solche Hilfsvariablen generieren und muss den Typ dieser Hilfsvariablen ermitteln, was in diesem Fall ein bisschen lang dauert.

    Bernhard

  7. #7
    Don_Travolta ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    19.02.2010
    Beiträge
    12
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,
    danke für die rasche Hilfe.
    Habe es einfach so gemacht das ich die Kette unterbrochen habe und einfach einen FB drausgemacht habe und dann die FB´s einfach nacheinander gereit habe. Funktioniert jetzt.
    Danke nochmals!
    Über die Lösung mit den Merkern habe ich auch nach gedacht, ist mir aber zu viel arbeit gewesen.
    Danke nochmals!

    lg

Ähnliche Themen

  1. CoDeSys
    Von doug82 im Forum PC- und Netzwerktechnik
    Antworten: 6
    Letzter Beitrag: 02.11.2011, 21:29
  2. EoE mit CoDeSys 3.4 sp3
    Von HomerX im Forum CODESYS und IEC61131
    Antworten: 0
    Letzter Beitrag: 07.06.2011, 10:54
  3. CodeSys
    Von Mark4you im Forum Suche - Biete
    Antworten: 6
    Letzter Beitrag: 01.02.2011, 10:28
  4. CodeSys und S7
    Von Tommi im Forum CODESYS und IEC61131
    Antworten: 1
    Letzter Beitrag: 19.12.2010, 20:32
  5. CoDeSys
    Von Gast im Forum Sonstige Steuerungen
    Antworten: 1
    Letzter Beitrag: 16.06.2006, 21:35

Lesezeichen

Berechtigungen

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