Sirve como contenedor de parámetros para la evaluación y el procesamiento de solicitudes UDS 0x28 para el control de la comunicación.
GENERADO POR IAno revisadoModelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: edde1b3d434eProcedenciaPreguntas abiertas (3)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán
Sirve como contenedor de parámetros para la evaluación y el procesamiento de solicitudes UDS 0x28 para el control de la comunicación.
La estructura de datos agrupa todos los parámetros de entrada de una solicitud de servicio UDS 0x28 para el control de la comunicación adaptativa conforme a [SWS_DM_00805]. Al recibir un mensaje de diagnóstico de este tipo, la plataforma deserializa los tipos de control y de comunicación, así como la identificación del nodo, y transfiere la estructura rellenada al manejador de servicio correspondiente. El software de aplicación evalúa los valores contenidos para influir de forma selectiva en el comportamiento de transmisión y recepción de segmentos de red definidos (AUTOSAR_AP_SWS_Diagnostics §8.7.2 «Struct: ComCtrlRequestParamsType»). Como contenedor de datos sin estado, la estructura no posee sincronización de concurrencia propia, motivo por el cual los accesos deberían permanecer en el contexto de ejecución del manejador.
Contexto
La estructura ara::diag::CommunicationControl::ComCtrlRequestParamsType es un tipo central de transferencia de datos dentro de la interfaz funcional de diagnóstico de AUTOSAR Adaptive [SWS_DM_00805]. Está declarada en el archivo de cabecera ara/diag/communication_control.h y sirve como contenedor estandarizado de parámetros que encapsula todos los parámetros de entrada de una solicitud de diagnóstico del servicio UDS 0x28 (CommunicationControl) (AUTOSAR_AP_SWS_Diagnostics §8.7.2 «Struct: ComCtrlRequestParamsType»).
En el sistema global, la estructura actúa como intermediaria entre la gestión de diagnóstico de AUTOSAR (Diagnostic Management) y el software de aplicación adaptativo, el cual es responsable del control de la comunicación específico del vehículo. Los comandos de diagnóstico entrantes procedentes de equipos de prueba externos se deserializan en el nivel de plataforma y se transfieren a la aplicación a través de esta estructura. La estructura comprende tres variables miembro públicas (AUTOSAR_AP_SWS_Diagnostics §8.7.2.1 «Public Member Variables»):
Como estructura C++ elemental (struct) [SWS_DM_00805], ComCtrlRequestParamsType presenta las características de un tipo de valor simple (Plain Old Data / POD). No posee ninguna máquina de estados interna, ningún puntero de función virtual ni zonas de memoria asignadas dinámicamente (AUTOSAR_AP_SWS_Diagnostics §8.7.2.1 «Public Member Variables»).
La creación de una instancia suele realizarse de forma volátil mediante el framework de Diagnostic Management: tan pronto como se recibe y valida formalmente un mensaje UDS 0x28, la pila instancia la estructura e inicializa las variables miembro con los datos útiles decodificados (interpretación: la creación de objetos compete por completo al middleware en el marco de la aceptación de la solicitud). Pregunta Q-1abe8049ce5759f2 (abierta) Las relaciones de propiedad están estrictamente limitadas al contexto de la llamada al método. La plataforma suele transferir la instancia por valor o por referencia constante al manejador de servicio de la aplicación; la aplicación receptora no asume la propiedad permanente de la instancia.
En consecuencia, no existen fases de ciclo de vida ni cambios de estado complejos. La destrucción de la instancia se produce automáticamente al salir del ámbito de visibilidad de la llamada de callback respectiva. En lo relativo a la concurrencia, ComCtrlRequestParamsType no implementa mecanismos de sincronización propios. Puesto que, tras la inicialización por parte de la plataforma, el software de aplicación normalmente evalúa los miembros solo en modo de lectura, el acceso debería ser seguro para subprocesos, siempre que la instancia se transfiera de forma local al subproceso en el contexto de procesamiento (interpretación: no se requieren bloqueos externos para la evaluación). Pregunta Q-d654753d06273bca (abierta)
Recepción del mensaje de diagnóstico: un equipo de prueba de diagnóstico externo envía una solicitud UDS 0x28 a la unidad de control. Adaptive Diagnostic Management recibe el paquete de datos en el nivel de transporte.
Deserialización e instanciación: la pila de diagnóstico analiza la carga útil, crea una instancia de ComCtrlRequestParamsType[SWS_DM_00805] y asigna a los campos controlType[SWS_DM_01562], communicationType[SWS_DM_01563] y nodeIdentificationNumber[SWS_DM_01564] los valores transmitidos.
Transferencia al manejador de servicio: el middleware reenvía la instancia al método de callback implementado de la interfaz CommunicationControl en la aplicación adaptativa.
Evaluación de parámetros y ejecución: la aplicación adaptativa lee la estructura. A partir de nodeIdentificationNumber[SWS_DM_01564] se determina si está direccionado el propio nodo o una subred. A continuación, mediante controlType[SWS_DM_01562] y communicationType[SWS_DM_01563] se activan o desactivan los modos de transmisión y recepción correspondientes.
Notificación de respuesta: tras una ejecución correcta, la aplicación confirma la operación a Diagnostic Management, el cual transmite la respuesta positiva conforme al estándar UDS al equipo de prueba de diagnóstico.
gemini-3.8-flash-low· 2026-10-13 · Original en alemán