FuelTech ManualsGlosarioBuscar

2. Cómo ejecuta la VCU una función personalizada

Versión 1.1Software: FuelTech Vision 3.0Productos: FT700, FT470, VisionFT2026-10-13

#El bucle de 1 kHz

La VCU ejecuta el diagrama completo cada 1 ms (1 kHz). Cada ejecución es un ciclo. El intervalo es nominal: el instante exacto de cada ciclo depende de la carga del procesador. El tamaño del diagrama está limitado por las dos reservas de memoria descritas más adelante. Después de grabar una función, confirme en el registro (log) que la VCU responde como antes.

El ciclo no les pasa a los bloques el intervalo de tiempo. Cada bloque usa su propia base:

Base de tiempoBloques
Por paso: 1 paso es 1 ciclo, cerca de 1 msFiltro EMA, Filtro de médias, Contador, Muestra y Retén (guarda un valor en el instante de un disparo); el filtro interno de la Derivada
Tiempo real, en milisegundos o por el intervalo medido por la VCURetardo (la pantalla muestra Atraso), Temporizador cíclico, Rampa, Filtro de paso bajo, Integrador, Derivada, decaimiento del Detector de Pico
Escala fija del campo Tiempo de loop (ms)PID (control proporcional, integral y derivativo): el campo no es el período; el bloque se ejecuta en cada ciclo

#Un solo diagrama, en orden de dependencia

Las funciones habilitadas del mapa, hasta 10, se convierten en un único diagrama. La VCU ejecuta los bloques en el orden de dependencia: cada bloque se ejecuta después de todos los que lo alimentan y lee el valor del ciclo actual de ellos, nunca el del ciclo anterior.

En cada ciclo (cerca de 1 ms) la VCU recorre el diagrama único. Cada bloque se ejecuta después de los bloques que lo alimentan.
En cada ciclo (cerca de 1 ms) la VCU recorre el diagrama único. Cada bloque se ejecuta después de los bloques que lo alimentan.

Las funciones distintas no tienen cables entre sí. Para pasar un valor de una función a otra, escríbalo con Valor para la VCU en un canal Medida personalizada (la pantalla muestra Medida customizada en la mayoría de los canales) y lea el mismo canal con Valor de la VCU en la otra. Verifique en el registro en qué momento el valor llega a la otra función.

#Bucle en el dibujo

El editor permite conectar bloques en círculo, de modo que el resultado de un bloque vuelva, a través de otros bloques, a una entrada anterior. Solo rechaza el cable de un bloque a sí mismo y un segundo cable en la misma entrada. No confunda este bucle en el dibujo con el bucle de 1 kHz.

La VCU no ejecuta el bucle en el dibujo. Los bloques que forman parte de él, y todos los que dependen de ellos, nunca entran en el orden de ejecución: la VCU no los ejecuta y el medidor de memoria sigue contando esos bloques.

Los bloques de un bucle en el dibujo, y los que dependen de ellos, quedan fuera del orden de ejecución: la VCU no los ejecuta.
Los bloques de un bucle en el dibujo, y los que dependen de ellos, quedan fuera del orden de ejecución: la VCU no los ejecuta.

En la VCU, un bloque nunca lee la salida de un bloque que se ejecuta después de él. Para que el resultado anterior influya en el siguiente, hay dos caminos. El primero es usar un bloque que guarda estado de un ciclo al otro, como Histeresis, Biestable SR (guarda un estado entre un comando Set y un comando Reset), Integrador o Contador: el valor guardado vuelve a 0 cuando se carga el diagrama. El segundo es pasar el valor por un canal Medida personalizada libre: Valor para la VCU escribe y Valor de la VCU lee el mismo canal. Una medida que ya viene de una entrada física o de la red CAN (la red de comunicación entre los módulos del vehículo) puede tener el valor sobrescrito. Verifique en el registro el retardo entre escribir y leer antes de depender de ese camino.

#Números con decimales

Todo valor que pasa por un cable es un número con decimales, con cerca de 7 dígitos de precisión; el editor muestra 6 decimales. Lo que esto implica:

#Memoria: dos reservas para el mapa completo

La VCU reserva dos áreas de memoria para las funciones personalizadas. Los límites valen para el mapa completo, no para cada función: se suma el uso de todas las funciones habilitadas.

Las dos reservas del mapa, 512 bytes de memoria de trabajo y 2048 bytes de configuración, sumadas entre las funciones habilitadas.
Las dos reservas del mapa, 512 bytes de memoria de trabajo y 2048 bytes de configuración, sumadas entre las funciones habilitadas.

FuelTech Vision muestra el uso en la esquina inferior izquierda del editor. El título Memoria: N% trae el mayor de los dos porcentajes; los números "usado / total" muestran el valor real (los colores y el límite de 100 % de la barra están en el capítulo La pantalla de Funciones personalizadas).

Habilitar y deshabilitar. Solo las funciones habilitadas cuentan en la memoria y se ejecutan. Una función deshabilitada sigue guardada en el mapa, y sus bytes vuelven a quedar libres. Si todas las funciones están deshabilitadas, la VCU no ejecuta ningún diagrama. El capítulo La pantalla de Funciones personalizadas muestra cómo habilitar.

