LinuxCNC Documentation

SYNOPSIS

Die Mesa Smart-Serial-Schnittstelle ist eine proprietäre 2,5Mbs-Schnittstelle zwischen den Mesa Anything-IO-Karten und einer Reihe von Zusatzgeräten, die als "Smart-Serial-Remotes" bezeichnet werden. Die Remote-Karten führen eine Vielzahl von Funktionen aus, aber typischerweise kombinieren sie verschiedene Klassen von IO. Die Remote-Karten sind selbst-konfigurierend, in dem sie sagen, die wichtigsten LinuxCNC Hostmot2 Treiber, was ihre Pin-Funktionen sind und was sie benannt werden sollten.

Viele sserielle Fernbedienungen bieten unterschiedliche Pinbelegungen, je nachdem, in welchem Modus sie gestartet werden. Dies wird mit der Option sserial_port_N= in der hm2_pci modparam eingestellt. Weitere Details finden Sie in der hostmot2 Manpage.

Es ist wahrscheinlich, dass diese Dokumentation dauerhaft veraltet ist.

An jede Anything-IO Karte können bis zu 8 serielle Fernbedienungen angeschlossen werden (entweder an die 50-poligen Stiftleisten der 5I20/5I22/5I23/7I43 oder an die 25-poligen Anschlüsse der 5I25, 6I25 und 7I80). Die Fernbedienungen sind in "Ports" mit bis zu 8 "Kanälen" gruppiert. Normalerweise ist jeder Anschluss ein einzelner 8-Kanal-Anschluss, aber das ist nicht unbedingt immer der Fall.

PORTS

Zusätzlich zu den unten aufgeführten Pins pro Kanal/Gerät gibt es drei Pins pro Anschluss und drei Parameter.

Pins:

error-count (u32, ro):: Zeigt den Status des Smart Serial Error Handlers an. Weitere Einzelheiten finden Sie in den Abschnitt über die Parameter.

Parameters:

fault-lim (u32 r/w):: Wenn der Fehlerzähler diesen Schwellenwert erreicht, wird die Smart-Serial-Schnittstelle am entsprechenden Port gestoppt und ein Fehler in dmesg ausgegeben. Zusammen ermöglichen diese drei Pins die Kontrolle über den Grad der Fehlertoleranz, der für die Schnittstelle zulässig ist. Die Standardwerte bedeuten, dass ein harter Fehler ausgelöst wird, wenn mehr als eine von zehn Transaktionen fehlschlägt, also mehr als 20 Mal. Wäre das Inkrement auf Null gesetzt, würde nie ein Fehler ausgelöst, und das System würde trotzdem weiterlaufen. Umgekehrt bedeutet die Einstellung von decrement auf Null, threshold auf 1 und limit auf 1, dass absolut keine Fehler toleriert werden. (Diese Struktur ist direkt aus der Praxis der Fahrzeugsteuergeräte übernommen)

Alle anderen Parameter als die oben genannten werden von der Karte selbst aus den Daten der Remote-Firmware erstellt. Sie können in der HAL-Datei mit "setp" auf die übliche Weise eingestellt werden.

Note

Da eine Smart-Serial-Fernbedienung nur im Setup-Modus prozessfremde Daten an die Hostkarte übermitteln kann, ist es notwendig, den der Karte zugeordneten Smart-Serial-Port zu stoppen und neu zu starten, um den Wert eines Parameters zu ändern.

Note
Bei Parametern, die mit "nv" beginnen (die im nichtflüchtigen Speicher abgelegt werden), wird die Auswirkung erst nach dem nächsten Einschalten des Umrichters sichtbar.

Unveränderte Werte werden nicht neu geschrieben, so dass es sicher ist, die "setp"-Befehle in der HAL-Datei zu belassen oder sie nach eigenem Ermessen zu löschen.

GERÄTE

Die anderen in HAL erstellten Pins und Parameter hängen von den erkannten Geräten (engl. devices) ab. Die folgende Liste der Smart-Serial-Geräte ist keineswegs erschöpfend.

8I20

Der 8I20 ist ein 2,2-kW-Drehstromantrieb für bürstenlose DC-Motoren und AC-Servomotoren. 8I20 Pins und Parameter haben Namen wie "hm2__<BoardType>_.<BoardNum>.8i20.<PortNum>.<ChanNum>.<Pin>", for example "hm2_5i23.0.8i20.1.3.current", zum Beispiel "hm2_5i23.0.8i20.1.3.current" würde den Phasenstrom für den an den vierten Kanal des zweiten seriellen Ports der ersten 5I23-Karte angeschlossenen Umrichter einstellen. Beachten Sie, dass die seriellen Anschlüsse nicht unbedingt mit den physischen Anschlüssen auf der Karte übereinstimmen.

