NP5 SPI Online Handbuch

Digitale Ein- und Ausgänge

Diese Steuerung verfügt über 6 digitale I/O Pins. Davon können 4 wahlweise als Eingang oder Ausgang konfiguriert werden. Die Pins DIO5_IO_MISO und DIO6_IO_CLK sind als Eingänge vorgegeben.

Ein- und Ausgangsbelegung festlegen

Die digitalen Ein- /Ausgänge 1 … 4 an der PCI-Steckleiste des Geräts können frei belegt werden, siehe auch Anschlussbelegung und 3231h Flex IO Configuration.

  • Pin 1: DIO1_IO_CS
  • Pin 2: DIO2_CD_CLK
  • Pin 3: DIO3_CD_DIR
  • Pin 4: DIO4_IO_MOSI
  • Subindex 01h Output Mask: Diese Bitmaske legt fest, ob der Pin als Eingang oder Ausgang verwendet wird:
    • Bit = "0:" Pin ist Eingang (Standard)
    • Bit = "1": Pin ist Ausgang
  • Subindex 02h Pullup Mask: Diese Bitmaske legt fest, ob der Pin ein Pullup oder Pulldown ist:
    • Bit = "0": Pin ist Pulldown (Standard)
    • Bit = "1": Pin ist Pullup
Tipp: Subindex 02h ist für den Pin nur aktiv, wenn er über Subindex 01h als Eingang definiert ist.

Beispiel für Subindex 01h: Pin 2 und Pin 3 sollen Ausgänge sein, Wert ="6" (=0110 b)

  1. Prüfen Sie welche Pins Sie als Ein- oder Ausgang definieren möchten.
  2. Prüfen Sie welche Eingänge als Pulldown oder Pullup definieren möchten.
  3. Setzen Sie die Werte in 3321h:01h und 3321h:02h passend.

Bitzuordnung

Die Software der Steuerung ordnet jedem Eingang und Ausgang zwei Bits im jeweiligen Objekt (z.B. 60FDh Digital Inputs bzw. 60FEh Digital Outputs) zu:

  1. Das erste Bit entspricht der Spezialfunktion eines Ausgangs oder Eingangs. Diese Funktionen sind immer verfügbar auf den Bits 0 bis einschließlich 15 des jeweiligen Objekts. Darunter fallen die Endschalter und der Referenzschalter bei den digitalen Eingängen und die Bremsensteuerung bei den Ausgängen.
  2. Das zweite Bit zeigt den Aus-/Eingang an sich als Pegel, diese sind auf Bit 16 bis 31 verfügbar.

Beispiel

Um den Wert des Ausgangs 2 zu manipulieren, ist immer Bit 17 in 60FEh zu benutzen.

Um die Spezialfunktion "Negativer Endschalter" des Eingangs 1 zu aktivieren, ist Bit 0 in 3240h:01h zu setzen, und um den Zustand des Eingangs abzufragen ist Bit 0 in 60FDh zu lesen. Das Bit 16 in 60FDh zeigt ebenfalls den Zustand des Eingangs 1 (unabhängig davon, ob die Spezialfunktion des Eingangs aktiviert wurde oder nicht).

In der nachfolgenden Zeichnung ist diese Zuordnung graphisch dargestellt.

Tipp: Die ersten 4 I/O Pins können auch als Ausgänge konfiguriert werden, siehe Ein- und Ausgangsbelegung festlegen. Sind diese als Ausgänge konfiguriert, kann der aktuelle Zustand immer noch in den Bits 16 bis 19 des Objekts 60FDh zurückgelesen werden. Die Zuordnung der Bits im 60FDh bleibt somit unverändert, Bit 20 entspricht dem Eingang 5 und Bit 21 dem Eingang 6.

Digitale Eingänge

Übersicht

