# Aufzugsteuerung



## the bang 2 (15 Juni 2007)

Abend,
ich habe in der Arbeit die Aufgabe einen Aufzugsimulator mit S7 zu programmieren. Der Simulator besteht aus 5 Stockwerken, jedweils mit zwei Tastern für hoch und runter. Dazu kommt noch ein Ini pro stockwerk, der die position erfasst.

Nun überleg ich die ganze zeit, wie ich den Aufzug so realistisch wie möglich programmier - jemand ne idee, wie ich das regel, wenn z.b. mehrere Taster gedrückt werden, dass der Aufzug dann prioritäten setzt?


----------



## nade (16 Juni 2007)

Wie zu Programieren hab ich kein Plan von, aber 100% gleichzeitig geht nicht, einer wird immer ein Tick früher an sein. Also würde die Fahrtrichtung (ist) mit gewünschter Fahrtrichtung vergleichen, und dann auswerten, welcher näher an der ist-Position liegt.
Fände es etwas unlogisch wenn der im 5. Stock zuerst betätigt wird, aber der Aufzug sich gerade vom 1. ins 2. Stockwerk bewegt und der im 3. auch nach oben will.


----------



## mega_ohm (17 Juni 2007)

the bang 2 schrieb:


> Abend,
> ich habe in der Arbeit die Aufgabe einen Aufzugsimulator mit S7 zu programmieren. Der Simulator besteht aus 5 Stockwerken, jedweils mit zwei Tastern für hoch und runter. Dazu kommt noch ein Ini pro stockwerk, der die position erfasst.
> 
> Nun überleg ich die ganze zeit, wie ich den Aufzug so realistisch wie möglich programmier - jemand ne idee, wie ich das regel, wenn z.b. mehrere Taster gedrückt werden, dass der Aufzug dann prioritäten setzt?


 
Eines der größten Probleme hast Du noch gar nicht betrachtet !


> Nun überleg ich die ganze zeit, wie ich den Aufzug so realistisch wie möglich programmier ...


Wenn es um "realistisch" geht, kann man einige Faktoren ausschließen oder weniger gewichten... Aber man muß den Störfaktor MENSCH (größte Fehlerquelle jeder Automatisierung) sehr, sehr berücksichtigen.


Was wäre, wenn:

Im Fahrkorb dieses Aufzuges stehen 5 Kids, die sich ein Späßle daraus machen, ständig den Aufzug mit wilder Tastendrückerei "zu beschäftigen".
Irgendwann steht aber in jeder Etage dieses Wohnhauses jemand, der tatsächlich den Lift dafür beanspruchen würde, zu seinem Ziel zu kommen.
(Haus verlassen, in das Haus kommen und eine Etage gewählt)
Was hätte Priorität?
So ein Aufzug kann nicht wissen, daß Kinder "spielen". Ebenso könnte Tante Erna in jeder Etage die Brötchen abliefern.... und weil sie schon etwas älter ist, hat sie die Anzahl der Brötchen pro Etage verwechselt und muß deshalb mehrfach .... (die Etage anfahren, aber sie ist Rentnerin... sie hat Zeit)
_______________________________________________________________

*Ich habe es gesehen:*
In einem 5-stöckigen Hotel in Budapest (Anlage von Otis), 2 Aufzüge...
Einer der 2 Lifte wartet immer, nachdem der Job erledigt ist, im Geschoß der Rezeption, der andere wird in "Mittelstellung" geparkt.
Ein Aufzug schafft max. 800kg.
Wird von der "Rezeptions- Etage" mehrmals die "Ruf"- Taste betätigt, fahren *beide* Aufzüge in "Wartestellung Rezeption". 
(Es kamen 4 Reisebusse mit dementsprechend Leuten= Anreise)
Diese Leute wurden auf 2 Etagen 'verteilt'

Bei der Abreise:
Beide Aufzüge fuhren, wenn keine andere "Ruftaste" betätigt wurde, vorrangig in diese 2 Etagen (wegen mehrfacher Anwahl innerhalb einer Zeit).

Was passiert wäre, wenn die Abreisenden in den oberen Etagen 'das Gnöbbsche' drücken, im Rezeptions-Geschoß aber mehrere Leute auch... ?
Das konnte ich nicht erleben !!
Ich vermute aber mal, dann hätten die Anreisenden (im Rezeptions- Geschoß) bessere Karten als die Abreisenden.


 Ich war beeindruckt von dieser Steuerung....


----------



## TommyG (17 Juni 2007)

Ich würde 