Pins:

angle (float in)

Der Rotorwinkel des Motors in Bruchteilen einer vollen Phase Umdrehung. Ein Winkel von 0,5 bedeutet, dass der Motor eine halbe Umdrehung / 180 Grad / π Bogenmaß von der Nullposition entfernt ist. Die Nullstellung ist die Stellung, die der Motor im Leerlauf einnimmt, wenn an der Phase A (oder U) eine positive Spannung anliegt und sowohl B als auch C (oder V und W) an -V oder 0V angeschlossen sind. Ein 6-poliger Motor hat 3 Nullstellungen pro physikalischer Umdrehung. Beachten Sie, dass der 8I20-Antrieb automatisch den Phasenvor- und -rücklaufwinkel hinzufügt und dass dieser Pin den Rohrotorwinkel anzeigen sollte. Es gibt ein HAL-Modul (bldc), das die Komplexität der verschiedenen Motor- und Antriebstypen handhabt.

current (float, in)

Der Phasenstrombefehl an den Antrieb. Dies wird von -1 auf +1 für Vorwärts- und Rückwärtsmaximalströme skaliert. Der Absolutwert des Stroms wird durch den max_current Parameter eingestellt.

bus-voltage (float, ro)

Die Busspannung des Umrichters in V. Sie beträgt in der Regel 25,6 V, wenn der Umrichter nicht mit Strom versorgt wird, und der Umrichter arbeitet nicht unter etwa 50 V.

temp (float, ro)

Die Temperatur des Treibers in Grad C.

comms (u32, ro)

Der Kommunikationsstatus des Antriebs. Weitere Einzelheiten finden Sie im Handbuch.

status and fault. (bit, ro)

The following fault/status bits are exported. For further details see the 8I20 manual:
fault.U-current / fault.U-current-not fault.V-current / fault.V-current-not fault.W-current / fault.W-current-not fault.bus-high / fault.bus-high-not fault.bus-overv / fault.bus-overv-not fault.bus-underv / fault.bus-underv-not fault.framingr / fault.framingr-not fault.module / fault.module-not fault.no-enable / fault.no-enable-not fault.overcurrent / fault.overcurrent-not fault.overrun / fault.overrun-not fault.overtemp / fault.overtemp-not fault.watchdog / fault.watchdog-not
+
status.brake-old / status.brake-old-not status.brake-on / status.brake-on-not status.bus-underv / status.bus-underv-not status.current-lim / status.current-lim-no status.ext-reset / status.ext-reset-not status.no-enable / status.no-enable-not status.pid-on / status.pid-on-not status.sw-reset / status.sw-reset-not status.wd-reset / status.wd-reset-not

Parameter:

Die folgenden Parameter werden exportiert. Weitere Einzelheiten finden Sie in der PDF-Dokumentation, die Sie von Mesa herunterladen können:

hm2_5i25.0.8i20.0.1.angle-maxlim
hm2_5i25.0.8i20.0.1.angle-minlim
hm2_5i25.0.8i20.0.1.angle-scalemax
hm2_5i25.0.8i20.0.1.current-maxlim
hm2_5i25.0.8i20.0.1.current-minlim
hm2_5i25.0.8i20.0.1.current-scalemax
hm2_5i25.0.8i20.0.1.nvbrakeoffv
hm2_5i25.0.8i20.0.1.nvbrakeonv
hm2_5i25.0.8i20.0.1.nvbusoverv
hm2_5i25.0.8i20.0.1.nvbusundervmax
hm2_5i25.0.8i20.0.1.nvbusundervmin
hm2_5i25.0.8i20.0.1.nvkdihi
hm2_5i25.0.8i20.0.1.nvkdil
hm2_5i25.0.8i20.0.1.nvkdilo
hm2_5i25.0.8i20.0.1.nvkdp
hm2_5i25.0.8i20.0.1.nvkqihi
hm2_5i25.0.8i20.0.1.nvkqil
hm2_5i25.0.8i20.0.1.nvkqilo
hm2_5i25.0.8i20.0.1.nvkqp
hm2_5i25.0.8i20.0.1.nvmaxcurrent
hm2_5i25.0.8i20.0.1.nvrembaudrate
hm2_5i25.0.8i20.0.1.swrevision
hm2_5i25.0.8i20.0.1.unitnumber
max_current (float, rw)

Stellt den maximalen Antriebsstrom in Ampere ein. Der Standardwert ist der im EEPROM des Umrichters programmierte Maximalstrom. Der Wert muss positiv sein, und es wird ein Fehler ausgelöst, wenn ein Strom angefordert wird, der den Maximalwert des Antriebs überschreitet.

serial_number (u32, ro)