Anmerkung: Bei Digitaleingängen mit 5 V darf die Länge der Zuleitungen 3 Meter nicht überschreiten.
Anmerkung: Die digitalen Eingänge werden einmal pro Millisekunde erfasst. Signaländerungen am Eingang kürzer als eine Millisekunde werden nicht verarbeitet.

Folgende Eingänge stehen zur Verfügung:

PIN/Eingang Name für Input Routing Auslieferungszustand
B3/DIO1_IO_CS physikalischer Eingang 1 keine
B4/DIO2_CD_CLK physikalischer Eingang 2 Takteingang im Takt-Richtungs Modus
B5/DIO3_CD_DIR physikalischer Eingang 3 Referenzschalter / Richtungseingang im Takt-Richtungs Modus
B6/DIO4_IO_MOSI physikalischer Eingang 4 keine
B7/DIO5_IO_MISO physikalischer Eingang 5 keine
B8/DIO6_IO_CLK physikalischer Eingang 6 keine

Objekteinträge

Über die folgenden OD-Einstellungen kann der Wert eines Eingangs manipuliert werden, wobei hier immer nur das entsprechende Bit auf den Eingang wirkt.

  • 3240h:01h (Special Function Enable): Dieses Bit erlaubt Sonderfunktionen eines Eingangs aus- (Wert "0") oder einzuschalten (Wert "1"). Soll Eingang 1 z.B. nicht als negativer Endschalter verwendet werden, so muss die Sonderfunktion abgeschaltet werden, damit nicht fälschlicherweise auf den Signalgeber reagiert wird. Auf die Bits 16 bis 31 hat das Objekt keine Auswirkungen.

    Die Firmware wertet folgende Bits aus:

    • Bit 0: Negativer Endschalter
    • Bit 1: Positiver Endschalter
    • Bit 2: Referenzschalter

    Sollen z.B. zwei Endschalter und ein Referenzschalter verwendet werden, müssen Bits 0-2 in 3240h:01h auf "1" gesetzt werden

     

  • 3240h:02h (Function Inverted): Dieses Bit wechselt von Schließer-Logik (ein logischer High-Pegel am Eingang ergibt den Wert "1" im Objekt 60FDh) auf Öffner-Logik (der logische High-Pegel am Eingang ergibt den Wert "0"). Das gilt für die Sonderfunktionen (außer den Takt- und Richtungseingängen) und für die normalen Eingänge.

    Hat das Bit den Wert "0" gilt Schließer-Logik, entsprechend bei dem Wert "1" die Öffner-Logik. Bit 0 entspricht dabei dem Eingang 1, Bit 1 dem Eingang 2 usw. .

  • 3240h:03h (Force Enable): Dieses Bit schaltet die Softwaresimulation von Eingangswerten ein, wenn es auf "1" gesetzt ist. Dann werden nicht mehr die tatsächlichen sondern die in Objekt 3240h:04h eingestellten Werte für den jeweiligen Eingang verwendet.

  • 3240h:04h (Force Value): Dieses Bit gibt den Wert vor, der als Eingangswert eingelesen werden soll, wenn das gleiche Bit im Objekt 3240h:03h gesetzt wurde.

  • 3240h:05h (Raw Value): Dieses Objekt beinhaltet den unmodifizierten Eingabewert.

  • 60FDh (Digital Inputs): Dieses Objekt enthält eine Zusammenfassung der Eingänge und den Spezialfunktionen.

Verrechnung der Eingänge

Verrechnung des Eingangssignals am Beispiel von Eingang 1:

Der Wert an Bit 0 des Objekts 60FDh wird von der Firmware als negativer Endschalter interpretiert, das Ergebnis der vollständigen Verrechnung wird in Bit 16 abgelegt.

Input Routing

Prinzip

Um die Zuordnung der Eingänge flexibler vornehmen zu können, existiert der sogenannte Input Routing Modus. Dieser weist ein Signal einer Quelle auf ein Bit in dem Objekt 60FDh zu.

Aktivierung

