Sistema de control de movimiento basado en la tarjeta GMP6-PCI de General Mechatronics
Para una descripción detallada, por favor consulte el Manual de integración de sistema.
La tarjeta de control de movimiento GM6-PCI se basa en un FPGA y un ASIC de interfaz de puente PCI. Se puede controlar un pequeña célula de fabricación automatizada con un procedimiento de integración de sistema de poco tiempo. La figura siguiente demuestra la conexión típica de dispositivos relacionados al sistema de control:
-
Puede controlar hasta seis ejes, cada uno puede ser motor a pasos o interfaz de bus CAN o servo analógico.
-
GPIO: 4 grupos de ocho pines de E/S colocados en conectores de cable plano estándar.
-
Módulos de expansión de E/S RS485: El bus RS485 está diseñado para interfazar con módulos de expansión montados en riel DIN compacto. Ahora están disponibles una entrada digital de 8 canales, una salida de relevadores de 8 canales y una E/S analógica (4 salidas de +/-10 Voltios y 8 entradas de +/-5 Voltios). Se pueden conectar al bus hasta 16 módulos en conjunto.
-
20 pines de entrada aislados ópticamente: Seis grupos de tres pines para la conexión directa de dos interruptores de límite y un sensor de casa para cada articulación. Y adicionalmente, dos entradas E-stop aisladas ópticamente.
Instalación:
loadrt hal_gm
Durante la carga (o intento de carga) el controlador imprime algunos mensajes de depuración útiles en la bitácora del kernel, los cuales pueden ser revisados con dmesg.
Se pueden usar hasta 3 placas en un sistema.
En la tarjeta GM6-PCI se encuentran los conectores siguientes:
1. Conectores de E/S
| 9 | 7 | 5 | 3 | 1 |
|---|---|---|---|---|
IOx/7 |
IOx/5 |
IOx/3 |
IOx/1 |
VCC |
| 10 | 8 | 6 | 4 | 2 |
|---|---|---|---|---|
GND |
IOx/6 |
IOx/4 |
IOx/2 |
IOx/0 |
Cada pin puede ser configurado como entrada o salida digital. La tarjeta de control de movimiento GM6-PCI tiene 4 conectores de E/S (GPIO) de propósito general, con ocho E/S configurables en cada uno. Cada pin y nombre de parámetro GPIO comienza así:
gm.<número_de_tarjeta>.gpio.<número_de_conector_gpio>
donde <número_de_conector> va de 1 a 3.
gm.0.gpio.0.in-0
Los pines HAL se actualizan por función
gm.<número_de_tarjeta>.read
1.1. Pines
| Pines | Tipo y dirección | Descripción del pin |
|---|---|---|
|
(bit, Out) |
Pin de entrada |
|
(bit, Out) |
Pin de entrada negado |
|
(bit, In) |
Pin de salida. Usado solo cuando GPIO está configurado como salida. |
1.2. Parámetros
| Pines | Tipo y dirección | Descripción del parámetro |
|---|---|---|
|
(bit, R/W) |
Cuando es verdadero, el GPIO correspondiente es configurado como salida en contrafase, de lo contrario se configura como entrada de alta impedancia. |
|
(bit, R/W) |
Cuando es verdadero, el valor del pin será invertido. Se usa cuando el pin está configurado como salida. |
2. Conectores de eje
1 |
Codificador A |
2 |
+5 Voltios (PC) |
3 |
Codificador B |
4 |
Índice de codificador |
5 |
Falla |
6 |
Energía habilitada |
7 |
Paso/CCW/B |
8 |
Dirección/CW/A |
9 |
Tierra (PC) |
10 |
Línea serie DAC |
2.1. Módulos de interfaz de eje
Los módulos de interfaz montados en riel DIN de tamaño pequeño ofrecen una forma fácil de conectar diferentes tipos de módulo servo a los conectores de eje. Se presentan siete configuraciones de sistema diferentes en el Manual de integración de sistema para evaluar aplicaciones típicas. También ahí se pueden encontrar en descripciones detalladas de los módulos de eje.
Para evaluar la estructura servo-controlador apropiada, los módulos tienen que estar conectados como se muestra en el diagrama de bloques siguiente:
2.2. Codificador
La tarjeta de control de movimiento GM6-PCI tiene seis módulos codificadores. Cada módulo codificador tiene tres canales:
-
Canal A
-
Canal B
-
Canal I (índice)
Es capaz de contar señales de codificador en cuadratura o señales paso/dirección. Cada módulo codificador se conecta a las entradas del conector de eje RJ50 correspondiente.
Cada pin y nombre de parámetro de codificador comienza como sigue:
gm.<número_de_tarjeta>.encoder.<número_de_eje>
donde <número_de_eje> va de 0 a 5. Por ejemplo, gm.0.encoder.0.position se refiere a la posición del módulo codificador del eje 0.
La tarjeta GM6-PCI cuenta la señal del codificador independientemente de LinuxCNC. Los pines HAL se actualizan por función:
gm.<número_de_tarjeta>.read
| Pines | Tipo y dirección | Descripción del pin |
|---|---|---|
|
(bit, In) |
Cuando es verdadero, reinicia conteos y posición a cero. |
|
(s32, Out) |
La cuenta bruta es el conteo, pero no es afectada por reinicio o el pulso índice. |
|
(s32, Out) |
Posición en conteo de codificador. |
|
(float, Out) |
Posición en unidades escaladas (=.counts/.position-escala). |
|
(bit, IO) |
Cuando es True, conteos y posición se redondean o reinician (dependiendo del modo de índice) en el siguiente flanco ascendente del canal I.
Cada posición de tiempo se reinicia por el índice, el pin |
|
(float, Out) |
Velocidad en unidades escaladas por segundo. El codificador GM usa temporizador por hardware de alta frecuencia para medir el tiempo entre pulsos del codificador con el fin de calcular velocidad. Reduce en gran medida la cuantificación de ruido comparado con una simple diferenciación de la salida de posición. Cuando la velocidad medida es por debajo de min-speed-estimate, la salida de velocidad es 0. |
| Parámetros | Tipo y Lectura/Escritura | Descripción del parámetro |
|---|---|---|
|
(bit, R/W) |
Cuando es verdadero, el contador cuenta cada flanco ascendente de la entrada del canal A hacia la dirección determinada por el canal B. Esto es útil para contar la salida de un solo canal (sin cuadratura) o del sensor de señal de paso/dirección. Cuando es false, cuenta en modo cuadratura. |
|
(bit, R/W) |
Cuando es verdadero y .index-enabled también es verdadero, .counts y .position son redondeados (con base en .counts-per-rev) en el flanco ascendente del canal I. Esto es útil para corregir algunos pulsos de error causados por ruido. En modo redondeo, es esencial establecer correctamente el parámetro .counts-per-rev. Cuando .index-mode es falso y .index-enabled es verdadero, .counts y .position son restablecidos en el pulso de canal I. |
|
(s32, R/V) |
Determina cuántos conteos hay entre dos pulsos de índice. Se usa solo en modo redondeo, para cuando los parámetros .index-enabled y .index-mode son verdadero. El codificador GM procesa la señal del codificador en modo 4x, así que por ejemplo, en caso de un codificador de 500 CPR debería establecerse en 2000. Este parámetro puede medirse fácilmente estableciendo .index-enabled en True y .index-mode en False (para que .counts se reinicie en el pulso de canal I), y luego mover el eje a mano y ver la magnitud máxima del pin .counts en halmeter. |
|
(bit, R/W) |
Cuando es verdadero, el evento del canal I (reseteo o redondeo) ocurre en el flanco descendente de la señal del canal I, de lo contrario en el flanco ascendente. |
|
(float, R/W) |
Determina la magnitud mínima de velocidad medida a la que .velocity se establecerá como distinta de cero. Ajustar este parámetro demasiado bajo hará que tome mucho tiempo para que la velocidad pase a 0 después de que hayan dejado de llegar pulsos del codificador. |
|
(float, R/W) |
Factor de escala, en cuentas por unidad de longitud. .posititon=.counts/.position-scale. Por ejemplo, si la escala de posición es 2000, entonces 1000 conteos del codificador producirán una posición de 0.5 unidades. |
setp gm.0.encoder.0.counter-mode 0 # 0: cuadradura, 1: paso/dirección
setp gm.0.encoder.0.index-mode 1 # 0: reinicia posición en el índice, 1: redondea posición en el índice
setp gm.0.encoder.0.counts-per-rev 2000 # Codificador de proceso GM en modo 4x, 4x500=2000
setp gm.0.encoder.0.index-invert 0 #
setp gm.0.encoder.0.min-speed-estimate 0.1 # en unidades de posición/seg.
setp gm.0.encoder.0.position-scale 20000 # 10 revoluciones del codificador hacen que la máquina mueva una unidad de posición (10x2000)
net Xpos-fb gm.0.encoder.0.position => joint.0.motor-pos-fb
2.3. Módulo StepGen
La tarjeta de control de movimiento GM6-PCI tiene seis módulos StepGen, una para cada articulación. Cada módulo tiene dos señales de salida. Puede producir paso/dirección, arriba/abajo o pulsos en cuadratura (A/B). Cada módulo StepGen se conecta a los pines del conector RJ50 de eje correspondiente.
Todo nombre de pin o parámetro de StepGen comienza así:
gm.<número_de_tarjeta>.stepgen.<número_de_eje>
donde <número_de_eje> va de 0 a 5. Por ejemplo, gm.0.stepgen.0.position-cmd se refiere al comando de posición del módulo StepGen del eje 0 en la tarjeta 0.
La tarjeta GM6-PCI genera pulsos de paso independientemente de LinuxCNC. Los pines HAL son actualizados por función
gm.<número_de_tarjeta>.write
| Pines | Tipo y dirección | Descripción del pin |
|---|---|---|
|
(bit, In) |
StepGen produce pulsos solo cuando este pin es verdadero. |
|
(s32, Out) |
Retroalimentación de posición en unidades de conteo. |
|
(float, Out) |
Retroalimentación de posición en unidades de posición. |
|
(float, In) |
Posición ordenada en unidades de posición. Usado solo en modo posición. |
|
(float, In) |
Velocidad ordenada en unidades de posición por segundo. Se usa solo en modo velocidad. |
| Parámetros | Tipo y Lectura/Escritura | Descripción del parámetro |
|---|---|---|
|
(u32, R/W) |
Con 0, el módulo produce señal paso/dirección. Con 1 produce señales de paso arriba/abajo. Y con 2 produce señales de salida en cuadratura. |
|
(bit, R/W) |
Cuando es True, se usa .velocity-cmd como referencia y el control de velocidad calcula la tasa de pulso de salida. Cuando es False, se usa .position-cmd como referencia y el control de posición calcula la tasa de pulso de salida. |
|
(bit, R/W) |
Invierte la salida del canal 1 (Señal de paso en modo paso/dirección) |
|
(bit, R/W) |
Invierte la salida del canal 2 (Señal de dirección en modo paso/dirección) |
|
(float, R/W) |
Velocidad máxima en unidades de posición por segundo. Si se establece 0.0 se ignora el parámetro .maxvel. |
|
(float, R/W) |
Aceleración máxima en unidades de posición por segundo al cuadrado. mf es 0.0, el parámetro .maxaccel es ignorado. |
|
(float, R/W) |
Escala en pasos por unidad de longitud. |
|
(u32, R/W) |
Longitud de pulso de paso en nanosegundos. |
|
(u32, R/W) |
Tiempo mínimo entre dos pulsos de paso en nanosegundos. |
|
(u32, R/W) |
Tiempo mínimo entre el cambio de pulso de paso y dirección en nanosegundos. |
Para evaluar los valores apropiados ver los diagramas de tiempo abajo:
setp gm.0.stepgen.0.step-type 0 # 0:paso/dirección, 1:arriba/abajo, 2:cuadratura
setp gm.0.stepgen.0.control-type 0 # 0:Control de posición, 1:Control de velocidad
setp gm.0.stepgen.0.invert-step1 0
setp gm.0.stepgen.0.invert-step2 0
setp gm.0.stepgen.0.maxvel 0 # no se asigna maxvel para generador de pasos
# deja al interpolador controlarla.
setp gm.0.stepgen.0.maxaccel 0 # no se asigna aceleración máxima para generador de pasos
# deja al interpolador controlarla.
setp gm.0.stepgen.0.position-scale 1000 # 1000 pasos/unidades de posición
setp gm.0.stepgen.0.steplen 1000 # 1000 ns = 1 µs
setp gm.0.stepgen.0.stepspace1000 # 1000 ns = 1 µs
setp gm.0.stepgen.0.dirdelay 2000 # 2000 ns = 2 µs
net Xpos-cmd joint.0.motor-pos-cmd => gm.0.stepgen.0.position-cmd
net Xen joint.0.amp-enable-out => gm.0.stepgen.0.enable
2.4. Señales de habilitación y falla
La tarjeta de control de movimiento GM6-PCI tiene una salida de habilitación y una entrada de falla, ambos pines HAL están conectados a cada conector de eje RJ50 y al conector CAN.
Los pines HAL son actualizados por función:
gm.<número_de_tarjeta>.read
| Pines | Tipo y dirección | Descripción del pin |
|---|---|---|
gm.<número_de_tarjeta>.power-enable |
(bit, In) |
Si este pin es True, |
gm.<número_de_tarjeta>.power-fault |
(bit, Out) |
Entrada de fallo de energía. |
2.5. DAC de eje
La tarjeta de control de movimiento GM6-PCI tiene seis módulos de control de DAC de eje, uno para cada articulación. Cada módulo se conecta al pin del conector de eje RJ50 correspondiente. Cada nombre de pin DAC de eje y de parámetro comienza así:
gm.<número_de_tarjeta>.dac.<número_de_eje>
donde <número_de_eje> va de 0 a 5. Por ejemplo, gm.0.dac.0.value se refiere a la salida de voltaje del módulo DAC del eje 0.
Los pines HAL son actualizados por función:
gm.<número_de_tarjeta>.write
| Pines | Tipo y dirección | Descripción del pin |
|---|---|---|
|
(bit, In) |
Activa la salida DAC. Cuando esta activa es falso, la salida DAC es 0.0 V. |
|
(float, In) |
Valor de la salida DAC en voltios. |
| Parámetros | Tipo y dirección | Descripción del parámetro |
|---|---|---|
|
(float, R/W) |
El offset se añade al valor antes de la actualización del hardware. |
|
(float, R/W) |
Voltaje máximo de salida del hardware en voltios. |
|
(float, R/W) |
Voltaje de salida mínimo del hardware en voltios. |
|
(float, R/W) |
La tarjeta GM6-PCI se comunica con hardware DAC por medio de comunicación en serie rápida para reducir considerablemente el tiempo de retardo comparado con PWM. Se recomienda aislar el módulo DAC, lo cual es negar la línea de comunicación en serie. En caso de aislar, dejar este parámetro a su predeterminado (0), y sin aislamiento establecer el parámetro en 1. |
3. Servoamplificadores en bus CAN
La tarjeta GM6-PCI tiene un módulo CAN para controlar servoamplificadores CAN. La implementación de protocolos de más alto nivel como CANopen es un desarrollo posterior. Actualmente los amplificadores de poder producidos por GM tienen un controlador de nivel superior que exporta pines y parámetros a HAL. Ellos reciben posición de referencia y proporcionan retroalimentación de codificador por medio del bus CAN.
Las tramas son de tipo ID estándar (11 bits), con longitud de datos de 4 bytes. La tasa de baudios es 1 Mbit/s. Los IDs de comando de posición para los ejes 0..5 son 0x10..0x15. Los IDs de retroalimentación de posición para los ejes 0..5 son 0x20..0x25.
Esta configuración puede cambiarse modificando hal_gm.c y recompilando LinuxCNC.
Todo nombre de pin y parámetro CAN comienza así:
gm.<número_de_tarjeta>.can-gm.<número_de_eje>
donde <número_de_eje> va de 0 a 5. Por ejemplo, gm.0.can-gm.0.position se refiere a la salida de posición del eje 0 en unidades de posición.
Los pines HAL son actualizados por función:
gm.<número_de_tarjeta>.write
3.1. Pines
| Pines | Tipo y dirección | Descripción del pin |
|---|---|---|
|
(bit, In) |
Habilitar el envío de referencias de posición. |
|
(float, In) |
Posición ordenada en unidades de posición. |
|
(float, In) |
Retroalimentación de posición en unidades de posición. |
3.2. Parámetros
| Parámetros | Tipo y dirección | Descripción del parámetro |
|---|---|---|
|
(float, R/W) |
Escalamiento por unidad de longitud. |
4. Temporizador de perro guardián
El temporizador del perro guardián se reinicia con la función:
gm.<número_de_tarjeta>.read
4.1. Pines
| Pines | Tipo y dirección | Descripción del pin |
|---|---|---|
|
(bit, Out) |
Indica el temporizador del perro guardián ha expirado. |
Si se sobrepasa el temporizador del perro guardián se establece .power-enable en bajo en el hardware.
4.2. Parámetros
| Parámetros | Tipo y dirección | Descripción del parámetro |
|---|---|---|
|
(bit, R/W) |
Activa el temporizador del perro guardián. |
|
(float, R/W) |
Intervalo de tiempo dentro del cual se debe ejecutar la función gm,<número_de_tarjeta>.read. Típicamente se agrega gm.<número_de_tarjeta>.read al servo-hilo, por lo que el tiempo de espera a procurar es típicamente 3 veces el período del servo. |
5. Interruptores de límite, casa y parada de emergencia
| 25 | 23 | 21 | 19 | 17 | 15 | 13 | 11 | 9 | 7 | 5 | 3 | 1 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
GND |
1/Límite- |
2/Límite+ |
2/Casa |
3/Límite- |
4/Límite+ |
4/Casa |
5/Límite- |
6/Límite+ |
6/Casa |
E-Stop 2 |
V+ (Ext.) |
|
| 26 | 24 | 22 | 20 | 18 | 16 | 14 | 12 | 10 | 8 | 6 | 4 | 2 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
GND |
1/Límite+ |
1/Casa |
2/Límite- |
3/Límite+ |
3/Casa |
4/Límite- |
5/Límite+ |
5/Casa |
6/Límite- |
E-Stop 1 |
V+ (Ext.) |
|
La tarjeta de control de movimiento GM6-PCI tiene dos entradas de interruptores de límite y una entrada de interruptor de casa por cada articulación. Todos los nombres de esos pines comienzan así:
gm.<número_de_tarjeta>.joint.<número_de_eje>
donde <número_de_eje> va de 0 a 5. Por ejemplo, gm.0.joint.0.home-sw-in indica el estado del interruptor de casa del eje 0.
Los pines HAL son actualizados por función:
gm.<número_de_tarjeta>.read
5.1. Pines
| Pines | Tipo y dirección | Descripción del pin |
|---|---|---|
|
(bit, Out) |
Entrada de interruptor de casa |
|
(bit, Out) |
Entrada negada de interruptor de casa |
|
(bit, Out) |
Entrada del interruptor de límite negativo |
|
(bit, Out) |
Entrada negada del interruptor de límite negativo |
|
(bit, Out) |
Entrada del interruptor de límite positivo |
|
(bit, Out) |
Entrada negada del interruptor de límite positivo |
5.2. Parámetros
| Parámetros | Tipo y dirección | Descripción del parámetro |
|---|---|---|
|
(bit, Out) |
Entrada e-stop 0 |
|
(bit, Out) |
Entrada negada e-stop 0 |
|
(bit, Out) |
Entrada e-stop 1 |
|
(bit, Out) |
Entrada negada e-stop 1 |
6. LEDs de estatus
6.1. CAN
Color: Naranja
-
Parpadeo, durante comunicación de datos.
-
Encendido, cuando cualquiera de los búfers esta lleno - error de comunicación.
-
Apagado, cuando no hay comunicación de datos.
6.2. RS485
Color: Naranja
-
Parpadeo, durante inicialización de módulos en el bus
-
Encendido, cuando ocurre la comunicación de datos entre todos los módulos inicializados.
-
Apagado, cuando cualquiera de los módulos inicializados se cae por un error.
6.3. EMC
Color: Blanco
-
Parpadea, cuando LinuxCNC esta ejecutándose.
-
De lo contrario apagado.
6.4. Boot
Color: Verde
-
Encendido, cuando el sistema arranca exitosamente.
-
De lo contrario apagado.
6.5. Error
Color: Rojo
-
Apagado, cuando no hay fallo en el sistema.
-
Parpadeo, con error de comunicación de PCI.
-
Encendido, cuando el temporizador del perro guardián se desborda.
7. Módulos de expansión de E/S de RS485
Estos módulos fueron desarrollados para expandir E/S y capacidad de función a lo largo de una línea RS485 de la tarjeta de control de movimiento GM6-PCI.
Tipos de módulos disponibles:
-
Módulo de salida de relevadores de 8 canales - proporciona ocho relevadores NA/NC de salida en un conector de terminales de tres polos por cada canal.
-
Módulo de entrada digital de 8 canales - proporciona ocho pines de entrada digital óptica aislada.
-
Módulo DAC de 4 canales y ADC de 8 canales - proporciona cuatro salidas de convertidor digital-analógico y ocho entradas analógico-digital. Este módulo también es aislado ópticamente de la tarjeta GM6-PCI.
Cada nodo conectado al bus fue reconocido automáticamente por la tarjeta GM6-PCI. Durante el arranque de LinuxCNC, el controlador exporta automáticamente pines y parámetros de todos los módulos disponibles.
Si un módulo no contesta regularmente, la tarjeta GM6-PCI lo tira. Si un módulo con salida no obtiene datos con CRC correcto regularmente, el módulo cambia a un estado de error (LED verde parpadea), y establece todas las salidas al estado de error.
Los módulos en el bus tienen que estar conectados en topología serial, con resistores de terminación al final. El inicio de la topología es la tarjeta PCI, y el fin es el último módulo.
Cada nodo en el bus tiene una dirección única de 4 bits que puede configurarse con un interruptor DIP rojo.
Un LED verde indica el estado del módulo:
-
Parpadeo, cuando el módulo solo esta energizado pero aún no identificado, o cuando el módulo está caído.
-
Apagado, durante la identificación (computadora encendida, pero LinuxCNC no iniciado)
-
Encendido, cuando comunica continuamente.
7.1. Módulo de salida de relevadores
Para distribución de pines, conexión y características eléctricas del módulo, por favor consulte el Manual de integración de sistema.
Todos los pines y parámetros se actualizan en la función siguiente:
gm.<número_de_tarjeta>.rs485
Debe agregarse a un hilo servo u otro hilo con un período más largo para evitar sobrecarga del CPU. Cada nombre de pin y parámetro del módulo RS485 comienza como a continuación:
gm.<número_de_tarjeta>.rs485.<identificador_de_módulo>
donde <identificador_de_módulo> es entre 00 y 15.
| Pines | Tipo y dirección | Descripción del pin |
|---|---|---|
|
(bit, Out) |
Pin de salida por relevador |
| Parámetros | Tipo y dirección | Descripción del parámetro |
|---|---|---|
|
(bit, R/W) |
Pin de salida negada de relevador |
gm.0.rs485.0.relay-0 # Primer relevador del nodo. # gm.0 # Identifica la primer tarjeta de control de movimiento GM6-PCI (dirección de la tarjeta PCI = 0) # .rs485.0 # Selecciona nodo con dirección 0 en el bus RS485 # .relay-0 # Selecciona el primer relevador
7.2. Módulo de entrada digital
Para distribución de pines, conexión y características eléctricas del módulo, por favor consulte el Manual de integración de sistema.
Todos los pines y parámetros se actualizan en la función siguiente:
gm.<número_de_tarjeta>.rs485
Debe agregarse a un hilo servo u otro hilo con un período más largo para evitar sobrecarga del CPU. Cada nombre de pin y parámetro del módulo RS485 comienza como a continuación:
gm.<número_de_tarjeta>.rs485.<identificador_de_módulo>
donde <identificador_de_módulo> es entre 00 y 15.
| Pines | Tipo y dirección | Descripción del pin |
|---|---|---|
|
(bit, Out) |
Pin de entrada |
|
(bit, Out) |
Pin de entrada negado |
gm.0.rs485.0.in-0 # Primer entrada del nodo. # gm.0 # Identifica la primer tarjeta de control de movimiento GM6-PCI (dirección de tarjeta PCI = 0) # .rs485.0 # Selecciona el nodo con dirección 0 en el bus RS485 # .in-0 # Selecciona el primer módulo de entrada digital
7.3. Módulo DAC y ADC
Para distribución de pines, conexión y características eléctricas del módulo, por favor consulte el Manual de integración de sistema.
Todos los pines y parámetros se actualizan en la función siguiente:
gm.<número_de_tarjeta>.rs485
Debe agregarse a un hilo servo u otro hilo con un período más largo para evitar sobrecarga del CPU. Cada nombre de pin y parámetro del módulo RS485 comienza como a continuación:
gm.<número_de_tarjeta>.rs485.<identificador_de_módulo>
donde <identificador_de_módulo> es entre 00 y 15.
| Pines | Tipo y dirección | Descripción del pin |
|---|---|---|
|
(float, Out) |
Valor de la entrada ADC en voltios. |
|
(bit, In) |
Activa la salida DAC. Cuando es Falso, la salida DAC se establece en 0.0 V. |
|
(float, In) |
Valor de la salida DAC en voltios. |
| Parámetros | Tipo y dirección | Descripción del parámetro |
|---|---|---|
|
(float, R/W) |
El voltaje de entrada será multiplicado por la escala antes de salir al pin .adc-. |
|
(float, R/W) |
Se restará del voltaje de entrada al hardware después de que se haya aplicado el multiplicador de escala. |
|
(float, R/W) |
El offset se añade al valor antes de la actualización del hardware. |
|
(float, R/W) |
Voltaje máximo de salida del hardware en voltios. |
|
(float, R/W) |
Voltaje de salida mínimo del hardware en voltios. |
gm.0.rs485.0.adc-0 # Primer canal análogo del nodo. # gm.0 # Identifica la primer tarjeta de control de movimiento GM6-PCI (dirección de la tarjeta PCI = 0) # .rs485.0 # Selecciona nodo con dirección 0 en el bus RS485 # .adc-0 # Selecciona la primera entrada análoga del módulo
7.4. Módulo colgante de enseñanza
Para distribución de pines, conexión y características eléctricas del módulo, por favor consulte el Manual de integración de sistema.
Todos los pines y parámetros se actualizan en la función siguiente:
gm.<número_de_tarjeta>.rs485
Debe agregarse a un hilo servo u otro hilo con un período más largo para evitar sobrecarga del CPU. Cada nombre de pin y parámetro del módulo RS485 comienza como a continuación:
gm.<número_de_tarjeta>.rs485.<identificador_de_módulo>
donde <identificador_de_módulo> es entre 00 y 15. Nótese que en el módulo colgante de enseñanza no puede cambiarse y pre-programarse como cero. Bajo petición, puede enviarse con firmware pre-programado con distinto ID.
| Pines | Tipo y dirección | Descripción del pin |
|---|---|---|
|
(float, Out) |
Valor de la entrada ADC en voltios. |
|
(bit, In) |
Cuando es verdadero, reinicia conteos y posición a cero. |
|
(s32, Out) |
Posición en conteo de codificador. |
|
(s32, Out) |
La cuenta bruta es el conteo, pero sin afectación por restablecimiento. |
|
(float, Out) |
Posición en unidades escaladas (=.enc-counts/.enc-position-scale). |
|
(bit, Out) |
Pin de entrada |
|
(bit, Out) |
Pin de entrada negado |
| Parámetros | Tipo y dirección | Descripción del parámetro |
|---|---|---|
|
(float, R/W) |
El voltaje de entrada será multiplicado por la escala antes de salir al pin .adc-. |
|
(float, R/W) |
Se restará del voltaje de entrada al hardware después de que se haya aplicado el multiplicador de escala. |
|
(float, R/W) |
Escalamiento por unidad de longitud. |
gm.0.rs485.0.adc-0 # Primer canal análogo del nodo. # gm.0 # Identifica la primera tarjeta de control de movimiento GM6-PCI (dirección de tarjeta PCI = 0) # .rs485.0 # Selecciona nodo con dirección 0 en el bus RS485 # .adc-0 # Selecciona la primera entrada análoga del módulo
8. Erratas
8.1. Erratas de tarjeta GM6-PCI
El número de revisión en esta sección se refiere a la revisión de dispositivo de la tarjeta GM6-PCI.
-
Error: La tarjeta PCI no arranca con Axis 1. El interruptor END B es activo (bajo). Encontrado el 16 de Noviembre de 2013.
-
Causa: Este interruptor esta conectado a un pin de configuración de arranque del FPGA
-
Solución/remedio: Use otro pin de interruptor, o solo conecte interruptor normalmente abierto a este pin de entrada de interruptor.