FAQ tecniche

Fai una domanda

Unity. La comunicazione mediante Read_var() riporta scambio corretto ma la comunicazione con i dispositivi non avviene. Perché?

Se la logica è:
if not Report[0].0 then
read_var(addm(...),'%MW',10,1,Report,Letto);
end_if;
la word di stato viene messa a zero ogni volta che il blocco di comunicazione viene riavviato.
Pertanto il controllo dell'errore deve essere eseguito prima del blocco read_var, come ad esempio:
if not Report[0].0 and (Report[1]<>0) then
AppoggioReport:=Repor[1];
end_if;
if not Report[0].0 then
read_var(addm(...),'%MW',10,1,Report,Letto);
end_if;
....
e a seguire la logica. Così facendo in AppoggioReport trovo sempre l'ultimo errore di comunicazione.
Report è l'area di rendiconto del blocco di comunicazione costituito da un array di 4 integer.
E' stato utile?
Che cosa possiamo fare per migliorare l'informazione?