Saltar a contenido

Archivos de intercambio para GISCE-TPL

Ficheros de intercambio para GISCE-TPL

En este apartado se describen los formatos de los ficheros de intercambio entre el programa de gestión GISCE-ERP.

Si se usa un programa de facturación de accesos distinto de GISCE-ERP se describen con todo detalle los formatos de los ficheros de importación de rutas y exportación de lecturas desde el TPL.

Especificaciones comunes en todos los ficheros

Todos los ficheros respetan las siguientes especificaciones:

  • Texto codificado como UTF-8.
  • Campos delimitados por tabulador('\t', 0x09).
  • Líneas delimitadas por newline ( '\n', 0x0a).
  • No se utilizan comillas ni ningún otro delimitador para cadenas de caracteres.
  • Los números no enteros se codifican con un punto para separar los decimales, nunca con coma. No se emplean separadores de millares. Si alguna magnitud fuese negativa se indicaría con un guión como prefijo.

Codificació de los campos Fecha/Hora

Los campos de tipo fecha se almacenan como cadenas de caracteres. Siempre se incluye la hora, y se dejan en cero los segundos, minutos y horas si no se tiene esta precisión o si es irrelevante.
El formato es “YYYYMMDDHHMMSS”, i.e. 4 dígitos para el año, dos para el mes, dos para el día del mes, dos para las horas, dos para los minutos y dos para los segundos.
Cada elemento se rellena con ceros por la izquierda hasta que ocupe la longitud que le corresponda.

Codificación del campo "Configuración Puerto"

Los parámetros de configuración del puerto serie, y los parámetros necesarios para acceder al contador mediante el puerto serie, tanto con un cable como con la sonda óptica, se codifican en una cadena de caracteres, separando cada uno de los campos con el carácter ':', en este orden:

  • port_name: el nombre del puerto de comunicaciones; Es una cadena de caracteres y los posibles valores son: "com1", "com2", ..., "com19", "com20". En los terminales suele ser “com1”.
  • baud_rate: tasa de transferència, en bps. És un enter i els possibles valors legals són: 110, 300, 600, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600, 115200, 128000, 256000

  • data_bits: bits de datos; Es un entero; Los posibles valores legales son 7 i 8

  • parity: paridad; Es una cadena de caracteres y los posibles valores legales son: “even”, “none”, “odd”, “mark”, “space”.
  • stop_bits: bits de parada; Es una cadena de caracteres y los posibles valores legales son: “0”, “1”, “1.5”, “2”.
  • direccion_de_enlace: Un entero.
  • direccion_del_punto_de_medida: Un entero.
  • contraseña: Un entero.
  • timeout: tiempo de espera: es un entero, el valor límite en milisegundos que GISCE-TPL va a esperar a que el contador responda antes de considerar que no es posible establecer la conexión. Un valor típico y razonable es 2000ms, i.e. dos segundos.
  • tipo_de_curva: Para seleccionar el tipo de curva que se desea descargar en el apartado “configuración” se puede seleccionar la curva a descargar:
    • Datos agregados cada 60 minutos, valores absolutos
    • Datos agregados cada 60 minutos, valores incrementales
    • Datos agregados cada 15 minutos, valores absolutos
    • Datos agregados cada 15 minutos, valores incrementales

Como se puede ver:

  • El primer campo define la configuración del terminal
  • Los cinco siguientes definen la configuración del protocolo RS232
  • Los tres últimos la configuración del protocolo IEC870REE

Es imprescindible que los valores correspondan a la configuración del contador para poder descargar lecturas electrónicamente.

Codificación del campo "Calidad"

De acuerdo al documento “REGLAMENTO DE PUNTOS DE MEDIDA: Protocolo de comunicaciones entre registradores y concentradores de medidas o terminales portátiles de lectura”, Revisión 10.04.02 , de 10 de Abril de 2002 , publicado en www.ree.es.
Este documento se refiere al campo como “octeto de cualificadores”, y a sus bits como “bits de calidad”.

