Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 14

Thema: Lageregler - überwachen ob er richtig funktioniert

  1. #1
    Registriert seit
    22.07.2006
    Beiträge
    132
    Danke
    24
    Erhielt 18 Danke für 12 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    Ich habe einen einfachen Lageregler geschrieben, der nach dem Prinzip:
    v=sqrt(2*s*a)
    funktioniert.
    Abhängig von dem Abstand zum Ziel(s) und der parametrierten Beschleunigung(a) wird die Sollgeschwindigkeit berechnet.
    Der Lageregler funktioniert auch gut, obwohl die untergelagerte Drehzahlsteuerung ziemlich ungenau arbeitet.

    Jetzt würde ich noch gerne die Zeit berechnen die, der Lageregler braucht um das Ziel zu erreichen.
    Da Beschleunigung und Verzögerung bekannt sind, müsste das auch einigermaßen funktionieren. Der Fall wo bis v_max beschleunigt werden kann ist auch einfach. Aber was ist dort, wo das nicht der Fall ist, da fällt mir gerade nicht ein, wie ich es am besten ausrechne...


    Zusätzlich überwache den Strom, wenn dieser zu groß wird, klemmt irgendwas. Funktioniert gut
    Zitieren Zitieren Lageregler - überwachen ob er richtig funktioniert  

  2. #2
    Registriert seit
    20.12.2007
    Beiträge
    48
    Danke
    2
    Erhielt 4 Danke für 4 Beiträge

    Standard

    V = a * t
    daraus solltest du deine gesuchte Zeit errechnen können,
    solange S < Vmax^2/(2 * a).

  3. #3
    Registriert seit
    24.10.2010
    Beiträge
    9
    Danke
    6
    Erhielt 10 Danke für 9 Beiträge

    Standard

    nur 'mal angemerkt:

    Falls die Hardware auf der der Algorithmus läuft eine SIEMENS S7 ist, sollte man darauf achten, dass der OB1 kein Realtimeverhalten hat. Die Zykluszeit, also die Widerholungsrate mit der die Formeln bearbeitet werden, ist eine Funktion der CPU Auslastung. Alle zeitbezogenen Berechnungen (Geschwindigkeit, Beschleunigung, Integration) liefern also erhebliche Fehler. Vielleicht ist das der Grund für die ziemlich ungenaue unterlagerte Drehzahlregelung, die Merten anspricht.

    Dafür gibt es die OB 30 Bausteine. Diese haben ein festes Timing. Der FB oder FC mit dem Regelalgorithmus sollte aus einem dieser Bausteine aufgerufen werden. Allerdings ist dann auch für den synchronen Refresh der kritischen Ein- Ausgänge zu sorgen.

    Nun hoffe ich 'mal dass Mertens mit einer Hardware arbeiten darf, dessen Entwickler ihre Hausaufgaben besser gemacht haben als jene Herren in Erlangen oder Karlsruhe, die zwar nie ein Ingenieurspatent erhalten hätten wenn sie nicht Realtime-Multitasking herbeten gekonnt hätten, aber diese Selbstverständlichkeit nicht in die Schöpfung jener SPS einfliessen liessen, die weltweit als DAS Deutsche Qualitätsprodukt schlechthin dastehen muß.

    ...übrigens: die Guys aus Milwaukee haben da auch Defizite..




    BFlat
    mit einer hoffentlich überflüssigen Anmerkung
    Geändert von BFlat (09.12.2010 um 17:16 Uhr) Grund: Orthographie
    Zitieren Zitieren Realtime  

  4. Folgender Benutzer sagt Danke zu BFlat für den nützlichen Beitrag:

    bimbo (14.01.2011)

  5. #4
    Merten1982 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    22.07.2006
    Beiträge
    132
    Danke
    24
    Erhielt 18 Danke für 12 Beiträge

    Standard

    die Drehzahlregelung mach nicht ich, sondern ein anderer CAN Bus Teilnehmer.

    Ich MUSS leider mit einer Siemens S7 arbeiten.
    Ich nehme aber auch den OB35 und arbeite nicht mit dem Prozessabbild das nur im OB1 aktualisiert wird.

    Man kann aber auch den OB1 verwenden, denn in einer 319CPU ist die Zeitauflösung recht gut. Man benötigt dann nur Regler die mit dynamischen Zyklus. Habe ich auch schon gemacht.

    Aber schlecht finde ich S7 bezüglich der "Threads" auch

  6. #5
    Registriert seit
    20.12.2007
    Beiträge
    48
    Danke
    2
    Erhielt 4 Danke für 4 Beiträge

    Standard

    OB1 ist die schlechteste Wahl für (dynamische) Regelungen allgemein, da das Zeitverhalten nicht vorhersagbar ist. Hier benötigt man, wie BFlat schon schrieb konstante Abtastzeiten wie sie von OB30 - OB38 zur Verfügung gestellt werden.
    _____________________________________________________________
    Männer schnarchen, um Frauen nachts vor wilden Tieren zu beschützen!

  7. #6
    Registriert seit
    24.10.2010
    Beiträge
    9
    Danke
    6
    Erhielt 10 Danke für 9 Beiträge

    Standard

    Hallo Mertens,

    kannst Du mir 'mal bitte auf die Sprünge helfen?
    Was verstehst Du bitte unter "Threads"?



    Happy Schneeräumen,
    BFlat

  8. #7
    Merten1982 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    22.07.2006
    Beiträge
    132
    Danke
    24
    Erhielt 18 Danke für 12 Beiträge

    Standard

    Ich programmiere ja zum Glück nicht nur S7 sondern auch manchmal ein C/C++ Programm unter Linux.

    Das was Siemens mit OB3X und OB1 macht, sind im Endeffekt ja nichts anders als dass, was in der Hochensprachenwelt als threads Bezeichnet wird.
    Wobei man sich jetzt drüber streiten könnte, ob es Threads oder Prozesse sind...
    http://de.wikipedia.org/wiki/Thread_%28Informatik%29

  9. Folgender Benutzer sagt Danke zu Merten1982 für den nützlichen Beitrag:

    BFlat (12.12.2010)

  10. #8
    Registriert seit
    29.03.2004
    Beiträge
    5.735
    Danke
    143
    Erhielt 1.686 Danke für 1.225 Beiträge

    Standard

    Zitat Zitat von Merten1982 Beitrag anzeigen
    Das was Siemens mit OB3X und OB1 macht, sind im Endeffekt ja nichts anders als dass, was in der Hochensprachenwelt als threads Bezeichnet wird.
    Wobei man sich jetzt drüber streiten könnte, ob es Threads oder Prozesse sind...
    http://de.wikipedia.org/wiki/Thread_%28Informatik%29
    Eigentlich sind die Siemens Zeit-OBs aber Interrupts. Denn der Code im Interrupt wird so lange ausgeführt bis er fertig ist, oder von einem höher priorisierten Interrupt unterbrochen wird. Ein Thread bekommt (je nach System) vom Betriebssystem einen festen Zeitschlitz zugeordnet.

  11. Folgender Benutzer sagt Danke zu Thomas_v2.1 für den nützlichen Beitrag:

    BFlat (12.12.2010)

  12. #9
    Merten1982 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    22.07.2006
    Beiträge
    132
    Danke
    24
    Erhielt 18 Danke für 12 Beiträge

    Standard

    Da haste recht.

    BTW.:
    Bei linux mit RT-Patch ist ein Interrupt auch ein Thread bzw. Prozess mit eigener Priorität.

    Das ganze Handling finde ich hier bei S7 einfach nicht so toll.
    Manchmal will ich gar keinen OB1 sondern nur einen OB35.
    Dann gehts aber los, was ist mit dem Prozessabbild und was ist mit der Datenübertragung zum Touchpanel. Die Rechenzeit zur Datenübertragung ist sind ja ?% des OB1 Zyklus. Dann übertrage ich noch Daten per TCP/IP, wann und wo macht die CPU das? Dann nutze ich noch Funktionen wie Synchronisation per NTP, wann und wo macht die CPU das? Usw.
    Dann hat die eine CPU einen Background OB die andere wieder nicht...


  13. #10
    Registriert seit
    07.06.2010
    Ort
    Vorderpfalz
    Beiträge
    34
    Danke
    2
    Erhielt 18 Danke für 7 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Merten1982 Beitrag anzeigen
    ...

    Das ganze Handling finde ich hier bei S7 einfach nicht so toll.
    ...
    Deswegen sieht das bei den Antriebscontrollern (D4x5) ja auch gänzlich anders aus. Die S7 ist wohl eher nicht dafür gebaut.

Ähnliche Themen

  1. Antworten: 1
    Letzter Beitrag: 14.10.2010, 10:13
  2. S7/224XP PTO funktioniert nicht richtig
    Von rerdma3s im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 11.08.2010, 20:19
  3. Tazer funktioniert nicht richtig
    Von Automatik-Holgi im Forum Elektronik
    Antworten: 4
    Letzter Beitrag: 08.08.2010, 12:40
  4. Kurvenanzeige funktioniert nicht richtig
    Von MeisterLampe81 im Forum HMI
    Antworten: 2
    Letzter Beitrag: 22.12.2009, 06:46
  5. SFB4 funktioniert nicht richtig auf 416-2DP
    Von Astralavista im Forum Simatic
    Antworten: 35
    Letzter Beitrag: 24.12.2008, 13:53

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •