Aktuelle Werte fortlaufend in einen Array schreiben und die Summe bilden

  • VB.NET
  • .NET (FX) 3.0–3.5

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von Beerico.

    Aktuelle Werte fortlaufend in einen Array schreiben und die Summe bilden

    Hallo Zusammen,

    um es gleich vorwegzunehmen, ich habe noch nicht ganz so viel Ahnung von der Programmierung in Visual Basic.

    Ich sitze gerade daran einen PID-Regler zu schreiben und weiß nicht genau, wie ich den Integralteil programmieren kann.
    Die Formel, als solches ist mit bekannt.
    Meiner Vorstellung nach könnte ich, die x aktuellsten Werte der Setpoint-Messwert-Differenz in einen Array schreiben und diese dann aufsummieren.
    Ich weiß nicht, wie ich die Differenzwerte fortlaufend in den Array schreiben kann, sodass nach den x-Einträgen die ältesten Werte mit den aktuellen Werten überschrieben werden und ich dann noch die aktuelle Summe für die weitere Rechnung auslesen kann.

    Kann mir hier jemand weiterhelfen? Gibt es evtl. einen anderen Ansatz wie ich den Integralteil einfacher berechnen kann?

    Gruß
    @Beerico Willkommen im Forum. :thumbup:
    VB6 und .NET 3.5 passt nicht zusammen. Ändere den Titel Deines Threads entsprechend.
    In der Hoffnung, dass es sich um VB.NET handelt, nimm eine Queue(Of Integer), gugst Du hier.
    Immer, wenn Du einen Wert reinpackst (.Enqueue(x) - das ist immer der neueste), nimm einen raus (.Dequeue()()das ist immer der älteste) - sofern mehr als n Werte drin sind.
    Die vorhandenen Werte kannst Du dann z.B. aufsummieren.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!