|
DOMANDA Che cosa significa lo STATUS Errore "0x7000"
sul blocco funzionale FC6 / FC60 (AG_SEND) nella comunicazione
Send/Receive su un controllore S7-400?
RISPOSTA
La comunicazione Send/Receive con S7-400 può essere realizzata
sulla base dei blocchi FC5 / FC50 (AG_RECV) e FC6 / FC60 (AG_SEND).
Al richiamo del blocco AG_SEND il parametro "ERROR" mostra il
valore "True" ed il parametro "STATUS" il valore "0x7000".
Lo status "0x7000" non segnala alcun errore sul blocco, bensì
indica solo che il blocco AG_SEND è stato richiamato con ACT=0,
senza che precedentemente fosse stato
avviato un job con ACT=TRUE. Una possibilità semplificata per
reagire a questa situazione è rappresentata in basso. L'esempio
completo di una comunicazione Send/Receive si trova nell'articolo
con ID !18513371.
Rappresentazione logica
|
IF (ERROR = = 1) |
|
{ |
|
|
|
|
IF (STATUS != 0x7000) |
|
|
|
{ |
|
|
|
==> Avvio del trattamento
errore |
|
|
} |
|
|
} |
|
|
Esempio AWL
|
p. es. ERROR =
M0.2
STATUS = MW4 |
|
|
|
|
UN M0.2 |
// nessun errore |
|
SPB NOER |
|
|
L MW4 |
// Status |
|
L
W#16#7000 |
|
|
= = I |
// se uguale a
7000, non c'è alcun errore! |
|
SPB NOER |
// nessun errore |
|
|
|
|
|
// Eseguire il trattamento
errore |
|
|
|
|
BEA |
|
|
NOER: SET |
|
|