aretusa Inserito: 11 marzo 2012 Segnala Inserito: 11 marzo 2012 Allora volevo fare un sunto riguardo alcuni effetti imprevisti durante la programmazione e debug di ieri sull'impianto che stiamo portando avanti con Graziano, per capire più a fondo come "girano i bit" nel sistema Per cominciare noi abbiamo una centrale bentel sotto un plc ma viene gestita anche da risorse presenti sotto gli altri 2 plc presenti nell'impianto, ora non ho ben capito se c'è un legame tra le cose ma mi è sembrato che ad ogni riavvio del programma sul plc dove la centrale è gestita, ai primi tentativi di comandarla sia da risorse sotto il "suo hplc" sia sotto gli altri 2 sembra "perdere dei comandi"... nel senso che magari devi fare 2-3 tentativi prima che si inserisca (nello specifico agendo con le tessere). Il problema sembra ridursi molto successivamente a questi primi tentativi, ma è pur sempre presente. Ora io imputo il problema al tempo necessario per il quale occorre mantenere alti i bit per l'attivazione aree della centrale, sopratutto quando i comandi arrivano da altri plc e sono soggetti anche ai ritardi dovuti ai passaggi di link... ma ho la sensazione che non sia solo questo, ho avuto il dubbio che all'avvio dei programmi i link debbano "aggiornarsi"... possibile? In pratica... i link si scambiano dati in maniera continuativa o trasmettono/ricevono solo i dati variati? Io ho appunto ipotizzato che al primo avvio tutto si allineai dopo un ciclo completo di attivazione e disattivazione allarme... ma magari è solo un'impressione. Riguardo i comandi in sè al momento andiamo alla centrale semplicemente con i comandi provenienti dalle centrali accessi che resta sù finchè tieni la carta sul lettore... ma abbiamo pensato al prossimo giro di metterci a seguire un delay toff da 1-2 secondi in modo che il comando sia sicuro. Volevo capire se ciò è la normalità o se ci sono soluzioni più eleganti... anche per non sprecare inutilmente memoria. Seconda cosa strana che non sono riuscito a spiegarmi riguarda l'uso dei contatti P ed N sul ladder... avevo bisogno di attivare un temporizzatore sul fronte di discesa di un contatto di allarme sotto alla centrale allarme, ho fatto la mia riga di ladder e tutto funzionava. Successivamente mi serviva che quello stesso temporizzatore venisse attivato nuovamente sul fronte di discesa di un'altra risorsa, ma questa volta era una risorsa interna dell'homeplc... lo schema era lo stesso, questo ingresso lo mettevo in parallelo al precedente, mi aspettavo funzionasse invece il temporizzatore era insensibile a questo comando mentre funzionava correttamente con quello proveniente dalla centrale allarme! Ho pensato ad un conflitto nel comandare lo stesso temporizzatore con 2 imput N in parallelo... allora ho tolto quello della centrale allarme ed ho lasciato solo il secondo per vedere se così andava... e non andava. Insomma stesso schema identico funziona con risorsa della centrale allarme e non funziona con una risorsa interna... possibile? Infine ho avuto problemi anche nel gestire con gli ingressi N o P delle bobine S od R... tanto che ho usato dei delay da 1 sec. in vari punti del programma che a loro volta azionavano delle bobine S/R.... Infine lavorando tutto il giorno su uno dei 3 hplc è successo 2-3 volte che allo scaricamento di un programma e successivo riavvio l'impianto fosse come bloccato, nessuna placca touch reagiva in alcun modo e nemmeno i pulsanti normali, però i led su hplc master e slave lampeggiavano regolari ed il debug mi dava plc in run... solo staccando alimentazione ripartiva regolarmente. Graziano a tal proposito diceva che è capitato qualche volta di trovare luci accese in giro... ed in effetti è successo una volta anche ieri, la cosa strana è che lavoravamo su un plc e le luci accese le abbiamo trovate su un'altro plc... Cose simili ho verificato che possono succedere benissimo èed è logico che accada se hai delle risorse interne che ad inizio programma si trovano in false ma magari pilotano in NC qualche riga di programma... ma in questo caso non so da cosa possa dipendere, sopratutto perchè lavoravamo su un altro plc. E' anche vero che ci sono i link, ma nei programmi degli appartamenti non c'è nessuna risorsa dei link che vada a controllare logiche sulle luci quindi non vedo come eventuali problemi summenzionati durante il riavvio del plc3 possano propagarsi sul funzionamento dei programmi in run sui plc 1 e 2.
del_user_56966 Inserita: 11 marzo 2012 Segnala Inserita: 11 marzo 2012 Cerca di spezzare le domande giàè faticoso capire cosa fa uno da remoto con uno schema "che non si vede" (il Debug visivo è essenziale in questi casi) se poi le questioni sono molteplici diventa faticoso anche solo riuscire a seguirle... Riguardo al primo punto dato che ci sono più passaggi e più funzioni il debug va fatto a step non è possibile analizzare una procedura formata da più procedure se non tramite l'analisi di ogni singola azione... esempio... all'avvio la centrale connessa al suo HomePLC si attiva regolarmente? all'avvio il passaggio dati tra i vari link si avvia regolarmente (questo per esempio si può provare tramite l'attuazione di un uscita fisica) all'avvio è rispettato il tempo di Plug&Plau del Link (circa 10 secondi) ? e cosi via... Volevo capire se ciò è la normalità o se ci sono soluzioni più eleganti... anche per non sprecare inutilmente memoria. la migliore ottimizzazione di un programma solitamente è prededuta da anni di esperienza e sempre da ripetute prove sulla stessa logica ma cambiando la modalità d'implementazione della stessa... ovvero come dire che non esiste uno standard per le ottimizazioni si può sfruttare l'esperienza di altri oppure farsela direttamente ma in entrambe i casi qualcuno su quella specifica programmazione ci deve passare comunque del tempo... Per il secondo/terzo punto va visto se stai utilizzando i fronti senza implementare la Delayed Area in quel caso non funzioneranno mai dato che il programma Logico viene elaborato più volte nello stesso ciclo HomePLC quindi il tuo fronte se può funzionante non restituirà mai un risultato in uscita se non usi l'apposita area di memoria... Infine lavorando tutto il giorno su uno dei 3 hplc è successo 2-3 volte che allo scaricamento di un programma e successivo riavvio l'impianto fosse come bloccato, nessuna placca touch reagiva in alcun modo e nemmeno i pulsanti normali, però i led su hplc master e slave lampeggiavano regolari ed il debug mi dava plc in run... solo staccando alimentazione ripartiva regolarmente. Alcune volte dopo lo scarico del programma il PLC non viene messo un RUN avevi controllato se il PLC era in quello stato? al riavvio probabilmente è andato in RUN in modo autonomo.... Graziano a tal proposito diceva che è capitato qualche volta di trovare luci accese in giro... ed in effetti è successo una volta anche ieri, la cosa strana è che lavoravamo su un plc e le luci accese le abbiamo trovate su un'altro plc... per fare un analisi completa di un programma oltre che al programma stesso ci vuole non solo il programma... ma anche l'impianto .... in ogni caso oltre all'analisi della singola logica di quella lampada, questa è comandata anche tramite Link? in quel caso il valore del Link doveva essere a True su quello specifico relè... sono tutte questi particolari di test che mancano per fare una qualsiasi ipotesi... considera che quando possibile richiedere una verifica su un unica funzione di programma e su un unico PLC devo sempre spedire il programma altrimenti neppure mi prendono in considerazione... come divevo all'inizio per pratica più è complessa la logica e più il debug va diviso a blocchi... per esempio se io avessi dei dubbi sul LINK metterei in debug la Word che voglio controllare e ripetendo le manovre più volte per capire se c'è qualcosa su quella che varia cosi da risalire al perchè... idem sconnetteri la logica locale dal Link per vedere se la mia uscita continua a accendersi oppure no.. e cosi via.. ma questo dipende molto anche dal metodo di lavoro, normalmente io uso la tecnica passo-passo ovvero creo una/due righe di programma e le testo a fondo.. poi passo al resto e cosi via... quando mi sono trovato a fare 5 righe senza fare test di solito devo tornare indietro e mettere a posto il codice...
del_user_56966 Inserita: 11 marzo 2012 Segnala Inserita: 11 marzo 2012 Ps... allo scarico del programma non viene cancellata, quindi fate attenzione che se un relè è attivo questo rimane attivo anche dopo... in quel caso se si vuole uno stato preciso al primo avvio come in tutti i PLC dovete inizializzare l'area di memoria sudetta... questo si può fare tramite il Flag %MX848.7 First Cycle ON ovvero attivo solo alla prima esecuzione del programma...
aretusa Inserita: 11 marzo 2012 Autore Segnala Inserita: 11 marzo 2012 Si scusami hai ragione in effetti ho messo troppa carne al fuoco Però già gli spunti che mi hai dato mi sono di enorme aiuto, meglio che avere direttamente la soluzione dei problemi, mi piace arrivarci da solo quando posso, è che non avendo anni di esperienza con plc spesso non ci penso a certe verifiche da fare che ora leggendole dico come ho fatto a non pensarci prima??! ;-) Il discorso dell'area delayed ricordo che lo affrontammo già una volta ed in effetti ci ho anche pensato ieri, solo che poi abbiamo risolto diversamente ed ho messo da parte il discorso, ma devo giocarci un pò per capire come funziona... Farò i test che suggerivi la prossima volta che andremo sull'impianto, grazie!
del_user_56966 Inserita: 11 marzo 2012 Segnala Inserita: 11 marzo 2012 Farò i test che suggerivi la prossima volta che andremo sull'impianto, grazie! se ti è possibile fai più test possibile prima di andare sull'impianto... quando sei in campo non c'è quella concentrazione necessaria per trovare il "bandolo della matassa"... serve calma silenzio e concetrazione... tutto quello che sull'impianto non mi riesce mai di trovare... riserva le prove sull'impianto alle sole parti che non puoi testare perchè manca l'hardware... ma per esempio i fronti li proveri prima in studio con calma...
aretusa Inserita: 11 marzo 2012 Autore Segnala Inserita: 11 marzo 2012 Si hai ragione, farò un pò di prove qui per quel che posso, è che certe cose non le ho da testare (come i link ad esempio). Per fortuna che sull'impianto siamo sempre da soli e tranquilli...
del_user_56966 Inserita: 11 marzo 2012 Segnala Inserita: 11 marzo 2012 è che certe cose non le ho da testare (come i link ad esempio). solitamente la tendenza è chiedere sostegno quando tutte le prove (anche quelle più banali e solitamente scontate) sono state eseguite... elencare tutti i test fatti e cosi via in modo che chi non ha davanti l'impinato e lo schema possa eliminare da subito qualche dozzina di eventuali domande e dubbi!!.. Per fortuna che sull'impianto siamo sempre da soli e tranquilli... già il prurale per me sarebbe difficile come situazione, si ottiene molto di più quando si è soli e tranquilli (e senza interruzioni telefoniche...)...
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