Vai al contenuto
PLC Forum


Consiglio Su Gestione Programma-M258


step-80

Messaggi consigliati

Buonasera a tutti ragazzi,

scrivo per chiedere un vostro prezioso consiglio riguardo un programma che sto stendendo,che gestirà una macchina per uso nostro interno.

Tale macchina però potrebbe andare in vendita,quindi fate conto che ad usarla possa essere una persona qualsiasi che l'ha comprata.

La macchina è molto simile a questa,tanto per farvi un idea.

Sarà gestita da un plc M258 e da un touch screen magelis GTO 5.7", il funzionamento è abbastanza semplice come avrete visto dal video,da una fase iniziale di carico blister si passa al riempimento degli stessi per poi passare alla saldatura ed infine allo scarico del pezzo su nastro trasportatore.

Il plc si occuperà di gestire le circa 20 elettrovalvole 5/2 monostabili,i 10 resistori con termocoppia tipo j per la saldatura dei blister,e 7 motori brushless lexium 32 che uso per fare diverse cosette,diciamo che mi sono trovato talmente bene cono questi motori che li ho usati anche per eseguire compiti abbastanza banali,qualcuno può non essere d'accordo con questo ma io ho trovato di una comodità unica poterli gestire tutti sotto rete canOpen. Per ultimo un inverter altivar 32 sempre sotto canOpen che serve per muovere l'asincrono che fa girare l'intermittore .

E' la prima volta che mi trovo a gestire cosi tanti motori, e mi chiedevo come sia meglio procedere soprattutto per la fase di start-up della macchina,cioè la fase in cui l'operatore la mattina esegue l'accensione. Ero convinto di procedere in un modo,ma poi mi sono venuti degli atroci dubbi in merito.

Naturalmente sto usando SoMachine,ed in un primo FC (pou programma) ho inserito gli otto blocchi MC_read_status degli azionamenti(sette lexium+inverter) che monitorano costantemente lo stato degli stessi. Ogni blocco in uscita ha il proprio bit di "azionamento ok" .

In un altra pou programma ho inserito tutti i blocchi MC_Power,che si occupano di dare potenza allo stadio finale dei motori.

Primo quesito: è meglio mettere in 'RUN' gli azionamenti uno alla volta,cioè è meglio creare un pulsante individuale per ognuno,oppure meglio avere un unico pulsante che li alimente tutti? oppure addirittura si usa metterli in run automaticamente all'accensione della macchina?

Un altro quesito riguarda la gestione della ricerca di zero: io pensavo inizialmente di far partire la ricerca mediante la pressione di un unico tasto.Potrebbe essere corretto oppure è meglio avere la gestione separata degli zero macchina? Naturalmente ogni posizionamento o movimento sarà impossibile se prima l'asse non è stato referenziato..oppure è meglio che nessun movimento di nessun asse sia possibile se prima non sono tutti referenziati?

Perdonate le molteplici domande,so che non sono questioni di grandissima importanza ma vorrei un vostro parere che sicuramente mi sarà molto utile e prezioso,dato la vostra esperienza sul campo. Qualsiasi altro suggerimento sarà ben accetto.

Ne approfitto per augurare a tutti voi ed alle vostre famiglie un sincero augurio di buone feste,

Grazie anticipatamente

Matteo

Link al commento
Condividi su altri siti


Vorrei tentare una risposta, dato che mi trovo a gestire moltissime macchina con molti pannelli diversi e ne ho viste di tutti i colori, ma non vorrei che la mia inesperienza dal lato programmatore mi porti fuori strada. Quando dici:

è meglio mettere in 'RUN' gli azionamenti uno alla volta,cioè è meglio creare un pulsante individuale per ognuno,oppure meglio avere un unico pulsante che li alimente tutti? oppure addirittura si usa metterli in run automaticamente all'accensione della macchina?

Intendi una sorta di abilitazione dell'azionamento?

Link al commento
Condividi su altri siti

Ciao Stefano e grazie per l'interessamento

Ogni azionamento per funzionare ha bisogno di un bit per essere abilitato, cioè per passare dallo stato "ready" allo stato "run".

Ora che questo bit sia un ingresso fisico dell'azionamento(quindi per esempio un semplice selettore a due posizioni) oppure nel mio caso una memoria da passare al blocco 'mc_power' poco importa: il mio dubbio era su come gestirli.

