Hilfe Carrera Bahn

flashgorny

Level-1
Beiträge
55
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo erstmal und danke schonmal für jede Hilfe.
ensor
Bahn 3,76 m
Rundenzeit top 1.4 Sekunden
4 Sensoren http://www.conrad.de/ce/de/product/...-Diode-Reichweite-31-mm?queryFromSuggest=true

Ich muss eine Carrera Bahn mit der SPS ansteuern. Das steuern geschieht analog über eine WagoKarte von 0-10 Volt. Die Bahn ist ganz einfach als Ellipse aufgebaut und hat 4 Sensoren. Ein Sensor am Startpunkt der auch dann als bremser benutzt wird,der zweite wird als turbo benutzt,dritter für das bremsen vor der Kurve und der vierte wird als turbo benutzt und 1 bremst das ganze wieder. Ich wollte das ganze in drei Modis fahren lassen z.B Anfänger profi Weltmeister.
Ich hab schon ein kleines Programm geschrieben nur für die optimale Runde zu fahren. Wobei das Auto 20 Runden normal fährt und manchmal 1 Sensor überspringt. Ich weiß nicht woran das liegt, kann eine Fehlertoleranz sein vom Sensor. Meine Zykluszeit liegt bei 22ms und die Reaktionszeit habe ich 3ms genommen als Standart wert. Also kann das schon mal nicht sein das die CPU zu langsam ist! Wobei ich mir da nicht sicher bin, ob ich das mit der Reaktionszeit richtig gemacht hab.Das Programm habe ich nicht so schön geschrieben vielleicht habt ihr dafür ja auch besser ansetze. Habe alles im OB1 geschrieben.

gruß

flash
 

Anhänge

  • Unbenannt.png
    Unbenannt.png
    12,8 KB · Aufrufe: 81
  • Unbenannt2.png
    Unbenannt2.png
    11,3 KB · Aufrufe: 54
Hi flash

Ist schon ganz witzig für welche Problemstellungen eine SPS einsatz findet.
Klingt auf jeden Fall einladend dies nachzubauen; Dann gewinn ich vielleicht auch mal gegen
meinen Sohn.

Hängen auch die Grundlastwiederstände an der Lichtschranke (50 bzw. 100 Ohm)?
Sonst könnte die "Turn ON OFF Time" schon stark variiren!!!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also ich weiß nicht welche CPU du verwendest.
Wenn er einen Sensor nicht mit bekommt fliegt das Auto aus der Kurve oder beschleunigt nicht, richtig?
Sind es immer die selben Sensoren die fehlen?
Und deine Mehrfachzuweisungen des PAW machen das lesen des Programms nicht echt leichter


bike
 