Este campo es un entero de 8 bits, que se interpreta como un “mapa de bits”, con el siguiente significado para cada bit:

BitValorDescripción
0(LSB)1Reservado; Sin significado
12Fallo en la alimentación
24Intrusión
38Parámetros modificados.
416Cambio “ligero” en la fecha/hora; p.ej. un ajuste de dos minutos.
532Overflow
664Cambio “radical” en la fecha/hora; p.ej. un ajuste de dos días.
7(MSB)128Medida inválida.

Debe tenerse siempre en cuenta, como mínimo, el bit más significativo (MSB).

Fichero de Ruta (GISCE-ERP → GISCE-TPL)

Normalmente este fichero lo genera la aplicación GISCE-ERP, y sirve como datos de entrada para la aplicación GISCE-TPL, también puede generarlo desde cualquier otro programa de gestión.

El fichero de ruta debe tener la extensión “.ruta” para que pueda ser procesado por GISCE-TPL. El nombre del fichero, sin la extensión, es la identificación que se muestra al usuario en GISCE-TPL.

El fichero contiene:

  • Una cabecera de una línea con el siguiente campo:

Nombre del Campo

Descripción

fecha_planificada_lectura

La fecha que se tiene planificada y/o que se quiere hacer constar en las lecturas de esta ruta. Se utiliza globalmente para todos los contadores como valor por defecto para el campo fecha_lectura, que se devuelve en el fichero de lecturas (tal como se describe más abajo), excepto cuando la lectura se efectúa de manera electrónica, dado que se utilizará la fecha del cierre que reporta el contador. Formato AAAAMMDDhhmmss.

  • Una línea por cada contador en la ruta, con los siguientes campos:

Nombre del Campo

Descripción

zona

El código o nombre de la zona, que el TPL trata como alfanumérico. Se muestra al usuario a título informativo. No tiene otra función.

orden

La posición del contador dentro de la zona / ruta, que el TPL trata como alfanumérico. Se muestra al usuario a título informativo. No tiene otra función.

id_poliza

Identificador de la póliza, que el TPL trata como alfanumérico. Se muestra al usuario a título informativo. No tiene otra función.

id_contador

Un número entero, que debe ser diferente para cada contador en la ruta. Identifica internamente (no se le muestra al usuario) al contador, y se devuelve intacto en el fichero de lecturas que genera el TPL como resultado de la operación de lectura.

numero_contador

Un identificador, que debe ser diferente para cada contador en la ruta, y que el TPL trata como alfanumérico. Se recomienda que coincida con el número de serie del contador, que suele además coincidir con el código de barras impreso en el frontal del contador. Se muestra al usuario a título informativo. En las lecturas electrónicas, se compara con el número de serie que reporta el contador, avisando al usuario en caso de discrepancia. En las lecturas manuales, este es el campo que se utiliza para identificar el contador a registrar, a partir de la lectura de su código de barras.

id_tarifa

GISCE-TPL ignora este valor.

nombre_tarifa

El nombre de la tarifa (p.ej. “2.0DHA”, “6.1”, ...), que el TPL trata como alfanumérico. Se muestra al usuario a título informativo. No tiene otra función.

potencia

La potencia contratada, que el TPL trata como campo alfanumérico. Se muestra al usuario a título informativo. No tiene otra función.

nombre_abonado

direccion

Generalmente corresponderá a la dirección completa (con número, escalera, piso, etc.) de la vivienda o local en la que se suministra el servicio. Se muestra al usuario a título informativo. No tiene otra función.

poblacion

Complementa al campo dirección que se acaba de describir. El TPL trata este campo como alfanumérico. Se muestra al usuario a título informativo. No tiene otra función.

situacion_contador

Indicación para facilitar al usuario la la localización del contador. Se muestra al usuario a título informativo. No tiene otra función. El TPL lo interpreta de la siguiente manera: Si es un número entero, se utiliza este número como clave para recuperar la descripción del catálogo de situaciones. En cualquier otro caso se considera literalmente como la información que se debe mostrar al usuario.