Dieser Modus wird aktiviert, indem das Objekt 3240h:08h (Routing Enable) auf 1 gesetzt wird.

Anmerkung: Die Einträge 3240h:01h bis 3240:04h haben dann keine Funktion mehr, bis das Eingangsrouting wieder abgeschaltet wird.
Anmerkung: Wird das Input Routing eingeschaltet, werden initial die Werte des 3242h geändert und entsprechen der Funktion der Inputs, wie diese vor der Aktivierung des Input Routing war. Die Eingänge der Steuerung verhalten sich mit der Aktivierung des Input Routing gleich. Es sollte daher nicht zwischen dem normalen Modus und dem Input Routing hin- und her geschalten werden.

Routing

Das Objekt 3242h bestimmt, welche Signalquelle auf welches Bit des 60FDh geroutet wird. Der Subindex 01h des 3242h bestimmt Bit 0, Subindex 02h das Bit 1, und so weiter. Die Signalquellen und deren Nummern finden Sie in den nachfolgenden Listen.

Nummer
dec hex Signalquelle
00 00 Signal ist immer 0
01 01 Physikalischer Eingang 1
02 02 Physikalischer Eingang 2
03 03 Physikalischer Eingang 3
04 04 Physikalischer Eingang 4
05 05 Physikalischer Eingang 5
06 06 Physikalischer Eingang 6
07 07 Physikalischer Eingang 7
08 08 Physikalischer Eingang 8
09 09 Physikalischer Eingang 9
10 0A Physikalischer Eingang 10
11 0B Physikalischer Eingang 11
12 0C Physikalischer Eingang 12
13 0D Physikalischer Eingang 13
14 0E Physikalischer Eingang 14
15 0F Physikalischer Eingang 15
16 10 Physikalischer Eingang 16
65 41 Hall Eingang "U"
66 42 Hall Eingang "V"
67 43 Hall Eingang "W"
68 44 Encoder Eingang "A"
69 45 Encoder Eingang "B"
70 46 Encoder Eingang "Index"

Die nachfolgende Tabelle beschreibt die invertierten Signale der vorherigen Tabelle.

Nummer
dec hex Signalquelle
128 80 Signal ist immer 1
129 81 Invertierter physikalischer Eingang 1
130 82 Invertierter physikalischer Eingang 2
131 83 Invertierter physikalischer Eingang 3
132 84 Invertierter physikalischer Eingang 4
133 85 Invertierter physikalischer Eingang 5
134 86 Invertierter physikalischer Eingang 6
135 87 Invertierter physikalischer Eingang 7
136 88 Invertierter physikalischer Eingang 8
137 89 Invertierter physikalischer Eingang 9
138 8A Invertierter physikalischer Eingang 10
139 8B Invertierter physikalischer Eingang 11
140 8C Invertierter physikalischer Eingang 12
141 8D Invertierter physikalischer Eingang 13
142 8E Invertierter physikalischer Eingang 14
143 8F Invertierter physikalischer Eingang 15
144 90 Invertierter physikalischer Eingang 16
193 C1 Invertierter Hall Eingang "U"
194 C2 Invertierter Hall Eingang "V"
195 C3 Invertierter Hall Eingang "W"
196 C4 Invertierter Encoder Eingang "A"
197 C5 Invertierter Encoder Eingang "B"
198 C6 Invertierter Encoder Eingang "Index"

Beispiel

Es soll der Eingang 1 auf Bit 16 des Objekts 60FDh geroutet werden:

Die Nummer der Signalquelle für Eingang 1 ist die "1". Das Routing für Bit 16 wird in das 3242h:11h geschrieben.

Demnach muss das Objekt 3242h:11h auf den Wert "1" gesetzt werden.

Digitale Ausgänge

Ausgänge

