Forum
Tipps
News
Menu-Icon

Fahrstuhl

 So ich habe mal wieder ein Prob. Ich muss ein Fahrstuhl Programmieren, aba irgendwie klappt das Programm nicht so wie ich will. Die Sprache mit der ich das geschrieben habe is Automation Basic (normales Basic) Ich hoffe mir kann da jemand helfen. Mir glüht der Kopf.

Zitat
select
   state Abfrage
      when Knopf_1 = 1
         next E_1
      when Knopf_2 = 1
         next E_2
      when Knopf_3 = 1
         next E_3
      when Knopf_4 = 1
         next E_4
      when Knopf_5 = 1
         next E_5
   state E_1
      when Knopf_1 = 1
         Opendoor = 1
         Sensor = 1
         Halt_Etage = 1
         next Wait
   state E_2
      when Knopf_2 = 1
         Opendoor = 1
         Sensor = 1
         Halt_Etage = 1
         next Wait
   state E_3
      when Knopf_3 = 1
         Opendoor = 1
         Sensor = 1
         Halt_Etage = 3
         next Wait
   state E_4
      when Knopf_4 = 1
         Opendoor = 1
         Sensor = 1
         Halt_Etage = 4
         next Wait
   state E_5
      when Knopf_5 = 1
         Opendoor = 1
         Sensor = 1
         Halt_Etage = 5
         next Wait
   state Wait
      when Opendoor = 1
         Closedoor = 1
         Opendoor = 0
         Sensor = 0
         next Abfrage
endselect

Antworten zu Fahrstuhl:

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Was passiert denn da? Musst du den Knopf nicht irgendwo wieder auf 0 setzen, wenn der Fahrstuhl in der entsprechenden Etage angekommen ist? Ich kenne das automation Basic nicht, aber für mich sieht das so aus, dass der Fahrstuhl nur nach unten fahren kann bzw. dann immer in der 1. Etage bleibt.
Und bei dem Abfrage-State noch einen zusätzlichen Fall falls kein Knopf gedrückt ist?

when <kein Knopf gedrückt>
    next Abfrage
 
« Letzte Änderung: 04.03.08, 14:41:47 von Lisaa »

Naja ähm das ist ein Schrittschaltwerk, wenn der Knopf_1 gedrückt wurde, dann springt er in den schritt E_1 und dort wird dann gemerkt, wo der fahrstuhl is usw. Und wenn der schritt Wait durchlaufen wurde, srpingt er wieder in den Schritt Ablauf zurück und wartet auf neue befehle,

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Schon klar. Mal angenommen Knopf_1=1. Dann springt er zu E_1, dann zu Wait, dann zu Abfrage. Ist Knopf_1 dann nicht immer noch 1 und alles beginnt von vorne? Immer wieder?
 

Ne dort wo ich das Programmiere, kann man einstellen, ob der Taster Toggeln soll oder ob er fest gesetzt bleiben soll.

 ??? ??? ??? ??? könnte mir da bitte noch jemand helfen?

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
Bei E_2 steht
         Halt_Etage = 1

das müsste 2 sein. Ansonsten: Was macht das Programm denn im Moment, wie verhält es sich "falsch"?

jo also naja es macht nicht das was ich eigendlich wollte, also wenn ich den Startknopf drücke, passiert nichts. 

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Und was wolltest du eigentlich? Was soll *genau* passieren, wenn du den Startknopf drückst? Wie wird der Fahrstuhl initialisiert (wo befindet er sich am Anfang, sind die Türen auf oder zu, ...)? Wie bekommt er seine Befehle (hast du irgendwelche Buttons, die du drückst, geht das über ein Script, per Zufall, ...)? Hast du nen Debugger o.ä., wo du den Zustand der Variablen sehen kannst? Was wird angezeigt? Was sollte angezeigt werden?
Wir sind alle keine Hellseher hier. Ohne detaillierte Infos wird dir hier niemand helfen können.

