Vai al contenuto
PLC Forum


Curiosità sui Programmatori PLC


nicco5858

Messaggi consigliati

Scusate se mi intrometto nel discorso che è sempre molto interessante.

Personalmente lavoro in una grande azienda molto conosciuta a livello mondiale. Io sono un diplomato con 34 anni di esperienza in diverse aziende e sono capitato in questa solo per caso.

Siamo oltre 40 programmatori solo in una divisione e la maggior parte sono giovani ingegneri e informatici portati qui da vari canali universitari.

Non hanno mai programmato un PLC con linguaggi tipici (Ladder, ST.. ecc), non hanno esperienza di collaudi, di messa in servizio, di servosistemi, di sensoristica, ..ecc.

Non li fanno quasi mai lavorare sulle macchine ma su sistemi virtuali con un softwrae che simula la macchina o con i sistemi di simulazione degli attuali ambienti di sviluppo Siemens e

 B&R in particolare.

Hanno un sistema di programmazione messo a punto dal centro ricerca e sviluppo  con una struttura pesantissima che non sto nemmeno a descrivere perché è così astratta e complessa da non crederci.

Per fare una semplice marcia/arresto di un motore utilizzano la tecnica della "macchina a stati", tutto ciò viene codificato in C e poi ricompilato per il relativo controllore.

I software sono pieni di cicli "For .. Next", "Do While.." e loop di ogni genere.

.. non si capisce assolutamente nulla..

Concordo a pieni voti tutto quello che è stato scritto dai noti "Livio Orsini" , "pigroplc", "batta" .. e mi scuso se non cito anche altri.  ma in un mondo così complesso come è quello attuale

occorrerebbe essere molto più pragmatici nello svolgere attività come la nostra e "farsi le ossa" prima di scrivere del codice come su un PC perché prima o poi , a forza di 

continuare su strade come questa descritta non credo possa essere utile a nessuno .

Personalmente penso che questo lavoro e un insieme di conoscenze non solo di informatica ma anche di matematica, fisica, meccanica, elettronica, elettrotecnica ma bisogna 

anche avere una buona dose di manualità e poi bisogna lavorare "sul campo" non davanti a un computer, non è software gestionale.. secondo me, ed è (o meglio era), 

bello anche per questo.

.. poi i .. tempi cambiano .. ok, ma se questo è il risultato dei tempi cambiati . allora sono contento delle esperienze fatta prima.

 

 

Link al commento
Condividi su altri siti


50 minuti fa, frussosw scrisse:

. non si capisce assolutamente nulla..

 

Sorge spontanea una domanda: chi andrà a mettere in servizio queste macchine?

Link al commento
Condividi su altri siti

17 ore fa, frussosw scrisse:

occorrerebbe essere molto più pragmatici nello svolgere attività come la nostra e "farsi le ossa"

Dal 1984 ad oggi mi occupo di automazione, e dal mio personale punto di vista i migliori progettisti (sia meccanici che elettrici che software si sono fatti almeno 6 mesi in manutenzione / assemblaggio dei macchinari).

Per intenderci, quelli che hanno veramente vissuto cosa cavolo significa stringere un bullone sanno che ci vuole lo spazio per girare la chiave da 10, stesso dicasi per il progettista elettrico che lascia i cavi di potenza e segnali separati, magari pure spazio nelle canaline piuttosto che lo sviluppatore software che sa che un domani sarà semplice modificare la logica di qualche motore o qualche valvola  perché la macchina "invecchia" e bisogna farla funzionare lo stesso .....

 

Link al commento
Condividi su altri siti

Ciao a tutti mi permetto di aggiungere la mia : per quanto concerne la domanda iniziale (C si, C no), io avrei idea che un "buon" programmatore debba ormai saperne. Questo deriva da alcune considerazioni che possono venire dalla marca del PLC utilizzato (per mia esperienza su B&R, la case madre ha delle librerie in C), oppure da poter attingere da librerie pubbliche (come GitHub, dove posso trovare codice da implementare addirittura un release beta) per poter sviluppare soluzioni particolari. 

 

Aggiungerei poi un ulteriore nota sull'evoluzione dei termini che ormai non ha più una distinzione cosi netta come anni fa. Già alle superiori, come ITIS, avevo sistemi, in cui si studiavano principi di logica booleana ecc,,, ma quella era la base sie per informatica che per la programmazione di PLC. Da allora, gestire un FIFO, scrivere in Pascal, strutturato, piuttosto che creare un progetto con un TSX17, era una suddivisione per materie, ma facente parte poi di un ambito automazione. 

 

