Beiträge anzeigen

Diese Sektion erlaubt es ihnen alle Beiträge dieses Mitglieds zu sehen. Beachten sie, dass sie nur solche Beiträge sehen können, zu denen sie auch Zugriffsrechte haben.


Nachrichten - iDexter

Seiten: [1]
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
oscat.lib fuer CoDeSys 3 / Re: REAL nach Byte Konvertierung
« am: 28. Dezember 2016, 17:06:06 »
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
oscat.lib fuer CoDeSys 3 / REAL nach Byte Konvertierung
« am: 28. Dezember 2016, 13:33:26 »
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

Seiten: [1]