Die Seriennummer des angeschlossenen Laufwerks. Diese ist auch auf dem Etikett des Laufwerks angegeben.

7I64

Die 7I64 ist eine IO-Karte mit 24 Eingängen und 24 Ausgängen. 7I64 Pins und Parameter haben Namen wie "hm2<BoardType>.<BoardNum>.7i64.<PortNum>.<ChanNum>.<Pin>", zum Beispiel hm2_5i23.0.7i64.1.3.output-01.

Pins:

7i64.0.0.output-NN (bit, in)

Wird eine 1 oder TRUE an diesen Pin geschrieben, wird der Ausgangstreiber NN aktiviert. Beachten Sie, dass die Ausgänge Treiber (Schalter) und keine Spannungsausgänge sind. Die LED neben dem Anschluss auf der Platine zeigt den Status an. Der Ausgang kann durch Setzen eines Parameters invertiert werden.

7i64.0.0.input-NN (bit, out)

Der Wert des Eingangs NN. Beachten Sie, dass die Eingänge isoliert sind und beide Pins jedes Eingangs verbunden sein müssen, typischerweise mit dem Signal und der Masse des Signals. (Dies muss nicht die Masse der Platine sein.)

7i64.0.0.input-NN-not (bit, out)

Eine invertierte Kopie des entsprechenden Eingangs.

7i64.0.0.analog0 & 7i64.0.0.analog1 (float, out)

Die beiden Analogeingänge (0 bis 3,3 V) auf der Karte.

Parameters:

7i64.0.0.output-NN-invert (bit, rw)

Wenn dieser Parameter auf 1 / TRUE gesetzt wird, so wird der Ausgangswert invertiert, so dass das Schreiben von 0 in .gpio.NN.out den Ausgang aktiviert und umgekehrt.

7I76

Der 7I76 ist nicht wirklich ein smart-serial Gerät. Er dient als Breakout für eine Reihe von anderen Hostmot2-Funktionen. Es gibt Anschlüsse für 5 Schrittgeneratoren (siehe dazu die Hostmot2-Manpage). Die Stepgen-Pins sind mit dem 5I25 verbunden (hm2_5i25.0.stepgen.00…​.), während die Smart-Serial-Pins mit dem 7I76 verbunden sind (hm2_5i25.0.7i76.0.0.output-00).

Pins:

7i76.0.0.input-NN-not (bit in):: (NN = 0 bis 31) Eine invertierte Kopie der Eingaben, die der Einfachheit halber bereitgestellt werden. Die beiden komplementären Pins können mit unterschiedlichen Signalnetzen verbunden sein.

Parameters:

7I77

7i76.0.0.swrevision (u32 ro):: Die Revisionsnummer der Onboard-Firmware. Es gibt Dienstprogramme (man setsserial für Details) zur Aktualisierung und Änderung dieser Firmware.

Die 7I77 ist eine 6-achsige Servokarte. Die analogen Ausgänge sind smart-serial Geräte, aber die Encoder sind konventionelle hostmot2 Encoder und weitere Details dazu finden Sie in der hostmot2 Manpage.

Pins:

7i77.0.1.analogoutN (float in):: (N = 0 bis 5) Dies steuert den Analogausgang des 7I77.

Parameters:

7I69

7i77.0.0.analogoutN-scalemax (float rw):: (N = 0 bis 5) Die analoge Drehzahlskalierung. Dies ist die Drehzahlanforderung, die dem Vollausschlag am Spindelsteuerpin entsprechen würde. Bei einer Steuerspannung von 10 V und einer Skalierung von 10000 U/min würde beispielsweise ein Wert von 10000 U/min am Spinout-Pin einen Ausgang von 10 V erzeugen. Wäre der Spinout-Maximalwert jedoch auf 5000 U/min eingestellt, würde keine Spannung über 5 V ausgegeben werden.

Die 7I69 ist eine digitale 48-Kanal-IO-Karte. Es kann in vier verschiedenen Modi konfiguriert werden:

MODE 0

Bidirektionaler Modus (48 bits in 48 bits out)

MODE 1

Input only (engl. für nur Eingabe) Modus (48 bits in)

MODE 2

Output only (engl. für nur Ausgabe) Modus (48 bits out)

MODE 3

24/24 Modus (24 bits in = bits 0..23 and 24 bits out = bits 24..47)

MODE 4

Bidirektionaler Modus (48 bits in 48 bits out) plus 4 MPG Encoder Kanäle auf Eingängen 0 bis 7

Pins:

7i69.0.0.input-NN-not (bit out):: Digitale Eingang, invertiert.

Parameters:

7I70

7i69.0.0.swrevision (u32 ro):: Die Revisionsnummer der Onboard-Firmware. Es gibt Dienstprogramme zur Aktualisierung und Änderung dieser Firmware.

