Viatoji Inserito: 8 luglio 2009 Segnala Share Inserito: 8 luglio 2009 Buonasera,siamo due studenti di ingegneria,stiamo da poco,lavorando su un PLC Tsx Premium.Dobbiamo memorizzare dati provenienti da dei sensori collegati al PLC e visualizzarli,sia i valori in tempo reale,sia quelli "storici". Sapete in che modo possiamo tener memoria dei dati "passati",inviandoli periodicamente al PC,in modo da non occupare tutta la memoria del PLC(campioni ogni min e teoricamente attivo 24h/24h)?Abbiamo realizzato il programma di acquisizione dei valori in ingresso in Ladder,avevamo pensato di utilizzare l'esportazione su file,ma ciò è possibile solo con Plc in STOP,cosa del tutto inefficiente per la nostra applicazione. Grazie in anticipo e complimenti per il forum,che già ci è stato di aiuto. Link al commento Condividi su altri siti More sharing options...
max.riservo Inserita: 8 luglio 2009 Segnala Share Inserita: 8 luglio 2009 (modificato) Utilizzate l' indirizzamento indiretto delle word, definendo la word iniziale, la word che farà da indice ed al raggiungimento del valore massimo dell' indice, ritorno dell i' indice a zero.Esempio semplice :IF %S0 OR %S1 OR %S13 THEN %MW98 := 99 (*n° max. elementi di tabella = 100*) %MW99 :=0; (*Indice*) END_IF; IF RE(%S6) THEN (*ACQ OGNI MINUTO*) %MW100[%MW99] := %IW1.0; %MW99 := %MW99 + 1; IF %MW99 > %MW98 THEN %MW99 := 0; END_IF; END_IF;Esempio scritto al volo ..... (se non ricordo male %S6 è il bit di sistema 500ms ON e 500 ms OFF)Con l' indirizzamento indiretto, punti alla word della base a cui sommi il contenuto della word che fa da indice (i.e %MW99 = 20 --> %MW100[%MW99] ---> accedi alla word %MW120). Modificato: 8 luglio 2009 da max.riservo Link al commento Condividi su altri siti More sharing options...
Claudio Monti Inserita: 8 luglio 2009 Segnala Share Inserita: 8 luglio 2009 Che premium hai? puoi postare il codice?Se ha una scheda ethernet puoi accedere all'area di memoria attraverso ModbusTCP/IP.Io solitamente memorizzo i valori nell'area di memoria usando un indice (come spiegato precedentemente da max.riservo) cosi' da poter tenere nella memoria del PLC un bel numero di campionamenti (se hai problemi di connessione non perdi i dati).All'inizio della tabella scrivo data e ora di inizio campionamento, il PC che si collega si copia i dati e li ricontrolla per aver la certezza di congruenza, poi mi alza un bit che mi dice che la lettura e' OK, dopodiche' il PLC azzera tutta la tabella e ri-iniza da capo scrivendo la nuova data e ora. 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