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

Ergebnis 1 bis 2 von 2

Thema: Anweisungen der Reihe nach abarbeiten?

  1. #1
    Registriert seit
    07.06.2013
    Ort
    Tostedt
    Beiträge
    15
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Frage


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Moin!

    Verwendete Komponenten/Software Vorab:

    TIA Portal V12 SP1
    S7-1200 (CPU 1212c)

    Folgendes Problem besitze ich zurzeit:

    Mittels Modbus muss ich Motoren ansteuern, sprich lesen und schreiben.
    Die S7-1200 ist der Master.
    Während des Programmablaufs werden verschiedene Werte an die Motoren gesendet (Start, Stop, Geschwindigkeit etc..).
    Wenn ein Befehl an einen Motor gesendet wird, meldet der jeweilige Modbus-Baustein "Busy".
    Da alles über eine Leitung (Halbduplex) gesendet und empfangen wird, kann/darf ich keine weitere Anfrage während einer schon laufenden Anfrage starten. Der jeweilige Baustein bleibt dann nämlich "für immer" auf Busy und ich kann keine Anfrage mehr über diesen starten.

    Nun habe ich mir überlegt wie ich das lösen kann.. Meine Idee:

    Ich frage ab ob keiner der 6 Bausteine Busy ist:
    -|/|-|/|-|/|-|/|-|/|-|/|-(NichtBusy)-

    Hier ist aber noch das Problem dass mehrere Anfragen starten könnten, wenn gerade keiner Busy ist. Deswegen habe ich mir überlegt eine Art zähler zu verwenden, der mit jedem Zyklus von OB1, erhöht wird und bei der Zahl 6 wieder von vorne anfängt, damit ich jeden Motor einmal seine Befehle abarbeiten lassen kann.

    Habe ich da noch einen Denkfehler oder wird das so nicht programmiert?

    Ich wäre über eine / mehrere Mithilfen glücklich!

    Grüße!
    ...Diagnosealarm
    Zitieren Zitieren Anweisungen der Reihe nach abarbeiten?  

  2. #2
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.794
    Danke
    398
    Erhielt 2.417 Danke für 2.013 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Nein ... aus meiner Sicht hast du da grundsätzlich keinen Denkfehler.
    Du könntest es vielleicht noch dahingehend ändern :
    Code:
    Zähler = 1 dann Daten an Motor 1 wenn vorhanden, wenn nicht Zähler auf 3 setzen, sonst Zähler auf 2 setzen wenn Busy
    Zähler = 2 und nicht Busy dann Zähler auf 3 setzen
    Zähler = 3 dann Daten an Motor 2 wenn vorhanden, wenn nicht Zähler auf 5 setzen, sonst Zähler auf 4 setzen wenn Busy
    Zähler = 4 und nicht Busy dann Zähler auf 5 setzen
    usw.
    Zähler = 11 dann Daten an Motor 6 wenn vorhanden, wenn nicht Zähler auf 1 setzen, sonst Zähler auf 12 setzen wenn Busy
    Zähler = 12 und nicht Busy dann Zähler auf 1 setzen
    ... dann hättest du die Busy-Abfrage gleich mit aus dem Rennen und der Durchlauf wird schneller, wenn es keine Daten für den Motor gibt ...

    Gruß
    Larry

Ähnliche Themen

  1. PL nach 13849 mit mehreren Not-Halt in Reihe
    Von andersson im Forum Maschinensicherheit - Normen und Richtlinien
    Antworten: 1
    Letzter Beitrag: 09.09.2011, 07:09
  2. Der Reihe nach auslesen und dann reseten ?
    Von Chris30 im Forum Simatic
    Antworten: 9
    Letzter Beitrag: 15.07.2010, 20:48
  3. @VK Baugruppen aus der Simatic S5 REIHE@
    Von tunegel1 im Forum Suche - Biete
    Antworten: 0
    Letzter Beitrag: 16.08.2009, 22:00
  4. Montage Siemens Panel der x77 Reihe
    Von rostiger Nagel im Forum Schaltschrankbau
    Antworten: 11
    Letzter Beitrag: 21.10.2008, 06:45
  5. Beckhoff Regler AX2000-Reihe und AX2500-Reihe: Erfahrungen?
    Von Burkhard im Forum Antriebstechnik
    Antworten: 4
    Letzter Beitrag: 12.12.2007, 12:48

Lesezeichen

Berechtigungen

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