TIA IRT-Modus aktivieren?

spirit

Level-1
Beiträge
961
Reaktionspunkte
23
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Zusammen,

ist es möglich bei einer CPU315-2 PN/DP im TIA-Portal den IRT-Modus bei Profinet zu aktivieren - und falls ja, wie geht das? :confused:


Soweit ich es verstanden habe, wird der SPS-Programmablauf bei aktiviertem IRT-Modus alle 1ms zyklisch unterbrochen; stellt also quasi einen Interrupt dar, oder?

Durch diesen Interrupt wird dann aber auch der normale Programmablauf unterbrochen; könnte sich das negativ auf die Gesamtzykluszeit des gesamten Programms auswirken?


Über einen Drehgeber sollen einfach bei best. Winkelwerten Aktoren über die SPS aktiviert werden ...
 
Hi,

in den Einstellungen der Profinet Schnittstelle -> erweiterte Optionen -> Echtzeit-Einstellungen -> Synchronisation
hier dann eine SyncRule einstellen dann wird IRT aktiviert.

Gruß
Christoph
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi,

in den Einstellungen der Profinet Schnittstelle -> erweiterte Optionen -> Echtzeit-Einstellungen -> Synchronisation
hier dann eine SyncRule einstellen dann wird IRT aktiviert.

Gruß
Christoph


Lieben Dank Christoph,

ist die Einstellung so korrekt?

IRT.jpg


Dazu noch zwei Fragen:

1) Warum wird in der Zeile RT-Klasse auch gleichzeitig "RT" angezeigt?

2) Ist die Aktivierung vom IRT-Modus, speziell bei der Verwendung von Drehgebern, empfehlenswert oder wirkt sich diese "Interrupt-Unterbrechung" eher nachteilig auf das restliche Programm aus?
 
Hallo,

ja schaut ok aus.
Angezeigt werden beide da beide Klassen unterstützt werden.
Bei Geräten die nur RT können steht da nur RT.
Ob die aktivierung empfehlenswert ist hängt davon ab ob die Drehgeber IRT unterstützen und die Datenkommunikation zyklisch erfolgt.
Wenn Du keine IRT Kommunikation hast (nur RT Geräte) dann macht eine Aktivierung keinen Sinn.

Gruß
Christoph
 
Hallo,

ja schaut ok aus.
Angezeigt werden beide da beide Klassen unterstützt werden.
Bei Geräten die nur RT können steht da nur RT.
Ob die aktivierung empfehlenswert ist hängt davon ab ob die Drehgeber IRT unterstützen und die Datenkommunikation zyklisch erfolgt.
Wenn Du keine IRT Kommunikation hast (nur RT Geräte) dann macht eine Aktivierung keinen Sinn.

Gruß
Christoph

Danke Christoph,

ja der Drehgeber unterstützt diesen IRT-Modus.

Der Sinn dahinter wäre halt, dass die SPS die Drehgeberwerte schneller erfasst und die Aktoren schneller schalten kann ...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Sorry bitte, wenn ich nochmals so doof nachfragen muss …

Da bei der geplanten Anlage auch ein Servomotor mit an Board ist, könnte dieser im Grunde auch dafür mit herangezogen werden, um bei einem best. Wert Aktoren über die SPS zu schalten. Allerdings wird ja die "Istposition" der Achse in einem bestimmten Zeitraster übertragen und daher macht es wohl auch nur Sinn, über >= abzufragen, um eine Aktion auszulösen.

Ist hier ein Drehgeber (geschwindigkeits- u. genauigkeitstechnisch) überlegen?

Lieben Dank!
 
Hallo,

das lässt sich nicht pauschal beantworten, schon gar nicht wenn man die Geräte nicht genau benennt.

Gruß
Christoph


Dachte nur, dass vielleicht eine grundsätzliche Aussage getroffen werden kann - weil ja beide Geräte (Drehgeber & Servoantrieb) nach einem anderen Prinzip arbeiten und davon abgeleitet, das eine oder andere System schneller reagieren kann ...


Dennoch vielen Dank! :wink:
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi,

der Servoantrieb hat ja auch einen Geber also nicht so anders wie der Drehgeber. Das Kommunikationsprinzip ist das gleiche da gibt es keine Unterschiede zwischen den Geräten lediglich der Inhalt der Daten ist anders.
Ich sehe da jetzt nicht wirklich einen signifikanten unterschied da sind die techn. Daten des Gebers und Antriebs wesentlich ausschlaggebender.

