SPS-Anfänger braucht Hilfe!!!

Airness

Level-1
Beiträge
5
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,
ich beschäftige mich gerade im Studium und auch privat mit SPS und vor allem noch mit der Programmierung..
Ich verwende WinSPS7, was mir von der Einfachheit sehr zusagt.
Nun mein Problem:
Ich will eine Steuerung für ein Garagentor programmieren.
Es gibt auf der Fernbedienung nur einen Knopf. Das Tor hat einen Endschalter oben und einen unten.

Ablauf:
einmal drücken -> Tor geht auf
nochmal drücken -> Tor stoppt
wieder drücken -> Tor geht zu

Es klingt einfach (und ist es wahrscheinlich auch:() doch ich bekomme es einfach nicht hin.

Wie würdet ihr das angehen. Ihr will nicht dass ihr mir gleich ein Programm postet, sondern mir würden Denkanstöße genügen;)

Bei all meinen Überlegungen ist immer ein Haken dran....

Vielen Dank für Eure Hilfe!

Gruß Airness
 
Hi Airness,
als Denkanstoss bilde aus deinem Tastersignal eine Flanke zähle ein MW oder DW hoch bei 1 fahre auf bei 2 halt bei 3 ab bei 4 setzt du den Zähler auf 0 und 0 ist auch halt.
Wenn Endschalter unten und Taster Flanke dann lade 1 in MW also fahre auf, für ab umgekehrt. Über Vergleicher kannst du das auswerten da es sich aber um ein Tor handelt musst Du noch Sicherheitsrelevante Dinge beachten besonders beim Zufahren des Tores.
Stichworte Totmannschaltung oder Sicherheitsschaltleiste.
Dies ist nur eine von vielen Lösungsmöglichkeiten.

HDD
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Was Anfänger am Anfang oft Probleme bereit ist das Start/Stop über die selbe Taste. Dazu solltest du dir vielleich auch mal die exklusivoder Verknüpfung mal anschauen
 
Also Flankenmerker ist schon mal gut. Vom Taster eine Schaltflanke bilden.

3 Merker
M1: heben
M2: senken
M3: letzte Aktion war heben/senken (0/1)

Bei Flanke vom Taster

1.: wenn M1=0 und M2=0 und M3=0, dann M1=1 --> Tor hebt
2.: wenn M1=1 oder M2=1, dann M1=0+M2=0, M3 wechseln (evtl. mit XOR, besser SR) --> Tor hält
3.: wenn M1=0 und M2=0 und M3=1 dann M2=1 --> Tor senkt

Spezialfälle:
wenn E-heben Halt --> M1=0, M3=1
wenn E-senken Halt --> M2=0, M3=0

wenn M1=1+M2=0+M3=0+E-heben Halt=0 -->Tor hebt
wenn M1=0+M2=1+M3=1+E-senken Halt=0 --> Tor senkt

Ähm, es is doch spät, schau mir das morgen nochmal an, vielleicht findet wer anders ja noch einen Fehler.

Ach so, alle Merker (M1,M2,M3) sind SR-Merker
 
Zuletzt bearbeitet:
Hallo,
oder ganz einfach nimm einen Zähler bei 1 macht er das bei2... usw, wird aber als Lösung von den Lehrern nicht gern gesehen denn das soll ja eine Schrittkette werden.... aber wenn Dir das so reicht....:)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also erstmal vielen Herzlichen Dank für eure Hilfe.
An eine Schrittkette hab ich auch schon gedacht. Mein Problem war einfach die Denkblockade, dass ich zwei Stopzustände verwenden sollte. Ich hab immer alles mit nur drei Zuständen lösen wollen. Hab auch viel mit Zählern experimentiert.
Die Schrittkette hat aufgrund der 3 Zustände auch nicht hingehauen, da ich ja quasi immer wieder einen Schritt vor und zurück machen müsste. Ich mittlerweile wahrscheinlich höchst umständlich aber lauffähig die Variante mit Nummern verwendet.
Einen FC mit einem Vergleicher, der bei identisch einen Befehl setzt (Tor_auf, Tor_zu, Stop)
Macht wirklich Spaß in Step7 zu programmieren.
Ich werde jetzt nochmal versuchen das Progrämmchen in eine Schrittkette zu verpacken!

