|
Echa un vistazo a esto.
Un saludo,
Miguel -------------------------------------------
De: "Juan Carlos de Miguel" <[EMAIL PROTECTED]>
Para: <[EMAIL PROTECTED]> Asunto: RE: Corte de Luz. Fecha: viernes 15 de diciembre de 2000 12:22 Ante todo perdonar por el retraso pero la verdad es
que ando bastante liado.
Adjunto os env�o el programita que me controla los estados de la UPS. Recordaros que hay 2 valores del sistema para controlar la ups QUPSDLYTIM *SYSCTL Tiempo retardo de fuente alimentaci�n ininterrump QUPSMSGQ *SYSCTL Cola mensajes de fuente alimentaci�n ininterrump. Para controlar el estado de la UPS con un programa pondremos el valor QUPSDLYTIM a *NOMAX y en QUPSMSGQ ponemos la cola de mensajes que voy a controlar, en mi caso UPSMSGQ de la biblioteca UPSLIB. Los tiempos de retardo y espera depender�n de lo que aguante la UPS, y los programas a los que hago Call ser�n particulares para cada instalaci�n, en realidad uno es de cierre controlado del sistema, y otro es de reapertura. El programa lo someto a QCTL y permanece siempre activo en MSGW. Espero que os valga. Saludos. Juan Carlos de Miguel Chicco Espa�ola, S.A. Tlf.: 916499023 / 916499000 - Fax: 916413224 http://www.chicco.es http://www.chicco.com mailto:[EMAIL PROTECTED] -----Mensaje original-----
De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] Enviado el: martes 5 de diciembre de 2000 10:23 Para: [EMAIL PROTECTED] Asunto: RE: Corte de Luz. Pues seria todo un detalle por tu parte si me lo mandas, seguro que le interesa a mas de uno. Muchas gracias. Juan Carlos. Juan Carlos de Miguel <[EMAIL PROTECTED]> con fecha 05/12/2000 08:52:44 Por favor, responda a [EMAIL PROTECTED]
Destinatarios: "'[EMAIL PROTECTED]'" <[EMAIL PROTECTED]>
CC: (cci: Juan Carlos Santos Haba) Asunto: RE: Corte de Luz. Si a�ades una UPS al AS/400, esta se conecta mediante un cable serie a
la
parte posterior del AS/400, y cuando se va la luz y entra en funcionamiento la UPS emite un mensaje a una cola de usuario. Nosotros tenemos una UPS MGE y tengo un programa en MSGW esperando mensajes, y dependiendo del mensaje que mande la ups apago o no el sistema. Si te interesa te lo mando. Saludos. Juan Carlos.
Ext.: 9023 -----Mensaje original----- De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] Enviado el: lunes 4 de diciembre de 2000 12:52 Para: [EMAIL PROTECTED] Asunto: Corte de Luz. Gracias a todos por las respuestas. Tenemos previsto comprar un SAI, ya que ten�amos uno pero se murio. Comentaba lo de marcar un tiempo desde que se inicia de nuevo la corriente para salvar todos estos cortes espont�neos que se producen cuando vuelve la luz. Un saludo y muchas gracias.
Juan Carlos. --------------------------------------------------------------------------------------------------
PGM /* MANEJO DE ALIMENTACI�N PARA
UPS
*/
/* C.P.D-JCMG '97 */
DCL VAR(&UPSMSGQ) TYPE(*CHAR)
LEN(20)
DCL VAR(&LIB) TYPE(*CHAR) LEN(20) DCL VAR(&MSGQ) TYPE(*CHAR) LEN(20) DCL VAR(&MSGID) TYPE(*CHAR) LEN(7) DCL VAR(&ENDSTS) TYPE(*CHAR) LEN(1) DCL VAR(&WAIT) TYPE(*DEC) LEN(6) DCL VAR(&HOUR) TYPE(*DEC) LEN(6) DCL VAR(&MIN) TYPE(*DEC) LEN(6) DCL VAR(&SEC) TYPE(*DEC) LEN(6) DCL VAR(&TIME) TYPE(*CHAR) LEN(6) DCL VAR(&START) TYPE(*DEC) LEN(6) DCL VAR(&END) TYPE(*DEC) LEN(6) DCL VAR(&RESULT) TYPE(*DEC) LEN(6)
RTVSYSVAL SYSVAL(QUPSMSGQ)
RTNVAR(&UPSMSGQ)
CHGVAR VAR(&MSGQ) VALUE(%SST(&UPSMSGQ 1 10)) CHGVAR VAR(&LIB) VALUE(%SST(&UPSMSGQ 11 10)) DLTMSGQ MSGQ(&LIB/&MSGQ) MONMSG MSGID(CPF2105) /* MSGQ not found */ CRTMSGQ MSGQ(&LIB/&MSGQ) TEXT('MSGQ x pgm de manejo + de alimentaci�n UPS') ALCOBJ OBJ((&LIB/&MSGQ *MSGQ *EXCL)) ET1: RCVMSG MSGQ(&LIB/&MSGQ) WAIT(600) RMV(*YES) + MSGID(&MSGID) IF COND(&MSGID *NE CPF1816) THEN(DO) RTVJOBA ENDSTS(&ENDSTS) IF COND(&ENDSTS *EQ '1') THEN(GOTO CMDLBL(ENDPGM)) GOTO CMDLBL(ET1) ENDDO
/*COMPROBAR SI ES UNA INTERRUPCION DE ALIMENTACION BREVE*/
IF COND(&MSGID *EQ CPF1816)
THEN(DO)
RCVMSG MSGQ(&LIB/&MSGQ) WAIT(180) RMV(*YES) + MSGID(&MSGID) /* Espera 3 MINUTITOS */ IF COND(&MSGID *EQ CPF1817) THEN(GOTO CMDLBL(ET1)) ENDDO /*
FALLO DE ALIMENTACI�N DE + DE 180 SEGUNDOS
*/
/* PUEDE SER ALGO CHUNGO */
CALL PGM(UPSLIB/UPSDOWN) /* Prepara el
+
sistema para un posible cierre */ /*
COMPRUEBA SI ES UNA INTERRUPCI�N DE ALIMENTACI�N
*/
/* DE LARGA DURACI�N */
CHGVAR VAR(&WAIT) VALUE(01200) /* 20 minutos
*/
ET2: RTVSYSVAL SYSVAL(QTIME) RTNVAR(&TIME) CHGVAR VAR(&HOUR) VALUE(%SST(&TIME 1 2)) CHGVAR VAR(&MIN) VALUE(%SST(&TIME 3 2)) CHGVAR VAR(&SEC) VALUE(%SST(&TIME 5 2)) CHGVAR VAR(&START) VALUE((&SEC) + (&MIN * 60 ) + + (&HOUR * 3600)) RCVMSG MSGQ(&LIB/&MSGQ) WAIT(&WAIT) RMV(*YES) + MSGID(&MSGID) IF COND(&MSGID *EQ CPF1817) THEN(DO) CALL PGM(UPSLIB/UPSUP) /* Prepara el + arranque del sistema */ GOTO CMDLBL(ET1) ENDDO IF COND(&MSGID *NE CPF1817) THEN(DO) RTVSYSVAL SYSVAL(QTIME) RTNVAR(&TIME) CHGVAR VAR(&HOUR) VALUE(%SST(&TIME 1 2)) CHGVAR VAR(&MIN) VALUE(%SST(&TIME 3 2)) CHGVAR VAR(&SEC) VALUE(%SST(&TIME 5 2)) CHGVAR VAR(&END) VALUE((&SEC) + (&MIN * 60) + + (&HOUR * 3600)) CHGVAR VAR(&RESULT) VALUE(&END - &START) IF COND(&RESULT < 0) THEN(CHGVAR VAR(&RESULT) + VALUE(86400 + &RESULT)) /* Comprueba + cambio de d�a. (24h) */ IF COND(&RESULT *GE &WAIT) THEN(PWRDWNSYS + OPTION(*IMMED)) /* Se acabaron las pilas + (no son Duracell) */ CHGVAR VAR(&WAIT) VALUE(&WAIT - &RESULT) /* La UPS + ha resistido estoicamente */ GOTO CMDLBL(ET2) ENDDO ENDPGM: DLCOBJ OBJ((&MSGQ/&LIB *MSGQ *EXCL)) ENDPGM -----------------------------------------------------------
|
- Conexi�n SAI a AS/400 Josep C
- Concatenar en CL Miguel Angel Peinador
- Concatenar en CL Jaime Villa Torres
- Re: Concatenar en CL C.BORI
- Re: Concatenar en CL Juan Manuel Villazana Pe�a
- Re: Concatenar en CL Jaime Villa Torres
- Re: Concatenar en CL Juan Manuel Villazana Pe�a
- Re: Concatenar en CL Javier Gonzalez
- Re: Conexi�n SAI a AS/400 Josep C
