Vai al contenuto
PLC Forum


Da Codesys a TIA Portal


Vindro

Messaggi consigliati

 

Buongiorno a tutti.

 

Mi sto addentrando nel mondo CodeSys e nella programmazione secondo lo standard IEC 61131-3, il quale dovrebbe ( in teoria ) garantire la portabilità del software. Inserisco qui questa discussione perché volevo capire se questa portabilità la si può ottenere anche con i nuovi PLC S7-1200 e S7-1500 di Siemens ( che già conosco ). In altre parole, volevo capire se un sorgente fatto con CodeSys lo si può portare in qualche modo nell'ambiente di sviluppo TIA Portal, sfruttando per l'appunto, questo standard IEC 61131-3.

 

Grazie in anticipo.

 

Modificato: da Vindro
Link al commento
Condividi su altri siti


Per i blocchi scritti in testo strutturato, la portabilità è ad un buon livello.
Non può essere totale, perché ogni PLC ha le proprie "particolarità". Potresti trovare istruzioni che ci sono in codesys e non in TIA, o viceversa. Poi, devi sempre fare i conti con le differenze dell'hardware. Per esempio, ingressi ed uscite analogiche dei PLC Siemens hanno come valore corrispondente al 100 % del segnale (10 V o 20 mA, per intenderci) 27648 (6C00 Hex). Dovrai quindi mettere mano alle scalature degli analogici.

 

Per gli altri linguaggi, sebbene anche Siemens rispetti lo standard IEC 61131-3, non credo esistano tools per importare/esportare blocchi scritti, per esempio, in ladder. Ma, essendo che personalmente non ne ho bisogno e, quindi, non li ho mai cercati, mi potrei anche sbagliare.

Link al commento
Condividi su altri siti

  • 2 weeks later...

Grazie @batta per la risposta.

 

Da ciò che hai scritto mi sembra di capire che non esistano tool o procedure con cui automatizzare questo processo di portabilità, sopratutto per i linguaggi non testuali. Vorrei chiarire solo una cosa ... dato che hai scritto << non credo esistano tools per importare/esportare blocchi scritti, per esempio, in ladder >> quando dici << Per i blocchi scritti in testo strutturato, la portabilità è ad un buon livello. >> in termini pratici, intendi dire fare un " copia & incolla " del codice sorgente ?

Link al commento
Condividi su altri siti

ti lascio un piccolo appunto, codesys permette la programmazione oop, fa parte dello standard IEC 61131-3, ma al momento è l'unico a supportarla, se programmi ad oggetti, scordati la possibilità di portare il codice su piattaforme non codesys(siemens, omron, rockwell, ecc).

Se invece non programmi ad oggetti, vale quanto detto da batta.

 

Ciao

 

Link al commento
Condividi su altri siti

Il 2/11/2022 alle 12:46 , Vindro ha scritto:

in termini pratici, intendi dire fare un " copia & incolla " del codice sorgente ?

Puoi fare un copia & incolla, oppure puoi esportare il blocco in un file di testo.

 

7 ore fa, Yiogo ha scritto:

ma ti scontrerai inevitabilmente a vincoli e "durezze" cui non sei abiatuato

Non è questione di vincoli e durezze, è solo che un conto è il codiec puro, altro è gestire l'hardware. Esempio banale: se usi un contatore veloce, il software dovrà essere adattato alle caratteristiche del contatore veloce.
Inoltre, io considero l'editor ST del TIA il migliore che mi sia mai capitato di usare.

 

7 ore fa, Yiogo ha scritto:

perfino con IL ha la fantasia di chiamarlo AWL

D'accordo per LD/KOP e ST/SCL, ma AWL è diverso da IL. È sempre una "lista istruzioni", ma con una sintassi totalmente diversa.
Il KOP poi, se imposti il TIA in inglese, lo chiama LAD.

 

7 ore fa, Yiogo ha scritto:

rinuncia all'eleganza del codesys se vuoi usarlo