Gruß
Christoph
 
... ja stimmt, beide Geräte haben einen Geber.

Es ist nur so, wenn ich mich recht erinnere, hatte ich bei einem zurückliegenden Projekt mit Drehgeber direkt auf einen best. Winkel, z.B. 60°, abfragen können, um einen Aktor zu schalten.

Beim Servo klappt das so ja nicht; da muss beispielsweise auf ">=" anstatt auf "=" abgefragt werden. Sonst bekommt das die SPS so gut wie nie mit - oder es ist ein reines Zufallsprodukt.
Bei einer Abfrage auf ">=" könnte anstatt bei 60 der Aktor somit aber auch erst bei 70 schalten ...


Lieben Dank!
 
Hi,

Das hört sich alles nach technologischem Unsinn an.

Wenn ich richtig verstehe kann anstatt dem Drehgeber auch die Servoposition genommen werden. Der Drehgeber ist dann doch überflüssig.
Lieder etwas mehr Aufwand in die Auswertung der "Triggerposition" stecken als unnötige Hardware verbauen...

Deine Auswertung deines Drehgebers funktioniert doch nur dann wenn:
1.) Die Auflösung so grob ist, das jedes Inkrement an die CPU übertragen wird.
2.) Die Zykluszeit der CPU so klein ist das in jedem Geberinkrement auch ein SPS-Zyklus liegt.

Übrigens die meisten Servohersteller können Nockenfunktionen.

Und wenn es richtig genau werden soll dann nutze die Time-Base-IO Baugruppen. (Schaltgenauigkeit 2µs)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi,

Das hört sich alles nach technologischem Unsinn an.

Ähm ja, also da will ich dir mal NICHT widersprechen! ;)


Wenn ich richtig verstehe kann anstatt dem Drehgeber auch die Servoposition genommen werden. Der Drehgeber ist dann doch überflüssig.
Lieder etwas mehr Aufwand in die Auswertung der "Triggerposition" stecken als unnötige Hardware verbauen...

Deine Auswertung deines Drehgebers funktioniert doch nur dann wenn:
1.) Die Auflösung so grob ist, das jedes Inkrement an die CPU übertragen wird.
2.) Die Zykluszeit der CPU so klein ist das in jedem Geberinkrement auch ein SPS-Zyklus liegt.

Übrigens die meisten Servohersteller können Nockenfunktionen.

Und wenn es richtig genau werden soll dann nutze die Time-Base-IO Baugruppen. (Schaltgenauigkeit 2µs)

Ja stimmt, es kann auch die Servoposition herangezogen werden. Aber ich war bisher der Meinung, dass damit die "Triggerposition" nicht so genau bestimmt werden kann, da ja die Abfrage nicht exakt auf einen Wert - z.B. 60 - erfolgen kann.
 
OK...
Die grundsätzliche Ungenauigkeit liegt schon mal an dem Weg den die Achse zurücklegt während einem CPU-Zyklus + dem nächsten Zyklus zur Signalausgabe.

IRT ist da schon hilfreich da der Zyklus fest definiert ist (z.B. 2ms). Kann die Servoachse IRT, dann aktivieren und in einem Sync-OB aufrufen.

Die Triggerauswertung aber entweder auf ein Fenster (z.B. 60 < x < 61), oder nur auf einen Triggerpunkt (>x / <x) mit einer Flanke auswerten
Bei Nutzung eines Fensters muss dieses grösser sein als der Weg den die Achse in einem Zyklus maximal zurücklegen kann.

Übrigens: Habe ich einen Geber der nur ganze Grad darstellen kann dann ist die Ungenauigkeit schon mal mindestens 1 Grad. Es wird also zwischen 60.000000 und 60.999999 nur 60 ausgegeben. In dem Fall reicht dann auch ein Vergleich auf 60.0 < x < 61.0
 
IRT ist da schon hilfreich da der Zyklus fest definiert ist (z.B. 2ms). Kann die Servoachse IRT, dann aktivieren und in einem Sync-OB aufrufen.

Die Triggerauswertung aber entweder auf ein Fenster (z.B. 60 < x < 61), oder nur auf einen Triggerpunkt (>x / <x) mit einer Flanke auswerten

