Vai al contenuto
PLC Forum


Programmazione PLC: logica a passi o combinatoria


smsmsms

Messaggi consigliati

27 minuti fa, batta ha scritto:

È anche vero però che il modo di programmare di oggi è ben diverso dal modo di programmare di 20 o più anni fa.

Pur rimanendo costanti i concetti base di come si deve sviluppare un programma, il mio modo di programmare è profondamente mutato nel tempo.

Come non quotarti il fatto è che comunque la si voglia dire la macchina lavora sempre col liguaggio macchina di una volta è il compilatore che fa buona parte del lavoro permettendoci di fare cose che una volta facevamo quasi solo a mano, quindi sempre ricordarsi da dove veniamo ma eveolversi sempre comunque

Link al commento
Condividi su altri siti


Anche il linguaggio macchina è cambiato.
Oggi le moderne CPU non eseguono più in modo proprio lineare ciò che gli si da in pasto.
Il decodificatore e lo schedulatore (Che in una CPU x86 occupano uno spazio enorme a causa dei limiti imposti dalla tecnologia CISC e sono la principale causa del sovraconsumo confrontato agli ARM e gli altri RISC) fanno cose veramente complesse. Un singolo core su un singolo thread può eseguire in parallelo più operazioni, ci sono algoritmi integrati nelle CPU per poter effettuare il branch prediction, in modo da parallelizzare anche processi sequenziali ipotizzando che un confronto abbia più probabilità di dare true piuttosto che false o viceversa ed iniziando a calcolare nel futuro "scommettendo" sul risultato. Ci sono circuiti di parallelizzazione del calcolo come i vari SSE e AVX di x86 o NEON di ARM che permettono di vettorializzare i calcoli matematici eseguendone in parallelo molti.
Un tempo scrivere in ASSEMBLY e tradurre in linguaggio macchina con un ASSEMBLER permetteva di tirare per il collo le CPU. Oggi un compilatore moderno di un linguaggio più ad alto livello di ASSEMBLY con le sue ottimizzazioni e con tutto quello che può sfruttare su una CPU moderna, è in grado di disintegrare in prestazioni qualunque algoritmo scritto a mano in ASSEMBLY da un umano, in quanto è diventato troppo complesso per un umano sfruttare la potenza di una CPU con il suo codice nativo. Sarebbe impensabile immaginarsi un modo per scrivere il codice in modo da tenere più piena possibile una pipeline.
Oggi i moderni SSD sono più o meno performanti non per la qualità delle NAND (Che ormai sono tutte abbastanza vicine) quanto per la qualità delle reti neurali nei loro controller che riescono ad ottimizzare meglio la banda in funzione dell'utilizzo per limitare i colli di bottiglia.

Mi ricordo ancora i miei primi esperimenti su un C=64 dove un ASSEMBLER non esisteva, si scriveva a mano su carta in ASSEMBLY, a fianco si traduceva in binario con la calcolatrice, poi a forza di istruzioni DATA si caricava il codice macchina in RAM e con un comando SYS (Non ricordo a memoria quale) si puliva tutta la parte occupata dall'interprete BASIC e si faceva partire il codice macchina caricato con i DATA. 
I primi PLC in IL puro somigliavano vagamente ad un sistema programmato in ASSEMBLY. Avevo 12 Anni quando mi regalarono la prima CPU SqareD con cartuccia EPROM e tastierino LCD a 5 righe... Con il manuale che insegnava a tradurre uno schema elettromeccanico in un equivalente LADDER e a tradurre il LADDER a mano in IL.
Oggi i PLC moderni stanno supportando il paradigma OOP che è una sofisticatezza del mondo informatico che porta a tutta una serie di vantaggi, ma al contempo richiede lo studio di molta più teoria. I nuovi standard come il 61499 introdurranno anche come dicevo i sistemi Event Driven...

Il mondo cambia, ma se si ha la passione non si è mai vecchi per nulla, basta essere sempre convinti che non si deve mai finire di studiare.
Io magari sbaglierò ma cerco di dedicare un 20% almeno del mio tempo aziendale in formazione continua. Sembra uno spreco, ma non credo che lo sia... Almeno lo spero...
Poi chissà... Un giorno sbatterò il naso veramente forte e tutte le mie convinzioni crolleranno.

Modificato: da Marco Mondin
Link al commento
Condividi su altri siti

4 ore fa, batta ha scritto:

Tra i programmatori "avanti con gli anni" (categoria alla quale, indubbiamente, appartengo) ci sono quelli che si sono evoluti (ho la presunzione di essere uno di questi), e ci sono quelli che sono rimasti legati al modo di programmare imparato ad inizio carriera.

 

Batta è questione di...DNA.:smile:

Io, rispetto a te, sono di una generazione precedente. Ho iniziato che i transistor erano quasi una curiosità da laboratorio. Le regolazioni di velocità si eseguivano con l'Amplidina ed il dispositivo molto sofisticato era l'amplificatore magnetico. Alcuni miei coetaenei son rimasti a questi concetti io ed altri no. Ancora oggi, per passione, traffico con i microcontrollori.

