Step 7 Übungsprogramm mit S7 schreiben

pierrealando21

Level-1
Beiträge
12
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo ich bin absolouter Anfänger und noch voller offener Fragen :???:.
Mein Meister hat mir vor seinem Urlaub eine Aufgabe gestellt, als Übung sozusagen. Die Aufgabe lautet, ich habe eine SPS mit 8 Eingängen und 2 Ausgängen, diese ist über zwei Leitungen mit einer anderen SPS verbunden. Die andere SPS hat 2 Eingänge und 8 Ausgänge. Wenn ich ein oder mehrere Eingänge der ersten SPS setzte müssen die dem entsprechenden Ausgänge der zweiten SPS kommen. Ehm jaa, ist also bestimmt nichts wildes, wenn man es kann :ROFLMAO: Wie könnte sowas aussehen und wie koppel ich die beiden SPS'en überhaupt miteinander?

Vielen Dank im vorraus :)
 
Hallo ich bin absolouter Anfänger und noch voller offener Fragen :???:.
Mein Meister hat mir vor seinem Urlaub eine Aufgabe gestellt, als Übung sozusagen. Die Aufgabe lautet, ich habe eine SPS mit 8 Eingängen und 2 Ausgängen, diese ist über zwei Leitungen mit einer anderen SPS verbunden. Die andere SPS hat 2 Eingänge und 8 Ausgänge. Wenn ich ein oder mehrere Eingänge der ersten SPS setzte müssen die dem entsprechenden Ausgänge der zweiten SPS kommen. Ehm jaa, ist also bestimmt nichts wildes, wenn man es kann :ROFLMAO: Wie könnte sowas aussehen und wie koppel ich die beiden SPS'en überhaupt miteinander?

Vielen Dank im vorraus :)

Das heisst die 2 Ausgänge der SPS1 gehen auf die 2 Eingänge der SPS2. Bus ist keiner vorhanden!
Nun, eine Idee wäre, mittels A1 ein Synchronsignal an SPS2 zu schicken und dann mittels A2 die 8 Datenbits in einem Takt von zB 100ms zu übertragen. Danach kannst Du an der SPS2 die Ausgänge bringen.
Dann beginnt die Sache mit dem SyncSignal von neuem. Verzögerungszeit rund 1s.
Aber das ist für einen absoluten Anfänger wahrscheinlich ziemlich schwierig.

Alternativ könnte man in 4 Takten jeweils 2 Bits übertragen und dann zB 1s Pause machen, dh die Synchronisierung findet mit der Pauseerkennung statt danach kommen alle zB 100ms 4 mal je 2 Bits an.
Auch nicht einfacher.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
So kompliziert ist die erste Idee gar nicht.

Auf Eingang 1 kommt das Taktsignal an. Für jede Sequenz konstant alle 200ms eine steigende Flanke, der High Pegel dauert 100ms an. Zu erreichen mit dem 100ms Blinker den Step7 mitliefert. Für den Anfang kann man auch den 2 Sekunden Blinker nehmen, da kann man den Bits ja quasi beim rüberlaufen zugucken :D

Auf Eingang 2 kommen dann genau gleichzeitig Takte an die dem Bitmuster entsprechen. Hat der Takt High Pegel und dieser nicht, ist es eine 0. Bei 2x High Pegel eine 1.
Für 8 Bit braucht man bei einer Bitlaufzeit von 200ms 1,6 Sekunden. Die restlichen 400ms nimmt man zur Pausenerkennung nach jeder Sequenz und Synchronisiert auf die erste steigende Flanke des Taktsignals nach der Pause.

Ich finde das ist mal ne schöne Aufgabe um SPS zu lernen. Alles was ich damals machen durfte waren Ampelschaltungen und Parkhaussteuerungen.

Die zweite ist viel zu kompliziert meiner Ansicht nach.
Auf die Idee mit der Sequenz von 4 mal 2 bin ich auch gekommen. Aber dort ist das Problem wie man eine Sequenz mit lauter Nullen zum Abschalten von der Pausensequenz zur Synchronisation unterscheiden will. Das müsste man wieder kompliziert abfangen und kompliziert heißt meistens fehleranfällig.
 
Zuletzt bearbeitet:
Da hast Du Recht, an die 8 Nullen habe ich gar nicht gedacht.

Als Beispiel für jemanden, der noch nie was mit S7 gemacht hat, finde ich es dennoch etwas schwierig.
 
Da hast Du Recht, an die 8 Nullen habe ich gar nicht gedacht.

Als Beispiel für jemanden, der noch nie was mit S7 gemacht hat, finde ich es dennoch etwas schwierig.

Wir kennen aber auch nicht die Hintergründe bzw. den Level des TEs.
Evtl. soll hier ja auch der Weg das Ziel sein und mit zur Aufgabenstellung gehört halt auch eine Ausarbeitung und Überlegung zur Lösung / Ansatz zur Lösung ...

