Programmierung einer Treppenfunktion in Codesys

2009-01-19
2009-01-20
  • guynougouapi - 2009-01-19

    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;

     
  • Chris1977 - 2009-01-19

    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

     
  • guynougouapi - 2009-01-20

    Hallo,

    wie realisiere ich jetzt einen oszillator, da Codesys keinen Baustein dafür zur Verfügung steht?

    LG Guy

     
  • Ralph Holz - 2009-01-20

    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

     

Log in to post a comment.