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

Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 14 von 14

Thema: Rockwell Automation RSLogix 5000 V19 update auf V20

  1. #11
    Registriert seit
    27.10.2006
    Ort
    Plauen
    Beiträge
    374
    Danke
    107
    Erhielt 13 Danke für 11 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich denke IBFS meint das folgendermaßen:

    Du legst Dir "Programmtags" für alle Deine E/A´s an (ähnlich der Symboltabelle in Step7). Dies sind dann jedoch programminterne Variablen.
    Dann kopierst Du in einer Task alle Eingänge auf Deine internen Variablen um.
    Danach wird das eigentliche Programm abgearbeitet mit den internen Variablen(Main_Task).
    Und in einer letzten Task werden alle internen Variablen auf die Ausgänge kopiert.

    Damit stellst Du sicher, dass Du zu Beginn eines Zyklus mit einem konsistenten E/A-Abbild arbeitest.
    Rockwell-Steuerung können nämlich auch während des Bearbeitungszykluses das E/A-Abbild aktualisieren.
    Step7 V5.5 SP4 HF11
    TIA Portal V14
    WinCC flexible 2008 SP3
    WinCC 7.2 Update 10
    =======================

  2. Folgender Benutzer sagt Danke zu Grimsey für den nützlichen Beitrag:

    mordecai (30.05.2012)

  3. #12
    Registriert seit
    18.09.2004
    Ort
    Münsterland/NRW
    Beiträge
    4.719
    Danke
    729
    Erhielt 1.159 Danke für 970 Beiträge

    Standard

    Bei AB gibt es kein PAE bzw. PAA wie bei Siemens. Da werden die Eingänge in dem Moment von der Eingangskarte gelesen wo du sie im Zyklus abfragst. Das gleiche gilt für die Ausgänge.
    Um jetzt das PAE/PAA von Siemens nachzubauen muss du deine Eingänge am Anfang des Zyklus deiner Maintask auf interne Variablen umrangieren.
    Du kannst jetzt also in deiner MainTask 3 Programme anlegen (rechte Maustaste auf MainTask -> New Program).
    -READ
    -MainProgram
    -Write
    In den Task Properties deiner MainTask unter Program / Phase Schedule ordnest du diese Programme so an, das sie in oben genannter Reihenfolge aufgerufen werden.
    Im Programm READ legst du jetzt eine Routine an, in der du alle Eingänge einliest und sie auf interne Variablen kopierst. Mit diesen Variablen arbeitest du jetzt in deinem MainProgramm.
    Selbiges gilt für die Ausgänge im Programm WRITE

  4. Folgender Benutzer sagt Danke zu marlob für den nützlichen Beitrag:

    mordecai (30.05.2012)

  5. #13
    Registriert seit
    18.09.2004
    Ort
    Münsterland/NRW
    Beiträge
    4.719
    Danke
    729
    Erhielt 1.159 Danke für 970 Beiträge

    Standard

    Beispiel:
    Du hast eine Eingangskarte vom Typ 1769-IQ32 die auf Steckplatz 1 gesteckt ist.
    Jetzt legst du eine Variable "SLOT1" (Den Namen kannst du natürlich selbst wählen) vom Typ AB:1769_DI32:I:0 an.
    In deinem READ Programm musst du jetzt eine Routen anlegen in der du die Eingänge umrangierst.
    Einen CPS einfügen und folgendes eintragen
    Source: Local:1:I
    Dest: SLOT1
    Length: 1
    In deiner Tagdeklaration kannst du jetzt für jedes Eingangsbit deiner Variable SLOT1 noch einen Alias angeben mit dem richtigen Symbolnamen.
    Name: Symbol1
    Alias for: SLOT1.Data.0
    usw.

    Für die Ausgänge kannst du das dann dementsprechend abwandeln.

  6. Folgende 2 Benutzer sagen Danke zu marlob für den nützlichen Beitrag:

    Grimsey (30.05.2012),mordecai (30.05.2012)

  7. #14
    Registriert seit
    11.07.2004
    Beiträge
    1.597
    Danke
    10
    Erhielt 213 Danke für 183 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Bei AB gibt es kein PAE bzw. PAA wie bei Siemens. Da werden die Eingänge in dem Moment von der Eingangskarte gelesen wo du sie im Zyklus abfragst.
    Stimmt nicht pauschal. Bei PLC5 verhielt sich das ähnlich wie bei der S7, also Eingänge lesen, Programmm abarbeiten, dann Ausgänge setzen. Bei der aktuellen Generation (Controllogix) ist das anders. Die Eingänge werden nicht gelesen wenn Du sie im Zyklus abfragst sondern sie werden asynchon zur Programmabarbeitung upgedated, aber nicht alle gleichzeitig! Der Update hängt von der jeweils eingestellten RPI (Requested Packet Interval) ab. Du kannst bei der einen Eingangskarte im Rack 2ms einstellen und bei der nächsten 5ms, entsprechend wird der Status (im "Abbild") öfters oder weniger oft upgedated, aber keinesfalls abhängig davon wie oft oder wann Du das Bit im Abbild abfrägst. Da das Ganze asynchron zum Programm passiert, kann es sein, dass im Rung 27 der Eingang noch 1 ist, im Rung 28 aber schon 0 weil zwischendurch ein Update stattgefunden hat (weil eben die x ms wieder vorbei waren). Je nachdem wie Du Deine Logik programmierst kann es passieren, dass dadurch unvorhergesehene Dinge passieren. Bei entsprechender Programmierung (z.B. "Case"-Anweisung in einer Schrittkette) macht das nichts aus, einfacher ist es allemal, sich keine Gedanken darüber zu machen und einfach das Abbild vor der Programmabarbeitung in eine Variable zu kopieren. Das muss keinesfalls für alle Eingänge gleichzeitig passieren, wenn die Eingänge passend zu Funktionsgruppen der Maschine sortiert sind (z.B. Karte im Slot 7 hat die Eingänge von Förderstrecke 4 vom Staubahnhof), dann kann man einzelne Karten passend zum jeweiligen Programmteil updaten (und damit im Zweifelsfall mit dem aktuelleren Abbild arbeiten als mit der sturen Abbildgeschichte vor der Programmausführung. Rockwell hatte das asynchrone Abbild schon mal (PLC3, wer die fast-Kubikmeter-SPS noch kennt) und ist nicht ohne Grund wieder zu dieser Lösung zurück gegangen.
    Bei den Ausgängen ist es meist weniger tragisch wenn der eine ein paar ms vor dem anderen gesetzt wird, wenn's absolut gleichzeit passieren soll sollte man die betreffenden Ausgänge auf die gleiche Karte legen.
    Wenn die Kopiererei selber nicht vom Update unterbrochen werden soll, darf man auch keinen "COP" Befehl verwenden sondern muss zwingend den "CPS" nehmen. Der ist natürlich nicht ohne Nebenwirkungen, wird er im Continuous Task eingesetzt und diese soll gerade in diesem Moment von einer zeitgestuerten Task unterbrochen werden, startet diese natürlich geringfügig verzögert, es ergibt sich dadurch ein entsprechender Jitter.

  8. Folgender Benutzer sagt Danke zu Oberchefe für den nützlichen Beitrag:

    marlob (01.06.2012)

Ähnliche Themen

  1. Antworten: 5
    Letzter Beitrag: 23.03.2012, 19:26
  2. RSLogix 5000 - Schrittkettenproblem
    Von Andreas_Hügle im Forum Sonstige Steuerungen
    Antworten: 5
    Letzter Beitrag: 10.03.2012, 19:35
  3. Rockwell RSLogix 5000 - Online / Offline Vergleich
    Von georg_demmler im Forum Sonstige Steuerungen
    Antworten: 2
    Letzter Beitrag: 15.09.2010, 18:58
  4. RSLogix 5000
    Von Wowa05 im Forum Sonstige Steuerungen
    Antworten: 2
    Letzter Beitrag: 09.04.2010, 11:31
  5. RSLogix 5000
    Von bsbautomation im Forum Sonstige Steuerungen
    Antworten: 2
    Letzter Beitrag: 19.02.2009, 14:45

Lesezeichen

Berechtigungen

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