aviso_contador

Indicación para mostrar al usuario una advertencia relevante a tener en cuenta al ir a leer este contador. Se muestra al usuario a título informativo. No tiene otra función. El TPL lo interpreta de la siguiente manera: Si es un número entero, se utiliza este número como clave para recuperar la descripción del catálogo de avisos .En cualquier otro caso se considera literalmente como la información que se debe mostrar al usuario.

configuracion_puerto

Un valor alfanumérico que corresponde a la codificación de los parámetros de configuración del puerto serie RS232 y a los parámetros necesarios para la lectura electrónica a través del cable serie y/o la sonda óptica. El TPL decodifica este campo según se explica en la sección correspondiente de este documento.

Y en la misma línea, por cada magnitud a leer en el contador (y el número de magnitudes debe ser 1, 2, 3, 4, 5, 6, 18 ó 24), estos tres campos:

Nombre del Campo

Descripción

id_periodo

Identificador del periodo al que corresponde la lectura. El TPL trata este valor como alfanumérico, y se devuelve intacto en el fichero de lecturas que genera el TPL como resultado de la operación de lectura. No se le muestra al usuario.

nombre_periodo

Identificador alfanumérico que indica al usuario el periodo al que corresponde la lectura. El TPL trata este valor como alfanumérico, y se devuelve intacto en el fichero de lecturas que genera el TPL como resultado de la operación de lectura. Únicamente se le muestra al usuario en el caso de las tarifas “2.0A” y “2.0DHA”, cuando hay entre 1 y 6 magnitudes a recoger.

lectura_anterior

En general el TPL trata la lectura como un número entero, excepto cuando los tres primeros caracteres dl campo nombre_periodo son “MAX” o “EXC”. En estos dos casos se permiten decimales.

GISCE-TPL decide el procedimiento para solicitar las lecturas de un contador en base al número de magnitudes relacionadas con éste que aparecen en el fichero de ruta:

  • Entre 1 y 6 lecturas (el caso de las tarifas “2.0A” y “2.0DHA”): se piden al operador las lecturas, mostrándole claramente para cada lectura la etiqueta nombre_periodo, la lectura anterior y la diferencia entre la lectura anterior y la actual.
  • 18 lecturas (caso de las tarifas “3.0A”): se piden al operador todas las lecturas, no se muestra ni el valor de la lectura anterior, ni la diferencia entre el actual y el anterior, ni los campos nombre_periodo, y se piden las lecturas en una tabla de 3 columnas por 6 filas, donde las lecturas se distribuyen de arriba a abajo y de izquierda a derecha:
    • Las tres columnas corresponden, de izquierda a derecha, a los valores “Activa”, “Reactiva”, “Maxímetro” de cada periodo
    • Las filas se ven etiquetadas con los nombres de los periodos, no con el valor del campo nombre_periodo sino siempre como “P1”, “P2”, ..., “P6”.
  • 24 lecturas (caso de las tarifas “6.1”): las primeras 18 lecturas se distribuyen como el caso que se acaba de explicar; Las 6 restantes se muestran como las lecturas de “excesos”, en otra tabla, de una columna y seis filas, con las mismas etiquetas “P1”, “P2”, ..., “P6” para las filas.

Fichero de Lecturas (GISCE-TPL → GISCE-ERP)

Normalmente este fichero lo genera la aplicación GISCE-TPL, como resultado del trabajo del usuario a partir del fichero de ruta. En este caso el fichero tiene el mismo nombre que el fichero de ruta, sustituyendo la extensión por “.lectura”.

Para que GISCE-TPL pueda procesar el fichero de lecturas , debe tener la extensión “.lectura”, y debe residir dentro del terminal en la misma ubicación que el fichero de ruta.

Normalmente el fichero de lectura se procesa en GISCE-ERP para incorporar a la base de datos las lecturas recogidas, y poder así llevar a cabo tareas como la facturación, el perfilado, generación de informes, etc.

