Documentos de Académico
Documentos de Profesional
Documentos de Cultura
04
CONTROL ZONA
PROGRAMABLE CZP
CONTROL ZONA PROGRAMABLE Manual de Programación V1.04
Indice:
1 . Descripción general del CZP.
2 . Funcionamiento del CZP.
3 . Comunicación del CZP.
4 . Comandos del CZP.
5 . Estados y Eventos del CZP.
6. Menú de Programación.
7. Menú de Calibración.
8 . Manejo API REST JSON.
9 . Conexionado.
10 . Especificaciones.
11 . Garantía.
ManualControlProgramableCZP_V104.doc Página 2
CONTROL ZONA PROGRAMABLE Manual de Programación V1.04
001-016 Entrada Digital 1 a 16 Por Nivel en “1” Alto (“1” entrada activa)
017-032 Entrada Digital 1 a 16 Por Nivel en “0” Bajo (“1” entrada INactiva)
033-048 Entrada Digital 1 a 16 Por Flanco Ascendente a Nivel en “1” Alto (“1” al encender ent)
049-064 Entrada Digital 1 a 16 Por Flanco Decendente a Nivel en “0” Bajo (“1” al apagar ent)
065-080 Entrada Dig 1 a 16 Pánico (>2,5”) Flanco Ascendente a Nivel “1” Alto (“1” al activar)
081-096 Entrada Dig 1 a 16 Pánico (>2,5”) Flanco Decendente a Nivel “0” Bajo (“1” al INactivar)
097-112 Salida Digital Rele/Virtual 1 a 16 Por Nivel en “1” Alto (“1” rele encendido)
113-128 Salida Digital Rele/Virtual 1 a 16 Por Nivel en “0” Bajo (“1” rele apagado)
129-144 Salida Digital Rele 1 a 16 Por Flanco Ascendente a Nivel “1” Alto (“1” al encender rele)
145-160 Salida Digital Rele 1 a 16 Por Flanco Descendente a Nivel “0” Bajo (“1” al apagar rele)
161-176 Salida Zona 1 a 16 Por Nivel en “1” Alto (“1” salida activa)
177-192 Salida Zona 1 a 16 Por Nivel en “0” Bajo (“1” salida INactiva)
193-208 Salida Sub Zona 1 a 16 Por Nivel en “1” Alto (“1” salida activa)
209-224 Salida Sub Zona 1 a 16 Por Nivel en “0” Bajo (“1” salida INactiva)
225-240 Salida Alarma 1 a 16 Por Nivel en “1” Alto (“1” salida activa)
241-256 Salida Alarma 1 a 16 Por Nivel en “0” Bajo (“1” salida INactiva)
El Mapa de entradas apunta de 1 a 14 a los valores multiplexados analógicos y el 15 y 16 a las ent digitales
externas. Las Salidas digitales son los relés fijos de 1 a 14 y el 15 y 16 funciona como 2 bits virtuales para uso
general.
Todas las activaciones de valores por nivel mantienen el estado y permanecen hasta que cambie el mismo.
Las zonas que son de flanco ascendente o descendente son activadas en “1” al cumplirse la condición y
solamente se evaluan una sola vez en el lazo de control de todas las zonas y luego se anula su activación. La
activación de los flag’s ascendente y descendente tienen un parámetro independiente de antirrebote configurable,
como así también el valor de tiempo de 0 a 2,5 seg del modo Pánico.
En la configuración de las entradas y salidas de los módulos hay que tener en cuenta que según como se
configuren pueden pisarse valores entre las zonas, por ejemplo si se configura un rele para la salida de una zona y
el mismo para la salida de otra y una zona está en 1 y la otra en 0 va a cambiar entre dichos valores ya que los
valores se analizan desde la zona 1 a la 16 secuencialmente y permanecerá el valor de la zona más alta.
A cada Zona puede configurarse el MODO, la Dirección de Canal (mapa anterior) a cada entrada de SET, RESET y
ALARMA y a cada SALIDA_ZONA, SALIDA_SUB_ZONA y SALIDA_ALARMA_ZONA, y el valor de SP_1, SP_2 y SP_3
en menú de programación.
Las salidas configuradas de la zona como ALARMA son sumadas en forma lópgica de “OR”a la salida configurada.
Por ejemplo si se configura en 2 zonas la salida de alarma al mismo rele cualquiera que active la alarma encenderá
el relé y solamente se apagará cuando todas las alarmas esten apagadas.
MANEJO DE EVENTOS: Cada modo de configuración de zona genera eventos específicos que se almacenan en la
memoria RAM (volátil) del equipo. El CZP dispone de un ID de Evento hasta 2^32 eventos que pasa a 0 al próximo
y se reseta de forma complega al equipo. El CZP almacena en memoria EEPROM (NO volátil) el número del primer
ID de la cola y en otro registro en EEPROM la cantidad desde que se energizó. Al desconectar la alimentación se
pierden TODOS los eventos almacenados y el equipo inicia con el valor del ID en la suma del primer evento anterior
más la cantidad anteriores. El administrador con estos dos parámetros puede saber que dato le falta para
sincronizar.
Cada evento dispone de la zona, el tipo de evento y el tiempo que transcurrió desde que se produjo dicho evento
menos el momento actual de consulta. De esa manera el interrogador para saber el TIMESTAMP debe restar a la
hora actual el valor de tiempo del evento en tics configurables por default en 1 segundo con un máximo de 2^32
seg o el equivalente a 136 años transcurridos. Si el tiempo es mayor a 136 años el evento se borra internamente
sobreescribiéndose con los nuevos eventos reseteando al equipo.
Cada zona del CZP genera estados y eventos en memoria que luego según la configuración son controlados y
activan los relés según el diseño inicial.
ManualControlProgramableCZP_V104.doc Página 3
CONTROL ZONA PROGRAMABLE Manual de Programación V1.04
MODO=6 PUERTA Zona en modo Puerta dispone de 1 salida de apertura con una entrada de puerta
Abierta automatizada. El SP_1 es el TIMER de apertura y el SP_2 el TIMER de cierre.
MODO=7 CORTINA Zona en modo cortina dispone de 1 salida de apertura y 1 salida de cierre con una
entrada de Puerta Abierta y otra de Puerta Cerrada con control de seguridad. El SP_1 es el TIMER de apertura y el
SP_2 el TIMER de cierre.
MODO=8 BAUL_BOB Zona en modo Baulera Bobina dispone de 1 salida de solenoide y 1 salida de Luz con
una entrada de Puerta Abierta y otra de Pulsador de Usuario. En MODO BAULERA el equipo controla a través de
comandos la apertura de la cerradura con el consiguiente control de seguridad para proteger la bobina del cerrojo.
El SP_1 es el TIMER de apertura y el SP_2 el TIMER de cierre.
MODO=9 BAUL_CORT Zona en modo Baulera Cortina dispone de 1 salida de alimentacion de cortina
(manejo manual) y 1 salida de Luz con una entrada de Puerta Abierta y otra de Pulsador de Usuario. El SP_1 es el
TIMER de apertura y el SP_2 el TIMER de cierre.
MODO=10 EXCLUSA Zona en modo Exclusa dispone de 2 salidas para 2 solenoides de Puertas y entradas
de Puerta Abierta. El SP_1 es el TIMER de puerta 1 y el SP_2 el TIMER de puerta 2.
‘$’+DIR+CMD+DATOS+ … +DATOS+‘*’+CHK1Hi+CHK1Lo+CHK2Hi+CHK2Lo+13+10
El char ‘$’ como STX , el char ‘*’ funciona como inicio de los checksum para el cierre y los char CR+LF
chr(13)+chr(10) como ETX.
El checksum dispone de 2 valores completando 4 bytes. Cada checksum se realiza desde el ‘$’ hasta el ‘*’ sin
incluirlos.
El CHK1 checksum se calcula como la suma directa de los binarios sobre el puerto y ese valor se codifica en dos
bytes de base 127 desplazado en 48 como la trama principal.
El CHK2 checksum es la operación XOR en un byte de todos los caracteres enviados. Ese valor de 8 bits se
codifica en 2 bytes ascii en hexadecimal igual que se utiliza en el formato NMEA.
Ejemplos de trama enviada:
‘$’ + ‘1’ + ‘2’ + ‘3’ + ‘*’ + CHK1Hi + CHK1Lo + CHK2Hi + CHK2Lo + 13 + 10
Con CHK1 = 49 + 50 + 51 = 150 = 1F(base7)
Con CHK2 = 49 xor 50 xor 51 = 48 = 30(ascii hexa) =>
‘$’ + ‘1’ + ‘2’ + ‘3’ + ‘*’ + ‘1’ + ‘F’ + ‘3’ + ‘0’ + 13 + 10
Luego del STX(‘$’) viene DIR que es la dirección de red de 0 a 127 máximo
Luego viene CMD que es el comando de interrogación (ver listado de comandos).
Luego vienen los DATOS según el comando implementado
----------------------------------------------------------------------------------------
CMD 64 decimal chr(112): LEER ESTADO COMPLETO CON EVENTOS CZP
----------------------------------------------------------------------------------------
PEDIDO : STX+DIR+‘p’+ PEDIDO_EVENTO +‘*’+CHK+CRLF
PEDIDO_EVENTO:
CantEventosPedidos(1char)
EVENTO_ID_ULTIMO_EN_SOFT (5char) (dato existente en el software)
TIC_TIEMPO_ACTUAL (5char) (Tiempo actual en segundos YY/MM/AA HH:MM:SS en segundos
absolutos desde el 01/01/2020)
RESPUESTA : STX+DIR+‘p’+ TIPO_EQUIPO(1char) + ENTRADAS + SALIDAS + ESTADOS + ANALOGICAS +
EVENTOS + ‘*’+CHK+CRLF
TIPO_EQUIPO(1char) Número que identifica al tipo de equipo
ManualControlProgramableCZP_V104.doc Página 4
CONTROL ZONA PROGRAMABLE Manual de Programación V1.04
ManualControlProgramableCZP_V104.doc Página 5
CONTROL ZONA PROGRAMABLE Manual de Programación V1.04
TIPO_DATO:
1 Entradas Digitales
2 Salidas Digitales
3 Estado Zona (1 char)
Cantidad Caracteres = 1 (1 char)
Valor Estado = X (1 char)
4 Entradas Analógicas
5 Set Point Zona
----------------------------------------------------------------------------------------
CMD 66 decimal chr(114): ESCRIBIR DATOS EN EQUIPO CZP
----------------------------------------------------------------------------------------
PEDIDO : STX+DIR+‘r’+ TIPO_DATO(1char) + CANT_CHAR(1char) + VALOR(CANT_CHARchar) + ‘*’+CHK+CRLF
RESPUESTA : STX+DIR+‘r’+ ACK + TIPO_DATO(1char) + CANT_CHAR(1char) + VALOR(CANT_CHARchar) +
‘*’+CHK+CRLF
ACK => ‘0’ = ACK Ok / ‘1’ = NACK Zona NO habilitada o algún dato fuera de rango
TIPO_DATO:
1 Entradas Digitales
2 Salidas Digitales
3 Estado Zona
4 Entradas Analógicas
5 Set Point Zona
----------------------------------------------------------------------------------------
CMD 67 decimal chr(115): SETEAR RESETEAR ZONAS EN EQUIPO CZP
----------------------------------------------------------------------------------------
PEDIDO : STX+DIR+‘s’+ZONA+TIPO+MODO+‘*’+CHK+CRLF
TIPO=1:SET 0:RESET
MODO=0:Off 1:Zona 2:SubZona 3:Zona+SubZona
RESPUESTA : STX+DIR+‘s’+ACK+ZONA+MODO+‘*’+CHK+CRLF
ACK => ‘0’ = ACK Ok / ‘1’ = NACK Zona NO habilitada o algún dato fuera de rango
----------------------------------------------------------------------------------------
CMD 68 decimal chr(116): LEER PARAMETROS CZP
----------------------------------------------------------------------------------------
PEDIDO : STX+DIR+‘t’+ PASSWORD(4char)+NRO_PGM (2char)+ ‘*’+CHK+CRLF
RESPUESTA : STX+DIR+‘t’+ACK+DATOS+‘*’+CHK+CRLF
ACK => ‘0’ = ACK Ok / ‘1’ = NACK Zona NO habilitada o algún dato fuera de rango
DATOS=>
NRO_PGM (2char)
TEXTO_PGM (8char)
VALOR_PGM (8char)
----------------------------------------------------------------------------------------
CMD 69 decimal chr(117): SETEAR PARAMETROS
----------------------------------------------------------------------------------------
PEDIDO : STX+DIR+‘u’+ PASSWORD(4char)+NRO_PGM (2char)+VALOR_PGM(4char)+‘*’+CHK+CRLF
RESPUESTA : STX+DIR+‘u’+ACK+DATOS+‘*’+CHK+CRLF
ACK => ‘0’ = ACK Ok / ‘1’ = NACK Zona NO habilitada o algún dato fuera de rango
DATOS=>
NRO_PGM (2char)
TEXTO_PGM (8char)
VALOR_PGM (8char)
ManualControlProgramableCZP_V104.doc Página 6
----------------------------------------------------------------------------------------
5 . Estados y Eventos del CZP
----------------------------------------------------------------------------------------
Por cada zona el equipo mantiene una máquina de estados implementada según el modo de configuración de la
zona. En modo Baulera los estados del 01 al 03 la puerta está cerrada y del 04 al 06 está abierta. A continuación se
listan los Estados posibles de las Zonas para la mayoría de los MODOS en el equipo CZP
LISTADO DE ESTADOS:
00 = “Iniciando“ INICIAL (ENCENDIDO)
EL equipo almacena una pila FIFO en memoria RAM volátil que se pierde al desconectar el equipo ya que al no
tener reloj interno (RTC) o sincronización externa no se puede garantizar la variable TIEMPO en los eventos. Por
cada evento el equipo guarda lla siguiente información:
A continuación se listan los tipos de eventos que se generan y se encolan en la memoria RAM del equipo CZP
según sea el modo configurado
ManualControlProgramableCZP_V104.doc Página 8
CONTROL ZONA PROGRAMABLE Manual de Programación V1.04
DIAGRAMA DE ESTADOS:
EST 4 => ABIERTO OK EST 5 => CERRANDO EST 6 => ERROR ABIERTO
CORTINA = ON = 220V CORTINA = ON = 220V CORTINA = ON = 220V
LUZ = ON = 220V CERRAR => Tmr=10" Ev = 41 LUZ = ON = 220V LUZ = ON = 220V
Or
Pta=Cerrada => Tmr=10" Ev = 21
Pta=Abierta
CERRAR And Pta=Abierta => Tmr=10" Ev = 41
Ev = 15
Or
ALARMA And Pta=Abierta Ev = 46
EST 4 => ABIERTO OK EST 5 => CERRANDO EST 6 => ERROR ABIERTO
CORTINA = OFF CORTINA = OFF CORTINA = OFF
LUZ = ON = 220V CERRAR => Tmr=10" Ev = 41 LUZ = ON = 220V LUZ = ON = 220V
Or
Pta=Cerrada => Tmr=10" Ev = 21
ManualControlProgramableCZP_V104.doc Página 9
CONTROL ZONA PROGRAMABLE Manual de Programación V1.04
6. Menú de Programación
El equipo CZP dispone de un menú de programación para connfigurar las zonas según:
Los Siguientes parámetros se listan para una sola zona XX y existen para todas las zonas
Los Siguientes parámetros se listan para una sola Entrada YY y existen para el total de entradas Multiplexadas
Los Siguientes parámetros se listan para un solo RELE y existen para el total de los Relés
ManualControlProgramableCZP_V104.doc Página 10
CONTROL ZONA PROGRAMABLE Manual de Programación V1.04
7. Menú de Calibración
El equipo CZP dispone de un menú de calibración para ajustar los valores de las entradas analógicas para la
discriminación de los Switch Multiplexados.
Los Siguientes parámetros se listan para una sola Entrada Análogica Z y existen para las 7 en total.
ManualControlProgramableCZP_V104.doc Página 11
CONTROL ZONA PROGRAMABLE Manual de Programación V1.04
Las Funciones implementadas para el relevamiento de datos históricos de Estados y Eventos del sistema son las
siguientes:
Las Funciones implementadas para el acceso a los controles del Sistema o Gateway son las siguientes:
ManualControlProgramableCZP_V104.doc Página 12
CONTROL ZONA PROGRAMABLE Manual de Programación V1.04
Las Funciones implementadas para el acceso directo a los Equipos son las siguientes:
----------------------------------------------------------------------------------------
0. Pide DATOS al Web Server y contesta con la web implementada según la versión
----------------------------------------------------------------------------------------
REQUEST:
GET / HTTP/1.1
Accept: application/json
RESPONSE:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Language: en
{
“web”: (nro) ,
}
----------------------------------------------------------------------------------------
1. Pide DATOS de ESTADOS con filtro de Estado Tipo, Fecha Desde, Fecha Hasta, Nro Pagina , Cantidad por página y
Orden de Datos
----------------------------------------------------------------------------------------
REQUEST:
GET /api/dat/est/(CodControl)/ ? typ= & fde= & fha= & pag= & npa= & ord= HTTP/1.1
Accept: application/json
RESPONSE:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Language: en
{
“pag”: (nro) ,
“npa”: (nro) ,
“tot”: (nro) ,
},
{
“est”: [
{“tmr” : “(Timestamp)” , “typ” : (tipo) } ,
{“tmr” : “(Timestamp)” , “typ” : (tipo) } ,
…
{“tmr” : “(Timestamp)” , “typ” : (tipo) }
]
}
----------------------------------------------------------------------------------------
2. Pide DATOS de EVENTOS con filtro de Evento Tipo, Fecha Desde, Fecha Hasta, Nro Pagina, Cantidad por página,
Orden de Datos y filtro de Usuario API
ManualControlProgramableCZP_V104.doc Página 13
CONTROL ZONA PROGRAMABLE Manual de Programación V1.04
----------------------------------------------------------------------------------------
REQUEST:
GET /api/dat/eve/(CodControl)/ ? typ= & fde= & fha= & pag= & npa= & ord= & usu= HTTP/1.1
Accept: application/json
RESPONSE:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Language: en
{
“pag”: (nro) ,
“npa”: (nro) ,
“tot”: (nro) ,
“eve”: [
{“tmr” : “(Timestamp)” , “typ” : (tipo) , “usu”: (IdUsuarioAPI) } ,
{“tmr” : “(Timestamp)” , “typ” : (tipo) , “usu”: (IdUsuarioAPI) } ,
…
{“tmr” : “(Timestamp)” , “typ” : (tipo) , “usu”: (IdUsuarioAPI) }
]
}
----------------------------------------------------------------------------------------
3. Pide DATOS de LOGS con filtro de LogTipo, Fecha Desde, Fecha Hasta, Nro Pagina, Cantidad por página y Orden
de Datos con Password
----------------------------------------------------------------------------------------
REQUEST:
GET /api/log/ ? typ= & fde= & fha= & pag= & npa= & ord= HTTP/1.1
Accept: application/json
RESPONSE:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Language: en
----------------------------------------------------------------------------------------
4. Pide DATOS ESTADO de controles por CodControl
----------------------------------------------------------------------------------------
REQUEST:
GET /api/ctr/est/(CodControl) HTTP/1.1
Accept: application/json
RESPONSE:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Language: en
{ “est”: (nro) }
----------------------------------------------------------------------------------------
5. Setea o Resetea EQUIPO ZONA de controles por CodControl
----------------------------------------------------------------------------------------
REQUEST:
POST /api/ctr/set/(CodControl) HTTP/1.1
Accept: application/json
{ “set” : (val), “mod”: (modo) , “usu”: (IdUsuarioAPI) }
ManualControlProgramableCZP_V104.doc Página 14
CONTROL ZONA PROGRAMABLE Manual de Programación V1.04
RESPONSE:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Language: en
----------------------------------------------------------------------------------------
6. Pide EQUIPO SET_POINT de controles por CodControl
----------------------------------------------------------------------------------------
REQUEST:
GET /api/ctr/spc/(CodControl)/(IdZona) HTTP/1.1
Accept: application/json
RESPONSE:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Language: en
{ “set”: (valor) }
----------------------------------------------------------------------------------------
7. Setea EQUIPO SET_POINT de controles por CodControl
----------------------------------------------------------------------------------------
REQUEST:
POST /api/ctr/spc/(CodControl)/( IdNroSetPoint) HTTP/1.1
Accept: application/json
RESPONSE:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Language: en
----------------------------------------------------------------------------------------
8. Pide EQUIPO ESTADO de equipo por Dirección y Zona
----------------------------------------------------------------------------------------
REQUEST:
GET /api/equ/est/(IdDireccion/(IdZona) HTTP/1.1
Accept: application/json
RESPONSE:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Language: en
{ “est”: (nro) }
----------------------------------------------------------------------------------------
9. Pide EQUIPO EVENTO de equipo por Dirección
----------------------------------------------------------------------------------------
REQUEST:
GET /api/equ/eve/(IdDireccion) HTTP/1.1
Accept: application/json
RESPONSE:
HTTP/1.1 200 OK
ManualControlProgramableCZP_V104.doc Página 15
CONTROL ZONA PROGRAMABLE Manual de Programación V1.04
----------------------------------------------------------------------------------------
10. Pide EQUIPO PARAMETRO de equipo por Dirección
----------------------------------------------------------------------------------------
REQUEST:
GET /api/equ/par/(IdDireccion)/(IdParametro)?pas= HTTP/1.1
Accept: application/json
RESPONSE:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Language: en
----------------------------------------------------------------------------------------
11. Setea EQUIPO PARAMETRO de equipo por Dirección
----------------------------------------------------------------------------------------
REQUEST:
POST /api/equ/par/(IdDireccion)/(IdParametro)?pas= HTTP/1.1
Accept: application/json
RESPONSE:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Language: en
ManualControlProgramableCZP_V104.doc Página 16
CONTROL ZONA PROGRAMABLE Manual de Programación V1.04
9. Conexionado:
10. Especificaciones:
Tensión de Alimentación: 2 Entradas de 12VAC/VCC +/- 20% (masa+2in)
Salida de Alimentación 12V: Valim*1,41 si Val=12VCA +/- 20% (alterna)
Salida de Alimentación 12V: Valim-0,7V si Val=12VCC +/- 20% (contínua)
Salida de Alimentación 5V: 5V +/- 5% (regulados)
Frecuencia de operación: < 1KHz
Consumo en operación full: <15W (10W típico)
Consumo en reposo apagado: <1W (0,5W típico)
Entradas SWITCH: 7 x 0-5V directa o con resistencias MULTIPLEXADAS TOTAL 14:
R: 1000 ohm Resistencia Terminación
R: 470 ohm Resistencia SW Puerta / SW1
R: 220 ohm Resistencia SW Usuario / SW2
Entradas Digitales x2: 2 x tipo On/Off optoaisladas con salida de +Valimentación independente o
4-32 Vcc directas.
Salidas: 14 x Relé 220VCA 10A limitada a fusible interno 2A
Comunicación Puerto 1: RS485 Half Duplex (1200 a 115200 baudios)
Comunicación Puerto 2: RS485 Half Duplex (2400 baudios)
Precisión: mejor que 1% a fondo de escala +/-1 dígito
Memoria interna: EEPROM NO volátil de alto rendimiento
Conexionado: Borneras enchufables a tornillo de fácil montaje.
Temperatura de funcionamiento: 0ºC a +50ºC
Temperatura de almacenamiento: -10ºC a +60ºC
Humedad de funcionamiento: 10%RH a 90%RH
Montaje: Riel DIN tablero 8 islas tipo térmica (2 tetrapolares)
Dimensiones: 143mm x 130mm x 60mm Máximo (base x altura x profundidad con borneras
y cables)
Calado: 143mm x 45mm (+/-1mm)
ManualControlProgramableCZP_V104.doc Página 17
CONTROL ZONA PROGRAMABLE Manual de Programación V1.04
11. Garantía:
CERTIFICADO DE GARANTIA
ManualControlProgramableCZP_V104.doc Página 18