Step 7 S7-200 Ampel , Anfänger :-)

fluffi4

Level-1
Beiträge
5
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo alle zusammen,

wie schon in der Überschrift erwähnt bin ich absolut blutiger Anfänger in SPS Programierung, habe das als Projekt "auferlegt" bekommen.
Bisher habe ich nur Erfahrung in LabView.

Also,....mein Problem :
Ich "darf" eine komplexe Ampelsteuerung entwerfen, bekomme aber nicht unbedingt der Programmiereinstieg hin und das vorhandene Schulungsmaterial ist ,.....na sagen wir mal,.....sehr dürftig.

Es geht um eine S7-200 (CPU222 1.21 und EM223 MicroWin STEP7 SP4). Hat irgendjemand vllt ein fertiges Projekt,.....wobei mir dies für eine Ampel (KFZ und Fußgänger) reichen würde sodass ich mir die Vorgehensweise und Programmieraufbau mal ansehen könnte. :)

Am Ende soll es eine Steuerung für eine Kreuzung inkl Fußgängerüberwege werden, inkl ANFORDERUNG (Fußg), RESET und STÖRUNG, aber dies nur am Rande.

Ich bedanke mich im Vorfeld für alle Antworten,.....und bitte habt nachsehen mit einem Anfänger,....

Dankeeeee,.
LG
Ulf
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also,....ich habe mal ein paar sehr einfach Dinge programmiert,....nur erschließt sich mir nicht ganz wie die einzelnen Netzwerke interagieren und wie ich einen Programmablauf/Zyklus programmiere. Mir fehlt der Programmeinstieg.
Wie ich einen Eingang / Ausgang belege ist dabei klar.

Oh man,.....ich komme mir dabei echt doof vor,....nur finde ich persönlich dass STEP7 nicht unbedingt selbsterklärend ist. :-(
 
Relativ simpel:

Der OB1, in dem dein Hauptprogramm enthalten ist, wird zyklisch abgearbeitet (von oben nach unten). Wird im OB eine unterfunktion aufgerufen (FC/FB) werden diese ebenso von oben nach unten abgearbeitet.

Bsp Aufruf von FC1 in NW2 von OB1:

OB1 NW1
OB1 NW2
FC1 NW1
FC1 NW2
OB1 NW3
usw.
 
Hallo,

eine kleine Frage meinerseits, wieso bekommt ihr Aufgaben die ihr dann im Alleingang lösen sollt und das ohne das euch erst die elementaren Grundlagen der Programmierung erklärt wurden.
Keine Kritik an dich, sondern nur eine Frage. ;)

Ich würde dir raten, falls du wirklich Interesse am Programmieren hast, dir im Internet einige Seiten mit Grundlagen durchzulesen.
Über ein Forum wird es eher schwer dir alles von 0 beizubringen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi,

diese Frage ist sicher berechtigt. Um das kurz zu umreißen,....ich befinde mich in einem "Berufs Trainings Zentrum" und komme selbst aus einem ganz anderen technischen Bereich. Generell sind mir Dinge wie Verkabelung und Programmierung bekannt, aber SPS ist absolutes Neuland.

Einer der Trainer hat früher mal SPS programmiert, leider kann er dieses Wissen aber nicht mehr "abrufen".

So stehe ich nun mit einem Ampelmodell,.....einem Rechner und einer SPS-200 alleine und kämpfe mich durch die etwas rudimentären Unterlagen aus welchen wirklich nur die einfachsten Dinge hervorgehen.
WIE aber der Ablauf (selbstlaufender Zyklus nach Start) funktioniert und der Ablauf der einzelnen Schritte überhaupt,....leider NICHT.

Aus diesem Grund bin ich auf der Suche nach einem einfachen Programm (für die SPS) sodass ich dann ggf ersehen kann wie der prinzipielle Ablauf ist. Also für EINE Ampel einen Schaltzyklus o.ä.

Für mich selbst ist der Zustand extremst unbefriedigend da ich alleine auf weiter Flur stehe und zusehen "darf" wie es klappt.

LG
Ulf
 
in mircowin (ist die software für die s7-200) gibt es beispiel projekte die du anschauen kannst. und zudem kann man in microwin jederzeit die f1 taste drücken es steht echt alles in der hilfe
 
Und um den Zyklus an sich brauchst du dich eigentlich nicht kümmern, wie Christmaspoo schon schreibt, wird das Programm der reihe nach abgearbeitet und am Ende Springt es automatisch wieder an den Anfang.

Du sollst im Programm keine Schleifen bauen die "in sich" länger laufen!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Einige dieser Beispiele (aus der Microwin-Hilfe) habe ich bereits eingegeben.
Kann man ein vordefiniertes Zeitintervall (TOF , T33) "mehrfach" benutzen, oder muss ich es zurücksetzen ??

Wenn z.B. bei einer Ampel eine Phase 10sec dauern soll, dann müsste man doch das o.g. Intervall auf 10sec einstellen und dann mehrfach (in verschiedenen Netzwerken) benutzen können,...oder liege ich da komplett falsch.

mal die ganzen ampeltechnischen Sicherheitsaspekte ausgeklammert. Es gibt VIER Phasen,.....ROT, ....GELB,.....GRÜN,.....ROT/GELB,....und wieder auf Anfang. Demnach benötige ich doch "nur" ein 5sec anhaltenden Schaltkontakt, welcher danach wieder auf "0" schaltet, auf nächste Netwerk springt und dort wieder für 5sec durchschaltet,....usw.
 
Die TON/TOF-Anweisung eines Timers darf und muß in jedem OB1-Zyklus nur 1x aufgerufen werden. Abfragen darf man den Timer mehrmals, sollte es aber nur 1x tun, weil der Zustand sich während des Zyklus ändern kann. (wenn ich das für die S7-200 noch richtig im Kopf habe. Zumindest befindet man sich bei solchem Vorgehen auf der "sicheren" Seite)

Du könntest das mit mehreren Timern lösen. Damit die Timer der verschiedenen Ampeln nicht "auseinanderlaufen" können, würde ich jedoch bei der Ampelsteuerung als "Raster" einen periodischen Grundtakt in der kleinsten benötigten Auflösung erzeugen (z.B. alle 100ms 1 Zyklus lang true) und die Dauer der Phasen per Zähler abmessen.

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
hier eine exemplarische Lösung zu einer ähnlichen Aufgabe:

http://www.es.hs-mannheim.de/sps40/Uebungen/Kapitel4/Uebung4_2.html

Die Theorie dazu:

https://de.wikipedia.org/wiki/Endlicher_Automat

Wie die Kollegen schon geschrieben haben, wartet
man nicht innerhalb des Programms auf ein Ereignis
(Ablauf der Zeit), sondern das Programm "läuft"
immer und bei Ereignis wird in den nächsten Zustand
gewechselt.
 
Zurück
Oben