zanellatofabio Inserito: 30 marzo 2012 Segnala Share Inserito: 30 marzo 2012 Ciao a tutti , in un programma ho un array dichiarato come array_allarmi: ARRAY[0..100] OF BOOL; vorrei trovare il modo di testare se c'e' un bit a 1 . C'è qualche strada veloce oppure bisogna farsi un blocco con un ciclo for next per scorrere l'intero array ? Un grazie anticipato a chi risponderà . Link al commento Condividi su altri siti More sharing options...
valvolina Inserita: 30 marzo 2012 Segnala Share Inserita: 30 marzo 2012 ciao io faccio così : // dichiarazione delle variabili +++++++++++++++++++++++++ VAR allarmi : ARRAY[0..100] OF BOOL; test_allarmi: INT; conta_allarmi: INT; allarmi_attivi: INT; END_VAR // azzera conteggio numero allarmi attivi conta_allarmi := 0; // ciclo for per conteggio allarmi attivi FOR (test_allarmi := 0) TO 100 DO IF (allarmi[test_allarmi] <>0) THEN conta_allarmi := conta_allarmi + 1; END_IF END_FOR // aggiornamento numero di allarmi attivi allarmi_attivi := conta_allarmi; non mi sembra di aver trovato un'altro modo saluti da Valvolina Link al commento Condividi su altri siti More sharing options...
MaxSub Inserita: 8 giugno 2012 Segnala Share Inserita: 8 giugno 2012 (modificato) Potresti anche fare così: crei un'altra array array_allarmiSempreZero: ARRAY[0..100] OF BOOL; della quale non attiverai mai alcun bit. xAllarmiPresenti := array_allarmiSempreZero <> array_allarmiSempreZero; se la tua array è diversa da quella sempre a zero significa che almento un bit è attivo. Ti piace? Massimo Modificato: 8 giugno 2012 da MaxSub Link al commento Condividi su altri siti More sharing options...
Water Inserita: 11 giugno 2012 Segnala Share Inserita: 11 giugno 2012 prova a guardare la libreria Toolbox della Schneider il blocco si chiama "ArrayOfByte_TO_String" Link al commento Condividi su altri siti More sharing options...
Messaggi consigliati
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 accountAccedi
Hai già un account? Accedi qui.
Accedi ora