Vielen lieben Dank an euch alle!:sm24:
 
Ne, Schrittkette muß doch nicht gleich sein, das würde ich mit nomaler Logik (s.o.) machen. Eine interessante Abwandlung wäre noch, kurz drücken = heben, lang drücken = senken. Übrigens, entprellen des Eingangs könnte evtl. noch nötig sein.
 
KHD Klaus hat Recht

Hallo,
KHD Klaus hat recht, verbrennt die S7. In nullkomma nichts habe ich das in einer Logo realisiert, wo andere Tage oder Wochen für brauchen:p .
Nein im ernst habe das mal auf einer Logo gemacht, und wie meistens dazu einen Film erstellt wie das läuft, ganz so leicht wollen wir dir es nicht machen;) .
 

Anhänge

  • logo.zip
    266,1 KB · Aufrufe: 81
Zuviel Werbung?
-> Hier kostenlos registrieren
Oh man,
es ist immer schrecklich wenn man so ewig lang für ein Programm braucht, was für euch keinerlei Schwiergikeiten darstellt!!!:sb8:

Ich hab mir auch schon überlegt, eine Logo zu kaufen. Da könnte man ja Kleinigkeiten im Haushalt automatisieren.

Nachdem ich heute noch eine Schrittkette gemacht habe ( ja, es hat mich wieder über eine Stunde gekostet;)) greife ich jetzt die Pendelmaschine an.
Das Problem stellt diesmal der Blinker dar. Schon oft versucht und immer daran gescheitert. Hoffe ich schaffe ihn bis morgen (man muss ja auch noch was anderes Lernen...) Dann werde ich wieder angekrochen kommen:ROFLMAO:

Vielen dank nochmal für eure Hilfe! Mit Videounterstützung hätte ich ja niemals gerechnet!:sm6:
 
ich beschäftige mich gerade im Studium und auch privat mit SPS und vor allem noch mit der Programmierung..
Ich verwende WinSPS7 ....
Du schriebst, die nutzt das im Studium... welche SPSen benutzt ihr denn da ? Oder nur Theorie zur "Allgemeinbildung" ?

Hier im Forum wird ja immer gleich auf die Programmierung von S7 oder ner LOGO eingegangen.
Ist WinSPS7 ähnlich Step7 ?

Nur damit ich weiß, was die Voraussetzungen sind.

MfG
Chris
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi Chris,
ja das ist so eine Sache... Beigebracht in Theorie wird IEC61131 mit Beispielen in CoDeSys, aber wenns ans praktische Programmieren geht, nutzen wir Step7.
WinSPS7 ist Step7, allerdings sehr einfach. Also keine Parametrierung, einfach Variablen deklarieren und los gehts. Hab dann als Visualisierung nachgebildete S7-Bausteine. Ist also zum schnell mal ransetzen für Anfänger ganz schön.

So, mein Blinkerproblem....
Also ich hab es schon soweit, dass die Zeiten schön wechseln, aber irgendwie wird die Lampe nicht eingeschaltet.....
Ist eine idiotische Sache, wenn ich einen Timer starte und als letzte beiden Zeilen:

U T1
= "Lampe"

schreibe, funktioniert alles wie erwartet.

Wenn ich dann mal auf FUP umschalte, sehe ich, wie es gehört, dass an Q vom Timer "Lampe" steht. Sobald ich zwei Timer hintereinander stelle, funktioniert es nicht mehr.
Hier mal mein Code:

U "EIN"
UN T 2
L S5T#2S
SE T 1
NOP 0
NOP 0
NOP 0
U T 1

L S5T#1S
SE T 2
NOP 0
NOP 0
NOP 0
NOP 0
U T 2
= "Lampe"

Sorry für die Anfängerfrage, aber Programmieren ist noch nie meine Stärke gewesen...:(
Bin da etwas verwirrt!?!?!?
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Wahnsinn, das geht ja hier so schnell mit Antworten. Wenn ich einen Laptop mit in die Prüfung nehmen dürfte könnte man die Fragen fast hier ins Forum schreiben und würde rechtzeitig Antworten bekommen!!! Vielen Dank. Das mit dem Zyklus hab ich doch auch schon mal gehört...:s15:

Und sorry, hätte die Suchfunktion wirklich vorher bemühen können...
 
Zurück
Oben