Spectrum Controls 2080sc-BAC User Manual
Page 34

3-16
Chapter 3: Configuring the Module
User’s Manual Pub. 0300274-01 Rev. A.0
tmp_index := param_offset;
tmp_raw_var :=
0
;
tmp_raw_var := tmp_raw_var + ANY_TO_ULINT(bac_raw_tbl[tmp_index]) *
1
;
tmp_index := tmp_index +
1
;
tmp_raw_var := tmp_raw_var + ANY_TO_ULINT(bac_raw_tbl[tmp_index]) *
16
#
100
;
tmp_index := tmp_index +
1
;
tmp_raw_var := tmp_raw_var + ANY_TO_ULINT(bac_raw_tbl[tmp_index]) *
16
#
10000
;
tmp_index := tmp_index +
1
;
tmp_raw_var := tmp_raw_var + ANY_TO_ULINT(bac_raw_tbl[tmp_index]) *
16
#
1000000
;
tmp_index := tmp_index +
1
;
tmp_raw_var := tmp_raw_var + ANY_TO_ULINT(bac_raw_tbl[tmp_index]) *
16
#
100000000
;
tmp_index := tmp_index +
1
;
tmp_raw_var := tmp_raw_var + ANY_TO_ULINT(bac_raw_tbl[tmp_index]) *
16
#
10000000000
;
tmp_index := tmp_index +
1
;
tmp_raw_var := tmp_raw_var + ANY_TO_ULINT(bac_raw_tbl[tmp_index]) *
16
#
1000000000000
;
tmp_index := tmp_index +
1
;
tmp_raw_var := tmp_raw_var + ANY_TO_ULINT(bac_raw_tbl[tmp_index]) *
16
#
100000000000000
;
(*
if param_mode == 1
convert ULINT variable tmp_raw_var to byte array bac_raw_tbl
This is for Analog Input Table
*)
ELSIF
param_mode =
1
THEN
tmp_index := param_offset;
tmp_raw_var := param_var;
bac_raw_tbl[tmp_index] := ANY_TO_BYTE(tmp_raw_var);
tmp_raw_var := tmp_raw_var /
256
;
tmp_index := tmp_index +
1
;
bac_raw_tbl[tmp_index] := ANY_TO_BYTE(tmp_raw_var);
tmp_raw_var := tmp_raw_var /
256
;
tmp_index := tmp_index +
1
;
bac_raw_tbl[tmp_index] := ANY_TO_BYTE(tmp_raw_var);
tmp_raw_var := tmp_raw_var /
256
;
tmp_index := tmp_index +
1
;
bac_raw_tbl[tmp_index] := ANY_TO_BYTE(tmp_raw_var);
tmp_raw_var := tmp_raw_var /
256
;
tmp_index := tmp_index +
1
;
bac_raw_tbl[tmp_index] := ANY_TO_BYTE(tmp_raw_var);
tmp_raw_var := tmp_raw_var /
256
;
tmp_index := tmp_index +
1
;
bac_raw_tbl[tmp_index] := ANY_TO_BYTE(tmp_raw_var);
tmp_raw_var := tmp_raw_var /
256
;
tmp_index := tmp_index +
1
;
bac_raw_tbl[tmp_index] := ANY_TO_BYTE(tmp_raw_var);
tmp_raw_var := tmp_raw_var /
256
;
tmp_index := tmp_index +
1
;
bac_raw_tbl[tmp_index] := ANY_TO_BYTE(tmp_raw_var);
tmp_index := tmp_index +
1
;
(*
if param_mode == 2
This is for Binary Output Table
*)
ELSIF
param_mode =
2
THEN
tmp_index := param_offset /
8
;
tmp1 :=
MOD
(param_offset,
8
);
tmp2 := ANY_TO_DINT(bac_raw_tbl[tmp_index]);
tmp2 :=
SHR
(tmp2, tmp1);