Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 11

Thema: Übungsprogramm mit S7 schreiben

  1. #1
    Registriert seit
    05.09.2016
    Beiträge
    9
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard


    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 Wie könnte sowas aussehen und wie koppel ich die beiden SPS'en überhaupt miteinander?

    Vielen Dank im vorraus
    Zitieren Zitieren Übungsprogramm mit S7 schreiben  

  2. #2
    Registriert seit
    08.02.2007
    Ort
    A-2320
    Beiträge
    2.240
    Danke
    240
    Erhielt 332 Danke für 303 Beiträge

    Standard

    Zitat Zitat von pierrealando21 Beitrag anzeigen
    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 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.

  3. Folgender Benutzer sagt Danke zu borromeus für den nützlichen Beitrag:

    pierrealando21 (06.09.2016)

  4. #3
    Registriert seit
    01.08.2013
    Ort
    63571
    Beiträge
    288
    Danke
    18
    Erhielt 52 Danke für 50 Beiträge

    Standard

    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

    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.
    Geändert von Zombie (05.09.2016 um 23:28 Uhr)
    Nur dass man etwas schon immer so gemacht hat heißt nicht dass es richtig ist, man kann eine Sache auch ein Leben lang falsch machen.

  5. Folgender Benutzer sagt Danke zu Zombie für den nützlichen Beitrag:

    pierrealando21 (06.09.2016)

  6. #4
    Registriert seit
    08.02.2007
    Ort
    A-2320
    Beiträge
    2.240
    Danke
    240
    Erhielt 332 Danke für 303 Beiträge

    Standard

    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.

  7. #5
    Registriert seit
    12.04.2005
    Ort
    Black Forest
    Beiträge
    1.282
    Danke
    15
    Erhielt 126 Danke für 113 Beiträge

    Standard

    Zitat Zitat von borromeus Beitrag anzeigen
    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 ...
    Geändert von Boxy (06.09.2016 um 09:36 Uhr)

    „Eine Frage raubt mir den Verstand bin ich verrückt oder sind es die Anderen ?“

    Albert Einstein

  8. #6
    pierrealando21 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    05.09.2016
    Beiträge
    9
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von Zombie Beitrag anzeigen
    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

  9. #7
    Registriert seit
    08.02.2007
    Ort
    A-2320
    Beiträge
    2.240
    Danke
    240
    Erhielt 332 Danke für 303 Beiträge

    Standard

    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.
    Geändert von borromeus (07.09.2016 um 08:17 Uhr)

  10. #8
    pierrealando21 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    05.09.2016
    Beiträge
    9
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard

    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.

  11. #9
    Registriert seit
    12.04.2005
    Ort
    Black Forest
    Beiträge
    1.282
    Danke
    15
    Erhielt 126 Danke für 113 Beiträge

    Standard

    Zitat Zitat von pierrealando21 Beitrag anzeigen
    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?

    „Eine Frage raubt mir den Verstand bin ich verrückt oder sind es die Anderen ?“

    Albert Einstein

  12. #10
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    10.089
    Danke
    838
    Erhielt 2.971 Danke für 2.395 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von pierrealando21 Beitrag anzeigen
    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
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

Ähnliche Themen

  1. Antworten: 8
    Letzter Beitrag: 01.08.2013, 11:04
  2. Web2Plc- Werte über Browser schreiben in Steuerung schreiben
    Von pantau86 im Forum PC- und Netzwerktechnik
    Antworten: 3
    Letzter Beitrag: 21.03.2012, 16:23
  3. mit libnodave in db schreiben
    Von mike97714 im Forum Hochsprachen - OPC
    Antworten: 3
    Letzter Beitrag: 30.06.2009, 08:33
  4. Übungsprogramm mit Lösung
    Von Roos im Forum CODESYS und IEC61131
    Antworten: 3
    Letzter Beitrag: 05.11.2008, 23:45
  5. Antworten: 3
    Letzter Beitrag: 31.10.2008, 07:34

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •