Anfänger am Verzweifeln

I_NEED_HELP

Level-1
Beiträge
10
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo, nachdem ich jetzt 2 Tage am versuchen und ausprobieren bin dachte ich ihr könnt mir vlt. helfen.
(Steuerung:Fahrstuhl)
3 Unterprogramme: Eins zum Auswerten wo der Fahrstuhl sich befindet bzw. in welchem Stockwerk er ist, die beiden anderen jeweils Runterfahren und Hochfahren.
Wenn ich Nun die Position vom Fahrstuhl angebe, er Sie mit seinem Ziel vergleicht, erhalte ich einen Wert für sagen wir das Hochfahren.
Diese Werte gebe ich weiter an das andere Unterprogramm wo ich die Neue Position (Alte+1) Im ersten Wieder angeben möchte damit er die neue Position erhält.
Das problem liegt nun in der Übertragung weil codesys ja alles überschriebt, gibt es einen Baustein(Vlt. einen wo der Ausgang nur einen Wert annimmt, wenn... und wenn nichts geschieht er nicht auf Null sondern garnichts macht) um dies zu Umgehen oder habt Ihr eine Idee?
Hoffe das Problem ist irg. wie klargeworden.:)
vielen Dank euch
 
Ich hab es zwar nicht ganz verstanden, aber was verstehst du unter gar nichts macht? Irgendeinen Wert braucht der Ausgang aber doch?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Nix verstanden:cry:
Aber, wenn Du Flanken einsetzen würdest, dann könntest Du Änderungen auswerten. Ändert sich nix, dann bleibt alles beim Alten.
Oder keine direkte Bool-Ansteuerung?
 
Benutz doch die Suchfunktion im Forum.
Also zum beliebten Hausaufgaben-Thema Fahrstuhl findest du genug.

Gruß
Dieter
 
Vielen Dank schonmla für die superschnelle Antwort,
Es ist kein Boolscher Wert den ich Überschrieben will sondern ein Integer. Ich lasse quasi die position je nach befehl über CTUD hoch oder runter zählen; Positionsveränderung des Fahrstuhls. DIe neue Position soll nun im ersten Unterprogramm eingelesen werden, als Integer. Wenn ich jedoch einen Startwert setze hat er im letzten Unterprogramm automatisch eine NUll für die neue Position und schreibt die Oben ins Programm. Hoffe jetzt ist es vlt. Klarer. Ich begebe mich jetzt auf Forums Suche.:) Besten Dank nochmal
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
im Gegensatz zu den meisten Hausaufgabensuchenden hast Du schonmal einen Lösungsansatz erarbeitet. Stell den problematischen Code doch bitte mal hier rein, da kann dir konkreter geholfen werden.

Gruß
Mario
 
Hauptprogramm.JPGUnterprogramm1.JPGUnterprogramm2.JPGUnterprogramm3.JPGUnterprogramm4.JPG

Weiß nciht wie ich FUP bzw. ob sich FUP als code darstellen lässt, also Bilder. Hab den counter jetzt durch ADD's ersetzt, ist für mich verständlicher. Danke
 
Am Eingang des ADD brauchst du eine positive Flanke. Sonst zählt er bei jedem Zyklus.
Der Zähler macht diese Flankenauswertung automatisch.

Gruß
Dieter
 
Zuviel Werbung?
-> Hier kostenlos registrieren
wäre es nicht übersichtlicher für jede Etage einen eigenen FB zu basteln ?

Im Prinzip dann pro Etage den FB kopieren und nur noch parametrieren, wäre bestimmt übersichtlicher, oder ?

Hab aber selber so einen Fahrstuhl noch nicht programmiert...

MfG CAS
 
also die Flanke bei den ADD's funktionieren soweit ich das beurteilen kann. Das Problem ist, wenn ich jetzt annehme das der Fahrstuhl in Postion eins, also Pos_Fahrstuhl = 1 setze, überschreibt er ohne im Unterprogramm mit dem Wert 1 zu arbeiten, da im Unterprogramm Positions_Schreiber direkt eine Null für Pos_Fahrstuhl ausgegeben wird. Wie kann man das Umgehen, mit einem Speicher/FlipFlop? Danke und ein gute WE.:)
 
Deklariere mal in deinem Positionsschreiber die Variable PN als IN-OUT-Variable.
Vielleicht klappt es dann.

Gruß
Dieter
 
bin wirklich beeindruckt wie interessiert und engagiert hier die menschen sind

Dass dir geholfen wurde liegt daran, dass du dich selber bemüht hast.
Du hast dich mit deiner Aufgabe auseinander gesetzt und hast ein konkretes Problem mit der Umsetzung gehabt.
Auf dieser Basis helfen wir gerne.
Was gar nicht funktioniert ist, wenn jemand fertige Lösungen haben will.

Gruß
Dieter
 
servus ich bins wieder, problem: eingabeliste im codesys erstellen in der ich prioritäten zuordnen kann. (fahrstuhl soll alle hochfahrten absolvieren bevor er nach unten die befehle wahrnimmt) gibt es so alternativen.

danke
 
Ich hab jetzt nicht den ganzen Fred gelesen...

Hast du an jeder Etage nur einen Anforderungstaster oder hast du je einen Anforderungstaster für jede Richtung in die der Fahrgast fahren will?

Im ersten Fall ist es doch relativ einfach: Wenn du weißt in welche Richtung du unterwegs bist brauchst du ja nur solange in die Richtung weiterfahren bis in die Richtung keine Anforderung mehr aktiv ist...
 
Habe in jedem Stockwerk zwei Taster, also Hoch und Runterfahren. Dann brauch ich doch quasi merker oder? wenns ohne geht immer her mit den ideen:) besten dank
 
okay danke, kannst du mir vlt kurz erläutern wie das funktioniert mit globalen variablen? kann mir nicht vorstellen wie das als merker funktionieren soll. ich will halt ne liste in der die eingaben, also stockewerke in denen jemand fahren möchte, gespeichert werden und diese dann einer nach dem anderen abgearbeitet werden. google spuckt leider auch nix aus. schönes WE
 
Liftprogramm

da glücklicherweise alle Studenten das gleiche machen, kann ich dir mal meine Lösung zeigen...
 

Anhänge

  • Lift.pdf
    593,3 KB · Aufrufe: 36
Zurück
Oben