A closer examination....
In the hardware config, the first DR21 controller is configured as follows:
4AX AZD/20 PZDS I ADDRESS 276-283 Q ADDRESS 276-283
16AE AZD/20 PZDS I ADDRESS 284-315
4AE AZD/20 PZDS I ADDRESS 316-323
The second controller is configured the same with different addresses.
These addresses are not used anyware in the program.
However there is a FC for each controller (only the DB changes):
CALL "SI21_300" , "CONT_VAL_TD1"
SP_OP_ON := QREMOTE := QLIM_SP1 := SP_OP :=
SPBUMPON := QSM := QLIM_SP2 := SPEXTSEL_OP :=
SP_TRK_ON := QREADY := QLIM_TRK := SP_AUX :=
SP_EXT := QPMC := QOP_ERR := SP_RTM :=
LIOP_INT_SEL:= QSP_R_ON := PLIM_ERR := LMN_SAF :=
SPEXON_L := QLMN_BLP := PV := LMN0 :=
SP_INT1 := QLMN_BLN := PV_1 := TMHEAT :=
SP_INT2 := QCONF_BL := LMN := TMCOOL :=
UP_LOAD := QCOPA_BL := ER := POS_PAUS :=
DWN_LOAD := QPUBU_BL := BIN_IO := POS_LGTH :=
SM := QINT_ACC := SP := REMOTE :=
PMC := QLMNOP := SP_ACT1 := MAN_OP :=
SP_R_ON := QMAN_AUT := SP_ACT2 := AUT_ON_OP :=
LMN_BL_P := QMANOP := PV_FACT :=
LMN_BL_N := QAUTOP := SP_FACT :=
CONF_BL := QSP_HLM := PHY_DPNT :=
CONPA_BL := QSP_LLM := PHY_STRT :=
MAN_HLM := Q_SP_OP := PHY_FULL :=
MAN_LLM := QSPEXTON := QST_C :=
LMNOP_ON := QMAN_HLM := GAIN :=
LMN_TRK := QMAN_LLM := TN :=
LMN_SEL := QRACKF := TV :=
MANOP_EN := QTRMFLT1 := A1 :=
AUTOP_EN := QTRMFLT2 := A2 :=
LIOP_MAN_SEL:= QTRMFLT3 := A3 :=
AUT_L := QTRMFLT4 := A4 :=
SUBN_ID :=B#16#1 QMODF := HYS :=
RACK_NO :=W#16#7 QPERAF := SP_HLM :=
QERR := QPARF := SP_LLM :=
QVAL_ERR := QLIM_ERR :=
QA1 :=
QA2 :=
QA3 :=
QA4 :=
In the program, only the following items are read and written; SP_OP, SP_RTM, SP, SP_R_ON, using the DB address DB53.DBD136 (CONT_VAL_TD1.SP_OP) for example.
Therefore, the function block is being used to transfer and the I/O address are not being used?