6100 ADCCP Programming Manual
ADCCP Programming Example Using Transaction Application Language (TAL)
069225 Tandem Computers Incorporated B–23
Address of a local secondary substation.
SET^CONFIG.ADDRESS^VALUE[1] := ADDRESSES.<8:15>; !LOCAL SEC./REMOTE PRIM.
SET^CONFIG.ADDRESS^SIZE := 1; !SET ADDRESS OCTET TO 1
P1 := SET^CONFIG.T1^TIMER;
P2 := SET^CONFIG.L2^RETRIES;
SET CONFIGURATION request.
CALL RECEIVE(RFNUM,B^SET^CONFIG,40,0,LTF^SET^CONFIG,$LEN(D.BASIC));
WAIT^TIME := 1000D; !10 SECONDS
CALL CHECK^AWAITIO(WAIT^TIME,LTF^SET^CONFIG);
IF ERROR THEN
BEGIN
sbuf[9] ':=' "set config error: " -> @ptr;
call write^err^msg;
RETURN FALSE;
END;
!SET DEFINELIST TEXT PARAMETERS --- ASSUME ABM MODE OF OPERATION
D.MSG.TEXT.BYTE[1] := 1;
D.MSG.TEXT.BYTE[2] := COMBINED;
D.MSG.TEXT.BYTE[3] := 0;
Address of local primary substation, from startup message.
D.MSG.TEXT.BYTE[4] := ADDRESSES.<0:7>;
CALL RECEIVE(RFNUM,,4,0,LTF^DEFINELIST,$LEN(D.BASIC));
WAIT^TIME := 1000D; !10 SECONDS
DEFINELIST request.
CALL CHECK^AWAITIO(WAIT^TIME,LTF^DEFINELIST);
IF ERROR THEN
BEGIN
sbuf[9] ':=' "definelist error: " -> @ptr;
call write^err^msg;
RETURN FALSE;
END;
START request.
CALL RECEIVE(RFNUM,,0,0,LTF^START,$LEN(D.BASIC));
WAIT^TIME := 10D; !10 SECONDS
CALL CHECK^AWAITIO(WAIT^TIME,LTF^START);
IF ERROR THEN
BEGIN
sbuf[9] ':=' "ltf^start error: " -> @ptr;
call write^err^msg;
RETURN FALSE;
END;
timeout^retry := $dbl(p1) * $dbl(p2); !save total time to timeout
call delay(250D); !delay ot get the line ready
return true; !signal success
end;