ich möchte eine treppenfuktion mit Codesys programmieren.Die funktion muss zum Zeitpukt T0 (Startzeit) mit einem Wert beginnen, sie muss den gleichen Wert innerhalb von delta t (konstante Zeitintervall) haben. Erst zum Zeitpunkt T0+delta t wird die funktion wieder aufgerufen, aber mit dem alten Wert + delta x (Schrittweite). Der Verlauf ist in Intervall [T0,T1] darzustellen.
Genug mit dem Text, jetzt Zahlen beispiel.
Anfangswert der Funktion: 100 Grad
Endwert der Funktion: 200 Grad
Anfangszeit: z.B 5ms
Endzeit des Darstellungsbereich: z.B 100ms
Darstellungsbereich: 100ms - 5ms = 95 ms
Intervallzeit: 95ms/5 = 19ms
Die Funktion muss ihren alten Wert nach jeder 19ms immer um 20 Grad erhöhen bis ihres Wertes (in meinem Fall wäre 200 Grad) erreicht ist.
LG Guy;
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
das scheint doch eine ganz normale Lineare Funktion zu sein.
Die (Abtast-)Zeit könntest du mittels eines Oszillators variabel einstellen. D. h. die Geradengleichung wird nur im Takt des Oszillators neu berechnet/aktualisiert.
Gruß
Chris
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Du mußt bei deinem Ansatz berücksichtigen, daß die Zeiten die Du errechnest nur vielfache der Zykluszeit sein dürfen. Der SPS typische Ansatz währe die Steigung pro Zyklus zu berechnen.
Zum anderen muß ich mal klarstellen was CoDeSys ist: CoDeSys ist ein Programmiersystem und keine Sammlung von Funktionen. Das sind Bibliotheken und da lohnt es sich immer nach OSCAT zu schauen.
Gruß
Ralph
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hallo,
ich möchte eine treppenfuktion mit Codesys programmieren.Die funktion muss zum Zeitpukt T0 (Startzeit) mit einem Wert beginnen, sie muss den gleichen Wert innerhalb von delta t (konstante Zeitintervall) haben. Erst zum Zeitpunkt T0+delta t wird die funktion wieder aufgerufen, aber mit dem alten Wert + delta x (Schrittweite). Der Verlauf ist in Intervall [T0,T1] darzustellen.
Genug mit dem Text, jetzt Zahlen beispiel.
Anfangswert der Funktion: 100 Grad
Endwert der Funktion: 200 Grad
Anfangszeit: z.B 5ms
Endzeit des Darstellungsbereich: z.B 100ms
Darstellungsbereich: 100ms - 5ms = 95 ms
Intervallzeit: 95ms/5 = 19ms
Die Funktion muss ihren alten Wert nach jeder 19ms immer um 20 Grad erhöhen bis ihres Wertes (in meinem Fall wäre 200 Grad) erreicht ist.
LG Guy;
Hallo,
das scheint doch eine ganz normale Lineare Funktion zu sein.
Die (Abtast-)Zeit könntest du mittels eines Oszillators variabel einstellen. D. h. die Geradengleichung wird nur im Takt des Oszillators neu berechnet/aktualisiert.
Gruß
Chris
Hallo,
wie realisiere ich jetzt einen oszillator, da Codesys keinen Baustein dafür zur Verfügung steht?
LG Guy
Hi,
Du mußt bei deinem Ansatz berücksichtigen, daß die Zeiten die Du errechnest nur vielfache der Zykluszeit sein dürfen. Der SPS typische Ansatz währe die Steigung pro Zyklus zu berechnen.
Zum anderen muß ich mal klarstellen was CoDeSys ist: CoDeSys ist ein Programmiersystem und keine Sammlung von Funktionen. Das sind Bibliotheken und da lohnt es sich immer nach OSCAT zu schauen.
Gruß
Ralph