Vai al contenuto
PLC Forum


Forse è morto. Addio plc?


salernozz

Messaggi consigliati

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
Link al commento
Condividi su altri siti


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
Link al commento
Condividi su altri siti

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
Link al commento
Condividi su altri siti

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:

Link al commento
Condividi su altri siti

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.
 

Link al commento
Condividi su altri siti

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
Link al commento
Condividi su altri siti

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.

Link al commento
Condividi su altri siti

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

Link al commento
Condividi su altri siti

@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

 

 

Link al commento
Condividi su altri siti

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:

Link al commento
Condividi su altri siti

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.

Link al commento
Condividi su altri siti

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.

Link al commento
Condividi su altri siti

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é? 

 

Link al commento
Condividi su altri siti

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.

Link al commento
Condividi su altri siti

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.

Link al commento
Condividi su altri siti

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

Link al commento
Condividi su altri siti

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.

Link al commento
Condividi su altri siti

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...