Vindro Inserito: 24 ottobre 2022 Segnala Inserito: 24 ottobre 2022 (modificato) 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: 24 ottobre 2022 da Vindro
batta Inserita: 24 ottobre 2022 Segnala Inserita: 24 ottobre 2022 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.
Vindro Inserita: 2 novembre 2022 Autore Segnala Inserita: 2 novembre 2022 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 ?
Mattia Spoldi Inserita: 2 novembre 2022 Segnala Inserita: 2 novembre 2022 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
batta Inserita: 3 novembre 2022 Segnala Inserita: 3 novembre 2022 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.
Vindro Inserita: 4 novembre 2022 Autore Segnala Inserita: 4 novembre 2022 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.
batta Inserita: 4 novembre 2022 Segnala Inserita: 4 novembre 2022 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.
ifachsoftware Inserita: 9 novembre 2022 Segnala Inserita: 9 novembre 2022 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
Vindro Inserita: 9 novembre 2022 Autore Segnala Inserita: 9 novembre 2022 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.
valvolina Inserita: 9 novembre 2022 Segnala Inserita: 9 novembre 2022 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
batta Inserita: 10 novembre 2022 Segnala Inserita: 10 novembre 2022 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.
Messaggi consigliati
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 accountAccedi
Hai già un account? Accedi qui.
Accedi ora