#Lo que consume más

La mayoría de los bloques usa de 4 a 16 bytes de memoria de trabajo. Pesan más los bloques siguientes:

BloqueMemoria de trabajo (de 512 bytes)Configuración (de 2048 bytes)
Acción en la VCU3216
Filtro de médias (1 a 32 puntos)16 a 1405
Tabla 12x124682
Tabla 8x84330
Tabla 4x44106
Vector 1x164136
PID1222
Valor de la VCU44

#Al superar el límite

Confirmar no se bloquea por la memoria. Al grabar en la VCU el mapa abierto, FuelTech Vision verifica la memoria antes de enviar: si la configuración supera 2048 bytes o la memoria de trabajo supera 512 bytes, no graba y muestra el cuadro Memoria de las Funciones Personalizadas excedida: "Las Funciones Personalizadas de este mapa exceden la memoria disponible. Reduzca la cantidad de bloques/parámetros e intente grabar nuevamente." Esa verificación ocurre en el botón Grabar de la barra superior (sugerencia "Grabar en la VCU"), en cualquiera de las tres opciones de grabación. Hacer activo, en la lista de mapas guardados en la VCU, no la repite: solo activa un mapa que ya está allí.

Si un mapa por encima del límite se activa en la VCU sin haber pasado por esa verificación, ninguna función personalizada se ejecuta: no existe carga parcial. Con la memoria de trabajo por encima de 512 bytes, la VCU avisa "Función personalizada: memoria de ejecución agotada". Con la configuración por encima de 2048 bytes, el diagrama se descarta sin aviso.

#Acciones en la VCU: prioridad y convivencia con las funciones nativas

El bloque Acción en la VCU tiene 17 acciones, además de Nada, y ningún campo de prioridad. En los nombres de las acciones, ETC es la mariposa electrónica, Flex Fuel es el uso de combustible con contenido de etanol variable, sonda lambda es el sensor que mide la mezcla en el escape y EV es vehículo eléctrico. Cada tipo de acción convive de una manera con las funciones nativas:

TipoEjemplosConvivencia con las funciones nativas
CompensaciónCompensación de ignición, Compensación de Inyección, Compensación de ETC, Compensación de objetivo de par (EV)Se suma a lo que las funciones nativas ya calculan. Varios bloques de la misma compensación se suman.
SustituciónPunto de ignición, Apertura máxima de ETC (la pantalla muestra Abertura máxima de ETC), Override de etanol (Flex Fuel), Override del objetivo de sonda lambda, Override de objetivo de par (EV)Cambia el valor nativo en ese punto, con prioridad fija. Gana la de mayor prioridad. La Apertura máxima de ETC escala el objetivo en lugar de sustituirlo (ficha Acción en la VCU).
CorteCorte de ignición, Corte de inyección de combustibleCompite con los cortes nativos: gana el mayor nivel.

La función personalizada entra con prioridad fija, que usted no puede cambiar. En la ignición, pierde frente a las funciones nativas de largada (3-step, 2-step y burnout) y frente al cambio de marcha, y empata con el anti-lag, que sostiene la presión del turbo con el acelerador cerrado. En la apertura máxima de ETC, pierde, entre otras, frente al control de boost por ETC. Las funciones nativas de prioridad menor pierden frente a ella. Con el hard cut, el limitador de RPM, la función gana solo en el punto de ignición fijo que el limitador puede aplicar: el corte del limitador sigue actuando. El bloque Corte de encendido alta res. no usa esta prioridad: compite con el control de tracción, el 2-step, el 3-step y el burnout por el mayor porcentaje. En el empate con el anti-lag no hay un orden garantizado: no cuente con ninguna de las dos y verifique en el registro cuál actúa. Dos bloques que piden la misma acción de sustitución: solo uno vale, y el otro no actúa. Las sustituciones quedan activas todo el tiempo en que la función se ejecuta, incluso con la entrada en 0, inclusive el Override de objetivo de par (EV); solo el Override del objetivo de sonda lambda depende de una entrada mayor que 0.

#Inicialización

Al encender la VCU y en cada grabación de mapa, la VCU carga el diagrama:

#Valores que aparecen en los bloques en el editor

Los valores que el editor muestra en los bloques se calculan en la computadora, no se leen de la VCU (sección Valores en vivo en los bloques, en el capítulo Armar el diagrama). Úselos para verificar las conexiones del dibujo, no el comportamiento en el tiempo: la simulación puede diferir de la VCU, principalmente en los bloques que dependen del tiempo o guardan estado, como los filtros, el Contador, el Detector de Pico, Retardo, Temporizador cíclico, Rampa, Integrador y Derivada. Un Filtro EMA, por ejemplo, responde en el editor cerca de 100 veces más lento que en la VCU.

Para ver lo que la VCU calculó de verdad, escriba el valor con Valor para la VCU en un canal Medida personalizada y siga ese canal. Casi todos los ejemplos de esta guía hacen eso. Verifique antes si el canal está en la lista de canales del registro.