Luodaan virheenkäsittelyä, että sallitaan vain sekvenssi PEB_L nousu, PEB_L tarvii tippua ennen PEB_R laskua ja sitten PEB_R lasku. (kappale liikkuu oikealle)
Ja vastaava sekvenssi kun kappale liikkuu toiseen suuntaan PEB_R nousu, PEB_R tarvii tippua ennen PEB_L laskua ja sitten PEB_L lasku. (kappale liikkuu vasemmalle)
Tässä testataan projektia:
Vaikeus: kohtuu haastava
Tehdään TwoSensors koodi omaan FB:n, jolla inputit ja outputit seuraavat:
FUNCTION_BLOCK TwoSensors
VAR_INPUT
EN : BOOL;
// sensor 1
S1 : BOOL;
// sensor 2
S2 : BOOL;
END_VAR
VAR_OUTPUT
ENO : BOOL;
// package moving S1 to S2
S1_to_S2 : BOOL;
// package moving S2 to S1
S2_to_S1 : BOOL;
// has error
ERR : BOOL;
// error string
ERR_S : STRING;
END_VAR
Huomattavaa: