Vai al contenuto
PLC Forum

Partecipa anche tu alla Live su Youtube martedì 28/01/2025 per festeggiare i 24 anni di PLC Forum

Per ulteriori informazioni leggi questa discussione: https://www.plcforum.it/f/topic/326513-28012025




Forse è morto. Addio plc?


Messaggi consigliati

Inserito: (modificato)

Ciao ragazzi.. come va?

 

Sono nella sezione 1200 perché vorrei raccontarvi un fatto che ho notato al mio plc, prima però devo raccontarvi altre cose..

 

Allora, partiamo col presupposto che quello che volevo misurare era nulla perché so che non misuri nulla.. Allora..

Ero in prova su banco, come sempre, e per curiosità volevo misurare cosa ci fosse tra la terra del mio alimentatore e la mia fase 230v sulla mia morsettiera. Ho messo i due puntali del tester e bum! (non è un esplosione)

Il plc mi si è spento di botto nonostante l' interruttore generale fosse ancora su on.. li ho pensato.. ho fatto un corto..? ''Aia l' ho distrutto''.. 

E invece no, ho aspettato un attimino dopo aver tirato via alimentazione e al momento che ho tirato su andava, per fortuna! Ho detto.

 

Ora passiamo avanti..

 

L' altro giorno volevo fare un programma consigliatomi tramite la tecnica batch, l' obbiettivo era quello di rilevare la differenza di tempo tra due impulsi che mi arrivavano al momento di fine produzione del prodotto, per poi calcolarne i pezzi totali in un ora..

Al momento della programmazione tutto ok (dopo diversi consigli) ma c' era lo stesso qualcosa che non andava. Non mi veniva settato il passo 2, nonostante TUTTE le condizioni fossero verificate. Poi modificando qua e la siamo riusciti a farlo andare.

 

Per fare una prova ho aggiunto un clock in parallelo al mio comando che mi dava il via al ciclo. La cosa che ho notato è che al momento che l' ho tolto, basta, il programma non andava più! 

 

Altra cosa. Nonostante abbia impostato in |online e diagnostica--->Funzioni---> Data e ora| la stessa ora del pc, spuntando anche il l' impostazione che prende l' ora in automatico, al momento della lettura nel ladder dell' ora di sistema mi dice che sono le 8.47, quando in realtà erano le 10.47!!

 

Ultima cosa, oggi.

Volevo fare una prova se hai morsetti del mio plc le tensioni fossero ''oneste'', ma guarda un po', sarà perche io sono imbranato o bo, al momento che ho misurato, probabilmente ho toccato i due puntali del tester, al momento della misura. In quell ' istante ha fatto PACC, senza scintille, quindi credo che l' unica cosa sia che mi sono toccato i due puntali.. credo.. il fatto è che il plc mi è andato da solo in stop, poi non ricordo se sia tornato in run..😤

 

A questo punto non so.. io oggi farò prove per cercare di capire se sono io che sbaglio qualcosa o è il plc che sta morendo.. spero di no:senzasperanza:

Non so ancora come dirlo al titolare.. :toobad:

 

Voi avete idee su cosa possa aver sbagliato o su cosa possa essere successo? Se dovessero servirvi più info ditemelo pure, vi rispondo all' istante fino alle 5, fino a che sono in uffico.

 

Grazie mille per il tempo dedicatomi e buon lavoro!

Modificato: da salernozz

Marcello Mazzola
Inserita:

non è che per caso hai il tester per misurare in corrente?

Inserita:

è un multimetro della fluke e in quel momento ero su V continua

Inserita: (modificato)

ho anche notato che se leggo l' ora di sistema è due ore indietro, se leggo l' ora locale legge giusto, premetto che non so la differenza

Modificato: da salernozz
Inserita: (modificato)

Orologio di sistema ha un ora sola, la locale tiene conto della posizione geografica e dell'ora legale e solare...

Caro salernozz il manuale spiega tutto, ripeto bisogna leggerlo....

Modificato: da max.bocca
Inserita:

L'ora Locale è spostata in avanti / indietro in base al fuso orario impostato

Inserita:
36 minuti fa, salernozz scrisse:

è un multimetro della fluke e in quel momento ero su V continua