Die 7I70 ist eine abgesetzt isolierte Karte mit 48 Eingängen. Die 7I70-Eingänge erfassen positive Eingänge relativ zu einer gemeinsamen Felderde. Die Eingangsimpedanz beträgt 10 kΩ und die Eingangsspannung kann von 5 VDC bis 32 VDC reichen. Alle Eingänge verfügen über LED-Statusanzeigen. Die gemeinsame Felderdung des Eingangs ist galvanisch von der Kommunikationsverbindung getrennt.

Das 7I70 verfügt über drei per Software wählbare Modi. Diese verschiedenen Modi wählen verschiedene Sätze von 7I70-Daten aus, die zwischen dem Host und dem 7I70 während des Echtzeit-Prozessdatenaustauschs übertragen werden. Bei Hochgeschwindigkeitsanwendungen können durch die Wahl des richtigen Modus die Datenübertragungsgrößen reduziert werden, was zu höheren maximalen Aktualisierungsraten führt.

MODE 0

Input Modus (nur 48 Bits Daten-Eingabe)

MODE 1

Eingangs- plus Analogmodus (48 Bit Eingangsdaten plus 6 Kanäle Analogdaten)

MODE 2

Eingangsspannung zuzüglich Feldspannung

Pins:

7i70.0.0.input-NN-not (bit in):: (NN = 0 to 47) Eine invertierte Kopie der Eingaben, die der Einfachheit halber bereitgestellt werden. Die beiden komplementären Pins können mit unterschiedlichen Signalnetzen verbunden sein.

Parameters:

7I71

7i69.0.0.swrevision (u32 ro):: Die Revisionsnummer der Onboard-Firmware. Es gibt Dienstprogramme zur Aktualisierung und Änderung dieser Firmware.

Die 7I71 ist eine abgesetzte isolierte 48-Ausgangskarte. Die 48 Ausgänge sind 8 VDC bis 28 VDC Sourcing-Treiber (gemeinsam + Feldstrom) mit einer maximalen Strombelastbarkeit von 300 mA. Alle Ausgänge verfügen über LED-Statusanzeigen.

Der 7I71 verfügt über zwei per Software wählbare Modi. Bei Hochgeschwindigkeitsanwendungen können durch die Wahl des richtigen Modus die Datenübertragungsgrößen reduziert werden, was zu höheren maximalen Aktualisierungsraten führt:

MODE 0

Nur Ausgabemodus (nur 48 Bit Ausgangsdaten)

MODE 1

Ausgänge plus zurückgelesene Feldspannung (read back field voltage)

Pins:

7i71.0.0.output-NN (bit out):: (NN = 0 bis 47) 48 digitale Ausgänge. Der Sinn kann durch den invert-Parameter invertiert werden.

Parameters:

7I73

7i69.0.0.swrevision (u32 ro):: Die Revisionsnummer der Onboard-Firmware. Es gibt Dienstprogramme zur Aktualisierung und Änderung dieser Firmware.

Der 7I73 ist eine Remote-Echtzeit-Pendant- oder Control-Panel-Schnittstelle.

Der 7I73 unterstützt bis zu vier 50-kHz-Encoder-Eingänge für MPGs, 8 digitale Eingänge und 6 digitale Ausgänge sowie bis zu einer 64-Tasten-Tastatur. Wenn eine kleinere Tastatur verwendet wird, werden mehr digitale Ein- und Ausgänge verfügbar. Bis zu acht 0,0 V bis 3,3 V Analogeingänge sind ebenfalls vorhanden. Der 7I73 kann ein 4-zeiliges 20-stelliges LCD für lokale DRO-Anwendungen ansteuern.

Die 7I73 hat drei per Software wählbare Prozessdatenmodi. Diese verschiedenen Modi wählen verschiedene 7I73-Datensätze aus, die zwischen dem Host und dem 7I73 während des Echtzeit-Prozessdatenaustauschs übertragen werden. Bei Hochgeschwindigkeitsanwendungen kann durch die Wahl des richtigen Modus die Datenübertragungsgröße reduziert werden, was zu höheren maximalen Aktualisierungsraten führt

MODE 0

I/O + ENCODER

MODE 1

I/O + ENCODER + ANALOG IN

MODE 2

I/O + ENCODER + ANALOG IN FAST DISPLAY

Pins:

7i73.0.1.output-NN (bit in):: Bis zu 22 digitale Ausgänge (abhängig von der Konfiguration)

Parameters:

7i73.0.1.output-00-invert (u32 ro)::

Weitere Einzelheiten zur Verwendung der oben genannten Mittel finden Sie im Mesa-Handbuch.