Reverendo bit Posted October 2, 2017 Report Posted October 2, 2017 Ciao a tutti, In un progetto ho una routine Ladder con circa 250 variabili in OR per scrivere una variabile cumulativa. La gestione di questa routine è non poco antipatica per il numero di variabili, per questo motivo, volevo sostituire la routine ladder con una in linguaggio strutturato. Ingenuamente pensavo di mettere le stesse variabili presenti nel ladder, in OR con la seguente sintassi: Var1:= Var2 or Var3 or Varn; solo che mi sono accorto che dopo un certo numero di istruzioni OR (mi sembra 5 o 6) mi da errore, dicendomi che ho inserito troppe OR senza parentesi. Allorche cambio strategia: Var1:= (Var2 or Var3 or Varn) or (Var2 or Var3 or Varn); Ma anche così non gli piace, ricevo lo stesso errore. Qualcuno se è possibile mettere in or le 250 variabili con il linguaggio strutturato? Ho scaricato anche il manuale, ma non ho trovato nulla a riguardo. Grazie. Saluti. Duccio.
Xoppo Posted March 20, 2018 Report Posted March 20, 2018 Ciao, probabilmente danno fastidio al codice troppe or in fila, se le raggruppi in piccoli gruppi tra parentesi non da errore Bool_00 := (Bool_01 or Bool_02 or Bool_03 or Bool_04) or (Bool_05 or Bool_06 or Bool_07 or Bool_08) ; Saluti
pigroplc Posted March 21, 2018 Report Posted March 21, 2018 Io non tocco prodotti Allen Bradley da 15 anni circa quindi sono fuori gioco, ma pensare di leggere questi flag come dword e verificare che la dword sia diversa da zero?
rguaresc Posted March 21, 2018 Report Posted March 21, 2018 Conviene, ma bisogna pensarci all'inizio, agire con array. Dichiarando le controller tags dato BOOL[300] risultato BOOL indice INTEGER // con un ciclo risultato := 0; FOR indice :=1 to 255 DO risultato := risultato OR dato[indice] END_FOR;
pedlo Posted March 21, 2018 Report Posted March 21, 2018 Mi accodo ai consigli che ti sono stati dati: salva tutti i bit in un array e cicla sull'array, oppure salva ogni condizione su word e verifica se le word risultanti sono uguali o meno a zero. Stai usando CCW? Per gioco ho provato a creare un progetto con 2048 variabili bool in or e me lo compila senza problemi.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now