Zeiten bei den PID Regler

Jelly

Level-1
Beiträge
217
Reaktionspunkte
6
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi zusammen!

Ich hab in der nächsten Zeit nen Haufen Regler zu machen und einige davonhaben extreme Einstellungen.

Ich hab da ne Frage zwecks den Zeitwerten, die man einstellt:

geht das wenn der Benutzer als beispiel "4" eingibt, welches ich dann mit 1000 multipliziere und dies direkt an den FB 42 oder schreibe?
Also so:

L DB40.DBW0 //Sollwert in sekunden
L 1000
*D
T DB72.DBD8 //Zeit für den Regler

Weiss der Regler dann, dass hier 4 sekunden gemeint sind, oder muss ich das in einer anderen Art verarbeiten, IEC-time oder so?

Hab da irgendwie noch kein Plan davon. Und kann ich dann auch Werte eintragen unter 1 sekunde? also der benutzer schreibt 0.3 und der Regler empfängt dann auch 0.3 sekunden?

Danke für ne Antwort!!

Jelly
 
Hallo,
wenn die Parameter "Cycle,TI, PULSE_TM...", welche mit dem Datentype TIME vorgegeben werden, gemeint sind dann funktioniert die Sache mit der Multiplikation mit 1000.
Der Datentype Time beinhaltet die Zeit in ms.
Gruß, Rayk :)
 
@gravieren
Aber nicht wenn die Zeit variabel ist.

@Jelly
Es ist nicht so das deine Variante nicht funktioniert, aber warum den Wert nicht einfach als TIME eingeben lassen?
 
Hi


>L DB40.DBW0 //Sollwert in sekunden
>L 1000
>*D
>T DB72.DBD8 //Zeit für den Regler

Aufbau von TIME:

15-12 11-8 7-4 3-0 bit


15-12 0 = 0,01s
15-12 1 = 0,10s
15-12 2 = 1,00s
15-12 3 = 10,0 s


Der Rest als BCD-Code !



Nibble 2 0 0 1 --> 1 Sekunde
Nibble 0 0 0 1 --> 0,01 Sekunden

Hex 0x 0 1 --> 0,01 Sekunden





oder habe ich da nen Denkfehler ?


Da gubt es irgend einen Umwandelung - FB/FC wenn schon

Karl
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ja du hast definitiv einen Denkfehler,

TIME = Vorzeichenloses Doppelwort mit Zeit in ms

S5TIME = in etwa das was du da schreibst. (Habe ich jetzt nicht exakt kontrolliert, insbesondere nich die Bitpositionen)

Mfg
Manuel
 
Abgesehen davon,

mit

L T#4s //Lädst du 4000 in den Akku

L T#800MS Lädst du 800 in den Akku

mit

L S5T#800MS Lädst du die Zeitstrucktur 0080 (HEX) in den Akku

L S5T#4S Lädst du die Zeitsrucktur 0400 (HEX) in den Akku.

Ich hoffe du verstehst jetzt den Unterschied
 
Hi MSB

Hab nachgeschaut, ich war noch bei der "guten alten S5".

Der Inhalt wird als Millisekunden interpretiert und als 32-bit-Festpunktzahl mit Vorzeichen abgelegt.



Karl
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also müsst das ja funktionieren, was?
Ich hab namlich Regler, die ich auch mit ner min_Puls von 0.3 sek oder so laufen lassen muss, wenn das denn geht.

Vielen Dank für eure mails!! auf weitere tipps bin ich dankbar!

Jelly
 
Zurück
Oben