Using I/Os in S7–400H
13.5 Other options for connecting redundant I/Os
S7-400H
210 System Manual, 03/2012, A5E00267695-11
Example in STL
The required elements of the user program (OB 1, OB 122) are listed below.
Table 13- 6 Example of redundant I/O, OB 1 part
STL Description
NOP 0;
SET;
R ATTEMPT2; //Initialization
A MODA; //Read module A first?
JCN CMOB; //If not, continue with module B
CMOA: SET;
R IOAE_BIT; //Delete IOAE bit
L PID 8; //Read from CPU 0
A IOAE_BIT; //Was IOAE detected in OB 122?
JCN IOOK; //If not, process access OK
A ATTEMPT2; //Was this access the second attempt?
JC CMO0; //If yes, use substitute value
SET;
R MODA; //Do not read module A first any more
//in future
S ATTEMPT2;
CMOB: SET;
R IOAE_BIT; //Delete IOAE bit
L PID 12; //Read from CPU 1
A IOAE_BIT; //Was IOAE detected in OB 122?
JCN IOOK; //If not, process access OK
A ATTEMPT2; //Was this access the second attempt?
JC CMO0; //If yes, use substitute value
SET;
S MODA; //Read module A first again in future
S ATTEMPT2;
JU CMOA;
CMO0: L SUBS; //Substitute value
IOOK: //The value to be used is in ACCU1