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

Ergebnis 1 bis 6 von 6

Thema: Komisches Phänomen wenn TON.IN stehtig True

  1. #1
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.620
    Danke
    777
    Erhielt 647 Danke für 493 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich hatte gestern ein wirklich komisches und irritierendes Verhalten eines Bausteins von mir.

    TON wird so aufgerufen. Unbedingt.
    Code:
    tAusrKlp(IN := AusrKlappen, PT := DINT_TO_TIME(INT_TO_DINT(MinWartenAusrKlappen) * 1000));
    Der relevante Teil ist das.

    Die Variable AusrKlappen ist am IN des FBs deklariert.

    Nun hatte ich den Baustein schon sehr oft benutzt nur diesmal brauchte ich diesen teilweise ohne AusrKlappen. Also habe ich von Aussen einfach "True" angehängt. Mit dem Resultat das einzelne Aufrufe einfach nie ein (tAusrKlp.Q = True) generierten. Und zwar nicht alle sondern nur einige Instanzen. Obwohl ich Online sehen konnte das IN wirklich True ist wurde Q nicht gesetzt und die Zeit schon ewig abgelaufen (t#45s).

    Jemand ne Idee was da passiert ist, und wie ich sowas abfange?


    mfG René
    Zitieren Zitieren Komisches Phänomen wenn TON.IN stehtig True  

  2. #2
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.727
    Danke
    398
    Erhielt 2.404 Danke für 2.002 Beiträge

    Standard

    Hallo René,
    soweit ich weiß möchten die IEC-Timer einen Signal-Wechsel am IN mitbekommen (also eine Flanke). Das wäre bei dir nicht der Fall, da ja bereits beim ersten Aufruf schon die "1" am IN ansteht.

    Gruß
    Larry

  3. Folgender Benutzer sagt Danke zu Larry Laffer für den nützlichen Beitrag:

    vollmi (22.09.2015)

  4. #3
    Avatar von vollmi
    vollmi ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.620
    Danke
    777
    Erhielt 647 Danke für 493 Beiträge

    Standard

    Uncool. Hast du ne idee wie man sowas abfangen könnte? Ich wollte den Baustein eigentlich möglichst universell halten. Muss ich den Timer wohl von Hand programmieren mit nem Takt von aussen.

    mfG René

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

    Standard

    Evtl im OB100 ein Bit auf 0 oder 1 setzen und dies mit dem Timereingang verkuddeln.
    Am Ende des OB1 zurück auf 0 oder 1

  6. #5
    Registriert seit
    04.03.2015
    Beiträge
    66
    Danke
    10
    Erhielt 31 Danke für 12 Beiträge

    Standard

    Zitat Zitat von Larry Laffer Beitrag anzeigen
    Hallo René,
    soweit ich weiß möchten die IEC-Timer einen Signal-Wechsel am IN mitbekommen (also eine Flanke). Das wäre bei dir nicht der Fall, da ja bereits beim ersten Aufruf schon die "1" am IN ansteht.
    Sollte das das Problem sein und du willst es universell halten dann bau doch die idee von Verpolt einfach in den FB mit ein.

    Code:
    tAusrKlp(IN := AusrKlappen AND Startup, PT := DINT_TO_TIME(INT_TO_DINT(MinWartenAusrKlappen) * 1000));
    Startup := true;
    
    wobei "Startup" dann eine Statische Variable des Fbs ist. Somit ist beim SPS start einen Zyclus lang der Eingang des Timers auf 0.
    vielleicht hilft das ja schon

    Gruß

    Balu

  7. #6
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.727
    Danke
    398
    Erhielt 2.404 Danke für 2.002 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von vollmi Beitrag anzeigen
    Uncool. Hast du ne idee wie man sowas abfangen könnte? Ich wollte den Baustein eigentlich möglichst universell halten. Muss ich den Timer wohl von Hand programmieren mit nem Takt von aussen.

    mfG René
    Hallo René,
    du könntest dir vor den Timer noch ein Init-Bit programmieren. Das könnte auch ein IN-Parameter sein, der durch einen Merker beschaltet ist/wird welcher im OB100 gesetzt und am Ende des OB1 rück-gesetzt wird. Diese Funktion kann man dann vielleicht auch noch für andere Dinge ganz gut gebrauchen.
    Alternativ könntest du den Baustein mit der zugehörigen Instanz im OB100 aufrufen und bei diesem Aufruf den "AusrKlappen" mit VKE0 beschalten - das sollte auch gehen (ist aber m.E. nicht so schön )

    Gruß
    Larry

Ähnliche Themen

  1. TON ET Parameter speichern / verwenden für weiteren TON
    Von Breakstuff im Forum CODESYS und IEC61131
    Antworten: 7
    Letzter Beitrag: 13.10.2013, 14:12
  2. Step 7 Probleme mit TON in FB (TON als Multiinstanz, der FB selbst nicht!)
    Von Jochen Kühner im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 14.06.2013, 18:29
  3. Ethernetkommunikation, Phänomen!
    Von AndreK im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 01.09.2010, 13:28
  4. Tof als Ton und Ton als PT usw.
    Von Dar1gaaz im Forum Programmierstrategien
    Antworten: 2
    Letzter Beitrag: 20.03.2009, 19:53
  5. Step5 V6.63 - Komisches Phänomen
    Von diabolo150973 im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 24.06.2008, 23:38

Stichworte

Lesezeichen

Berechtigungen

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