Si è ribadito più volte, che un buon programmatore, dovrebbe essere in grado di sviluppare codice, cercando di ottimizzare, l'ambito in cui deve sviluppare l'applicazione e le sue conoscenze. Quindi come dice Livio, eseguire un analisi e applicarne la soluzione. Certo è che non potrà per praticità generare più forme di codice nella stessa macchina. Se proprio, cercherà di standardizzare, gestendo il linguaggio più flessibile (dipende da applicazione e piattaforma, ma nel mio caso potrebbe essere ST o C).

 

Riassumendo, non cercherei di associare "esperienza" a "programmatore di PLC" , invece di "concetti astrusi" ad "informatici", perché alla fine il concetto base è sempre quello (logica booleana), gli si cambia solo la forma in cui lo si manipola. Il fatto è sapere cosa si sta facendo, magari ottimizzando la maniera in cui lo si realizza per renderlo fruibile anche ad altri per un eventuale debug.

 

Buona serata Ennio

Link al commento
Condividi su altri siti

Quote

Certo è che non potrà per praticità generare più forme di codice nella stessa macchina.

Sono praticamente d'accordo su tutto, tranne su questo.

Una cosa che considero ottima del TIA Portal, è che puoi generare un blocco di programma dichiarando come linguaggio il KOP ma, poi, all'interno del blocco, puoi aggiungere segmenti in AWL o in SCL È molto pratico.

Del resto, nella stessa macchina mi troverò sicuramente a dover gestire sequenza booleane, dove il ladder è e rimane il linguaggio più semplice, più intuitivo, più flessibile, più facile da debuggare. Ma poi, magari, mi trovo anche a dover fare calcoli, gestire dati, ed altre cose che fatte in ladder sarebbero un suicidio, mentre in strutturato diventano quasi banali.

Poi, a dirla tutta, anche l'AWL ha ancora i suoi pregi, per certi compiti. Mi sforzo di non usarlo ma, a volte, ti permette di fare in un attimo cose che sia in ladder, sia in strutturato, risulterebbero più complicate.

Quindi, nei miei programmi potrai trovare, all'interno dello stesso blocco, segmenti in ladder, segmenti in strutturato, e segmenti in lista istruzioni.
Questo non significa fare un minestrone, ma usare, per ogni compito, il linguaggio più adatto.

Link al commento
Condividi su altri siti

elettromirko85
54 minuti fa, batta scrisse:

Questo non significa fare un minestrone, ma usare, per ogni compito, il linguaggio più adatto.

Verissimo capita spesso anche a me di usare scl e kop nello stesso progetto, e come detto da Batta, non sarà mai un minestrone ma una flessibilità di programmazione necessaria per svolgere al meglio un progetto! Poi a mio avviso a parte un primo impatto (per chi non lo usa)  il linguaggio strutturato se ben commentato è comprensibile dalla maggior parte di programmatori

Link al commento
Condividi su altri siti

Ciao batta, per carità non è una regola ma un opinione in base alla standardizzazione del progetto. Per dirla tutta, non programmo in ladder dal 2008 (progetto ex novo) per macchine nuove medio complesse, ma riprendo spesso in mano mie vecchi progetti Mitsu o Siemens. Dal nuovo, ormai mi sono abituato a leggere e gestire strutturato e qualcosa di C, per cui, nell'ambito dove programmo ora (B&R), faccio fatica a mischiare.

 

Se faccio qualcosa di piccolo in TIA o riapro un progetto in Step7 o con il GX, (specialmente quest'ultimo) ormai in automatico digito le seguenze di codice con i tasti funzione associati al contatto aperto, contatto chiuso, parallelo ecc... perché si vede che ormai si sono collegate al concetto stesso di ladder. nella mia testa.

 

Su un progetto nuovo, non riesco. Probabilmente lavoro ad ambiti chiusi 😉

 

Buona giornata, Ennio

Link al commento
Condividi su altri siti

20 ore fa, batta scrisse:

Questo non significa fare un minestrone, ma usare, per ogni compito, il linguaggio più adatto.

 

E tanto vero che nei compilatori "C" professionali per microprocessori è possibile intrudurre, con una semplice direttiva "asm", pezzi di codice in assembler.

Link al commento
Condividi su altri siti

Quote

 

i miei 2 cent,dalla mia esperienza per programmare PLC non è necessario conoscere il C o un altro linguaggio strutturato; ho visto alcuni pezzi di codice in SCL ma erano per un'applicazione veramente particolare e di difficile gestione. 

 

Se si programma anche lo SCADA, invece direi che è quasi obbligatorio, perchè ti permettere di ampliare e di molto le potenzialità dello stesso, specie se si devono fare cose particolari (grafici, elaborazione dati, calcoli etc...).

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