Saltar al contenido principal

Módulo genérico de consumo "fmconsumer"

Descripción​

El módulo genérico de consumo fmconsumer permite consumir datos de canales, colocarlos en un mensaje definido y enviarlos después a través de un módulo de socket (como, por ejemplo, un módulo canbus). Dado que la especificación de los canales es opcional, también se pueden enviar mensajes constantes en el tiempo (como, por ejemplo, mensajes de estímulo periódicos). El envío se realiza

  • una sola vez tras el intervalo de envío especificado
  • periódicamente en el intervalo de envío especificado
  • controlado por eventos

Un envío controlado por eventos se realiza

  • tras producirse un evento (y como pronto tras transcurrir un intervalo configurable)
  • tras transcurrir un intervalo configurable, si hasta entonces NO se ha producido ningún evento

Un evento se produce cuando el módulo de socket ha recibido un mensaje especificado mediante una clave de identificación (messageKey).

Se pueden configurar varios mensajes que se van a enviar.

Interfaces y protocolos utilizados​

  • NINGUNO

Configuración JSON​

En la siguiente sección se describe la configuración JSON completa del módulo y se explican los distintos parámetros.

Configuración de ejemplo (configuración típica)​

{
"module":"Consumer",
"factory":"fmconsumer",
"config":{
"fmd": "canbus",
"messages":[
{
"messageKey": 42,
"defaultMessage": "0102 03 04ff06",
"sendMode": "OnTimer",
"sendIntervalMs": 1000
}
]
}
}

Parámetros globales del módulo​

Nombre del parámetroObligatorioTipo de datosRango de valores razonableValor predeterminadoDescripción
fmdSÍSTRINGNombre de la instancia del módulo de socket utilizado
messagesSÍJSON Array of JSON Objectvéase más abajo
channelsNoJSON Array of JSON Objectvéase más abajo

Configuración de mensajes "messages"​

Los mensajes se especifican como objetos JSON; cada uno de estos objetos puede contener los siguientes parámetros

Nombre del parámetroObligatorioTipo de datosRango de valores razonableValor predeterminadoDescripción
messageKeySÍINTClave de identificación unívoca del mensaje
defaultMessageSÍSTRINGBytes codificados en hexadecimal de la plantilla del mensaje (se ignoran los espacios)
sendModeSÍSTRING"SingleShot", "OnTimer", "OnTriggerWhenTimeoutElapsed", "OnMissingTriggerWhenTimeoutElapsed"Modo de funcionamiento del envío del mensaje (único, periódico, controlado por eventos)
sendIntervalMsSÍINT0 -Retardo/intervalo [ms] del envío del mensaje
triggeringMessageKeysNoJSON Array of INTJSON Array VACÍOClaves de identificación de todos los mensajes que provocan el evento

Configuración de canales "channels"​

Nota: actualmente los datos de los canales se colocan uno a uno dentro de la plantilla del mensaje, es decir, el tipo de datos finalmente colocado se corresponde exactamente con el tipo de datos de origen del canal. Además, el usuario debe definir obligatoriamente una plantilla de mensaje suficientemente larga. Opcionalmente es posible, mediante bitLength, colocar un número menor de bits (en este caso se descartan en consecuencia los bits de la derecha).

Los canales se especifican como objetos JSON; cada uno de estos objetos puede contener los siguientes parámetros

Nombre del parámetroObligatorioTipo de datosRango de valores razonableValor predeterminadoDescripción
nameSÍSTRINGNombre del canal que se va a consumir
bitOffsetSÍINTdentro de la plantilla del mensajeDesplazamiento de la colocación del canal dentro de la plantilla del mensaje
bitLengthSÍINTde modo que bitOffset + bitLength quede dentro de la plantilla del mensajeLongitud de la colocación del canal dentro de la plantilla del mensaje

Información del módulo​

InformaciónValor
AutoresoptiMEAS GmbH
desde smartCORE0.110
Tipo de móduloConsumer
DependenciasMódulo de socket con acceso de escritura (como, por ejemplo, canbus)