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

Seite 2 von 12 ErsteErste 1234 ... LetzteLetzte
Ergebnis 11 bis 20 von 117

Thema: Programmierwettbewerb, 5. Aufgabe - Inkrementalgeber Korrektur

  1. #11
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.717
    Danke
    443
    Erhielt 919 Danke für 740 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Mobi Beitrag anzeigen
    Also ich kenne auch aus einem anderen Forum regelmäßige Programmierwettbewerbe. Dort wird auch kein Vorschlag am Anfang gegeben. Man muss ja nicht mitmachen, wenn man es für sinnlos hält.
    Es find' es schon ein Unterschied, ob solche Sachen von den Admins/Mods veranstaltet werden oder von Usern wie Du und ich. Aber ich möchte da keinem zu nahe treten.

    Und natürlich muss das jeder für sich selbst entscheiden, ob und wo er komplette Lösungen im Forum veröffentlicht.


    Zitat Zitat von Mobi Beitrag anzeigen
    Ich mach es, weil mir programmieren Spaß macht und ich gerne Lösungen entwickle für besondere Aufgaben. Es ist halt Hobby und Beruf.
    Geht mir ähnlich, nur das es nicht mein (Haupt-) Beruf ist.


    Und damit genug OT.
    (Vlt. sollten die letzten Sachen auch besser zu dem anderen Thread verschoben werden.)

  2. #12
    Registriert seit
    19.01.2010
    Ort
    Graz / Austria
    Beiträge
    100
    Danke
    6
    Erhielt 10 Danke für 8 Beiträge

    Standard

    Wenn ich eine Lösung gesucht hätte, dann hätte ich euch um eine gefragt und mir nicht die Arbeit angetan dies alles so als Wettbewerb aufzubauen.

    Meinen Code habe ich bewusst nicht gepostet, um andere auf eigene Lösungen kommen zu lassen.
    Ich habe auch selbst beim 3. Programmierwettbewerb mitgemacht.
    Wie Mobi schon schrieb, ist dies Hobby und Beruf.

    Im Anhang befindet sich eine Kennwort geschütze ZIP Datei mit meinem Programmcode die sich ein jeder herunterladen kann.
    Das Kennwort werde ich am Ende dieses Wettbewerbs oder sobald die ersten anderen Lösungen hier sind veröffentlichen. Dann kann sich ein jeder selbst ein Bild davon machen, ob es das Nonplusultra ist oder ob jemand eine bessere Lösung gefunden hat.
    Angehängte Dateien Angehängte Dateien

  3. Folgender Benutzer sagt Danke zu MichaelUray für den nützlichen Beitrag:

    hucki (28.11.2013)

  4. #13
    Registriert seit
    25.11.2008
    Ort
    Westpfalz
    Beiträge
    1.550
    Danke
    187
    Erhielt 212 Danke für 186 Beiträge

    Standard

    Zitat Zitat von MichaelUray Beitrag anzeigen
    Die Maschine wird einmal referenziert und läuft dann "ewig" vorwärts...
    ...Wenn diese Abweichung zu groß wird, dann muss die Maschine gestoppt und wieder neu referenziert werden.
    Das steht für mich im Widerspruch. Entweder läuft die Achse unendlich vorwärts und muss nur bei Aus/Einschalten/Wartung referenziert werden, oder
    du musst eine Konstante/Variable als Maximum in der Aufgabenstellung vorgeben!

    MfG
    and we all support the team (S.King - Die Arena)

  5. #14
    Registriert seit
    25.06.2008
    Ort
    Blomberg/Lippe
    Beiträge
    1.293
    Danke
    51
    Erhielt 130 Danke für 124 Beiträge

    Standard

    Diese Konstante kannst du erst vor Ort herausfinden, deswegen sollte man dies als Eingangsvariable machen.
    Gruß
    Mobi


    „Das Einfache kompliziert zu machen ist alltäglich. Das Komplizierte einfach zu machen –
    das ist Kreativität“ (Charles Mingus).

  6. #15
    Registriert seit
    21.02.2011
    Ort
    Deutschland, Baden-Würtemberg
    Beiträge
    990
    Danke
    115
    Erhielt 125 Danke für 100 Beiträge

    Standard


    Dein Programmcode und der "nie gesehene" Programmcode sind zwei verschiedene Programme?

    Harald
    Das eine ist der Programmcode des Bausteins, der mit einem festen Verhältnis weiterrechnet. Dieser soll uns egal sein, wir sollen nur die Information FESTES VERHÄLTNIS davon mitnhemen.
    Sein geposteter Code ist der Baustein vorher, welcher die Encoder-Werte korrigiert, um eine, am besten vor Ort einstellbare Ungenauigkeit.

    Sind zwei verschiedene Dinge, passt schon so

  7. #16
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.717
    Danke
    443
    Erhielt 919 Danke für 740 Beiträge

    Standard

    Zitat Zitat von KingHelmer Beitrag anzeigen
    Das eine ist der Programmcode des Bausteins, der mit einem festen Verhältnis weiterrechnet. Dieser soll uns egal sein, wir sollen nur die Information FESTES VERHÄLTNIS davon mitnhemen.
    Sein geposteter Code ist der Baustein vorher, welcher die Encoder-Werte korrigiert, um eine, am besten vor Ort einstellbare Ungenauigkeit.
    Das sehe ich nicht so.

    Sein Freund hatte das Problem und einen entsprechenden Baustein für den realen Einsatz programmiert.
    Und Michael hat dann aus Interesse (auch weil er den Baustein seines Freundes nicht gesehen hat) eine eigene Lösung entworfen, die sich zwar nicht im realen Einsatz aber dafür jetzt in obiger zip befindet.

  8. #17
    Registriert seit
    25.06.2008
    Ort
    Blomberg/Lippe
    Beiträge
    1.293
    Danke
    51
    Erhielt 130 Danke für 124 Beiträge

    Standard

    Sein Bekannter hat einen fertigen Baustein für den Geber zum auslesen. Dieser Baustein nimmt aber nur feste Übersetzungsverhältnisse an. Von dem Ausgang des Bausteins bekommen wir den Wert, den wir korrigieren müssen. Was ist an der Aufgabenstellung so schlecht zu verstehen? Das ist ja wie in der Schule. Die einen diskutieren noch mit dem Lehrer über die Aufgabe und haben noch nicht mal angefangen und die anderen sind schon fertig.
    Gruß
    Mobi


    „Das Einfache kompliziert zu machen ist alltäglich. Das Komplizierte einfach zu machen –
    das ist Kreativität“ (Charles Mingus).

  9. #18
    Registriert seit
    19.01.2010
    Ort
    Graz / Austria
    Beiträge
    100
    Danke
    6
    Erhielt 10 Danke für 8 Beiträge

    Standard

    Hier nocheinmal die vereinfachte Aufgabenstellung:
    [Wert von Inkrementalgeber] -> (unkorrigierter Wert) [Geforderter Baustein] (korrigierter Wert) -> [Baustein welcher die Positionierung durchführt]

    Der geforderte Baustein muss die Ungenauigkeit welche vom Inkrementalgeber kommt korrigieren.
    Man weiß z.B. das der Inkrementalgeber alle 1000 Einheiten um -1 korrigiert werden muss. Die Werte ab wie vielen Einheiten um wie viel korrigiert werden soll, muss natürlich dem geforderten Baustein irgendwie übergeben werden.
    Dieser korrigierte Wert soll dann am Ausgang herauskommen und in danach folgenden Bausteinen weiterverarbeitet werden können.


    Für alle die es interessiert, in Wirklichkeit kommt der Inkrementalgeber Wert von einem Frequenzumformer an den dieser angeschlossen ist und dieser wird über CANopen zur SPS übertragen.
    Der Baustein welcher diesen Wert dann weiterverarbeitet ist geschlossen und hier findet dann anscheinen auch die Verhältnissberechnung statt.
    Mein Freund programmiert dies nicht selbst, sondern es ist ein Kollege von ihm aus seiner Firma. Er selbst ist nur der Spezialist für die Antriebstechnik und wurde dadurch mit diesem Problem konfrontiert. Daher habe ich auch nur sehr rudimentäre Informationen darüber bekommen, wie das nachfolgende Progamm aufgebaut ist und warum sich der Wert dort nicht ändern lässt.
    Es ist richtig, dass sich mein Baustein nicht im realen Einsatz befindet. Möglichweise sind daher auch in meinem Programmcode noch Fehler enthalten, ich selbst konnte bei meinen Versuchen keine mehr finden.
    Geändert von MichaelUray (30.11.2013 um 22:55 Uhr)

  10. #19
    Registriert seit
    06.10.2003
    Beiträge
    3.411
    Danke
    451
    Erhielt 506 Danke für 408 Beiträge

    Standard

    Zitat Zitat von Mobi Beitrag anzeigen
    .. Das ist ja wie in der Schule. Die einen diskutieren noch mit dem Lehrer über die Aufgabe und haben noch nicht mal angefangen und die anderen sind schon fertig.
    Tja, die anderen haben wohl das Thema verfehlt. Auch Lernen will gelernt sein, Mobi.

    Gruß, Onkel
    Es gibt viel mehr Leute, die freiwillig aufgeben, als solche, die echt scheitern.
    Henry Ford

  11. #20
    Registriert seit
    19.06.2003
    Beiträge
    2.200
    Danke
    85
    Erhielt 259 Danke für 175 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Also, wenn ich das jetzt richtig verstehe kommen z.B. nacheinender
    492, 497, 100, 514,1016,198 Impulse
    Die Ausgabe wäre:
    492, 497, 101, 514,1017,198 Impulse (oder 492, 497, 99, 514,1015,198 Impulse) ?
    Weil die Korrektur "klein" ist, unterscheidet sich der korrigierte Wert nur alle paar Mal vom Eingangswert. Innen im Baustein ist die Summe der Divisionsreste mitzuführen.

    Was wenn nun gefordert wäre 823 für 747 Impulse auszugeben?

    492*823/747 = 542 Rest 42
    (42+497*823)/747 = 547 Rest 464
    (464+100*823)/747 = 110 Rest 594
    (594+514*823)/747 = 567 Rest 67
    (67+1016*823)/747 = 1119 Rest 342
    (342+198*823)/747 = 218 Rest 450

Ähnliche Themen

  1. Programmierwettbewerb, 4. Aufgabe
    Von Onkel Dagobert im Forum Stammtisch
    Antworten: 6
    Letzter Beitrag: 15.12.2011, 18:57
  2. Programmierwettbewerb, 3. Aufgabe
    Von Chräshe im Forum Stammtisch
    Antworten: 7
    Letzter Beitrag: 05.12.2011, 20:43
  3. Programmierwettbewerb, 2. Aufgabe
    Von LargoD im Forum Stammtisch
    Antworten: 14
    Letzter Beitrag: 02.08.2011, 22:27
  4. Bitte um korrektur
    Von Arnold999 im Forum Simatic
    Antworten: 34
    Letzter Beitrag: 15.06.2010, 21:21
  5. Mechanische Korrektur
    Von PG710 im Forum Simatic
    Antworten: 11
    Letzter Beitrag: 20.11.2008, 15:26

Stichworte

Lesezeichen

Berechtigungen

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