jeden Fahrwunsch, also 1x pro Etage in einem Merker speichern. Wenn der Aufzug die Etage ereicht hat und die Tür öffnet ( abhängig Fahrtrichtung), erst dann wird der Merker zurückgesetzt. 

Die wildeste Projektarbeit die ich sehen durfte war ein Aufzug mit Ikrementaltechnik. also 2- Draht zu jeder Etage und ne Menge Zähler im Programm. Gefahren wurde das Ding mit 2 simultenen Gewindespindeln und hatte sogar die Zulassung eine Aufzugsunternehmens.

Gruß


----------



## mega_ohm (18 Juni 2007)

TommyG schrieb:


> Ich würde
> 
> jeden Fahrwunsch, also 1x pro Etage in einem Merker speichern. Wenn der Aufzug die Etage ereicht hat und die Tür öffnet ( abhängig Fahrtrichtung), erst dann wird der Merker zurückgesetzt.
> 
> ...


 
Dein Vorschlag (ich habe keinen  ) funktioniert... irgendwie.
Realistisch ist er aber eher nicht. Früher hatten die Leute Zeit, auf
den Lift zu warten... heute geht es schon fast um "Leben oder Tod", mal
ein paar Sekunden oder Minuten auf den Aufzug zu warten.

Nebenbei muß man auch betrachten, daß ein Aufzug aus rein psychologischen Gründen weit vor Erreichen seiner Zielposition langsam abgebremst wird.
Dementsprechend vermute ich mal, daß es entweder Vorendschalter gibt, oder tatsächlich inkremental (mittels geeigneter Geber und Referenzpos.)die Position ermittelt wird.

Kleine Aufzüge (bis ca. 4 Etagen habe ich es gesehen) werden hydraulisch
angetrieben. Wie will man da die Ist-Pos erfassen ? (außer über irgendwelche externen Geber)

Bei meinen Eltern wurde jetzt der Aufzug komplett neu überholt. (Neuer Fahrkorb, neue Steuerung...)
Dieser Fahrkorb wird nach wie vor mittels Stahlseilen und Gegengewicht bewegt. In diesem Fall könnte ich mir eine Steuerung über Positionierregler
und mehrerer Referenzpunkte vorstellen.

Dein Lösungsvorschlag kann vielleicht den "Spieltrieb" der Kids ausgrenzen,
überbeansprucht die Nerven mehrerer gleichzeitiger Fahrgäste, die unterschiedliche Ziele haben, aber schon...
Wirkungsvoll verhindert würden aber die Vertreterbesuche.


----------



## the bang 2 (22 Juni 2007)

sooo, ich hab mir das ding nochmal angeschaut, das wird ein wenig komplizierter als auf den ersten Blick. Das Problem ist, dass die positionierung nicht über initatoren erfolgt.

Das Hebeseil der Kabine wird über eine Art Zahnrad gezogen. An der Seite des Zahnrads sind zwei vermutlich kapazitive Sensoren angebracht, die meiner Meinung nach die Zähne zählen, die bei einer Fahrt vorbeilaufen. Anhand dieser erfolgt wohl die Positionierung der Kabine.


----------



## Syntaxfehler (22 Juni 2007)

Falls du interesse an eine PDF Datei hast wie du was genau programmieren solltest, mail mir deine Email mal. Ich habe eine Aufzugs Dokumentation, die komplett alles erklärt. Dies war ein Projekt an einer Technikerschule.

Gruß
Syny


----------



## drfunfrock (27 Juni 2007)

Ich würde zwischen Fahrlogik (Bremsen, Beschleunigung, Stopp)  und Kontrollogik für für die Anforderungen unterscheiden. Dann kann man beides von unabhängig voneinander testen und implementieren. 

Dann wäre eine Funktion für die Fahrlogik: 

FahrZuEtage(int Etage) 

Die anderen für die Kontrolllogik wären: 

AnforderungFahrstuhl(int VonEtage, int Richtung)
AnforderungZiel(int VonEtage, int NachEtage)

Damit lassen sich dann verschiedenste Modelle realisieren, indem man einfach die FB dahinter austauscht. 

Im Falle der Kontrollogik fällt mir 1 Modell ein: 

Ein Fahrstuhl ändert eine einmal eingeschlagene Richtung nicht. Alle Etagen werden in einem Bit- oder Integerarray abgebildet. Für jede Anforderung wird eine 1 gesetzt. Wenn eine 1 gesetzt ist und der Fahrstuhl vorbei kommt, hält dieser dort. Wenn keine Anforderungen in der aktuellen Richtung mehr vorliegen, kann eine Richtungsänderung vorgenommen werden.


----------

