Grundlagen
Jeder MTI-Kanal (Multi-Timestamp-Input) hat Inputs und Outputs im zyklischen Prozessabbild, die mit der PLC/Task zu verlinken sind.
Die Darstellung im Systemmanager ist abhängig von der Anzahl konfigurierter Kanäle und dem jeweiligen Multi-Timestamp-Faktor (MTSF).
MTI Inputs liefern die Informationen über die Events:
- Status
- NoOfInputEvents: Anzahl der in diesem Prozessdatenzyklus gelieferten Events mit Zeitstempel.
- InputState: aktueller Zustand des Eingangs 0/1 beim Abholen der Prozessdaten über EtherCAT. Dies entspricht dem klassischen Bool-Eingang und kann ebenso verwendet werden
- InputBufferOverflow = TRUE: zeigt an, dass mehr Events am Eingang angekommen sind als im Buffer gespeichert werden konnten. Im CoE 0x80n0:13 kann für diesen Fall eingestellt werden, ob weiterhin am Eingang ankommende neue Events
- nicht mehr in den Buffer aufgenommen werden (Default)
- oder aufgenommen werden und dafür ältere Events gelöscht werden - InputCycleCounter: Der 2-Bit Zähler dient zur Input-Prozessdatenüberwachung. Dieser wird mit jedem Prozessdatenaustausch der Klemme um eins erhöht und läuft nach seinem Maximalwert von drei auf Null über.
- EventsInInputBuffer: Anzahl der im Buffer verbliebenen gespeicherten Events, nachdem die für den aktuellen Zyklus übertragenen Events entnommen wurden
- InputOrderFeedback: Spiegelt den InputOrderCounter, dadurch kann erkannt werden, ob der InputOrderCounter von der Klemme empfangen und verarbeitet wurde.
- InputBit-Array: bitweise Eingangszustände als Array zu den korrespondierenden Zeitstempel
Bit 0: Eingangswert nach Zeitstempel 1
Bit 1: Eingangswert nach Zeitstempel 2
usw.
- InputEventTime x: Liste der 32-Bit-Zeitstempel der jeweiligen Signalflanke
MTI Outputs dienen zur Kontrolle:
- Ctrl
- InputBufferReset TRUE: der Kanal-Buffer wird gelöscht. Dies kann sinnvoll sein z. B. bei einem gemeldeten InputBufferOverflow, wenn die Applikation dies erfordert. Über die CoE-Einstellung 0x80n0:13 BufferOverflowBehaviour kann das Verhalten beim Überlauf vorgegeben werden.
- InputOrderCounter: dieser Zähler wird nur für den asynchronen Betrieb benötigt. Erst wenn der Zähler von der Steuerung inkrementiert wird, gibt der Kanal einen neuen Satz Events an den Feldbus aus.
Zur Betriebsartenwahl verfügt jeder Kanal im CoE ab 0x8000 über entsprechende Einstellungen:
0x80n0:0 MTI Settings Ch. n=0...7 | Name | Eintrag | Beschreibung |
---|---|---|---|
0x80n0:01 | Enable digital filter |
| Aktivierung des Filters um Spikes auszublenden, Filterlänge ist in 0x80n0:14 DigitalFilterCount einzugeben. |
0x80n0:01 FALSE |
| Filter ist deaktiviert | |
0x80n0:01 TRUE |
| Aktivierung des Eingangsfilters | |
0x80n0:11 | Buffer reset behaviour |
| Resetverhalten bei einem Resetsignal im Statusregister (PDO) |
0x80n0:11 FALSE | reset on rising edge | Reset wird bei steigender Flanke durchgeführt, direkt danach können neue Daten gebuffert werden | |
0x80n0:11 TRUE | reset on high level | Buffer wird solange im Reset gehalten, wie das Signal ansteht. Anwendung beispielsweise bei Muting | |
0x80n0:12 | Buffer mode |
| Einstellung asynchroner oder synchroner Betrieb |
0x80n0:12 FALSE | Asynchronous (Buffered) | Asynchroner Betrieb. Um die Buffereinträge in die PDO zu laden, muss von der PLC der InputOrderCounter inkrementiert werden. Dieser Handshake benötigt einen Zyklus für die Bearbeitung, jedoch sind die Daten auch bei Telegrammstörungen noch vorhanden. | |
0x80n0:12 TRUE | Synchronous | Synchroner Betrieb. Die ersten Buffereinträge werden zyklisch an die PDO weitergereicht, sobald die Daten zur Verfügung stehen. | |
0x80n0:13 | Buffer overflow behaviour |
| Konfiguration des Verhaltens bei mehr als 32 zu speichernden Events pro Kanal |
0x80n0:13 FALSE | Lock buffer | das Überschreiben der Daten wird gesperrt, neue Events gehen verloren | |
0x80n0:13 TRUE | Overwrite oldest event | Überschreiben der ältesten Daten, neue Events bleiben erhalten | |
0x80n0:14 | Digital filter count |
| Anzahl der Mikrozyklen, bis ein anliegender Eingangspegel als gültig gewertet wird. Hierdurch werden Spikes ausgefiltert. |
Zeitliche Konsistenz der Inputdaten Der Status der Inputs wird mit einer hochprioren Task überwacht und Flankenwechsel ggf. in den Buffer einsortiert (Mikrozyklus). Mit jedem Prozessdatenzyklus werden die Daten aus dem internen Buffer in die Prozessdaten kopiert und anschließend über EtherCAT versendet. Sollte zwischen Kopieren und Versenden noch ein Mikrozyklus ausgeführt werden, wird der aktuelle InputState noch in das Prozessabbild eingetragen. Die Daten aus dem Buffer werden aber nicht mehr aktualisiert. Dies hat das Ziel den InputState immer so aktuell wie möglich zu halten. |