-Menü

Beiträge anzeigen

Dieser Abschnitt erlaubt es Ihnen, alle Beiträge anzusehen, die von diesem Mitglied geschrieben wurden. Beachten Sie, dass Sie nur Beiträge sehen können, die in Teilen des Forums geschrieben wurden, auf die Sie aktuell Zugriff haben.

Beiträge anzeigen-Menü

Beiträge - iDexter

#1
Guten Tag zusammen,

habe im Moment folgendes Problem, ich möchte einfach 4 verschiedene Sensoren die als Globale Variablen in Codesys hinterlegt sind, in einem PI_regler als Act_Wert einfügen. Aber wie genau setze ich das vernünftig um. Es soll dann ungefähr so aussehen dass der Regler Aktuelle Werte von 4 Sensoren bekommt und dementsprechend reagiert, geht sowas überhaupt. Hier ein Beispiel

CTRL_PI(
   ACT:= OneWire[0],OneWire[1],OneWire[2] usw...,
   SET:= ,
   SUP:= ,
   OFS:= ,
   M_I:= ,
   MAN:= ,
   RST:= ,
   KP:= ,
   KI:= ,
   LL:= ,
   LH:= ,
   Y=> ,
   DIFF=> ,
   LIM=> );

Der oder die OneWire Sensor/en sind Temperatursensor/en und sollen dementsprechend Stellantriebe steuern.

Vielen dank schonmal ... :/

#2
Hallo

erst einmal vielen vielen Dank.  :D Habe mit so einem schnellen Erfolg garnicht gerechnet, bin wirklich Glücklich bis jetzt.
Jetzt sind es nur noch ein paar feinheiten damit das ganze rund läuft. Bei mir sieht das ganze jetzt wie folgt aus.

PI(
   ACT:= OneWire[0],      (*Gemesseneer Wert nach der Strecke*)
   SET:= 50 ,            (*Vorgabewert*)
   SUP:= ,
   OFS:= ,
   M_I:= ,
   MAN:= ,
   RST:= ,
   KP:= ,               (*Propotionalfaktor*)
   KI:= ,               (*Integraler Anteil*)
   LL:= ,
   LH:= ,
   Y=> ,               (*Ausgang des Reglers*)
   DIFF=> ,
   LIM=> );

   Y       :=       REAL_TO_BYTE(OneWire[0]/100*255);

(*Actuator_2 für mein Stellventil*)

ACTU_2(
   IN:=Y ,
   TEST:= ,
   ARE:= ,
   CYCLE_TIME:= ,
   SENS:= ,
   SELF_ACT_TIME:= ,
   SELF_ACT_PULSE:= ,
   SELF_ACT_CYCLES:= ,
   ARX:=Stellventil_1 ,
   OUT=> ,
   ARO=> );

(*Actuator_3 für meinen Stellmotor / Mischermotor *)
ACTU_3(
      IN:=Y,
      TEST:=,               (*Baustein führt Diagnose aus wenn TRUE*)
      ARE:=TRUE,               (*Autodiagnose*)
      END_POS:=,            (*Eingang für Endschalter*)
      T_RUN:= ,            (*Laufzeit für volle Bewegung*)
      T_EXT:= ,            (*Laufzeitverlängerung bei Diagnose*)
      T_CAL:= ,            (*Klappenlaufzeit bis zur Kalibrierung*)
      T_DIAG:=T#0s,         (*Zeitspanne fuer Autodiagnose*)
      SWITCH_AVAIL:=,         (*TRUE wenn Endschalter angeschlossen ist*)
      ARX:=Stellventil_1,      (*Autorun Kommunikation*)
      OUT1=>,               (*Steuersignal fuer Klappe in Richtung auf*)
      OUT2=>,               (*Steuersignal fuer Klappe in Richtung zu*)
      POS=>,                (*Simulierte Klappenstellung*)
      ERROR=> ,            (*TRUE wenn Diagnosefehler*)
      STATUS=> );            (*ESR kompatibler Status Ausgang*)


Alle Eingänge ( IN ) von ACTUATOR 2 und 3 bekommen nun den Y Wert zugeteilt und sollten sich nun Automatisch so einstellen bis mein vorgegebener Wert am PI Regler, in dem Fall 50 °C erreicht sind für eine Optimale Vorlauftemperatur zum Beispiel... Den das wäre mein Ziel. Gemessen wird das ganze über einen 1Wire Sensor am Vorlauf.!
#3
Einen schönen Guten Tag zusammen,

ich zerbreche mir seit kurzer Zeit den Kopf zu folgendem Problem und weis nicht mehr weiter.

Ich Regel ein Thermoelektrischen Stellantrieb (24V ) über einen PID Regler, dieser wird ja von REAL_werten versorgt sprich 0 - 100%. Diese Werte sollen jetzt aber an einen 3P_Actuator übermittelt werden, der am Eingang nur mit den sogenannten Byte Werten zurecht kommt. Hier wäre dann der Wert 0 - 255 Byte zu sehen. Diesen Actuator brauche ich um einen Stellmotor zu Steuern für kalt und warm wasser.

Mein Problem ist jetzt, wie ich eine vernünftige Typkonvertierung hinbekomme, von REAL nach BYTE.

Ich wäre euch dafür wirklich sehr dankbar wenn jemand einen Tip hätte.  :'(

Viele Grüße

iDexter