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

Ergebnis 1 bis 8 von 8

Thema: Komische Verhalten von Flankendetektor beim Einschalten

  1. #1
    Registriert seit
    16.12.2004
    Ort
    Schleswig-Holstein
    Beiträge
    400
    Danke
    21
    Erhielt 23 Danke für 20 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zur Zeit mache ich meine erste Erfahrungen mit CoDeSys und im großen und ganzen geht's ganz gut aber jetzt habe ich ein Problem wozu ich keine Lösung finde.

    Es geht um ein Mobilbedienpanel das eine Heizung hat um Kontrast- und andere typische LCD Probleme bei niedrigen Temperaturen zu vermeiden. Es ist auch möglich die Heizung manuel ein- bzw. auszuschalten (für Testzwecke) und das Program dazu ist denkbar einfach: die Funktionstaste F5 wird überwacht und bei positver Flanke wird die Variable "Manuell_heizen_aktiv" umgeschaltet. Die ist eine Lokalvariable die in der Deklaration auf FALSCH gesetzt wird. Wenn "Manuell_heizen_aktiv" TRUE ist wird die Heizung eingeschaltet. Hier ein Ausschnitt aus dem code:

    Code:
     
    PROGRAM Display_Heizung
    VAR
     TEMP_DISPLAY  AT%MB400  :INT;
     TEMP_EIN   AT%MB302  :INT;
     TEMP_AUS   AT%MB300  :INT;
     TEMP_ICON   AT%MX410.1 :BOOL  := FALSE;
     Manuell_heizen_aktiv   :BOOL  := FALSE;
    END_VAR
     
    ....
     
    IF F5_pos.q AND NOT Manuell_heizen_aktiv THEN
     Manuell_heizen_aktiv := TRUE;
    ELSIF F5_pos.q AND Manuell_heizen_aktiv THEN
     Manuell_heizen_aktiv := FALSE;
    END_IF
    IF Manuell_heizen_aktiv THEN
     HEIZUNG_AN_AUS := TRUE;
    END_IF
    Das Problem ist, wenn das Bedienpanel eingeschaltet wird, wird "Manuell_heizen_aktiv " irgendwie auf TRUE gesetzt und die Heizung wird eingeschaltet obwohl es nicht nötig ist.

    Wenn ich beide Variablen mit Forcen auf FALSE setze und dann das Forcen wieder ausschalte, bleiben beide Variablen auf FALSE bis ich entweder F5 drucke oder das Panel aus- und wieder einschalte, dann sind beide wieder auf TRUE gesetzt.

    Wenn jemand ein Vorschlag hat was hier los ist, wäre ich sehr dankbar.
    Zitieren Zitieren Komische Verhalten von Flankendetektor beim Einschalten  

  2. #2
    Registriert seit
    19.06.2008
    Ort
    Ostalbkreis
    Beiträge
    3.140
    Danke
    201
    Erhielt 553 Danke für 498 Beiträge

    Standard

    Hallo,

    könnte es sein, daß bei der Initialisierung der Variablen (Neustart) ein falscher Wert eingetragen ist.

    Setze mal deine F-Tasten explizit bei Anlauf zurück. Wenns dann ok ist, weißt Du, wo zu suchen ist



    Grüße

  3. #3
    Registriert seit
    27.07.2007
    Ort
    Leipzig
    Beiträge
    239
    Danke
    25
    Erhielt 47 Danke für 43 Beiträge

    Standard

    Hallo,

    du kannst auch eine art anlaufmerker einführen.
    z.B.:

    IF Counter>200 THEN
    Anlauf_CPU:=TRUE;
    ELSE
    Counter:=Counter+1;
    END_IF
    deine anwahl kannst du dann nur zulassen wenn Anlauf_CPU - True ist

  4. #4
    Avatar von RMA
    RMA ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    16.12.2004
    Ort
    Schleswig-Holstein
    Beiträge
    400
    Danke
    21
    Erhielt 23 Danke für 20 Beiträge

    Standard

    könnte es sein, daß bei der Initialisierung der Variablen (Neustart) ein falscher Wert eingetragen ist.
    Das war auch mein Gedanke, gibt es eine Variable bei CoDeSys die sagt, dass die erste Zyklus läuft oder muss man so was selber basteln wie in Step7?

    Wenn man es selber basteln muss, macht man das denn in PLC_PRG oder gibt es was analog zu OB100?

  5. #5
    Registriert seit
    19.06.2008
    Ort
    Ostalbkreis
    Beiträge
    3.140
    Danke
    201
    Erhielt 553 Danke für 498 Beiträge

    Standard

    Hoi,

    Arbeite nicht oft mit CodeSys, aber da hast doch normal einen- (oder in einem) Baustein "init".

    Da sind die Anfangswerte eingetragen



    LG

  6. #6
    Avatar von RMA
    RMA ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    16.12.2004
    Ort
    Schleswig-Holstein
    Beiträge
    400
    Danke
    21
    Erhielt 23 Danke für 20 Beiträge

    Standard

    Hi,

    ich habe eine "Anlauf_Zyklus" Variable kreiert und mit TRUE initialisiert, dann als letzter Befehl im Program die Variable abgefragt und wenn TRUE Heizung ausgeschaltet und "Anlauf_Zyklus" auf FALSE gesetzt - Problem gelöst!

    Danke für die Hilfe.

  7. #7
    Registriert seit
    19.06.2008
    Ort
    Ostalbkreis
    Beiträge
    3.140
    Danke
    201
    Erhielt 553 Danke für 498 Beiträge

    Standard

    Mal nebenbei,

    Wenn die Heizung ein war, soll sie dann bei einem Neustart zwingend aus sein?

    Thema "Remanenz".

    Ich würde schon nachschauen, wo die var.. beschrieben/Initialisiert wird.
    Das kann sich sonst durch dein ganzes Projekt "ziehen". Also mit weiteren variablen, die irgendwie nicht das machen, was du willst.



    LG

  8. Folgender Benutzer sagt Danke zu Verpolt für den nützlichen Beitrag:

    RMA (22.06.2010)

  9. #8
    Avatar von RMA
    RMA ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    16.12.2004
    Ort
    Schleswig-Holstein
    Beiträge
    400
    Danke
    21
    Erhielt 23 Danke für 20 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Gute Idee!

    Das Projekt ist einer dieser Standard-Programmen die immer wieder benutzt wird und nur angepasst werden muss. Wer weiß wie viele andere Leute vor mir damit herumgespielt haben!

Ähnliche Themen

  1. Komische Zeichen in WinCCfelx
    Von erzteufele im Forum HMI
    Antworten: 10
    Letzter Beitrag: 29.09.2009, 16:42
  2. Probleme beim einschalten der Kreiselpumpe
    Von Heiner im Forum Antriebstechnik
    Antworten: 15
    Letzter Beitrag: 26.11.2008, 22:28
  3. Verhalten beim Einschalten der SPS
    Von Beren im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 13.05.2008, 15:03
  4. Komische Sache, beim installieren von Step7
    Von Lazarus™ im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 22.07.2005, 19:25

Lesezeichen

Berechtigungen

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