/****************************************************************************************************************/ /********************************************** Microcontrolador R5F64111 *********************************/ /****************************************************************************************************************/ /****************************************************************************************************************/ Firmware 8_2(03-08-23): AIS => Msg6: Status entradas digitales: Cuando una entrada estaba configurada como alarma, no estábamos verificando la alarma correcta (Faltaba el offset de la Alarma externa 1) /****************************************************************************************************************/ Firmware 8_1(27-07-23): AIS => Comunicación AIS por el puerto 422 exclusivamente... Si se configura el AIS, no se puede configurar por este puerto ni la radio ICM ni el GPS (El AIS tiene prioridad) /****************************************************************************************************************/ Firmware 8(17-05-23): AIS => Comunicaciones con el módulo AIS a través de los puertos AIS1 y AIS2 - Se obtiene de la configuración todo lo referente al AIS´del envío de mensajes 6 y 21 - Envío del mensaje 21 - Selección del envío del mensaje 6 (VERSION 4.10) - Obtención de la fecha y posicion a través del AIS /****************************************************************************************************************/ Firmware 7_31(21-12-22): Cambios en la rutina del GSM (SMS) => "Cinterion EHS6" Eliminamos la rutina de verificacion de banda. Probado el arranque, envío de sms y lectura de sms No atiende a llamadas /****************************************************************************************************************/ Firmware 7_30(12-12-22): Introducción del reloj astronómico Cuando el MF12 controla el día/noche: Reloj astronómico de noche: Si la fotocélula indica noche => Salida 2 OFF Si la fotocélula indica día => Salida 2 ON y cambio a noche Reloj astronómico de día: Si la fotocélula indica noche => Salida 5 ON y cambio a día Si la fotocélula indica día => Salida 5 OFF Reloj astronómico indeterminado: Lo que determine la fotocélula /****************************************************************************************************************/ Firmware 7_29(07-10-22): Analógicas => He sustituido una variable por la constante de cada canal analógico /****************************************************************************************************************/ Firmware 7_28(05-08-22): LAN => Cambio de estrategia en la LAN - Cada x minutos, la MMB02 envía de forma automática el estado. Si el servidor le interroga, volverá a empezar la cuenta de minutos, es decir, han de pasar X minutos (programados a través del tranceiver) desde la última interrogación del servidor para que la MMB02 envíe de forma automática su estado. - Como puede pasar que la MMB02 envíe los estados al aire y que al otro lado no haya nadie recibiéndolos, el servidor ha de enviar algún tipo de trama cada cierto tiempo. Si pasa un tiempo (programado a través del transceiver) sin recibir ningún tipo de trama válida, resetearemos los periféricos /****************************************************************************************************************/ Firmware 7_27(07-07-22): LAN => Problema detectado y solucionado en el reset de periféricos si no se reciben tramas a través de la LAN Hemos dejado por parámetros variables: - Minutos máx sin recibir tramas de estado por parte del servidor antes de enviar tramas de estado (en el anterior fijo 30 minutos) - Frecuencia de envío a través de la LAN de tramas de estado cuando el servidor no dice nada (en el anterior fijo 1 minuto) /****************************************************************************************************************/ Firmware 7_26(30-06-22): LAN => Hemos eliminado en envío y la recepción de tramas vacías (0x00) Tras un reset, la MMB02 enviará cada minuto una trama de estado al servidor hasta que éste le "haga caso" (enviando alguna trama). A partir de entonces, la MMB02 responderá de forma normal.. Si transcurren 30 minutos sin recibir una trama del servidor, la MMB02 volvera a transmitir una trama de estado cada minuto... hasta que el servidor le vuelva a hacer caso Cada 2 horas sin recibir nada válido por el puerto LAN, se realizará un reset de los periféricos /****************************************************************************************************************/ Firmware 7_25(03-06-22): Corriente baliza => Si elegimos "mf12", los estados día/ noche se realizarán a través de la entrada externa 1 /****************************************************************************************************************/ Firmware 7_24(02-06-22): Las analógicas, cuando la tenemos configuradas como "corriente de baliza", los umbrales de detección noche etc.. no pasaban por los divisores de factor A y factor B, por lo que no se estaban detectando bien día y noche /****************************************************************************************************************/ Firmware 7_23(29-04-22): Incorporada la interpretación de la trama del módulo GPS externo a través del puerto DGPS Si el puerto DGPS no está utilizado para el radio modem ni para el modem iridium, por defecto estará habilitado para escuchar al módulo gps externo /****************************************************************************************************************/ Firmware 7_22(15-02-22): Cambios en la rutina del GSM (SMS) => Para que funcione con el mode de Matrix "Cinterion EHS6" En este caso, no seleccionamos la banda de funcionamiento del modem Probado el arranque, envío de sms y lectura de sms No atiende a llamadas /****************************************************************************************************************/ Firmware 7_21(27-12-21): Cambio en el modem GSM => Comando AT+PIN... Ponemos el número de PIN entre "" => AT+PIN="1111" /****************************************************************************************************************/ Firmware 7_20(08-03-18): Hemos detectado que el parámetro => "Variación máx de distancia" no se estaba leyendo bien, en las posiciones de e2prom correctas Deberíamos leer posición 340/341 y estábamos leyendo 339/340 /****************************************************************************************************************/ Firmware 7_19(12-01-16): Cambios realizados en el firmware debido a que los MODEMS FASTRAX con el firmware 7_45 y 7_52 no son compatibles: - Al borrar sms no debe haber ningún 0 a la izquierda Ejemplo al borrar el mensaje 2 el comando enviado es "AT+CMGD=2" en lugar de "AT+CMGD=02" - Si el comando de algún mensaje en memoria nos devuelve error, no contemplaremos mensaje algundo. Antes era el número 0 y nos quedábamos enganchados Tras un paso a día, a las 2 horas realizaremos un reset de los periféricos Al arrancar la SIM, borraremos los mensajes guardados en memoria Descubrimos un error en el telemando de la salida 9. La salida 9 es el reset de los periféricos. Al activar esta salida, realizabamos el reset de los periféricos antes de borrar el mensaje, por lo que al volver a arrancar el modem, volvíamos a tener el mensaje en memoria y volvíamos a realizar un reset de los periféricos y así entrabamos en un ciclo infinito En modo "SMS" al recibir un mensaje, la MMB02 se pone en hora con la hora del mensaje Firmware 7_18(27-10-15): La MMB02 puede trabajar ahora con MMB868 de Telit o MMB868 de Radiocrafts /****************************************************************************************************************/ Firmware 7_17(27-10-15): El firmware de la MMB02 se realizó para un módulo gsm Fastrax Fw7_45 (Para este firmware todo funciona correctamente) Pero para firmwares posteriores de múdulos Fastrax, hay un error a la hora de borrar mensajes sms AT+CMGD=02 ERROR AT+CMGD=2 OK Como se puede ver, simplemente es quitar el cero a la izquierda del número para que deje de dar el error /*********************************************************************************************************************************************************************/ Firmware 7_16(12-11-14): Las tensiones analógicas tienen una serie de factores de conversión del valor. En esta versión las alarmas se comparan con el valor de las entradas ya modificado por esos valores de conversión Se ha corregido un error de envio de sms cuando los dos modems están activados por sms: Tal como estaba antes: Si 1=GPRS => Envio por el 1 Si 1=SMS y 2= GPRS (Conectado) => Envio por el 2 Si 1=SMS y 2= GPRS (No Conectado) => Envio por el 1 Si 1=SMS y 2= deshabilidato => Envio por el 1 Esta última opción es incorrecta. Si tanto el GSM 1 como el GSM 2 están habilitados no se enviaba nada.Cuando se han verificado todas las opciones y el sms está habilitado, pues se enviaría por el 1 Si 1=GPRS => Envio por el 1 Si 1=SMS y 2= GPRS (Conectado) => Envio por el 2 Si 1=SMS y 2= GPRS (No Conectado) => Envio por el 1 Si 1=SMS => Envio por el 1 /*********************************************************************************************************************************************************************/ Firmware 7_15(12-11-14): Hemos cambiado por completo la estrategia de medir las analógicas. A partir de la version 7_11 (descartada por diferentes problemas) Se habilita la interrupción de las analógicas y cada 1 milisegundo se toman 20 muestras de cada canal. Es decir durante el primer milisegundo, 20 muestras de por ejemplo analógica 1, el siguiente milisegundo 20 muestras de la analógica 2.. etc.. y cuando terminamos, volvemos por el principio. Si por alguna razón, durante ese milisegundo no se han podido realizar las 20 muestras.. no sucede nada, se le dará un milisegundo más para tomar dichas muestras. Al mismo tiempo se ha visto que si las analógicas definidas como pulsantes se miden solo en el bucle principal, cuando tenemos dispositivos que nos ocupan mucho tiempo de procesado (como puede ser un gsm), no las medimos correctamente. De esta forma, en la interrupción si las podremos medir y no provocar falsos cambios de estado dia/noche debidos a los retardos en las mediciones analógicas. Proceso de analogicas pulsantes: Solo se tendrán en cuenta los valores que superen un determinado umbral. De esta forma cuando se producza el destello, mediremos los valores y cuando la señal esté en reposo, esos valores no los tendremos en cuenta. Al superarse el umbral, un contador se resetea. Si transcurre un minuto sin que ningún valor analógico supere dicho umbral, significará que esa señal pulsante ha desaparecido y por lo tanto borraremos el valor dado (reset del valor) Proceso de analogicas no pulsantes: Para obtener más estabilidad en las medidas, se procesarán las 400 últimas medidas tomadas (20 paquetes donde cada paquete tiene 20 muestras). De esta forma disminuiremos en gran medida el posible ruido obtenido en las medidas. Proceso de noche/dia: Tenemos un umbral que nos indica el mínimo valor de tension/corriente que ha de pasar por la entrada para detectar "noche". Pero a la primera detección no decidimos que estamos en noche, simplemente activamos un tiempo durante el cual ha de superarse ese valor más veces. Si esto sucede es que no ha sido un pico de tensión/corriente y por lo tanto pasaremos a noche. A partir de entonces, actuaremos como una señal pulsante. Solo tendremos en cuenta los valores que superen el umbral y cada vez que se supere el umbral, pondremos un contador a 0. Si transcurre un determinado tiempo sin superar dicho umbral, significará que cambiaremos al estado "dia". Todo este proceso se realiza en las interrupciones, por lo que independientemente que estemos ocupados atendiendo a los dispositivos de comunicación, si detectaremos los días y las noches. Solo se encuentra en el bucle el paso de dia a noche y viceversa en función de los datos obtenidos en las interrupciones. Se han introducido en los protocolos MMB25 las alarmas de las entradas analógicas. Solo se activan las alarmas cuando las señales estén configurados como tensión. Error importante en el firmwawre 7_12 y_7_14 (Cambios consecutivos día/noche) Cada minuto se leen los valores de la e2prom para refrescarlos.. pues bien, reiniciabamos ciertas variables referentes a los umbrales de día/noche y ello nos provocaba falsos días/noches. /*********************************************************************************************************************************************************************/ Firmware 7_11,7_12 y 7_14 Pruebas con diferentes problemas. /*********************************************************************************************************************************************************************/ Firmware 7_10(30-09-14): A partir de esta versión soporta el módulo de radio de Radiocrafts Todas las entradas analógicas soportan tensión o entrada pulsante. Donde el programa transceiver pone "Alarma analogica".. ahora será el umbral a partir del cual comienza a medir la entrada analógica. Si no queremos ningún tipo de umbral, este valor a 0 y listo. De momento, se han deshabilitado las alarmas analógicas. De esta forma se puede utilizar como entradas pulsantes tanto de tensión como de corriente. /*********************************************************************************************************************************************************************/ Firmware 7_9(11-07-14): SMS-IRIDIUM: Cambio lógica telemando noche dia => Noche= 1 Día = 0 /*********************************************************************************************************************************************************************/ Firmware 7_6(05-02-14): GPRS: Abierto 2 sockets en vez de 1 socket único Tras 4 horas sin ningún intercambio de datos, la conexión GPRS se cerrará /*********************************************************************************************************************************************************************/ Firmware 7_5(23-12-13): Insertada la funcionalidad de IRIDIUM. Esta versión va acompañada del Transceiver 8.0.1 En el transceiver elegiremos: - Puerto de comunicaciones del modem IRIDIUM - Cantidad de mensajes máximos a Tx por IRIDIUM - Minutos reset modem IRIDIUM sin que entre en cobertura - Posibilidad de Tx tramas NMEA o ETHERNET - Cada x horas y x minutos (sincronizados con la hora 00:00) enviará un estado automático via IRIDIUM. Ejemplo si decimos que cada 6 horas envie un estado, el dispositivo ha de enviar el estado a las 0 horas, 6 horas, 12 horas y 18 horas El dispositivo cogerá la hora del modem IRIDIUM, no obstante, como la hora no es local, para ajustarla a la hora local, deberemos ajustar correctamente los parámetros situados en la pestaña de GPS, pese a no tener GPS instalado. Parámetros a tener en cuenta "Tiempo GPS off" => El dispositivo se sincronizará temporalmente cada tantos minutos como indiquemos en el parámetro "Desvio horario" "Mes adelanto hora" "Mes atraso hora" Los mensajes IRIDIUM tanto enviados como recibidos tendrán la misma estructura que los enviados y recibidos por SMS El programa vigilante versión 3 es válido para esta versión. He utilizado el hueco del "Meteo" donde se ha cambiado por "Iridium". Se producirá el reset del dispositivo si en una hora no recibimos respuesta alguna por parte del modem IRIDIUM. /*********************************************************************************************************************************************************************/ Firmware 7_4(22-11-13): Cambio de estrategia en la comunicacion GPRS Se habilita solamente un socket activo Cuando hay un cliente conectado, cada 30 segundos se envia un "0x00" (trama vacia) para que la otra parte sepa que la comunicación está ok Por otra parte, tambien se reciben tramas vacias (0x00) normalmente cada 2 minutos y se hace un eco de la recepción. Existe un timeout de 7 minutos, que si en ese tiempo no se ha recibido una trama vacía es que la otra parte no está conectada y por tanto se cierra el socket. Tras cada envio de la trama vacia, salimos del modo "tx de datos con cliente" y entramos en "comandos AT" para comprobar la cobertura del dispositivo.+ Si estamos fuera de cobertura, cerramos el socket y esperamos a que el cliente se vuelva a conectar. Si estamos dentro de cobertura, volvemos a pasar al modo "tx de datos con cliente" /*********************************************************************************************************************************************************************/ Firmware 7_3(30-10-13): Se interpretan los errores cme 842 y 843 842 => "reset del socket por timeout" Indica que el socket está cerrado 843 => "reset del socket" con el cliente por factores externos En muchas ocasiones la cobertura de GPRS está a 99. Mientras está conectado un cliente, el modulo no atiende comandos AT, por lo que no puede contestar al comando de cobertura. Se le deja de preguntar la cobertura mientras esté conectado a un cliente /*********************************************************************************************************************************************************************/ Firmware 7_2(28-10-13): Solucionado: En la trama de estado(tanto en nmea, como en ethernet) no se mostraba la corriente de panel solar instantánea /*********************************************************************************************************************************************************************/ Firmware 7_1(22-10-13): Permite hasta 8 conexiones de cliente Cuando detecta que no hay sockets libres, reinicia el GPRS. /*********************************************************************************************************************************************************************/ Firmware 7(15-10-13): Tras un reset de la MMB02, se activa la salida 9 durante el tiempo que esté programada. Si dicho tiempo es 0, por defecto se activará 10 segundos. Esta salida realizará un reset de alimentación a todos los periféricos de comunicaciones (Routers, modems, etc...) Comunicación GPRS: Cada 4 horas sin que exista un intercambio de datos entre la MMB02 y el cliente conectado, la MMB02 desconectará al cliente para que este se vuelva a conectar. Esto se realizará como seguridad para comprobar que la comunicación GPRS funciona correctamente y no es que el modem esta muerto. Al realizar un intercambio de datos, este tiempo se reinicia. Si la MMB02 detecta que el modem no le está respondiendo a los comandos internos (es decir no responde nada de nada) ella por si sola realizará un reset de periféricos. /*********************************************************************************************************************************************************************/ Firmware 6_9(10-10-13): (FALLIDO en pruebas) Debido a que existen muchas desconexiones del GPRS debido a que el módulo deja al cliente en standby rápidamente (cada 30 segundos aproximadamente), este tiempo se ha modificado a 30 minutos. Esto debe reducir enormemente la cantidad de desconexiones de GPRS /*********************************************************************************************************************************************************************/ Firmware 6_8(01-10-13): Copia exacta de la versión 6_7 con la única salvedad de que cuando arrancamos la fecha inicial es 01/01/08 en vez de 01/01/13 /*********************************************************************************************************************************************************************/ Firmware 6_7(02-07-13): Función destelladora, se ha cambiado la lógica de la alarma. Cuando recibimos pulsos por la entrada, activaremos la alarma, cuando no recibimos pulsos, la desactivaremos. /*********************************************************************************************************************************************************************/ Firmware 6_6(28-06-13): Las tramas de estado automático a través ethernet en vez de enviar un 0 0 0, enviaban un 2 0 0 => Petición de estado Se incorporan 3 bytes en configuración para seleccionar tramas automáticas de NMEA y Ethernet - GSM1 - GSM2 - LAN Las entradas externas 1 y 2, tiene ahora una nueva funcionalidad (Tipo destelladora) Las diferentes funciones de estas entradas son: - Entrada digital - Sensor giro - Destelladora La función destelladora, reinicirá un contador cada vez que le llegue un pulso por la entrada. Si pasados el tiempo preprogramado en el transceiver en el campo "Tmp Activación", no ha llegado un pulso, activará la alarma correspondiente /*********************************************************************************************************************************************************************/ Firmware 6_2(02-11-12): Se ha incorporado las trama NMEA tanto por el dispositivo LAN como por GPRS. Se ha cambiado la forma de configurar el GPRS cuando "no se conecta por el error 811" Por el puerto del PC va informando de todo lo que está haciendo el dispositivo (Tramas recibidas y enviadas) de cada dispositivo. /*********************************************************************************************************************************************************************/ Firmware 6_1(19-10-12): Detectado un fallo en la configuración del GPRS /*********************************************************************************************************************************************************************/ Firmware 6_0(05-10-12): Se han introducido las siguientes funcionalidades: - Tx y Rx de datos a través de la LAN (MOXA) - Tx y rx de datos a través del SMS / GPRS LAN => La LAN se conecta al puerto "AIS1" y simplemente es un RS232 conectado a una MOXA. A través de este puerto responde a los comandos Ethernet (Idénticos a los que responde el MTU300C) es decir, como si tuviésemos un MTU300C conectado a la MOXA. GSM1 => Conectado al puerto "AIS1". GSM2 => Conectado al puerto "AIS2". Tanto el GSM1 como el GSM2 son dos puertos de comunicaciones RS232 conectados a un módulo GSM/GPRS de WAKECOM. Se comunican con el módulo de WAKECOM a través de comandos AT. Tanto el GSM1 como el GSM2 se pueden configurar para que envien datos vía SMS o vía GPRS (Seleccionable a través del transceiver :"Tipo de conexión". SMS: Enviaremos mensajes SMS de estados dos centro de control (seleccinable a través del transceiver) . La MMB02 podrá ser interrogada por 2 centros de control. Existirá un número máximo de mensajes SMS /día que enviará la MMB02 por su cuenta y riesgo. GPRS: Funciona en modo servidor Puede atender a 4 clientes al mismo tiempo. Aceptará mensajes "Ethernet"