TIA Schwellwert Schalter/ 2 Punkt Regler

mr_sunrise

Level-2
Beiträge
54
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Tag,

Ich will in Tia Portal einen Schwellwert Schalter oder 2 Punkt Regler programmieren.

Wenn ich mit dem Ist Wert unter den Sollwert komme soll ein Relais schalten wenn ich wieder über den Sollwert komme wieder aus.

Gibt es da was fertiges? In SCL? Hab eine 300er


Vielen Dank
 
Deiner Frage entnehme ich, dass du neu in der Programmierung sein musst! Oder die Frage ist unklar gestellt!

Das wäre ein einfacher Vergleicher!
In KOP ziehst du den einfach in dein Netzwerk!

in SCL etwa geht das etwa so

If Wert > Soll
Ausgang = 1
Else
Ausgang = 0
Endif

Das Problem dabei ist, dass an der Grenze: Wert ca. Soll das ganze zu flattern anfängt, da Analog-Sensor-Signale nicht
ganz 100% stabil sind.

Wahrscheinlich meinst du eher einen Hystereseschalter, welcher erst eine einstellbare Schwelle unterhalb deines Sollwertes wieder
unterschreiten muss, bevor das Signal Ausgang wieder auf 0 Schaltet!

Bitte eine etwas genauere Erklärung was du vor hast und wie deine Kenntnisse sind!
 
Im Oscat gibt es ein paar verschiedene
Hier einer:
Code:
FUNCTION_BLOCK "HYST"
TITLE = HYST
AUTHOR : hugo
FAMILY : CTRL
NAME : HYST
VERSION : 1.0
//
//This Hystereses function has two modes:
//1. if on > off then Q will be switched high when in > on and switched low when in < off.
//2. if on < off then Q will be switched high when in < on and switched low when in > off.
//the output win will be high when in is between low and high.
//
//
   VAR_INPUT
      In : Real;
      ON : Real;
      OFF : Real;
   END_VAR

   VAR_OUTPUT
      Q : Bool;
      win : Bool;
   END_VAR


BEGIN
    
    
    IF #ON >= #OFF THEN
        IF #In < #OFF THEN
            #Q := FALSE;
            #win := FALSE;
        ELSIF  #In > #ON THEN
            #Q := TRUE;
            #win := FALSE;
        ELSE
            #win := TRUE;
        END_IF;
    ELSE
        IF #In > #OFF THEN
            #Q := FALSE;
            #win := FALSE;
        ELSIF  #In < #ON THEN
            #Q := TRUE;
            #win := FALSE;
        ELSE
            #win := TRUE;
        END_IF;
    END_IF;
    
    
    (* revision history
    hm      2.  jun 2008    rev 1.0
        original version
    
    *)
    
END_FUNCTION_BLOCK
 
Deiner Frage entnehme ich, dass du neu in der Programmierung sein musst! Oder die Frage ist unklar gestellt!

Das wäre ein einfacher Vergleicher!
In KOP ziehst du den einfach in dein Netzwerk!

in SCL etwa geht das etwa so

If Wert > Soll
Ausgang = 1
Else
Ausgang = 0
Endif

Das Problem dabei ist, dass an der Grenze: Wert ca. Soll das ganze zu flattern anfängt, da Analog-Sensor-Signale nicht
ganz 100% stabil sind.

Wahrscheinlich meinst du eher einen Hystereseschalter, welcher erst eine einstellbare Schwelle unterhalb deines Sollwertes wieder
unterschreiten muss, bevor das Signal Ausgang wieder auf 0 Schaltet!

Bitte eine etwas genauere Erklärung was du vor hast und wie deine Kenntnisse sind!
Ja genau das meine ich. Der Analog Sensor wird nicht so genau sein und das Ventil dann flattern.

darum würde ich da gerne eine Hysterese darum basteln.. also Ventil ist schliest wireder wenn es annähernd den Sollwert erreicht hat +-%5
 
Zuviel Werbung?
-> Hier kostenlos registrieren
darum würde ich da gerne eine Hysterese darum basteln.. also Ventil ist schliest wireder wenn es annähernd den Sollwert erreicht hat +-%5
das geht mit dem obigen code aus der Oscat-Library.

Die oscat Library ist eine Open-Source-Library komplett in SCL, Cross-Plattform für Codesys und Siemens.
Lad dir diese library mal, da findest du viele fertige Funktionen und eine gute Dokumentation

Von mir gibt es auch noch eine komplette OpenSource Library für S7, diese ist aber noch nicht auf TIA konvertiert.

dort wäre der Baustein den du brauchst der FC84 m7b_Niveauschalter_REAL
Dieser lässt sich auch noch auf Min oder Max schaltend configurieren, je nach dem ob Heiz- oder Kühlfunktion gewünscht ist!
 
Zurück
Oben