86
Appendices
FCS Calculation Method
V400-H111/211
User’s Manual
Appendices
■ Calculation Programming Example for Sending FCS
■ FCS Check Subroutine Example for Received Data
DATA$ Sample data string
L Data length
CODE$ Data character
A Exclusive OR
100 ’* * * * * CALCULATE FCS * * * * *
110 ’* FCSSET
120 L=LEN(DATA$)
130 A=0
140 FOR J=1 TO L
150 CODE$=MID$(DATA$,J,1)
160 A=ASC(CODE$)XOR A
170 NEXT J
180 FCS$=HEX$(A)
190 IF LEN(FCS$)=1 THEN FCS$=“0”+FCS$
200 RETURN
1000 ’* * * * * FCSHECK * * * * *
1010 ’* FCSHECK
1020 Q=0:FCSCK$=“OK”
1030 PRINT RESPONSE $
1040 LENGS=LEN(RESPONSE$)-3
1050 FCSP$=MID$(RESPONSE$,LENGS+1,2) ’FCS in response data
1060 FOR J=1 TO LENGS ’Calculation range of FCS
1070 Q=ASC(MID$(RESPONSE$,J,1))XOR Q
1080 NEXT J
1090 FCSD$=HEX$(Q)
1100 IF LEN(FCSD$)=1 THEN FCSD$=“0”+FCSD$ ’FCS calculated in a program
1110 IF FCSD$ < > FCSP$ THEN FCSCK$=“ERR”
1120 PRINT “FCSD$=”;FCSD$;“FCSP$=”;FCSP$; ’FCS received correctly: OK
“FCSCK$=”;“FCSCK$=” ’FCS not received correctly:
ERR
1130 RETURN