El fichero contiene una línea por cada contador para el que el operario ha recogido lecturas y/o ha entrado un comentario o una anomalía indicando el motivo por el que no ha sido posible efectuar la lectura, si ha sido éste el caso. Las líneas se van añadiendo al fichero a medida que el usuario va procesando contadores, y en el orden que los va procesando. Esto quiere decir que no necesariamente habrá lecturas para todos los contadores que se relacionaron en el correspondiente fichero de ruta.

También existe la posibilidad de que un contador haya sido leído más de una vez. La norma general (y es ésto lo que hace GISCE-ERP al interpretar este fichero) es que la lectura válida es la última que aparece en el fichero.

El fichero consiste en una línea por cada contador leído, con los siguientes campos:

Nombre del Campo

Descripción

id_contador

Tal como aparece en el fichero de ruta.

fecha_planificada_lectura

El valor del campo fecha_planificada_lectura excepto cuando la lectura se haya recogido de manera electrónica; En este caso el valor corresponde a la fecha y hora que el contador ha registrado para el cierre que se ha leído electrónicamente.

fecha_registro

El valor corresponde a la fecha y hora en que se han registrado (entradas manualmente o descargadas electrónicamente) las lecturas del contador en GISCE-TPL. Este valor se basa en el reloj del terminal; únicamente será fiable si la zona horaria, la fecha y la hora del terminal están correctamente configuradas.

lectura_anterior

Un código de un carácter, que será siempre “y” o “n” (por “yes”/“no”), que indica si la lectura se ha recogido manualmente o bien se ha descargado de manera electrónica.

codigo_anomalia

La clave de la anomalía que el usuario haya podido elegir del catálogo de anomalías.

etiqueta_solicitada

Un código de un carácter, que será siempre “y” o “n” (por “yes”/“no”), que indica si el usuario ha solicitado que se reemplace la etiqueta del contador (p.ej. por que falta o está deteriorada).

observaciones

Un texto libre con los comentarios que el usuario haya creído oportuno anotar. Se codifican de manera especial algunos caracteres:

  • El carácter tabulador '\t' se reemplaza por el carácter"~"
  • La secuencia “\r\n” se reemplaza por el carácter"$"
  • La secuencia “\n\r” se reemplaza por el carácter"$"
  • Los caracteres '\r' y '\n' que queden se reemplazan por el carácter"$"

Y en la misma línea, por cada magnitud a leer en el contador (i.e. aunque la lectura esté en blanco), estos cuatro campos:

Nombre del Campo

Descripción

id_periodo

Tal como aparece en el fichero de ruta.

nombre_periodo

Tal como aparece en el fichero de ruta.

lectura_anterior

Tal como aparece en el fichero de ruta.

lectura_actual

El valor de la magnitud recogido por el usuario, con las siguientes consideraciones:

  • Es un número entero o con decimales según el criterio establecido en la descripción del campo nombre_periodo
  • El usuario ha dado por válido el valor tal como se ha almacenado. Los valores se normalizan (por ejemplo se redondean al número de decimales que corresponda) y se muestran normalizados justo antes de que el usuario registre las lecturas del contador y éstas sean almacenadas en el fichero de lecturas.
  • Salvo en las lecturas recogidas electrónicamente, existe la posibilidad de error humano. Se proveen las medidas preventivas que se han explicado anteriormente.

Fichero de curvas (GISCE-TPL → GISCE-ERP)

Por cada curva recogida, GISCE-TPL almacena un fichero de curva.

El nombre del fichero está compuesto por:

  • El nombre de la ruta
  • Un carácter “guión bajo” _ ( underscore)
  • El campo número_contador (tal como aparece en el fichero de ruta)
  • La extensión “.curva

Por ejemplo la curva que se recoja para el contador con número 123456 en la ruta CT-082 tendrá por nombre “CT-082_123456.curva”.

El contenido se explica a continuación:

Una primera línea de cabecera, con los campos:

Nombre del Campo

Descripción

numero_contador

El número de contador tal como aparece en el fichero de ruta.

numero_de_serie

El número de serie que ha reportado el contador.

version_firmware

Versión del firmware que ha reportado el contador.

fecha_protocolo

Fecha del standard del protocolo IEC870REE que implementa el contador, tal como la ha reportado el contador.

version_protocolo

Versión del protocolo IEC870REE que implementa el contador, tal como la ha reportado el contador.

modelo

El modelo que ha reportado el contador.

fabricant

El código de fabricante que ha reportado el contador.

Segunda línea de cabecera, con los campos:

Nombre del Campo

Descripción

fecha_y_hora_lectura

La fecha y hora en la que se han descargado los datos.

fecha_y_hora_inicial

Inicio del intevalo del cual se han solicitado datos al contador.

fecha_y_hora_final

Final del intervalo del cual se han solicitado datos al contador.

tipo_de_curva

Una cadena de dos caracteres que especifica el tipo de curva que se ha solicitado al contador; El primer carácter es 1 o 2, para el periodo de integración 1 (60 minutos) o el periodo de integración 2 (15 minutos). El segundo carácter es una A si son valores absolutos, o una I si son valores incrementales. Por lo tanto los cuatro posibles valores del campo son:

  • 1A
  • 2A
  • 1I
  • 2I

Cero o más líneas de datos, una por cada conjunto de valores de la curva que ha entregado el contador:

Nombre del Campo

Descripción

data_hora

La fecha y hora de inicio del intervalo de integración al que corresponden los totales de esta línea.

activa_entrante

Totales integrados de activa entrante.

calidad_activa_entrante

Byte de calidad asociado a campo anterior.

activa_saliente

Totales integrados de activa saliente.

calidad_activa_saliente

Byte de calidad asociado a campo anterior.

reactiva_cuadrante_1

Totales integrados de reactiva en el primer cuadrante.

calidad_reactiva_cuadrante_1

Byte de calidad asociado a campo anterior.

reactiva_cuadrante_2

Totales integrados de reactiva en el segundo cuadrante.

calidad_reactiva_cuadrante_2

Byte de calidad asociado a campo anterior.

reactiva_cuadrante_3

Totales integrados de reactiva en el tercer cuadrante.

calidad_reactiva_cuadrante_3

Byte de calidad asociado a campo anterior.

reactiva_cuadrante_4

Totales integrados de reactiva en el cuarto cuadrante.

calidad_reactiva_cuadrante_4

Byte de calidad asociado a campo anterior.

Catálogo de anomalías

Una primera parte, la lista de categorías, con una línea por categoría con dos campos:

Nombre del Campo

Descripción

id_categoria

Un entero, diferente para cada categoría

descripcion_anomalia

El nombre de la categoría. No debe contener retornos de carro (\n o \r) ni tabuladores (\t).

Una línea en blanco separa la primera parte de la segunda y última parte, la lista de anomalías, que tiene una anomalía por línea, con tres campos:

Nombre del Campo

Descripción

id_categoria

Un entero, debe coincidir forzosamente con el campo id_categoría de alguna de las categorías definidas en la primera parte del fichero.

id_anomalia

Un valor alfanumérico, debe ser diferente para cada anomalía, incluso si están en diferentes categorías.

descripcion_anomalia

El nombre de la anomalía. No debe contener retornos de carro (\n o \r) ni tabuladores (\t).

Catálogo de situaciones

Una línea por situación, con dos campos en este orden:

Nombre del Campo

Descripción

id_situacion

Un entero, diferente para cada registro.

descripcion

No debe contener retornos de carro (\n o \r) ni tabuladores (\t).

Catálogo de Avisos

Una línea por aviso, con dos campos:

Nombre del Campo

Descripción

id_aviso

Un entero, diferente para cada registro.

descripcion

No debe contener retornos de carro (\n o \r) ni tabuladores (\t).