Parametrierung und Inbetriebnahme
Mehrere DP-Zyklen in einem Task-Zyklus
Bei Taskzykluszeiten, die mehr als doppelt so groß wie die DP-Zykluszeit sind, ist es möglich, mehrere DP-
Zyklen innerhalb eines Task-Zyklusses durchzuführen, um möglichst aktuelle Inputdaten zu bekommen.
Dabei wird entsprechend des auf dem Karteireiter "FC310x" (für TwinCAT 2.8 [} 35] bzw. TwinCAT 2.9
[} 43]) des Masters einstellbaren Faktors AnzahlDP-Zyklen je Task-Zyklus mit dem Starten des ersten
DP-Zyklusses ein Timer mit der Zykluszeit (Task-Zykluszeit/(Anzahl DP-Zyklen je Task-Zyklus)) gestartet,
über den dann weitere DP-Zyklen gestartet werden. Dabei ist allerdings aufzupassen, dass der letzte DP-
Zyklus rechtzeitig (vor dem nächsten Start der Task) beendet ist, da es sonst zu einem (bzw. mehreren, in
Abhängigkeit vom Verhältnis Anzahl DP-Zyklen je Task-Zyklus) DP-Zyklusausfall kommt, wie im
KapitelSynchronisierung [} 21] beschrieben wurde.
Mehrere Data-Samples innerhalb eines Task-Zyklusses
Die beiden beschrieben Funktionalitäten lassen sich jetzt kombinieren, um z.B. einem oder mehreren Slaves
in einem 2 ms-Zyklus jede ms neue Daten zu geben bzw. von dem Slave neue Daten zu bekommen, um
eine bessere Regelqualität zu erhalten. Für diesen Fall werden die Einstellungen unter Additional
Data_Exchange Samples auf dem Karteireiter Features [} 50] des Slaves statt unter Data-Exch Poll-Rate
(wie oben beschrieben) vorgenommen.
In dem unten dargestellten Beispiel ist zunächst der Faktor AnzahlDP-Zyklen je Task-Zyklus auf dem
Karteireiter "FC310x" (für TwinCAT 2.8 [} 35] bzw. TwinCAT 2.9 [} 43]) des Masters auf 2 einzustellen.
Damit die Task 2 verschiedene Werte an den Slave senden b zw. 2 verschiedene Werte von dem Slave
empfangen kann, ist der entsprechende Slave zweimal im System-Manager einzutragen, wobei alle
Einstellungen, mit Ausnahme des Modulo unter Additional Data_Exchange Samples auf dem Karteireiter
Features [} 50] des Slaves, gleich sein müssen. Dort wäre für den entsprechenden Slave eine 0 bei der
einen und eine 1 bei der anderen Box im System-Manager anzugeben. Der Multiplier unter Additional
Data_Exchange Samples ist für diesen Slave bei beiden Boxen auf 2 zu stellen, d.h., jede der beiden
eingetragenen Boxen wird nur in jedem 2. DP-Zyklus gepollt (der Slave wird dann in jedem DP-Zyklus
gepollt, aber er ist ja zweimal eingetragen). Für alle anderen Slaves, die nur einmal innerhalb des Task-
Zyklusses gepollt werden sollen (die sind natürlich auch nur einmal im System-Manager eingetragen), ist der
Multiplier unter Additional Data_Exchange Samples ebenfalls auf 2, mit dem Modulo unter Additional
Data_Exchange Samples können diese Slaves jetzt noch auf die beiden Zyklen aufgeteilt werden. Ein
Slave, der zweimal gepollt, aber nur ein Variablenabbild in der Task haben soll, ist nur einmal einzufügen,
der Multiplier wäre auf 1, der Modulo auf 0 eingestellt.
Im vorliegenden Beispiel wären die Slaves 1 und 2 jeweils zweimal im System-Manager eingetragen mit den
Einstellungen:
CX1500-M310, CX1500-B310
Version: 1.0
23