Reverendo bit Posted October 2, 2017 Report Share 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. Link to comment Share on other sites More sharing options...
Xoppo Posted March 20, 2018 Report Share 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 Link to comment Share on other sites More sharing options...
pigroplc Posted March 21, 2018 Report Share 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? Link to comment Share on other sites More sharing options...
rguaresc Posted March 21, 2018 Report Share 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; Link to comment Share on other sites More sharing options...
pedlo Posted March 21, 2018 Report Share 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. Link to comment Share on other sites More sharing options...
Garzo Posted May 24, 2018 Report Share Posted May 24, 2018 Ma di quale PLC stiamo parlando? -Federico Link to comment Share on other sites More sharing options...
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