How to.. "Routerspeicher bestimmen"
Bei einem erhöhten Aufkommen an ADS Nachrichten muss evtl. der Routerspeicher erhöht werden.
Berechnung
Die Berechnung des Routerspeicher hängt von mehreren Faktoren ab. Vereinfacht lässt er sich wie folgt bestimmen:
Routerspeicher = Paketgröße pro Notification* + 500 kB Nachrichtenpuffer + 200 kB Verwaltungsinformationen
*Die Paketgröße der Notification ist abhängig von den gewählten Parametern (Cycletime und Maxdelay). Es sind mindestens 1 kB pro Notification.
Beispiel*:
Es werden 10 Steuerung mit jeweils 20 Notifications (DINT-Werte, Cycle Time = 1ms Maxdelay = 100ms).
Pro Notification-Nachricht wird in diesen Beispiel 1220 Byte belegt (wird auf 2 kB aufgerundet, weil der Speicher in kB angegeben wird).
Datenfeld | Größe | Beschreibung |
---|---|---|
Length | 4 Bytes | Größe der Daten in Byte. |
Stamps | 4 Bytes | Anzahl der Elemente vom Typ AdsStampHeader. |
TimeStamp | 8 Bytes | Zeitstempel. Der Zeitstempel ist nach dem Windows FILETIME-Format kodiert. D.h. der Wert enthält die Anzahl der Nanosekunden, die seit dem 1.1.1601 vergangen sind. Außerdem wird die lokale Zeitverschiebung nicht berücksichtigt. Somit liegt der Zeitstempel als Universal Coordinated Time (UTC) vor. |
Samples | 4 Bytes | Anzahl der Elemente vom Typ AdsNotificationSample. |
Der MaxDelay-Parameter sorgt dafür, dass 100 Werte gepuffert werden:
Notification Handle | 100 x 4 Bytes | 100 Handle der Notification. |
Sample Size | 100 x 4 Bytes | Größe des Datenbereichs in Byte. |
Data | 100 x 4 Bytes | DINT Daten. |
Benötigter Routerspeicher* = 10 Steuerungen x 20 Notification/Steuerung x 2 kB/Notification + 500 kB Nachrichtenbuffer + 200 kB Verwaltungsinformationen = 1100 kB
* Die Berechnung bezieht sich auf den Fall der maximalen Speicherauslastung. Die Speicherbelegung kann im Normalbetrieb abweichen.