Meglio avere un comportamento totalmente automatico( cioè all'accensione della macchina tutti gli azionamenti tentano automaticamente di mettersi in run e ad avvenuta commutazione di tutti faccio partire automaticamente la ricerca di zero) oppure meglio far 'faticare' un po di piu l 'operatore e fargli eseguire tutto a mano?

Siccome voi avrete sicuramente piu esperienza di me in ambito puramente industriale, mi interessava capire come di solito si gestiscono queste situazioni perche io non ne ho idea, avendo sempre lavorato nella mia piccola realtà sinora artigianale.

Grazie di nuovo a tutti

Link al commento
Condividi su altri siti

Ok, perfetto, allora dovrei aver capito di cosa stiamo parlando e cosa stai chiedendo.

In tutti i macchinari di cui dispongo dal pannello operatore (hmi, o con semplici selettori) c'è un settore per le abilitazioni. Queste abilitazioni pilotano uno o più attuatori/azionamenti, secondo una logica "di gruppo" (passami il termine, non so come altro farmi capire). Non è che ad ogni levetta/selettore di abilitazione corrisponde un azionamento/attuatore, ma anche due o piu, in base alla funzione d'insieme che questi svolgono. Se due o più azionamenti devono lavorare contemporanemente sono gestiti dalla stessa abilitazione. Ma "stazioni/funzioni" diverse possono essere abilitate in base alle necessità.

Al primo avvio della macchina in seguito all'installazione, solitamente sono tutti disabilitati, mentre al riavvio dopo la prima configurazione mantengono l'ultimo stato impostato.

Spero di aver centrato l'argomento e di essermi espresso in un linguaggio comprensibile!

Però aspetta magari il parere degli esperti, io ho riportato solo la mia esperienza di utilizzatore di macchine.

Link al commento
Condividi su altri siti

Grazie Stefano,sei stato molto più utile di quanto pensi :thumb_yello:

Tutti i miei dubbi sono generati dal fatto che vorrei eseguire il programma nel modo piu professionale possibile. Nessuno mi vieterebbe di farlo a modo mio(ho già una macchina simile programmata da me che funziona benissimo) ma questa è la prima macchina semi-seria che mi si presenta di automatizzare e vorrei farlo al meglio.

A dir il vero il programma è già stato fatto,ma più lo guardo e più non mi convince.Forse ho voluto complicarlo troppo ed ho aggiunto controlli e verifiche che lo appesantiscono e basta.Per questo lo sto ricominciando da zero :blink:

Nel programma precedente avevo messo in and logico tutti i bit che mi vengono restituiti dai vari blocchi mc_read_status,e col risultato assegnavo '1' ad un bit che ho chiamato

"tutti_gli_azionamenti_ok".

Se ne cade anche uno solo,questo bit che era in serie col buon funzionamento della macchina cade fermando la macchina e generando un allarme.

Non so se questo ragionamento è corretto(parliamo sempre in un ottica che un azionamento in errore tutt'al più mi fa buttare qualche pezzo,e non crea pericoli per l'operatore)

Grazie!

Link al commento
Condividi su altri siti

E' la prima volta che mi trovo a gestire cosi tanti motori, e mi chiedevo come sia meglio procedere soprattutto per la fase di start-up della macchina,cioè la fase in cui l'operatore la mattina esegue l'accensione. Ero convinto di procedere in un modo,ma poi mi sono venuti degli atroci dubbi in merito....

ciao

Il problema dei programmatori (al 90%) e che quando fanno i programmi non tengono conto di chi deve usare la macchina.

Se l'utilizzatore è una persona che ha una certa età o che il suo livello culturale è minino , occorre che nell'utilizzo della macchina non vada in panico.

Per esempio deve accendere la macchina ,ripristinare le emergenze e se non ci sono errori che impediscano il funzionamento premere start e lavorare.

Anche per quanto riguarda l'hmi vale lo stesso concetto, deve essere fatto per agevolare chi ci lavora. Deve vedere l' hmi come un aiuto e non come un problema.

Quando devo fare programmi per macchine chiedo chi ci lavora perché puoi fare il programma più bello del modo e l'hmi con la grafica più accattivante, ma se chi lo usa ha difficoltà .non lo hai fatto bene,Non puoi far licenziare e nemmeno pensare che, una persona di 50 anni che non sa neanche usare il pc ed ha il telefonino di 20 anni fà impari tutto subito senza difficoltà.

Sembra una stupidata ma non lo è.

Link al commento
Condividi su altri siti

Se l'utilizzatore è una persona che ha una certa età o che il suo livello culturale è minino , occorre che nell'utilizzo della macchina non vada in panico.

Il problema è proprio questo. All'inizio ho fatto un programma iper-tecnologico(passatemi il termine) ma poi mi sono reso conto che potrebbe andare in mano ad una persona di una certa età(con tutto il rispetto per la categoria)o ad una persona con limitate conoscenze in materia. Un mio collega mi dice:" Eh si,figurati se danno in mano una macchina del genere (e nuova per giunta) ad uno che non sa nulla!"

Può essere,come può essere di no. Io non posso saperlo a priori e quindi devo fare un programma che mi metta al riparo da inconvenienti.

Meglio 100 volte un programma semplice ed intuitivo,che ti permetta di lavorare o capire velocememte dove sta il problema..sbaglio?

Proprio per questo motivo,tornando alla questione posta nel primo post,è meglio un programma che in automatico si avvia e fa lo zero(ovviamente con tutte le sicurezze del caso) oppure no?

Link al commento
Condividi su altri siti

Dico la mia, anche se purtroppo finora non ho mai dovuto gestire degli assi, comunque secondo me la macchina per eseguire il proprio ciclo di lavoro deve comunque effettuare l'homing di tutti gli assi, quindi metterei sul pannello hmi un selettore automatico/manuale (magari a ritenzione) e un pulsante "avvia ciclo", quindi l'operatore seleziona la modalità automatica e poi avvia la macchina, e qui in automatico ci saranno tutte le operazioni di inizializzazione tra cui l'homing degli assi e le varie regolazioni. Invece se l'operatore seleziona la modalità manuale, magari per verificare singole funzionalità della macchina ad esempio in fase di manutenzione o regolazione, disabiliterei lo start e metterei vari pulsanti tra cui "l'azzeramento assi".

Spero di essermi spiegato in modo chiaro.

Ciao.

Modificato: da max81
Link al commento
Condividi su altri siti

Giuseppe Signorella

Il termine automatizzare una macchina, esprime al meglio il concetto di quale debba essere la strada da perseguire.

Perseguire strade differenti, sminuisce il concetto e lo stesso valore della macchina.

La qualità di una macchina e del relativo software, si misurano sulla semplicità di utilizzo è l'automatizzazione della stessa.

Una macchina nasce per PRODURRE. Velocità, brevità dei tempi (morti) e minima probabilità di fermo macchina, sono i punti cardine di un buon sistema.

Tutto ciò non significa che una macchina non debba prevedere la possibilità di essere parametrizzata o di contenere delle ricette personalizzabili.

In genere a seconda della complessità della macchina e del software, si creano differenti livelli di accesso alla parametrizzazione della macchina. (Utilizzatore, manutentore, capo turno, ecc.)

Ciò significa che la macchina ed il relativo software debba prevedere anche differenti tipologie di lavorazioni, tipo modalità Automatico per l'utilizzatore, modalità manuale per il manutentore, modalità parametrizzazione per il capo reparto o colui addetto alle ricette ecc.

In ogni caso una macchina automatizzata deve sempre prevedere (se possibbile) una modalità di funzionamento manuale o semimanuale/semiautomatica per sopperire ad eventuali malfunzionamenti o per dei test di produzione.

Modificato: da Giuseppe Signorella
Link al commento
Condividi su altri siti

Proprio per questo motivo,tornando alla questione posta nel primo post,è meglio un programma che in automatico si avvia e fa lo zero(ovviamente con tutte le sicurezze del caso) oppure no?

dopo aver ripristinato le emergenze ,inserita l'aria ; la macchina deve essere pronta alla partenza per l'operatore con il meno possibile di operazioni non obbligatorie (per obbligatoria intendo ripristinare le emergenze, fare uno zero ad asse uno alla volta solo in modalità da manutentore ed oltre)

Ciò significa che la macchina ed il relativo software debba prevedere anche differenti tipologie di lavorazioni, tipo modalità Automatico per l'utilizzatore, modalità manuale per il manutentore, modalità parametrizzazione per il capo reparto o colui addetto alle ricette ecc.

vale sempre la stessa regola ,il capo reparto non è un laureato e solitamente nemmeno quello che mette le ricette.

anche la modalità manuale deve essere fatta per impedire collisioni tra elementi macchina (ne ha trovati di programmi che in manuale potevano far fare alla macchinina qualsiasi movimento, anche romperla) :clap:

Link al commento
Condividi su altri siti

Grazie a tutti ragazzi,credo di essermi fatto un'idea su come è meglio procedere.

Altra questione che mi ha sempre creato dubbi.

Supponiamo che io mi trovi a muovere un piccolo manipolatore pneumatico a quattro livelli di libertà(asse x,asse z, rotazione braccio, pinza di presa). Supponiamo inoltre che ad un certo punto del movimento io debba andare ad interrogare lo stato di un ingresso (esempio un selettore fisico) e a seconda dello stato di quest'ultimo io debba compiere due serie di movimenti distinti...cioè ovviamente gli attuatori ed i finecorsa ad essi collegati sono sempre gli stessi ma ad un certo punto a seconda dello stato di un bit mi si prospettano due possibilità: A o B.

In questi casi è sbagliato scrivere due porzioni di codici distinti,nei quali però vengono interrogati i medesimi finecorsa e scritte le medesime uscite per gli attuatori? Lo so che in regola generale è una cosa che non si fa,ma mi chiedevo nel caso in cui vi sia un interblocco(cioè la situazione è per forza o una o l'altra) si possa fare un'eccezione .

Nel caso non si possa voi come procedereste? sono costretto per forza a creare due bit ausiliari per ogni finecorsa od attuatore per poi metterli in parallelo ?

Spero di essermi spiegato :whistling:

Link al commento
Condividi su altri siti

ciao

solitamente nel codice l'uscita è chiamata solo una volta.

Certi plc non ammettono 2 chiamate uguali per le uscite e in compilazione danno errore.

Nel caso non si possa voi come procedereste? sono costretto per forza a creare due bit ausiliari per ogni finecorsa od attuatore per poi metterli in parallelo ?

Dipende da come fai i programmi.

Per fare i cicli ,per esempio come il manipolatore, ci sono diversi modi.

Se prendiamo in considerazione il ladder ,c'è chi usa dei bit per memorizzare le posizioni dei cilindri, altri usano i contatori , ecc...

Non è detto che servano bit ausiliari,, dipende da come programmi.

Per come programmi io ,utilizzo sempre lo stesso sistema per i cicli , che siano elettrovalvole o assi singoli , e cambiare sequenza in base a un segnale comporta una minima scrittura di codice.

Quando sviluppi programmi principalmente per macchine automatiche che vanno da poche I/O ad alcune centinaia di I/O ti crei ,col tempo un,metodo che soddisfi tutte le esigenze; è solo questione di esperienza.

Se usi il linguaggio strutturato ed usi la funzione case... cambia il sistema di programmare.

Link al commento
Condividi su altri siti

Non sono del settore ma se può essere utile ....

Le macchine che utilizzo io ( centri di lavoro ) al l'avvio hanno un pulsante nel touch con scritto " ricerca zero" che lampeggia , per effettuare la ricerca zero prima schiaccio questo pulsante che smette di lampeggiare e rimane fisso e poi devo schiacciare il pulsante fisico di start ciclo, a questo punto inizia la ricerca zero dei tre assi uno alla volta !

Ciao.

Link al commento
Condividi su altri siti

Giuseppe Signorella

Se usi il linguaggio strutturato ed usi la funzione case... cambia il sistema di programmare.

Anche nel Ladder, con l'ausilio dei salti/etichette e con un pò di fantasia si può ottenere una funzione tipo il select case.

Richiamare nel medesimo programma più volte la medesima uscita è assolutamente sbagliato. Anche perchè il programma non funzionerebbe in quanto verrebbe in ogni caso scritta sempre l'ultima condizione assunta dal bit.

Solo e dico solo se parte del codice non viene proprio eseguito, (o richiamato) ed all'interno di esso sono state utilizzate uscite doppiate, non vengono riscritte e quindi non influiscono sul programma. Ma in ogni caso è comunque sbagliato.

Un metodo sarebbe quella di appoggiare tutto su una word o double word, (a secondo del numero di bit che ti occorrono) ove ti credi alla fine del programma una FC nel quale estrai ogni singolo bit della word e poi utilizzi i singoli bit come meglio credi.

Nel programma, scrivi nella word.

Prima ti leggi la word, (per sapere lo stato di tutti gli alri bit) e poi la riscrivi con il nuovo valore in funzione del bit che vuoi modificare.

Modificato: da Giuseppe Signorella
Link al commento
Condividi su altri siti

Un metodo sarebbe quella di appoggiare tutto su una word o double word, (a secondo del numero di bit che ti occorrono) ove ti credi alla fine del programma una FC nel quale estrai ogni singolo bit della word e poi utilizzi i singoli bit come meglio credi.

Nel programma, scrivi nella word.

Prima ti leggi la word, (per sapere lo stato di tutti gli alri bit) e poi la riscrivi con il nuovo valore in funzione del bit che vuoi modificare.

ti ringazio Giuseppe per essere intervenuto. Ho letto con attenzione quello suggeritomi poco sopra,e devo dire che per me è arabo.

Sono consapevole che mi stai proiettando verso un nuovo modo di programmare che sinora per me è sconosciuto,e la cosa data la mia infinita curiosità mi affascina parecchio. Umilmente io ho sempre risolto i miei piccoli problemi (per esempio quello di un semplice manipolatore come dicevo sopra) con uno start ciclo ed una sequenza attivata dal susseguirsi dei finecorsa attivati dalla fuoriuscita dei cilindri. Non ho mai pensato di appoggiare dei bit e tantomeno delle word.

Visto che siamo a Natale,nessuno ha tempo/voglia di chiarirmi questo concetto? :worthy:

Link al commento
Condividi su altri siti

Se prendiamo in considerazione il ladder ,c'è chi usa dei bit per memorizzare le posizioni dei cilindri, altri usano i contatori , ecc...

Non è detto che servano bit ausiliari,, dipende da come programmi.

Grazie Lelos per la risposta.

Perdonate se vi ricopro di domande ma vorrei imparare a programmare bene,e nel modo piu professionale possibile.

Voi mi parlate di utenti,manutentori,capi reparto quando io ho sempre impersonato tutte e tre queste figure,anzi,spesso lavo anche il pavimento :P

Forse avrei dovuto vivere anche per un breve periodo una realtà 'industriale'per entrare meglio nell'ottica di un programmatore di macchine. Nessuno mi dice che il mio modo di ragionare mentre programmo sia giusto,anche se la macchina lavora non è detto che non abbia commesso errori e questo non mi fa star tranquillo.

Spero che la vostra pazienza non si esaurisca almeno per un altro bel po per continuare a carpirvi metodologie e consigli su questo vasto mondo.

Grazie a tutti

Link al commento
Condividi su altri siti

Ciao

Voi mi parlate di utenti,manutentori,capi reparto quando io ho sempre impersonato tutte e tre queste figure,anzi,spesso lavo anche il pavimento

di programmatori ce ne sono di diversi tipi.

Ci sono quelli che fanno i programmi per macchine che poi usano.

Ci sono quelli che lavorano per aziende che fanno macchine, un volta fatto il programma la macchina viene inviata al committente e dopo un certo periodo non si sà più niente (e pensano che vada tutto bene...) .

Ci sono quelli che fanno programmi per macchine che saranno usate all'interno della propria azienda ma nel reparto produttivo.

e ce ne saranno ancora di differenti....

Dire chi tra questi abbia la maggiore esperienza nella logica di programmazione per macchine è difficile.

Ognuno sviluppa determinate competenze per il suo contesto lavorativo.

Io o altri possiamo dirti la nostra esperienza per quanto riguarda il settore nel quale lavoriamo, perché di macchine e impianti ce ne sono di differenti ,come di realtà produttive e non ti basta un vita per provarli tutti.

Link al commento
Condividi su altri siti

Ci sono quelli che fanno i programmi per macchine che poi usano.

Io penso di impersonare questa tipologia.

La macchina di per se non è nulla di particolare,ma diciamo che se di intubettatrici in commercio se ne trovano a bizzeffe,questa(che è parente stretta di un intubettatrice) no.

Forse è la tipologia di prodotti che lavora che è ancora un pò 'inusuale',forse sono prodotti di nicchia rivolti ad un certo pubblico...fatto sta che la macchina cominciano a chiedermela ed anche in molti.

A questo punto però ti assale il terrore perchè

-la macchina non ti sembra mai a punto ed io non vorrei dare al cliente una cosa che non funziona come vorrei

-il programma non ti sembra professionale al massimo

e tante altre cose.

A questo punto però la domanda mi sorge spontanea: Il programma deve essere certificato? deve essere fatto da una persona competente ed abilitata o il programma non se lo fila nessuno?

Nutro forti dubbi su questa mia ultima affermazione,perchè sennò qualsiasi pirla come il sottoscritto può mettersi a fare programmi :(

Forza,cominciate con gli insulti,sono pronto :superlol:

Modificato: da step-80
Link al commento
Condividi su altri siti

ciao

A questo punto però la domanda mi sorge spontanea: Il programma deve essere certificato? deve essere fatto da una persona competente ed abilitata o il programma nono se lo fila nessuno?

la macchina viene certificata , il programma solo se è un plc di sicurezza (in alcuni casi).

Il programma lo può fare chiunque sia in grado , è la gestione dei ripari , delle emergenze che salvano l'operatore,se sbagli il programma al massimo rompi qualche componente della macchina.

Link al commento
Condividi su altri siti

Lo sai Lelos,forse hai ragione.

Il fatto è che finchè non vedi altre realtà ti sembra sempre che gli altri non sbaglino mai e che eseguano programmi a prova di bomba.

Proprio la settimana scorsa mi viene a chiamare il ragazzo che da noi si occupa della tampografia dicendomi di avere un problema con la macchina(macchina tampografica a controllo numerico di una famosa azienda italiana del settore,quindi comprata già bell'e fatta).

Osservando il funzionamento noto che a causa di una particolare tipologia di lavorazione che imponeva pressioni sul pezzo particolarmente vigorose,l'asse z della macchina mosso da un grosso motore stepper perdeva il passo e andava ogni tanto a ricercarsi lo zero di nuovo . Peccato che nessuno abbia detto al programma che finchè la fase di ricerca di zero è attiva la tavola rotante NON deve continuare a muoversi come nulla fosse successo perchè altrimenti succedono danni orrendi.

Alla vista di ciò ho chiamato ed avvertito l'assistenza ma non ho potuto al contempo essere leggermente sollevato alla vista di un mal cosi comune.Se hanno sbagliato loro,ho pensato.. <_<

Ogni volta che stendo un programma fortunatamente ho sempre (o quasi) il tempo per testare righe o istruzioni delle quali non sono totalmente sicuro(è anche cosi che mi sono fatto un po le ossa fino ad ora). Il dubbio di non avere eseguito tutto a regola d'arte però permane,perchè c' è sempre il diavoletto sulla spalla che ti spinge a pensare che ci sia stato un metodo piu corto e piu semplice per fare ciò che hai appena fatto.

Un altra cosa mi sono sempre chiesto: che metodo di programmazione seguite? voglio dire, avete tutto in testa e sviluppate mano a mano i problemi,oppure fate tutto dapprima su carta e poi su pc?

Link al commento
Condividi su altri siti

Giuseppe Signorella

la macchina viene certificata , il programma solo se è un plc di sicurezza (in alcuni casi).

In realtà non è proprio così.

Il software è da considerarsi un componente della macchina, e pertanto va considerato parte integrante della stessa, come può esserlo un motore, un teleruttore ecc.

Il software viene (certificato) automaticamente in uno a tutta la macchina.

Come detto da lelos se il software viene considerato come un componente di sicurezza, deve avere una certificazione specifica che sarà richiamato (citato) nella certificazione della macchina.

Parliamo invece della certificazione della macchina? Chi la emette? Ovvio il costruttore della stessa, ma non basta costruire una macchina, facendola anche eventualmente a norma per avere la presunzione di poterla marchiare CE.

La stessa azienda produttrice, deve essere in possesso dei requisiti previsti dal legislatore per potersi certificare da solo la macchina, altrimenti deve farla certificare da appositi enti notificati. Tanto per elencarne qualcuno noto; IMQ, TUV ecc.

In fase di certificazione, anche il software viene preso in esame, tranne se svolge solo opere accessorie (in genere solo di visualizzazione), se già scrive qualche variabile, la cosa assume un aspetto differente.

Ci sarebbe tanto da parlare in proposito, ma visto l'orario, considerato che è Natale, e che ho qualche bicchiere di spumante (nonchè di vino) più del dovuto, mi limito semplicemente a farvi i più sinceri auguri.

Modificato: da Giuseppe Signorella
Link al commento
Condividi su altri siti

Step80 in quello che scrivi rivedo me stesso, in particolare quello che è stato ed è tuttora il mio percorso, anche se le macchine che sviluppo non sono per uso interno ma realizzate per clienti esterni.

Comuqneu un buon metodo che ho iniziato ad utilizzare (almeno per me) è l'uso dei grafcet, soluzione che si applica molto bene alle mie macchine, visto che il loro funzionamento è sequenziale, e finora mi ha permesso di creare dei programmi ben strutturati (penso), facili da modificare e da testare online.

Inizialmente creo il grafcet su carta, poi traduco in ladder, anche se ultimamente mi attrae molto il testo strutturato, quindi in ultimi lavori l'ho tradotto in ST.

Ora che mi sto avvicinando a SoMachine ho visto che si possono creare i grafcet tramite l'uso del linguaggio SFC, però preferisco mantenere la programmazione sul Ladder o ST.

Ciao e buon Natale.

Link al commento
Condividi su altri siti

Il programma lo può fare chiunque sia in grado

Il software viene (certificato) automaticamente in uno a tutta la macchina.

Ecco ragazzi,qui mi perdo. Cioè,chi dei due ha ragione? Forse ognuno parla per il proprio settore specifico?

L'affermazione di Lelos mi aveva messo di buonumore,anche se mi aspettavo una risposta come quella di Giuseppe.

Naturalmente invito chiunque a prendere parte alla discussione,riportando esperienze dalla propria realtà lavorativa,qualunque essa sia :thumb_yello:

Prendendo per buono quello che dice Giuseppe,significa che c'è uno che prende il mio programma e lo controlla?(riga per riga). Se è cosi,perchè devo far la fatica di farlo io,lo fa direttamente lui e siamo a posto :roflmao:

Ora che mi sto avvicinando a SoMachine....

Ciao Max81,grazie per essere intervenuto e per il supporto morale.Sembra niente ma invece fa molto piacere ;)

Come ti stai trovando con soMachine? Ogni volta che trovo qualcuno che lo sta usando non posso fare a meno di fargli questa domanda...sembra un software fantasma invece io mi ci sto trovando benissimo!

Quasi dimenticavo....un sincero augurio di buone Feste a tutti voi dalla romantica Verona!

Modificato: da step-80
Link al commento
Condividi su altri siti

Giuseppe Signorella

Matteo,

Credo che tu non abbia compreso ciò che volevo dire, vediamo se riesco ad esprimere il concetto in un modo differente.

Prendendo per buono quello che dice Giuseppe,significa che c'è uno che prende il mio programma e lo controlla?(riga per riga). Se è cosi,perchè devo far la fatica di farlo io,lo fa direttamente lui e siamo a posto

Chi certifica la macchina e quindi anche il software, non controlla riga per riga il software, probabilmente neanche lo vede, ma si accerta che il (comportamento del software) sia conforme o comunque rispetti determinati requisiti. (Quali debbano essere poi questi requisiti è altra storia)

Si è vero, che il software lo può fare uno qualunque, ma alla fine, chi lo realizza è l'azienda.............I requisiti li deve possedere l'azienda.........

Tanto per farti un esempio, per meglio esprimere il concetto, ipotizziamo una macchina non presidiata e dotata di un coltello saldante, e che tale coltello saldante non sia considerato un dispositivo di sicurezza, in quanto la temperatura di lavoro è anche bassa.

Chi realizza il software, prevede la gestione della temperatura del coltello in un determinato modo, PID, funzione automatica, funzione manuale ecc. Una notte un operatore distratto anziché impostare una temperatura di 50 gradi, si sbaglia e scrive 500, siccome non vi è stato previsto da software un controllo appropriato per evitare un tale errore, il coltello prende fuoco ed è causa di un incendio.

Una volta accertata la causa, la responsabilità ovviamente è del produttore della macchina e/o di chi la certificata.

Poi il software può averlo scritto il calzolaio o l'ingegnere informatico, poco importa. Quelli sono problemi del produttore della macchina. ( e comunque probabilmente un giudice chiederà quali requisiti/idoneità aveva tale persona per poter scrivere il software).

Chi certifica la macchina e di conseguenza anche il software, si preoccuperà di verificare che simulando determinate condizioni non si possano verificare comportamenti non previsti. Tali verifiche, spesso vengono fatte a priori, come diciamo noi a "tavolino". (In fase di progettazione del software) e poi in fase di test della macchina ti accerti che questo sia vero.

Tutto ciò fa parte della tua bella valutazione del rischio che redigi PRIMA di realizzare la macchina.

Modificato: da Giuseppe Signorella
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...