Da ganze ist eigentlich eine art Sqeuenzielle Datenübertragung mit in Form von RS232 ;)
Also muss man sich überlegen wie man den Start und das Ende Kennzeichnet und dann evtl. auf einem Eingang kommt der Takt und auf dem anderen Eingang sind die Daten abgebildet! Ggf. kann man da auch irgendwie den Handshake einbauen ... (zb. beide High für 1Sek --> Start o.ä.)
Sprich Pos. Flanke vom Taykt (z.B. 0.1s) wird Dateneingang (Daten-Bit) übernommen und in ein Byte plaziert!
Wie beschrieben über Start- und Endkennung wird die Gültigkeit des Byte's genommen und dann auf den Ausgängen abgebildet ...
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Auf Eingang 2 kommen dann genau gleichzeitig Takte an die dem Bitmuster entsprechen. Hat der Takt High Pegel und dieser nicht, ist es eine 0. Bei 2x High Pegel eine 1.
Für 8 Bit braucht man bei einer Bitlaufzeit von 200ms 1,6 Sekunden. Die restlichen 400ms nimmt man zur Pausenerkennung nach jeder Sequenz und Synchronisiert auf die erste steigende Flanke des Taktsignals nach der Pause.

Álso das mit dem Taktsignal am Eingang 1 habe ich verstanden, aber den Schritt mit dem Eingang 2 wäre nett, wenn du mir den nochmal etwas genauer erläutern könntest :)
 
Nach dem Triggersignal auf Ausgang1-SPS1/Eingang1-SPS2 könnte man das so realisieren:
Nimm einen Timer mit 100ms, erstmals getriggert durch Ausgang1-SPS1/Eingang1-SPS2, in beiden Steuerungen. Wenn der Timer "1" wird zählst Du einen Zähler hoch. Nach den 100ms startest Du den Timer erneut.

Du gibst am Ausgang2 aus:
Bei Zählerstand
1 -> Eingang1, gleichzeitig Triggersignal Ausgang1 rücksetzen
3 -> Eingang2
5 -> Eingang3
7 -> Eingang4
9 -> Eingang5
11 -> Eingang6
13 -> Eingang7
15 -> Eingang8
19 -> neues Triggersignal setzen und Zähler auf 0 setzen.

Das bedeutet, dass nach 100ms nach dem Trigger von Ausgang1-SPS1/Eingang1-SPS2 das "erste" Datenbit ausgegeben wird, dann in einem Abstand von 200ms das nächste ausgegeben wird.
Das gleiche muss im Prinzip in der SPS2 auch laufen. Gleicher Zähler aber nur umgekehrt Verfahrensweise:
Bei Zählerstand
2 -> Eingang2 auf Ausgang 1
4 -> Eingang2 auf Ausgang 2
6 -> Eingang2 auf Ausgang 3
8 -> Eingang2 auf Ausgang 4
10 -> Eingang2 auf Ausgang 5
12 -> Eingang2 auf Ausgang 6
14 -> Eingang2 auf Ausgang 7
16 -> Eingang2 auf Ausgang 8

Die unterschiedlichen Zählerwertpaare (zB 1 in SPS 1 und 2 in SPS2) haben den Sinn, dass jeweile 100ms Vor- und Nachlaufzeit vorhanden sind.
 
Zuletzt bearbeitet:
Aber so gebe ich die Eingänge doch nur nacheinander aus oder nicht ? Es soll ja so sein, dass wenn ich zum Beispiel von SPS1 E1 und E4 drücke, dass auch von SPS2 A1 und A4 kommen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Aber so gebe ich die Eingänge doch nur nacheinander aus oder nicht ? Es soll ja so sein, dass wenn ich zum Beispiel von SPS1 E1 und E4 drücke, dass auch von SPS2 A1 und A4 kommen.

Mal eine kurze Frage, was ist dein Background?

Beantworte doch einmal bitte die Frage, wie man mit 2 Leitung eine Übertragung von Digitalen Daten bewerkstelligen kann?
 
Aber so gebe ich die Eingänge doch nur nacheinander aus oder nicht ? Es soll ja so sein, dass wenn ich zum Beispiel von SPS1 E1 und E4 drücke, dass auch von SPS2 A1 und A4 kommen.
Versuche doch einfach mal mitzudenken und die Idee der Lösung zu verstehen: Wenn man nicht genug Drähte hat, um jedes Signal auf einem eigenen Draht zu übertragen, dann kann man mehrere Signale nacheinander (seriell) auf einem Draht übertragen. Das dauert zwar ein bißchen und man muß sich überlegen wie man Anfang/Ende und Daten der Übertragung auseinanderhält, doch es geht mit viel weniger Drähten - im Extremfall mit nur 1 Signaldraht und 1 Rückleiter. Fast alle Datenübertragung basiert auf der seriellen Übertragung von vielen vielen Datenbits mit nur wenigen Drähten.

Harald
 
Zurück
Oben