Io ho provato a giocarci un po' con il Codesys, e non mi ha per nulla entusiasmato.
Prima cosa, si parla di uno standard, come se con Codesys si potessero programmare tutti i PLC che supportano Codesys, mentre poi scopri che per ogni PLC devi usare comunque il suo sistema di sviluppo. Come editor di Codesys ho provato solo ST e, di quelli che ho provato, non ne ho trovato nemmeno uno all'altezza dell'editor ST del TIA.

Link al commento
Condividi su altri siti

Dunque, da quello che ho capito, non esiste una vera e propria portabilità del codice sorgente, nonostante questo standard IEC 61131-3. L'unica portabilità possibile, se così vogliamo definirla, sta nel copiare un sorgente in ST da una parte all'altra e correggere eventuali errori dati da tutte quelle differenze che contraddistinguono un PLC dall'altro. Si può fare qualcosa di simile con la IL ma la sua portabilità è drasticamente minore. In tutti gli altri casi è praticamente inesistente.

 

In definitiva ... questo standard non permette una vera portabilità del software, se non in alcuni casi. Come succede spesso anche in altri linguaggi come il VB, tante volte si fa prima a riscrivere il programma piuttosto che migrarlo e adattarlo al nuovo sistema.

Link al commento
Condividi su altri siti

Il Testo Strutturato è il linguaggio che permette la maggior portabilità, ma la portabilità totale non esiste. Se cambi PLC, qualche aggiustamento a mano lo dovrai sempre fare.

Link al commento
Condividi su altri siti

Per ottenere una migliore portabilità portabilità dovresti utilizzare dei pattern tipici del modo PC in cui tieni usa separazione tra le logiche di programma e l'hardware.

Ossia standardizzi tutte le tue logiche per lavorare con i dati ingegneristici , e in un livello separato converti in dati.

Per esempio : Se da logica ti serve il micro di aperto e ti hanno messo il micro di chiuso , in un livello inverti il segnale per la logica.

Oppure se devi lavorare da logica con la temperatura in gradi , la scalatura la effettui in un livello piu' basso.

In questo modo se cambi piattaforma devi solo cambiare il livello di conversione dal campo

Link al commento
Condividi su altri siti

Quote

Per ottenere una migliore portabilità portabilità dovresti utilizzare dei pattern tipici del modo PC in cui tieni usa separazione tra le logiche di programma e l'hardware. Ossia standardizzi tutte le tue logiche per lavorare con i dati ingegneristici , e in un livello separato converti in dati.

 

Chiaro. Va da sè che la portabilità del software dipende anche dalla struttura stessa del programma e da come esso accede alle risorse hardware. Un programma ben strutturato e organizzato in " livelli " garantisce sicuramente una portabilità maggiore di un programma " non strutturato ". L'accesso all'hardware chiaramente va adattato di volta in volta.

Link al commento
Condividi su altri siti

ciao

Codesys tutta la vita! con tutte le sofferenze del caso per i poveri programmatori.

ma di nuovo Codesys tutta la vita!

 

Visti poi i rumors che stanno girando sembra che ci sarà una virata

in casa Siemens verso una strada diversa da Tia, con relativa incopatibilità tra Tia e le news.

Tutto per quanto riguarda il mondo del motion.

 

Io non so se qualcuno ne ha sentito parlare,

 

Un saluto

Valvolina

 

 

 

 

 

 

 

Link al commento
Condividi su altri siti

14 ore fa, valvolina ha scritto:

Io non so se qualcuno ne ha sentito parlare,

No, io non ne ho sentito parlare.
Potrebbe essere un nuovo prodotto dedicato al motion, ma non credo che si tratti di un prodotto che soppianterà il TIA.
Per quanto riguarda il TIA, so che è imminente l'uscita della V18.
Secondo me, piaccia o no, il TIA sarà sviluppato per almeno altri 10 anni.

 

In quanto all'incompatibilità, o si tratta di un prodotto totalmente diverso dal TIA, con un differente target, oppure, nel caso si trattasse di qualcosa che andrà a sostituire il TIA, di sicuro accadrà come nel passaggio da Simatic Manager a TIA, con la possibilità di migrare i progetti.
Con due passaggi si riescono ancora a convertire in TIA i programmi fatti per S5, quindi questa presunta incompatibilità mi suona alquanto strana, e ben poco credibile.

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