Vai al contenuto
PLC Forum

Partecipa anche tu alla Live su Youtube martedì 28/01/2025 per festeggiare i 24 anni di PLC Forum

Per ulteriori informazioni leggi questa discussione: https://www.plcforum.it/f/topic/326513-28012025




Azzerare Array Di Bool


Messaggi consigliati

Felice_Boccia
Inserito:

Salve,

utilizzando Unity Pro V.7 non riesco ad azzerare un Array di Bool.

L'istruzione che ho provato ad utilizzare è MOVE_BOOL_AREBOOL (0, Gen.Allarmi);

chiaramente non viene accettata perchè Gen.Allarmi è dichiarata come Array di Bool e non Ebool,

non posso cambiare la dichiarazione visto che le variabili EBOOL sono vietate in DDT.

Allora leggendo il manuale [XOR_AREBOOL (OR logico esclusivo di due array BOOL)] ho provato ad eseguire una XOR del mio array.

Gen.Allarmi:= XOR_AREBOOL (Gen.Allarmi,Gen.Allarmi); nonostante nella guida sia scritto che si possono usare variabili bool, il compilatore

mi indica errore perchè vuole solo variabili di tipo Ebool.

Secondo la vostra esperienza che istruzione dovrei usare?

  • 3 weeks later...

Inserita:

Salve, due soluzioni possibili mi vengono in mente.

Una, la più semplice, creare un array di simili dimensioni e trasferirlo quando serve, ad esempio:

if cmd_azzera then

Gen_Allarmi:=Azz_Allarmi;

cmd_azzera:=false;

end_if;

ove

cmd_azzera è una variabile di tipo BOOL

Gen_Allarmi è un ARRAY [1..50] OF BOOL

Azz_Allarmi è un ARRAY [1..50] OF BOOL

La seconda richiederebbe l'uso di un ciclo di iterazione, ad esempio:

if cmd_azzera then

FOR indice:=1 TO 50 BY 1 DO

Gen_Allarmi[indice]:=false;

END_FOR;

cmd_azzera:=false;

end_if;

ove

cmd_azzera è una variabile di tipo BOOL

Gen_Allarmi è un ARRAY [1..50] OF BOOL

indice è una variabile di tipo INT.

Saluti.

  • 3 weeks later...
Felice_Boccia
Inserita:

Grazie nibble,

ho risolto come da tuo esempio 2.

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...