Die Ausgänge werden über das Objekt 60FEh gesteuert. Dabei entspricht Ausgang 1 dem Bit 16 im Objekt 60FEh, Ausgang 2 dem Bit 17 usw. wie bei den Eingängen. Die ersten 4 I/O Pins können als Ausgänge konfiguriert werden, siehe Ein- und Ausgangsbelegung festlegen. Die Ausgänge mit Sonderfunktionen sind in der Firmware wieder in den unteren Bits 0 bis 15 eingetragen. Im Moment ist nur Bit 0 belegt, das die Motorbremse steuert.

Beschaltung

Anmerkung: Beachten Sie immer die maximale Belastbarkeit des Ausgangs (siehe Anschlussbelegung).

Die digitalen Ausgänge, mit der Ausnahme des Bremsenausgangs, haben einen digitalen Pegel von 3,3 V DC. Die Strombelastbarkeit liegt bei 10mA.

Der Bremsenausgang ist als Open Drain realisiert. Demzufolge ist immer eine externe Spannungsversorgung nötig, wie in der folgenden Abbildung zu sehen. Siehe auch Automatische Bremsensteuerung.

Objekteinträge

Es existieren zusätzliche OD-Einträge, um den Wert der Ausgänge zu manipulieren (siehe dazu das nachfolgende Beispiel). Ähnlich wie bei den Eingängen wirkt immer nur das Bit an der entsprechenden Stelle auf den jeweiligen Ausgang:

  • 3250h:01h: Keine Funktion.

  • 3250h:02h: Damit lässt sich die Logik von Schließer auf Öffner umstellen. Als Schließer konfiguriert, gibt der Eingang einen logischen High-Pegel ab, sollte das Bit "1" sein. Bei der Öffner -Konfiguration wird bei einer "1" im Objekt 60FEh entsprechend ein logischer Low-Pegel ausgegeben.

  • 3250h:03h: Ist hier ein Bit gesetzt, wird der Ausgang manuell gesteuert. Der Wert für den Ausgang steht dann in Objekt 3250h:4h, dies ist auch für den Bremsenausgang möglich.

  • 3250h:04h: Die Bits in diesem Objekt geben den Ausgabewert vor, welcher am Ausgang angelegt sein soll, wenn die manuelle Steuerung des Ausgangs über das Objekt 3250h:03h aktiviert ist.

  • 3250h:05h: In diesen Subindex wird die an die Ausgänge gelegte Bitkombination abgelegt.

  • 3250h:08h: Zum Aktivieren des Output Routing.

Verrechnung der Ausgänge

Beispiel für die Verrechnung der Bits für die Ausgänge:



Output Routing

Prinzip

Der "Output Routing Mode" weist einem Ausgang eine Signalquelle zu, ein Kontrollbit im Objekt 60FEh:01h schaltet das Signal ein oder aus.

Die Auswahl der Quelle wird mit 3252h:01 bis 05 im "High Byte" (Bit 15 bis Bit 8) gemacht. Die Zuordnung eines Kontrollbit aus dem Objekt 60FEh:01h erfolgt im "Low Byte" (Bit 7 bis Bit 0) des 3252h:01h bis 05 (siehe nachfolgende Abbildung).

Aktivierung

Dieser Modus wird aktiviert, indem das Objekt 3250h:08h (Routing Enable) auf 1 gesetzt wird.

Anmerkung: Die Einträge 3250h:01h bis 3250:04h haben dann keine Funktion mehr, bis das "Ausgangsrouting" wieder abgeschaltet wird.

Routing

Der Subindex des Objekts 3252h bestimmt, welche Signalquelle auf welchen Ausgang geroutet wird. Die Zuordnung der Ausgänge ist nachfolgend gelistet:

