Rockwell Automation 2706-F11J_F11JC_F21J_F21JC DL50 INSTALLATION MANUAL User Manual

Page 93

Advertising
background image

Chapter 6

Slave Mode Operation / Examples

6–29

5300

REM ASSIGN FIELD 6 BYTE 3

5310

F63=129

5320

RETURN

5330

END

5400

REM CHECKSUM CALCULATION

5410

TCSUM=0:CHD=0:CSUM=0

5420

PUSH 0

:REM GET LENGTH $(0)

5430

CALL 68

5440 POP

SL

5450

BAD=0

5460

IF SL=0 THEN GOTO 5500

5470

FOR POSIT = 1 TO SL STEP 1

5480

TCSUM=TCSUM+ASC($(0),POSIT)

5490

NEXT POSIT

5500

CSUM=CTBT+CLR+24+TCSUM+SLADD+LINO

5510

CSUM=CSUM+13+F6+F62+F63

5520

CHH=INT(CSUM/256)

5530

CHL=CSUM–(256*CHH)

5540

IF CHL=13 .OR. CHL=18 THEN CHD=1:BAD=1

5550

IF CHH=13 .OR. CHH=18 THEN CHD=CHD+127:BAD=1

5560

IF BAD=1 THEN GOTO 5420

5570

RETURN

5580

END

5700

REM SEND OUTPUT SUBROUTINE

5710

PRINT# CHR(CTBT),CHR(CLR+24),$(0),

5720

PRINT# CHR(SLADD),CHR(LINO),CHR(13),

5730

PRINT# CHR(F6),CHR(F62),CHR(F63),

5740

PRINT# CHR(CHD),CHR(CHH),CHR(CHL),

5750

DLY=TMOUT:GOSUB 5800

:REM TIME DELAY

5760

RETURN

5770

END

5800

REM TIME DELAY SUBROUTINE

5805

FOR I = 1 TO DLY

5810

NEXT I

5820

RETURN

5830

END

5900

REM GET DL50 RESPONSE

5910

REM WAIT FOR DL50 RESPONSE

5920

IF SLADD=255 THEN RETURN

5930

J = 0

5940

PUSH1:CALL 36 :

REM GET INPUT BUFFER LENGTH

5950

POP BL

5960

J = J + 1

5970

IF J > RTMOUT THEN GOTO 6030

5980

IF BL < 5 THEN GOTO 5940 ELSE 5990

5990

FOR I = 1 TO BL STEP 1

6000

RESP(I) = GET#

6010

PRINT RESP(I)

6020

NEXT I

6030

PUSH 1

:REM CLEAR INPUT BUFFER

6040

CALL 37

6050

RETURN

6060

END

Advertising