Ma questo capita più o meno in tutte le prefessioni. Ci son stati ragionieri che sono andati in pensione dopo il 2000 che non sapevano usare un PC e se gli accennavi ad un foglio di calcolo ti guardavano sospettosi. Altri loro coetanei non hanno nessuna difficoltà ad usare i mezzi informatici.

Link al commento
Condividi su altri siti

26 minuti fa, Marco Mondin ha scritto:

Il mondo cambia, ma se si ha la passione non si è mai vecchi per nulla, basta essere sempre convinti che non si deve mai finire di studiare.
Io magari sbaglierò ma cerco di dedicare un 20% almeno del mio tempo aziendale in formazione continua. Sembra uno spreco, ma non credo che lo sia... Almeno lo spero...

 

Mi sento di condividere questa tua affermaziane.

Come ho scritto prima io son passato, nella mia vita lavorativa, dalle valvole ai microcontrollori, uso dei PC che hanno più potenza di calcole e memoria di massa di un mainframe a valvole. E vero che non riesco a seguire tutte le novità un po' perchè son troppe ed un po' perchè alla mia età la reattività decresce notevolmente.

Però io continuo a cercare di rimanere aggiornato.

Link al commento
Condividi su altri siti

22 ore fa, Marco Mondin ha scritto:

Io magari sbaglierò ma cerco di dedicare un 20% almeno del mio tempo aziendale in formazione continua. Sembra uno spreco, ma non credo che lo sia...

un 20% non è poco è assai, si vede che ti ripaga ampiamente

Link al commento
Condividi su altri siti

11 minuti fa, drn5 ha scritto:

e cioè 2 ore al giorno, tutti i giorni.

Un po'meno circa 1 ora e mezza, se pensi alle canoniche 8 ore.

Credo che marco Mondin lavori in proprio, quindi il tempo dedicato all'aggiornamento professionale è un investimento.

Link al commento
Condividi su altri siti

19 minuti fa, drn5 ha scritto:

e cioè 2 ore al giorno, tutti i giorni.

Chi te lo permette? Il tuo capo o i tuoi clienti?

Scusa la curiosità...😀

I miei capi siamo io ed il mio socio. Lo consideriamo come R&D aziendale.

 

Modificato: da Marco Mondin
Link al commento
Condividi su altri siti

15 minuti fa, Livio Orsini ha scritto:

Un po'meno circa 1 ora e mezza, se pensi alle canoniche 8 ore.

Credo che marco Mondin lavori in proprio, quindi il tempo dedicato all'aggiornamento professionale è un investimento.

Si e in proprio le canoniche 8 ore sono un miraggio.
 

40 minuti fa, leleviola ha scritto:

un 20% non è poco è assai, si vede che ti ripaga ampiamente

Si è tanto, è non so se mi ripagherà ampiamente, io lo spero...


Scambio di messaggi tra me e il mio socio all'una passata del mattino. Imbastendo un nuovo applicativo...
Screenshot_20201231_153816.png.68de4fddc363ae7a4ad27db7f710b0f1.png

Modificato: da Marco Mondin
Link al commento
Condividi su altri siti

23 ore fa, Marco Mondin ha scritto:

Il mondo cambia, ma se si ha la passione non si è mai vecchi per nulla, basta essere sempre convinti che non si deve mai finire di studiare.

Il punto è proprio questo. Non si deve mai smettere di imparare e bisogna cercare di fornire al cliente la soluzione migliore stando al passo con o tempi. 

 

Io penso che il software debba essere paragonato ad un automobile. Alcune parti devono essere standard per tutti (volante, pedali, marce) mentre le altre sono gli optional ed è giusto che vengano gestite come casi particolari. Però nel 2020 chi comprerebbe un'auto senza airbag o servosterzo?!? Lo stesso deve essere il software delle macchine... nel 2020 devono avere certi requisiti dati per scontato. 

 

Avevo fatto l'esempio del tasto con il contatore per settare un semplice bit, ma posso dirvi che vedo in giro un sacco di altre soluzioni che fanno rabbrividire per come sono fatte nel 2020.

Link al commento
Condividi su altri siti

1 ora fa, Marco Mondin ha scritto:

Si e in proprio le canoniche 8 ore sono un miraggio.
 

Si è tanto, è non so se mi ripagherà ampiamente, io lo spero...


Scambio di messaggi tra me e il mio socio all'una passata del mattino. Imbastendo un nuovo applicativo...
Screenshot_20201231_153816.png.68de4fddc363ae7a4ad27db7f710b0f1.png

forse sarà il periodo che ci aiuta a stare chiusi in casa per il covid e a fare tesoro del tempo per aggiornarci, anch'io faccio le ore piccole a volte ma l'importante è trovare tempo per tutto

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