EZR

Dependencies:   CRC16 FreescaleIAP FreescaleWatchdog GGSProtocol LM75B PIMA Parameters PersistentCircularQueue SerialNumberV2COM mbed-dev-watchdog_2016_03_04

Fork of smartRamalKW by Equipe Firmware V2COM

Committer:
tpadovani
Date:
Tue Jul 28 17:56:11 2015 +0000
Revision:
13:eed9484a89bc
Parent:
11:8c93e0de58cd
Child:
14:4963dc299580
Implementa??o de alarmes

Who changed what in which revision?

UserRevisionLine numberNew contents of line
tpadovani 0:999112ad27f0 1 #ifndef APPPARAMETERS_H
tpadovani 0:999112ad27f0 2 #define APPPARAMETERS_H
tpadovani 0:999112ad27f0 3
tpadovani 4:2d0c2643c641 4 #include "mbed.h"
tpadovani 5:1bc98277c257 5 #include "settings.h"
tpadovani 13:eed9484a89bc 6 #include "parameters.h"
tpadovani 13:eed9484a89bc 7
tpadovani 13:eed9484a89bc 8 #define ALARME_LINHA_TENSAO_ZERO 0
tpadovani 13:eed9484a89bc 9 #define ALARME_LINHA_TENSAO_MINIMA 1
tpadovani 13:eed9484a89bc 10 #define ALARME_LINHA_TENSAO_MAXIMA 2
tpadovani 13:eed9484a89bc 11 #define ALARME_LINHA_CORRENTE_ZERO 3
tpadovani 13:eed9484a89bc 12 #define ALARME_LINHA_CORRENTE_MINIMA 4
tpadovani 13:eed9484a89bc 13 #define ALARME_LINHA_CORRENTE_MAXIMA 5
tpadovani 13:eed9484a89bc 14 #define ALARME_CARGA_TENSAO_ZERO 6
tpadovani 13:eed9484a89bc 15 #define ALARME_CARGA_TENSAO_MINIMA 7
tpadovani 13:eed9484a89bc 16 #define ALARME_CARGA_TENSAO_MAXIMA 8
tpadovani 13:eed9484a89bc 17 #define ALARME_CARGA_CORRENTE_ZERO 9
tpadovani 13:eed9484a89bc 18 #define ALARME_CARGA_CORRENTE_MINIMA 10
tpadovani 13:eed9484a89bc 19 #define ALARME_CARGA_CORRENTE_MAXIMA 11
tpadovani 13:eed9484a89bc 20 #define ALARME_RETORNO_POTENCIAL 12
tpadovani 4:2d0c2643c641 21
tpadovani 0:999112ad27f0 22 typedef struct {
tpadovani 9:e501499af4ef 23 unsigned int estadoRele;
tpadovani 9:e501499af4ef 24 unsigned int RELIGAR_LARGURA_PULSO_MS; // Largura do pulso enviado ao rele em milissegundos para religar
tpadovani 9:e501499af4ef 25 unsigned int CORTAR_LARGURA_PULSO_MS; // Largura do pulso enviado ao rele em milissegundos para cortar
tpadovani 9:e501499af4ef 26 unsigned int DELAY_SENSOR_MS; // Tempo esperado apos enviar um pulso para o rele e antes de verificar o estado do sensor de fornecimento (em milissegundos)
tpadovani 9:e501499af4ef 27 unsigned int INTERVALO_SILENCIO_S; // intervalo sem receber bytes na rede para considerar que a linha esta livre pra envio do anuncio
tpadovani 9:e501499af4ef 28 unsigned int INTERVALO_WD_NETWORK_S; // intervalo de watchdog da comunicacao de rede, em segundos. Se nao receber comandos apos este periodo vai resetar
tpadovani 9:e501499af4ef 29 unsigned int LIMITE_TENSAO_SENSOR_V; // Limite de tensao em volts RMS no conversor A/D para considerar que a linha esta energizada
tpadovani 9:e501499af4ef 30 unsigned int SAMPLES; // Numero de amostras para calculo da tensao RMS nos sensores de carga e linha
tpadovani 9:e501499af4ef 31 unsigned int SAMPLES_DELAY_US; // Intervalo entre amostras para calculo da tensao RMS (em microssegundos)
tpadovani 9:e501499af4ef 32 union{
tpadovani 9:e501499af4ef 33 float floatValue; // Coeficiente angular das amostras de tensao do A/D
tpadovani 10:7a1d1abb5172 34 char bytes[4];
tpadovani 9:e501499af4ef 35 } SAMPLES_ANG_COEF;
tpadovani 9:e501499af4ef 36 union{
tpadovani 9:e501499af4ef 37 float floatValue; // Coeficiente linear das amostras de tensao do A/D
tpadovani 10:7a1d1abb5172 38 char bytes[4];
tpadovani 9:e501499af4ef 39 } SAMPLES_LIN_COEF;
tpadovani 11:8c93e0de58cd 40 unsigned int LOAD_CHANNEL; // Indica o canal (0 ou 1) onde esta ligada a carga, para que as rotinas de corte e religa verifiquem a alimentacao corretamente
tpadovani 10:7a1d1abb5172 41 unsigned int INTERVALO_MM_S; // Intervalo de leitura de Memoria de Massa em segundos
tpadovani 10:7a1d1abb5172 42 unsigned int MM_SIZE; // Numero maximo de registros da memoria de massa
tpadovani 11:8c93e0de58cd 43 unsigned int contadorCiclos; // Totalizador de numero de operacoes de corte/religa
tpadovani 13:eed9484a89bc 44 unsigned int ENABLE_ALARMS; // Bitmask para habilitacao dos alarmes
tpadovani 13:eed9484a89bc 45 unsigned int ALARMS_STATES; // Estados dos alarmes
tpadovani 13:eed9484a89bc 46 unsigned int ALARMS_QUEUE_SIZE; // Tamanho maximo da fila de alarmes
tpadovani 13:eed9484a89bc 47 unsigned int LIMITE_TENSAO_ZERO_LINHA_V;
tpadovani 13:eed9484a89bc 48 unsigned int LIMITE_TENSAO_MINIMA_LINHA_V;
tpadovani 13:eed9484a89bc 49 unsigned int LIMITE_TENSAO_MAXIMA_LINHA_V;
tpadovani 13:eed9484a89bc 50 unsigned int LIMITE_TENSAO_ZERO_CARGA_V;
tpadovani 13:eed9484a89bc 51 unsigned int LIMITE_TENSAO_MINIMA_CARGA_V;
tpadovani 13:eed9484a89bc 52 unsigned int LIMITE_TENSAO_MAXIMA_CARGA_V;
tpadovani 0:999112ad27f0 53 } ParametersBlock;
tpadovani 0:999112ad27f0 54
tpadovani 0:999112ad27f0 55 void validateAppParameters();
tpadovani 13:eed9484a89bc 56 bool isAlarmEnabled(int alarm);
tpadovani 13:eed9484a89bc 57 bool getAlarmState(int alarm);
tpadovani 13:eed9484a89bc 58 void setAlarmState(int alarm, bool state);
tpadovani 0:999112ad27f0 59
tpadovani 5:1bc98277c257 60 extern ParametersBlock APP_PARAMETERS;
tpadovani 0:999112ad27f0 61
tpadovani 0:999112ad27f0 62
tpadovani 0:999112ad27f0 63 #endif