also ich habe da dieses Fahrstuhlprogramm geschrieben. Jede  Knopftaste im Programm stellt eine Knopftaste in der realität dar. Der Fahtstuhl soll zu allererst in der ersten Etage stehen. Danach soll er immer je nach anfrage nach oben und unten fahren. Also er steht dann irgendwo zwischen der ersten und der letzten etage. z.B. Ich habe diesen Fahrstuhl jetzte mal gebaut. ich habe die Kabiene so aufgehangen, dass sie genau bei der ersten Etage platziert ist. so der fahrstuhl ist fertig. nun kommt mein erster fahrgast und will in die vierte Etage. Dazu muss er den Knopf drücken, wo die vier draufsteht. Dann fährt der Fahrstuhl hoch. bei jeder Etage gibt es drei Sensoren und sie steuern den Motor von dem Fahrstuhl. Wenn jetz dann der fahrgast sich dem vierten Stock nähert, sagt der sensor eins, dass der motor seine Geschwindigkeit (nehmen wa ma an dass der fahrstuhl mit 20 kmh fährt) langsam auf 15 kmh verringert. der sensor zwei sagt dann das der Fahrstuhl seine Geschwindigeit fünfteln `(natürlich auch langsam) soll (also auf rund 3 kmh ) der sensor drei, der genau auf etagen höhe sitzt, sagt dem fahrsuhl dass er halten soll und die Türen sich öffen sollen. nun wartet dort der fahrstuhl mit offenen türen.  sobald dann aus irgendeinem stockwerk eine anforderung kommt, schließt er die türen und fährt entweder hoch oder runter je nach anfrage. .......... Ich habe ja eine SPS steuerung an meinem Computer hängen, wenn ich dann auf run gehe, kann ich sehen, wie sich die variablen verhalten und wo sich der fahrstuhl befindet. Dazu kann ich noch auf einem seperaten Computer eine Visualisierung laufen lassen, die mit den Variablen meines Programms verknüpft ist. Ich hoffe, das war detailliert genug, sorry, hatte nicht dran gedacht.   

« Letzte Änderung: 16.04.08, 08:17:21 von Pfönix »

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Das ist schon mal ein Anfang... so sieht das Ganze doch etwas komplexer aus, als ich bisher dachte.
Es passiert also nichts? Kannst du nochmal den aktuellen Quelltext (möglichst komplett) posten - ich nehme an, dass das oben nicht mehr wirklich aktuell ist (jedenfalls passt es überhaupt nicht zum gewünschten Verhalten).
Wie würdest du überhaupt deine Erfahrung mit dem Kram einschätzen? Hast du sowas schonmal zum Laufen gebracht (dann könnte man generelle Fehler (Ansteuerung der HW, Syntax, etc.) ggf. ausschließen)?

ne noch nie sonst wüsste ich ja was ich machen muss. naja mein chef hatte gemeint, dass diese aufgabe zu schwer für mich sei, aber ich versuch das trotzdem weiter, aba ich muss jetzt ein anderes Programm benutzen, das CoDeSys heiß´t, das kann eine SPS-Steuerung simulieren. Dort Teilt man das alles in einzelne Abläufe ein und fügt sie dann in einem Baustein zusammen. Ich soll jetzt einen Kistenlift machen, der soll nur 2 Etagen haben. und bei jeder Etage ist ein Förderband. im lift ist auch noch eins, das sich synchron mit den äußeren der jeweiligen etage einschaltet. Ich könnte hardkopys von meinem programm erstellen, das würde zwar nen bissi aufwändig werden aba es müsste klappen. Naja der Quelltext oben ist aber noch aktuell, ich habe da dran nicht weitergearbeitet, weil ich noch viele andere aufgaben erledigen musste.
naja ich halt euch aufm laufenden
 

danke leute, obwohl ihr mich nicht viel helfen konntet, habt ihr mich in die richtige gedankenrichtung gebracht.dafür danke ich euch. Ich habe nun das Fahrstuhlprob gelöst, indem ich einen Kontaktplan erstellt habe. (er ist zu groß um ihn hier reinzustellen) Nun funktioniert endlich alles so wie ich es mir vorgestellt habe.

 


« pieslice - Öffnung untenProgrammieren lernen. »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
Internet-Zugriffsprogramm
Ein Internet-Zugriffsprogramm, auch Browser genannt, stellt Internetseiten für den Benutzer dar. Am bekanntesten ist der Microsoft Internet Explorer, gefolgt vom kos...

Programm
Siehe Software...

Scriptsprache
Eine Scriptsprache ist eine Softwareeigene Programmiersprache, mit der der Anwender Skripte oder Makros für häufig vorkommende Arbeitsabläufe schreibt. Ein...