Bike... wie will man denn bitte in FUP das PAW nicht mehrmals beschreiben? Du musst es ja mit Move lösen (Oder du beschreibst halt ein MW/DBW und beschreibst damit das PAW... aber ob es das rausreißt in diesem Fall?

Ich finde die fehlende Symbolik schlimmer!

Nun zur eigentlichen Sache:

Wie lang betätigt das Auto denn einen Sensor? Bei einer Zykluszeit von 22ms + 3ms für den Eingang müssen es mindestens 47ms sein, damit das Signal sauber erkannt wird! Vielleicht muss ein OB35 Aufruf helfen?

Grüße

Marcel
 
Bike... wie will man denn bitte in FUP das PAW nicht mehrmals beschreiben? Du musst es ja mit Move lösen (Oder du beschreibst halt ein MW/DBW und beschreibst damit das PAW... aber ob es das rausreißt in diesem Fall?

Ich finde die fehlende Symbolik schlimmer!

Nun zur eigentlichen Sache:

Wie lang betätigt das Auto denn einen Sensor? Bei einer Zykluszeit von 22ms + 3ms für den Eingang müssen es mindestens 47ms sein, damit das Signal sauber erkannt wird! Vielleicht muss ein OB35 Aufruf helfen?

Grüße

Marcel

Marcel, das kann man auch anders und besser machen auch in FUP oder KOP.
Bei dem Thema Symbolik bin ich bei dir.
Und einen Alarm OB aufrufen ist bestimmt nicht schlecht, dazu werden eben mehr Informationen gebraucht.


bike
 
... Bei einer Zykluszeit von 22ms + 3ms für den Eingang müssen es mindestens 47ms sein, damit das Signal sauber erkannt wird!...
Könntest Du das mal begründen, oder erklären, warum ein Impuls von z. B. 26ms nicht sauber erkannt wird?
Ich lese oder höre das immer wieder, habe aber noch keine plausible Erklärung für den Faktor zwei gefunden.
Gruß
Erich
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Könntest Du das mal begründen, oder erklären, warum ein Impuls von z. B. 26ms nicht sauber erkannt wird?
Ich lese oder höre das immer wieder, habe aber noch keine plausible Erklärung für den Faktor zwei gefunden.
Gruß
Erich

Das mit dem Faktor 2 kommt eigentlich vom Abtasttheorem: http://de.wikipedia.org/wiki/Nyquist-Shannon-Abtasttheorem

Dabei wird aber die Abtastfrequenz betrachtet, also die Abtastfrequenz muss mindestens doppelt so groß sein wie die Signalfrequenz.

Von daher verstehe ich die Argumentation von Matze001 auch nicht, da ein Signal mit 26ms Impulslänge ja eine Periode von 52ms hätte (19Hz). Somit würde eine Abtastung mit einer Zykluszeit von 25ms (40Hz) ausreichen...

Gruß.
 
Hi!

Womöglich hat Matze001 da einen kleinen "Dreher" reingebracht.
~Faktor 2 ist nämlich schon gültig, aber nur wenn mit dem Eingang auch ein Ausgang geschaltet wird.

Dann kann es nämlich im ungünstigsten Fall fast die doppelte Zykluszeit dauern bis der Ausgang "high" wird.

Der ungünstigste Fall wäre z.B., wenn der Eingang im OB1 ganz oben im Programm (NW1) verknüpft wird (z.B. auf einen Merker) und der entsprechende Ausgang ganz unten (NWxxxx) im OB1 zugewiesen wird.
Für den Fall, dass das NW1 gerade bearbeitet wurde und erst danach der Eingang physikalisch "high" wird, muss dann das ganze Programm durchlaufen werden (einfache Zykluszeit) bis im NW1 erneut der Eingang in der Verknüpfung abgefragt wird. Danach läuft dann das Programm bis zum Ende (nochmals fast die Zykluszeit) und erst danach wird der Ausgang zugewiesen.


Gruß,

Ottmar
 
~Faktor 2 ist nämlich schon gültig, aber nur wenn mit dem Eingang auch ein Ausgang geschaltet wird.
Dann kann es nämlich im ungünstigsten Fall fast die doppelte Zykluszeit dauern bis der Ausgang "high" wird.

Jo, das wäre der andere Fall, wo mir der Faktor 2 im Zusammenhang mit SPS-Zykluszeit eingefallen wäre :)

Gruß.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
...~Faktor 2 ist nämlich schon gültig, aber nur wenn mit dem Eingang auch ein Ausgang geschaltet wird.
Dann kann es nämlich im ungünstigsten Fall fast die doppelte Zykluszeit dauern bis der Ausgang "high" wird.
Richtig

--- Der ungünstigste Fall wäre z.B., wenn der Eingang im OB1 ganz oben im Programm (NW1) verknüpft wird (z.B. auf einen Merker) und der entsprechende Ausgang ganz unten (NWxxxx) im OB1 zugewiesen wird.
Für den Fall, dass das NW1 gerade bearbeitet wurde und erst danach der Eingang physikalisch "high" wird, muss dann das ganze Programm durchlaufen werden (einfache Zykluszeit) bis im NW1 erneut der Eingang in der Verknüpfung abgefragt wird. Danach läuft dann das Programm bis zum Ende (nochmals fast die Zykluszeit) und erst danach wird der Ausgang zugewiesen.
Nein, das Einlesen des PAE und die Ausgabe des PAA finden nur einmal pro Zyklus statt, da ist unerheblich, wo im Programm der Zugriff passiert (außer man greift im Programm direkt auf die Peripherie zu).
Gruß
Erich
 
Zurück
Oben