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

Ergebnis 1 bis 8 von 8

Thema: Strukturierter Text: 1. Programmierung einer Schaltschwelle, 2. Integrierer

  1. #1
    Registriert seit
    02.02.2015
    Beiträge
    4
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    ich habe noch nicht so viel Erfahrung in der Programmierung mittels ST. Von daher bestimmt eine einfache Aufgabe für Euch:

    1. Ich möchte eine Art Schalter programmieren. Er soll einen bestimmten Wert (Bsp. 1) ausgeben, wenn die Eingangsgröße (läuft z.B. von -400 bis -600 und wieder zurück) eine bestimmte Schaltschwelle (Bsp. -500) überschreitet. Dabei soll der Wert nur ausgegeben werden, wenn der Eingangswert die Schaltschwelle von unten nach oben überschreitet. Also in der Beispielkurve im 2. Schnittpunkt.

    IF ?????????
    then rSignalSwitch1:=1
    ELSE rSignalSwitch1:=0


    2. Außerdem muss ich in dem ST einen Integrierer einbauen. Wie kann ich das machen?

    Vielen Dank!!!
    Zitieren Zitieren Strukturierter Text: 1. Programmierung einer Schaltschwelle, 2. Integrierer  

  2. #2
    Registriert seit
    28.03.2014
    Ort
    Schweiz
    Beiträge
    112
    Danke
    34
    Erhielt 15 Danke für 12 Beiträge

    Standard

    Ganz auf die schnelle und ohne Garantie auf Richtigkeit:

    Code:
    IF Inputvalue >= -500 AND Inputvalue_Old < -500 THEN
     rSignalSwitch1:=1;
    ELSE
    rSignalSwitch1:=0;
    END_IF
    Inputvalue_Old := Inputvalue;


    So fragst du ab, ob der aktuelle Wert grösser als -500 und der Wert des letzten Zyklus kleiner als -500. Damit kannst du die Schwelle dedektieren.

    2. Ich habe mir auch schon selbst einen Integriere gebaut, habe den Code aber gerade nicht zur Hand und bin etwas kurz angebunden.

  3. #3
    Schlitzer05 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    02.02.2015
    Beiträge
    4
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Vielen Dank!

    Klingt erstmal gut, aber eine Frage stellt sich mir: Bin ich im nächsten Zyklus nicht wieder beim Ausgang 0, weil ja Inputvalue_Old < -500 nicht mehr erfüllt ist? Das sollte ja nicht so sein. Oder denk ich gerade falsch?

  4. #4
    Registriert seit
    28.03.2014
    Ort
    Schweiz
    Beiträge
    112
    Danke
    34
    Erhielt 15 Danke für 12 Beiträge

    Standard

    Das stimmt, meine Funktion dedektiert nur den Schaltpunkt. Bis zu welchem Bedingung soll den der Ausgang 1 sein?

  5. #5
    Registriert seit
    20.01.2012
    Beiträge
    98
    Danke
    0
    Erhielt 36 Danke für 34 Beiträge

    Standard

    Hallo,

    das ist richtig. So hast Du es doch aber auch beschrieben:

    Dabei soll der Wert nur ausgegeben werden, wenn der Eingangswert die Schaltschwelle von unten nach oben überschreitet.
    Wann soll der Wert denn wieder zurückgesetzt werden? Sonst sieh Dir mal einen Schmitt Trigger an.

    Für den Integrator sieh Dir die digitale Regelungstechnik an.

    Du kannst Dir aber auch mal die Oscat lib ansehen. Dort kannst Du Dir sehr gut ansehen, wie verschiedene Probleme gelöst wurden.

    Gruß

  6. #6
    Schlitzer05 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    02.02.2015
    Beiträge
    4
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Da hab ich mich falsch ausgedrückt. Das Ausgangssignal 1 soll nach der Detektion gehalten werden. Theoretisch bis das Eingangssignal wieder den Ursprungswert (-400) annimmt.

  7. #7
    Registriert seit
    28.03.2014
    Ort
    Schweiz
    Beiträge
    112
    Danke
    34
    Erhielt 15 Danke für 12 Beiträge

    Standard

    Naja, jetz schreibst du am besten eine ähnliche Funktion wie ich sie gemacht habe, um den Zeitpunkt des Ausschaltens zu dedektieren. Dann hast du zwei Impulse, einen für das einschalten, einen für das ausschalten.
    Damit solltest du sicher weiterkommen und es ist eine gute Übung um ST besser zu verstehen.

  8. #8
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.712
    Danke
    398
    Erhielt 2.397 Danke für 1.997 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,
    du solltest dir dafür eine Ablaufkette (Schrittkette / Statemaschine) programmieren in der du die einzelnen Zustände festhältst.
    Für die Erkennung der Richtung ist es m.E. sinnvoller nicht unbedingt 2 direkt aufeinander folgende Werte zu betrachten, da je nachdem, woher dein Wert kommt, er auch bei stehendem Signal ein paar Digits hin- und herschwanken kann.
    Also : Richtungserkennung mit geglätteten Werten (Mittelwert) und den 2 Punkt-Regler mit einer Schrittkette ...

    Gruß
    Larry

Ähnliche Themen

  1. Strukturierter Text Grundlagen
    Von hansol1991 im Forum CODESYS und IEC61131
    Antworten: 3
    Letzter Beitrag: 26.02.2013, 11:30
  2. Strukturierter Text _Temp need ya help
    Von skillrun im Forum CODESYS und IEC61131
    Antworten: 21
    Letzter Beitrag: 13.09.2012, 15:39
  3. Aufgaben Strukturierter Text
    Von Jumpinjack im Forum CODESYS und IEC61131
    Antworten: 1
    Letzter Beitrag: 27.01.2011, 23:27
  4. Strukturierter Text ????HÄ?????
    Von Pinky im Forum Programmierstrategien
    Antworten: 3
    Letzter Beitrag: 22.04.2010, 14:26
  5. Strukturierter Text
    Von bluebird277 im Forum CODESYS und IEC61131
    Antworten: 3
    Letzter Beitrag: 21.01.2010, 15:54

Lesezeichen

Berechtigungen

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