Pues seria todo un detalle por tu parte si me lo mandas, seguro que
le
interesa a mas de uno.
Muchas gracias.
Juan Carlos.
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
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
-----------------------------------------------------------
----- Original Message -----
Sent: Friday, December 13, 2002 4:50
PM
Subject: Conexi�n SAI a AS/400
Buenas Tardes a todos,
Tengo que conectar un SAI directamente a un
AS/400 para que cuando se vaya la corriente, el SAI avise al AS400 con el
tiempo suficiente para que este se pare autom�ticamente. Que debo
cambiar en la configuraci�n del AS400?.
Gracias anticipadas.