mazzucconi Inserito: 7 giugno 2007 Segnala Inserito: 7 giugno 2007 Salve a tutti,ho un quesito da porvi, tanto per cambiare.Il mio sistema è composto da un plc serie 200 (cpu 226) e da un pannello Siemens MP 277 o in alternativa un tp 270.Utilizzando l'orologio del pannello devo poter "tenere alto" un segnale per un periodo di tempo impostabile.Forse un esempio è più chiaro: io devo far funzionare una motore solamente dalle 12.00 di venerdì alle 05 .30 di martedì di ogni settimana.Per ora ho creato la pagina dove impostare il giorno della settimana, l'ora e i minuti di inizio ed il giorno della settimana, l'ora e i minuti della fine. Inoltre ho prelevato la data e l'ora del pannello.Ora manca la parte più difficile.
TravelMen Inserita: 8 giugno 2007 Segnala Inserita: 8 giugno 2007 Ciao mazzucconi, una volta ho risolto il tuo problema con semplice scrip su OP, il quale mi settava/resetta una memoria per attivare un allarme di inizio produzione.Altrimenti devi demandare il tutto al PLC, (prima cosa sincronizzare l'ora tra OP e PLC)A te la scielta.Se lo recupero vedo di inviarti lo script.
kamikaze Inserita: 8 giugno 2007 Segnala Inserita: 8 giugno 2007 Caro Mazzuconi,La cosa piu' affidabile e' associare tutto al controllo dell'orologio PLC , anche perche' questa funzione ti permette un controllo sicuro anche se il pannello fosse scollegato o assente.E' molto semplice, usa la funzione READ_RTC , e specifica nel dato di uscita il byte dal quale il plc scrive le informazioni una volta eseguita l'operazione.I dati averranno disposti in questo modo se ad esempio scegli di usare la VB100 come partenza:VB100 =anno (0-99) formato BCDVB101 = mese formato BCDVB102 = giorno formato BCDVB103 = ora formato BCDVB104 =minuti formato BCDVB105 = Secondi formato BCDVB106 = Riservato Siemens sempre a zeroVB107 = Giorno della settimana 1=domenica (valore BCD)Converti i valori da BCD a INT , e poi esegui dei semplici confronti sul singolo byte per attivare quello che ti pare , quando ti pare.Esempio LDB>= VB100, 7 //l'anno 2007AB>= VB101, 8 // il mese di agostoAB>= VB103, 1 // il giorno 1AB>= VB104, 18 // alle ore 18AB>= VB105, 2 // e due minutiAB>= VB105, 10 // e 10 secondiS M10.0, 1 // setto l'uscitaCiaoIvan
elsabz Inserita: 8 giugno 2007 Segnala Inserita: 8 giugno 2007 prendi l'ora di sistema e convertila in secondi (o in minuti se la precisione di +/- min. ti basta), fai lo stesso con il dato impostato dal tuo Cliente (p.e. le 15:30 = 15*60 + 30 => min dalla mezzanotte; *60 = sec. dalla mezzanotte), poi esegui un normale confronto fra il tuo risultato e l'ora di sistema convertita.E' un metodo molto semplice e sicuro (debug immediato).Questo l'ho trovato sul forum, è una vecchia discussione !Segui questa strada !Ciao
mazzucconi Inserita: 8 giugno 2007 Autore Segnala Inserita: 8 giugno 2007 Grazie per i consigli, ma per quanto riguarda l'orologio plc credo sia hardware e il posto del modulo è già occupato da una eprom.Per questo motivo devo utilizzare l' ora del pannello.
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