Subindex 3252h Output Pin
01h Konfiguration des PWM-Ausgangs (Software-PWM)
02h Konfiguration des Ausgangs 1
03h Konfiguration des Ausgangs 2 (falls verfügbar)
04h Konfiguration des Ausgangs 3 (falls verfügbar)
05h Konfiguration des Ausgangs 4 (falls verfügbar)
Anmerkung: Die maximale Ausgangsfrequenz des PWM-Ausgangs (Software-PWM) ist 2 kHz. Alle anderen Ausgänge können nur bis zu 500Hz Signale erzeugen.

Die Subindizes 3252h:01h bis 05h sind 16 Bit breit, wobei das High Byte die Signalquelle auswählt (z.B. den PWM-Generator) und das Low Byte bestimmt das Kontrollbit im Objekt 60FEh:01.

Bit 7 von 3252h:01h bis 05 invertiert die Steuerung aus dem Objekt 60FEh:01. Normalerweise schaltet der Wert "1" im Objekt 60FEh:01 das Signal "ein", ist das Bit 7 gesetzt, schaltet der Wert "0" das Signal ein.

Nummer in 3252:01 bis 05
00XXh Ausgang ist immer "1"
01XXh Ausgang ist immer "0"
02XXh Encodersignal (6063h) mit Frequenzteiler 1
03XXh Encodersignal (6063h) mit Frequenzteiler 2
04XXh Encodersignal (6063h) mit Frequenzteiler 4
05XXh Encodersignal (6063h) mit Frequenzteiler 8
06XXh Encodersignal (6063h) mit Frequenzteiler 16
07XXh Encodersignal (6063h) mit Frequenzteiler 32
08XXh Encodersignal (6063h) mit Frequenzteiler 64
09XXh Position Actual Value (6064h) mit Frequenzteiler 1
0AXXh Position Actual Value (6064h) mit Frequenzteiler 2
0BXXh Position Actual Value (6064h) mit Frequenzteiler 4
0CXXh Position Actual Value (6064h) mit Frequenzteiler 8
0DXXh Position Actual Value (6064h) mit Frequenzteiler 16
0EXXh Position Actual Value (6064h) mit Frequenzteiler 32
0FXXh Position Actual Value (6064h) mit Frequenzteiler 64
10XXh PWM-Signal, das mit Objekt 2038h:05h und 06h konfiguriert wird
11XXh Invertiertes PWM-Signal, das mit Objekt 2038h:05h und 06h konfiguriert wird
Anmerkung:

Das Encodersignal wird nur bei Verwendung eines Encoders ausgegeben, bei Hall-Sensoren nicht.

Bei jeder Änderung des "Encodersignals" (6063h) oder der aktuellen Position (6064h, in benutzerdefinierten Einheiten) um ein Inkrement wird ein Puls am digitalen Ausgang ausgegeben (bei Frequenzteiler 1). Berücksichtigen Sie dies bei der Auswahl des Frequenzteilers, besonders bei Verwendung von Sensoren mit niedriger Auflösung (wie z. B. Hall-Sensoren).

Beispiel

Das Encodersignal (6063h) soll auf Ausgang 1 mit einem Frequenzteiler 4 gelegt werden. Der Ausgang soll mit Bit 5 des Objektes 60FE:01 gesteuert werden.

  • 3250h:08h = 1 (Routing aktivieren)
  • 3252h:02h = 0405h (04XXh + 0005h) Dabei ist:
  • 04XXh: Encodersignal mit Frequenzteiler 4
  • 0005h: Auswahl von Bit 5 des 60FE:01

Das Einschalten des Ausgangs wird mit dem Setzen des Bit 5 in Objekt 60FE:01 erledigt.

Beispiel

Das PWM-Signal soll auf Ausgang 2 gelegt werden. Das Bit 0 des 60FE:01h soll als Kontrollbit benutzt werden.

  • 3250h:08h = 1 (Routing aktivieren)
  • 3252h:03h = 1080h (=10XXh + 0080h). Dabei gilt:
    • 10XXh: PWM-Signal
    • 0080h: Auswahl des invertierten Bits 0 des Objekts 60FE:01
▶   next

Contents