Vielen Dank für die Erklärungen ... hilft mir schon sehr weiter.

Noch zwei Fragen dazu:

- Falls die Achse IRT kann, dann kann das doch in der Steuerung aktiviert werden und läuft sozusagen automatisch - also ohne, dass ich da einen speziellen OB händisch heranziehen muss, oder?

- Warum soll/muss bei einem Triggerpunkt (>x / <x) mit einer Flanke ausgewertet werden?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Bei der Aktivierung von IRT muss ein Sync-OB ein eigenes Teilprozessabbild und die Taktzeit angegeben werden. Die Parametrierung ist zugegebenermaßen etwas undurchsichtig /gewönungsbedürftig.
Wenn es ohne genau genug ist, mach es ruhig konventionell. Hast du Zeit zum rumprobieren, dann versuch es ruhig mal. Was dazu lehrnen ist nie verkehrt.

Zur Flanke: Wenn die Achse z.B. von 0° nach 360° fährt und bei 60° ein Ausgang gesetzt werden soll, dann ist es sinnvoll die Position auf >= 60° zu vergleichen und mit der steigenden Flanke den Ausgang zu setzen.
Andernfalls würde der Ausgang solange gesetzt werden wie die Achse sich oberhalb 60° befindet. (Es sei denn dies ist gewollt)
 
Bei der Aktivierung von IRT muss ein Sync-OB ein eigenes Teilprozessabbild und die Taktzeit angegeben werden. Die Parametrierung ist zugegebenermaßen etwas undurchsichtig /gewönungsbedürftig.
Wenn es ohne genau genug ist, mach es ruhig konventionell. Hast du Zeit zum rumprobieren, dann versuch es ruhig mal. Was dazu lehrnen ist nie verkehrt.

Ok, lieben Dank NBerger.

Ja, etwas Zeit ist noch vorhanden. In meinem Thread #3 hatte ich ja ein Bildchen gepostet mit der Aktivierung von IRT (TIA-Portal) - da kann allerdings kein solcher Sync-OB angegeben werden - daher meine Annahme, dass das System das selbst erledigt ... :confused:

... oder aber dieser OB versteckt sich hinter dieser Sync-Domain_1.
 
OK hier mal eine grobe Liste was zu tun ist. Hoffe ich habe nichts vergessen:

1.)Zwischen dem IRT-Master und dem letzten IRT-Slave dürfen nur IRT-teilnehmer im ProfiNet sein. (Kein Switch oder Panel zwischen CPU und Servo)
2.) CPU Profinet/Erweiterte-Optionen/Echtzeiteit-Einstellungen: Sendetakt einstellen (2ms) und Synchronisationskontrolle auf: Sync-Master
3.) Netzsicht Profinetverbindung anklicken: Domain-Management/Sync-Domains/Sync-Domain_1:
Hier kann auch der Sendetakt eingestellt werden. Unter Teilnehmer iO-Geräte sind alle RT/IRT Master/Slaves aufgelistet. Die Taktsynchron arbeiten sollen auf RT bzw IRT setzen und die Rolle (Master/Slave)einstellen.
4.)Auf den Slave klicken und unter Profinet-Schnittstelle/Erweiterte Optionen/Taktsynchronisation
Den Taktsynchronen Betrieb aktivieren und unter Detailübersicht die "Module" anklicken die Synchronisiert werden sollen.
5.) Am Slave bei den E/A-Adressen (jeweiliges Modul) den Taktsynchronen Betrieb aktivieren (E und A)
und den Organisationsbaustein einstellen. (ggf. Hinzufügen Synchronius-Cycle) ebenso ein Teilprozessabbild wählen
6.) Im OB die Servokommunikation abwickeln und deine "Nockenfunktion" einbinden.

Hoffe das war es... Siemens hat auch einiges an DOKU zum Tema IRT im Netz

Setze nur die Slaves auf IRT die auch so behandelt werden müssen. (Bearbeitung im Sync-OB)
Halte den Sync-OB so kurz wie möglich. Der normale Zyklus wird immer unterbrochen, daher wird seine Zykluszeit steigen. Stelle den Takt so langsam wie möglich. (2-4ms sollten für Servoachsen OK sein)

Übersetzen und schauen was so alles an Fehlern kommt...
 
Zurück
Oben