# SPS-Anfänger braucht Hilfe!!!



## Airness (5 Januar 2007)

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


----------



## HDD (5 Januar 2007)

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


----------



## Antonio (5 Januar 2007)

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


----------



## Ralle (6 Januar 2007)

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


----------



## lorenz2512 (6 Januar 2007)

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....


----------



## Airness (6 Januar 2007)

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:


----------



## Ralle (6 Januar 2007)

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.


----------



## lorenz2512 (6 Januar 2007)

*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 .
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 .


----------



## Airness (6 Januar 2007)

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

Vielen dank nochmal für eure Hilfe! Mit Videounterstützung hätte ich ja niemals gerechnet!:sm6:


----------



## volker (6 Januar 2007)

Airness schrieb:


> Das Problem stellt diesmal der Blinker dar. Schon oft versucht und immer daran gescheitert.


einfach zwei einschaltverzögerte zeiten hintereinander.
an die erste zeit die negierte zweite zeit als eingang.


----------



## trinitaucher (6 Januar 2007)

Airness schrieb:


> 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


----------



## Airness (7 Januar 2007)

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!?!?!?


----------



## Ralle (7 Januar 2007)

Sie hier den Blinker von Taddy 
http://www.sps-forum.de/showthread.php?t=1709&highlight=Blinker

Dein Blinker bringt für einen Zyklus die Lampe, das geht so schnell, daß man es gahr nicht sieht .


----------



## HDD (7 Januar 2007)

Hi,
U T1 
= Lampe
nicht 
U T2 Falsch
= Lampe


----------



## Airness (7 Januar 2007)

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...


----------

