ANEXO I. Definición de tramas ANEXO I. Definición de tramas I.1 Definición de trama La trama se ajustará a la definición de la figura I.1 Figura I.1. Definición general de la trama En la misma todos los campos son del tipo byte correspondiendo a cada uno de ellos a: ID_Trama: Identificador de trama SZ_LSB y SZ_MSB: 16 bits que corresponden al tamaño total de trama y que servirá para detectar si la trama se ha recibido completa. Dx_LSB y Dx_MSB: Datos de 16 bits correspondientes a la trama en el caso de que la trama los tuviese. Código cíclico redundante de 8 bits correspondiente a toda la trama (excluido el propio CRC claro). Siempre se añadirá a la trama y servirá para comprobar que no ha habido errores en la comunicación.
I.2 Tramas I.2.1 Descripción de la definición siguiente: La definición de cada trama se va a realizar mediante una tabla como la Id_Trama : Size: Dato 1: Dato 2: Dato n: ID + 2*SIZE + 2*NºDatos+CRC=4+2N En general no se va a especificar este campo. Se calcula No es necesario especificar el tamaño puesto que estadísticamente es muy difícil que produciéndose un error en la transmisión de los bytes correspondientes al mismo, un error adicional en la comunicación procurase la recepción de un número erróneo de bytes que coincidiese con el tamaño transmitido erróneamente. En ese supuesto, todavía queda la comprobación del CRC que provocaría el desecho de la trama. Cuando los datos son variables que necesitan decimales para su representación, se enviará un entero con signo de 16 bits (-32767 a 32767) definiéndose junto a la trama el número de decimales o el factor de multiplicación que tendría el dato. Por ejemplo, en la trama T se define el dato 3 como variable con tres decimales por lo que si el dato recibido es 0xAA55 la rutina de comunicación deberá guardar el valor Valor = -21931*10-3 = -21.931 [unidad] Un ejemplo de cantidad positiva sería 0x55AA
Valor = 21930*10-3 = 21.930 [unidad] En la definición de la trama, el número de decimales o factor de multiplicación se dará indicando el exponente de la potencia de 10. I.2.2 Comunicación I.2.2.1 Comunicación activa La envía el PC al DSP para comprobar si la comunicación está viva. El único dato que se envía es un código que corresponde a quien envía el mensaje: 1 si es el PC y 2 si es el DSP. Id_Trama: 1 Size: 6 Dato 1: 1 (PC->DSP) 2 (DSP->PC) I.2.2.2 Errores en la comunicación La dirección de esta trama es de DSP a PC. Cuando el PC detecte un error de comunicación lo reflejará en el histórico de mensajes pero no enviará nada al DSP. Sin embargo, cuando sea el DSP el que detecte algún tipo de error de comunicación, se lo comunicará al PC y este lo reflejará en el mismo histórico. Id_Trama: 2 Size: 6 Dato 1: Código del error detectado por el DSP
A priori los códigos pueden ser: 1: Error en el tamaño de trama recibida 2: Error en cálculo de CRC 3: Error en rango del parámetro recibido 4: Buffer de recepción desbordado El último puede ser por ejemplo la recepción de una orden con código X siendo ese código desconocido por el DSP. En el caso del valor de un parámetro puede ser que el DSP detecte que el valor enviado está fuera de los rangos posibles para el mismo. Se podría estudiar en este caso enviar más datos al PC para que éste pudiese identificar de qué parámetro se trata y cuales son los límites. I.2.3 Comandos maniobra Además de funciones de monitorización, la aplicación cliente permite el envío de comandos de maniobra al DSP para que de este modo el estado del convertidor pueda ser manejado desde el PC. Estos comandos se corresponderán con ciertos botones accesibles desde la aplicación. Id_Trama: 8 Size: 6 Dato 1: Código maniobra Los códigos de la maniobra serán: 1: Marcha 2: Parada 3: Rearme
I.2.4 Estado El convertidor a monitorizar y comandar con la aplicación tendrá como norma general una serie finita de estados posibles ya que se trata de un automatismo que se pretende determinista. El DSP tendrá que comunicar periódicamente el estado en el que se encuentra al PC para que de este modo se pueda monitorizar el mismo. Id_Trama: 16 Size: 6 Dato 1: Código correspondiente al estado actual del automatismo principal Los estados posibles del automatismo son: 1: Reposo 2: Precarga DC-Link 3: Control activo 4: Error I.2.5 Flags de avisos y errores Se usarán una serie de bytes para codificar errores y avisos que se visualizarán en la ventana de estado y alarmas. A priori dos por lo que se traducirá en la transmisión de un dato. Id_Tram 32 a: Size: 6 Dato 1: Bytes con los flags activos a 1 contrario. En cada byte, un bit a 1 significará que el flag asociado está activo y a 0 lo
I.2.6 Medidas Las medidas directas de magnitudes físicas así como las variables derivadas de las mismas se enviarán agrupadas a intervalos de tiempo que estarán relacionados con la dinámica de las mismas. Así, a priori, se establecen dos grupos de medidas; las rápidas y las lentas, siendo cada una de ellas enviada en tramas distintas. En este grupo de tramas incluiremos además el envío de parámetros desde el PC al DSP y viceversa. Dichos parámetros serán en general parámetros de configuración de diferentes partes de todo el programa de control. Como ejemplo de estos parámetros podemos encontrar parámetros de calibración, parámetros de control, etc. Se definen las tramas en las que se envían dichos parámetros así como las tramas para la solicitud de parámetros desde el PC al DSP para tener localmente en la aplicación dichos parámetros. I.2.6.1 Medidas rápidas Id_Trama: 64 Size: 56 Dato 1: Idc1 Exponente -3 Dato 2: Idc2 Exponente -3 Dato 3: Idc3 Exponente -3 Dato 4: Idc4 Exponente -3 Dato 5: Idc5 Exponente -3 Dato 6: Vc1 Exponente -2 Dato 7: Vc2 Exponente -2 Dato 8: Vc3 Exponente -2 Dato 9: Vc4 Exponente -2 Dato 10: Ia Exponente -3 Dato 11: Ib Exponente -3 Dato 12: Ic Exponente -3 Dato 13: Va Exponente -1 Dato 14: Vb Exponente -1 Dato 15: Vc Exponente -1 Dato 16: P Exponente 0
Dato 17: Q Exponente 0 Dato 18: fdp Exponente -4 Dato 19: MR1 Exponente 0 Dato 20: MR2 Exponente 0 Dato 21: MR3 Exponente 0 Dato 22: MR4 Exponente 0 Dato 23: MR5 Exponente 0 Dato 24: MR6 Exponente 0 Dato 25: MR7 Exponente 0 Dato 26: MR8 Exponente 0 En la trama se han añadido algunas medidas a transmitir adicionales para tener un poco de flexibilidad a la hora de depurar y/o ampliar la aplicación. I.2.6.2 Medidas lentas Id_Tram 65 a: Size: 20 Dato 1: ML1 Exponente -3 Dato 2: ML2 Exponente -3 Dato 3: ML3 Exponente -3 Dato 4: ML4 Exponente -3 Dato 5: ML5 Exponente -3 Dato 6: ML6 Exponente -3 Dato 7: ML7 Exponente -3 Dato 8: ML8 Exponente -3 I.2.6.3 Parámetros calibración Id_Trama: 66 Size: 60
Dato 1: Cal_1 Exponente -3 Dato 2: Cal_2 Exponente -3 Dato 3: Cal_3 Exponente -3 Dato 4: Cal_4 Exponente -3 Dato 5: Cal_5 Exponente -3 Dato 6: Cal_6 Exponente -3 Dato 7: Cal_7 Exponente -3 Dato 8: Cal_8 Exponente -3 Dato 9: Cal_9 Exponente -3 Dato 10: Cal_10 Exponente -3 Dato 11: Cal_11 Exponente -3 Dato 12: Cal_12 Exponente -3 Dato 13: Cal_13 Exponente -3 Dato 14: Cal_14 Exponente -3 Dato 15: Cal_15 Exponente -3 Dato 16: Cal_16 Exponente -3 Dato 17: Cal_17 Exponente -3 Dato 18: Cal_18 Exponente -3 Dato 19: Cal_19 Exponente -3 Dato 20: Cal_20 Exponente -3 Dato 21: Cal_21 Exponente -3 Dato 22: Cal_22 Exponente -3 Dato 23: Cal_23 Exponente -3 Dato 24: Cal_24 Exponente -3 Dato 25: Cal_25 Exponente -3 Dato 26: Cal_26 Exponente -3 Dato 27: Cal_27 Exponente -3 Dato 28: Cal_28 Exponente -3 I.2.6.4 Otros parámetros Id_Trama: 67 Size: 44 Dato 1: Par_1 Exponente -3 Dato 2: Par_2 Exponente -3 Dato 3: Par _3 Exponente -3 Dato 4: Par _4 Exponente -3 Dato 5: Par _5 Exponente -3 Dato 6: Par _6 Exponente -3 Dato 7: Par _7 Exponente -3 Dato 8: Par _8 Exponente -3
Dato 9: Par _9 Exponente -3 Dato 10: Par _10 Exponente -3 Dato 11: Par _11 Exponente -3 Dato 12: Par _12 Exponente -3 Dato 13: Par _13 Exponente -3 Dato 14: Par _14 Exponente -3 Dato 15: Par _15 Exponente -3 Dato 16: Par _16 Exponente -3 Dato 17: Par _17 Exponente -3 Dato 18: Par _18 Exponente -3 Dato 19: Par _19 Exponente -3 Dato 20: Par _20 Exponente -3 I.2.6.5 Petición parámetros Id_Trama: 68 Size: 6 Dato 1: Tipo de parámetros solicitados Los tipos de parámetros a solicitar son: 1: Parámetros de calibración 2: Otros parámetros I.2.7 Osciloscopio virtual La aplicación deberá permitirnos visualizar en ventanas temporales las variables que se especifiquen a través de la misma. Para ello se habilitan estas tramas que servirán para enviar la petición al DSP (PCDSP) y para recibir los datos a visualizar por la aplicación (DSPPC).
I.2.7.1 Petición PCDSP datos para osciloscopio virtual Id_Trama: 128 Size: 24 Dato 1: Variable 1 Dato 2: Variable 2 Dato 3: Variable 3 Dato 4: Variable 4 Dato 5: Variable 5 Dato 6: Variable 6 Dato 7: Canal Disparo Dato 8: Tipo Flanco Dato 9: Nivel Disparo Exponente -1 Dato 10: Ancho de ventana (irá en milisegundos 2 2000) En cada dato Variable se indicará el código de la variable solicitada. Dichos códigos corresponderán de manera unívoca a una variable disponible en las medidas del DSP. Se tendrá que elaborar una lista que contenga, el código y la descripción de la variable. Esta lista tendrá que ser común o estar coordinada entre DSP y PC. En el Dato 7 se especificará el canal que debe ser usado en el caso de que el modo de disparo esté activo. Si se especifica un 0 es que es captura inmediata y no por disparo. Tipo de flanco puede ser de subida ( 1 ) o de bajada ( 0 ) y el nivel de disparo es una cantidad numérica que podrá ser indicada en la aplicación con un decimal, previo a su transmisión la aplicación tendrá que multiplicar por 10 para enviar todas las cifras significativas, el DSP a su recepción tendrá en cuenta esta cifra decimal para realizar la captura y ajustes. I.2.7.2 Envío de datos DSPPC para osciloscopio virtual El DSP enviará los datos al PC en tramas separadas, es decir, cada canal lo va a enviar en una trama distinta donde el primer dato corresponderá al canal que se está
enviando. Los datos enviados se van a fijar en 250 por lo que las tramas serán de longitud fija independientemente del tiempo de ventana que queramos visualizar. Id_Trama: 129 Size: 506 Dato 1: Canal (1 6) Dato 2: Primer valor de la variable Dato 251: Último valor de la variable En el listado común de variables se dispondrá de los decimales significativos de cada variable para poder representarlas adecuadamente.
I.3 Listado de variables Nombre Descripción Exponente Idc1-3 Idc2-3 Idc3-3 Idc4-3 Idc5-3 Vc1-2 Vc2-2 Vc3-2 Vc4-2 Ia -3 Ib -3 Ic -3 Va -1 Vb -1 Vc -1 P 0 Q 0