Reverendo bit Inserito: 2 ottobre 2017 Segnala Share Inserito: 2 ottobre 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 al commento Condividi su altri siti More sharing options...
Xoppo Inserita: 20 marzo 2018 Segnala Share Inserita: 20 marzo 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 al commento Condividi su altri siti More sharing options...
pigroplc Inserita: 21 marzo 2018 Segnala Share Inserita: 21 marzo 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 al commento Condividi su altri siti More sharing options...
rguaresc Inserita: 21 marzo 2018 Segnala Share Inserita: 21 marzo 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 al commento Condividi su altri siti More sharing options...
pedlo Inserita: 21 marzo 2018 Segnala Share Inserita: 21 marzo 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 al commento Condividi su altri siti More sharing options...
Garzo Inserita: 24 maggio 2018 Segnala Share Inserita: 24 maggio 2018 Ma di quale PLC stiamo parlando? -Federico 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