Anche i puntalini erano nei connettori della misura di tensione?

 

E lasciarlo chiuso nel cassetto il tester?:roflmao:

Inserita:
56 minuti fa, salernozz scrisse:

nel ladder dell' ora di sistema mi dice che sono le 8.47, quando in realtà erano le 10.47!!

Nel PLC puoi leggere l'ora locale, e l'ora di sistema. Di mezzo c'è il fuso orario e l'eventuale ora legale.

 

58 minuti fa, salernozz scrisse:

il fatto è che il plc mi è andato da solo in stop, poi non ricordo se sia tornato in run.

Non ho capito se, ora, il plc è completamente morto, se si accendono o meno dei led, se va on non va in run.

Per quanto riguarda il dirlo al titolare... Quando si fanno esperimenti, qualche guaio può accadere. L'eventuale sacrifico di un 1200 è ben poca cosa.
Come sostenuto in altre discussioni poi, il tuo titolare dovrebbe capire che se investe dei soldi su di te facendoti fare dei corsi, saranno tutti soldi guadagnati.
Oltre ai corsi, dove si imparano molte cose utili ma difficilmente si impara a strutturare da zero un programma completo, ritengo sarebbe utile farti fare un paio di lavori affiancato ad un programmatore con una certa esperienza.
 

Inserita: (modificato)
32 minuti fa, max.bocca scrisse:

Caro salernozz il manuale spiega tutto, ripeto bisogna leggerlo....

Questa volta hai ragione.. infatti sono andato a leggerlo e lo spiegava.. 

Di solito danno tutto per scontato.

28 minuti fa, acquaman scrisse:

Anche i puntalini erano nei connettori della misura di tensione?

Yes

 

26 minuti fa, batta scrisse:

Non ho capito se, ora, il plc è completamente morto, se si accendono o meno dei led, se va on non va in run

Ora va ancora

26 minuti fa, batta scrisse:

ritengo sarebbe utile farti fare un paio di lavori affiancato ad un programmatore con una certa esperienza.

a chi lo dici @batta... Ora verso ottobre vado all' estero, al mio ritorno DOVREI iniziare con questi corsi, se tutto va bene

 

 

 

 

 

Niente ora è bastato che mettessi i set e reset in parallelo ai blocchi di istruzioni e funziona tutto, mistero

 

Poi invece per il PAC e il corto non so

 

Modificato: da salernozz
Inserita:
1 ora fa, salernozz scrisse:

Niente ora è bastato che mettessi i set e reset in parallelo ai blocchi di istruzioni e funziona tutto, mistero

Non ci sono misteri nella programmazione, solo errori che non si sono capiti.
Senza vedere il codice, impossibile rispondere.

Inserita:
7 minuti fa, batta scrisse:

Non ci sono misteri nella programmazione, solo errori che non si sono capiti.

Verissimo, anche se a volte gli errori sono stati fatti dal costruttore, allora si chiamano BUGS...  :D

Inserita:

@batta il mistero era questo 

Praticamente è bastato mettere in or i set e reset che ha funzionato tutto.

Fino a prima, quando i set e reset erano in and ai blocchi, rimaneva bloccato senza settarmi il passo 2.

112295246_ScreenHunter29.jpg.8f1e8bee2ea4e448a77f455ed8c3b6ed.jpg434466811_ScreenHunter31.jpg.0178f6e86ca978e7e2cc66241964376c.jpg1046842369_ScreenHunter35.jpg.3376ffef2c37ece2965828becc3ddd5b.jpg510388338_ScreenHunter33.thumb.jpg.e16be32f24bae476367d5023bec66a46.jpg428625873_ScreenHunter34.jpg.9d117650dd38e901da514fa96bfad5de.jpg

 

 

Inserita:
1 ora fa, batta scrisse:

Non ci sono misteri nella programmazione, solo errori che non si sono capiti.

 

Avevo un collega che sosteneva che:

  • Ci sono errori che li capisci subito
  • Ci sono errori che capisci dopo qualche tempo
  • Ci sono errori che non riuscirai mai a capire.

Rimane l'assioma che la macchina ha sempre ragione, è sempre l'uomo che ha sbagliato nella sua realizzazione.:smile:

Inserita:
46 minuti fa, Livio Orsini scrisse:

Rimane l'assioma che la macchina ha sempre ragione, è sempre l'uomo che ha sbagliato nella sua realizzazione.

Purtroppo, è così. E che rabbia, quando sei lì che diventi pazzo per capire cosa non va. E ti sembra di avere fatto tutto per bene. Poi, inevitabilmente, scopri l'errore, e devi ammettere che "la macchina aveva ragione".
Da una parte sei contento perché hai risolto il problema ma, dall'altra, ti monta una rabbia, perché, anche questa volta, devi ammettere che a sbagliare sei stato tu.

Inserita:

Per "Salernozz"

Potresti semplificare un po' le cose.

Una volta acquisita l'ora, non è necessario mettere le altre operazioni in passi diversi di un ciclo, ma le puoi eseguire tutte una di seguito all'altra.

Anzi, il ciclo proprio non ti serve: sul fronte di salita dell'ingresso, leggi l'ora di sistema e fai tutti i calcoli.
Se hai bisogno di precisione, l'ideale sarebbe configurare l'ingresso come ingresso di interrupt (se possibile) ed eseguire le operazioni nella routine di interrupt.
Per rilevare il tempo intercorso tra due eventi poi, esistono anche altri metodi. Prova a guardare le istruzioni TIME_TCK (disponibile, se non sbaglio, solo sul 1500, e attenzione all'overflow), e RUNTIME.

RUNTIME, in particolare, è fatta apposta per rilevare il tempo tra due eventi, o anche tra due punti del programma (es. prima e dopo l'esecuzione di una funzione, per misurare il tempo di esecuzione). Restituisce il tempo intercorso in secondi su una LREAL.

Inserita:

va bene @batta, in fin dei conti era anche un modo per fare pratica sul batch, tutto qui. Ora che mi hai detto queste cose mi si apre un altro mondo, quindi proverò a fare come mi hai detto te.

 

Sta di fatto che in quel programma che ho riportato non ha funzionato fino a quando non sono stati messi in or le uscite alle istruzioni, c' è un perché? 

 

Inserita:
38 minuti fa, salernozz scrisse:

Sta di fatto che in quel programma che ho riportato non ha funzionato fino a quando non sono stati messi in or le uscite alle istruzioni, c' è un perché? 

Dovresti pubblicare anche la versione che non funzionava.

Inserita:

è uguale identica, solo con set e reset in and ai blocchi d' istruzioni, e non in parallelo

Inserita:

Intendi che il set e reset era collegato sull'uscita ENO della funzione?
Se ENO non viene attivato, significa che la funzione è stata eseguita con un errore.
Ma solo in RD_LOC_T o tutte?
Per conoscere il tipo di errore, devi interrogare il valore di RET_VAL.

Inserita:
19 ore fa, batta scrisse:

Intendi che il set e reset era collegato sull'uscita ENO della funzione?

il tutto si fermava al momento del passo 2

il passo 1 andava true, ma il passo due no, non riusciva a fare tutto il ciclo (con set e reset dopo ENO)

 

 

Ho messo in parallelo ai blocchi i set e i reset su consiglio.. pum, andava

Inserita:

Allora vuol dire che il blocco T_DIFF ti ritorna errore

Inserita:

Scusami se lo chiedo @elettrix01, ritorna in che senso?

 

Grazie mille per l' aiuto e buon lunedì a tutti  😀🤯

Inserita:

Il risultato della funzione T_DIFF viene scritto in una variabile di tipo TIME.

Il tipo dati TIME è un numero a 32bit che indica dei millisecondi e può quindi rappresentare valori compresi tra T#-24D_20H_31M_23S_648MS e T#24D_20H_31M_23S_647MS.

Se il risultato di T_DIFF è fuori dal range permesso da TIME la funziona va in errore e non abilita l'uscita ENO.

Nel tuo caso immagino che la variabile "ora precedente locale" al primo giro fosse al suo valore di default (1970-01-01), quindi il risultato sarebbe qualcosa intorno ai 49 anni, da qui l'errore di overflow, il mancato ENO attivo e l'impossibilità di andare al passo 2.

Inserita:

ahhh ok per la cosa del range non ci avevo prestato attenzione

 

grazie mille!

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 account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...