tecnoAB Inserito: 16 aprile 2020 Segnala Inserito: 16 aprile 2020 Salve a tutti, sono nuovo sul forum. Sono un ragazzo. Lavoro su S7-1200 in tutti i progetti che faccio. In questo periodo sto facendo delle prove di comunicazione tra 2 CPU (una S7-1200 1212C DC/DC/DC aggiornata al firmware 4.3.1 e l'altra una CPU S7-1200 1212C DC/DC/RLY aggiornata anche lei alla versione 4.3.1 del firmware). Oltre a questo sto cercando di fare comunicare un PLC e un HMI marcato Fuji Electric, modello TS1071i. Vi presento i miei problemi: 1- Comunicazione tra PLC Sto facendo mille prove, ma non comunicano, o meglio i blocchi GET e PUT non fanno niente. Durante la sperimentazione ho scaricato il programma creato dai tecnici Siemens, in cui creano un collegamento S7 con GET e PUT (Fortunatamente le CPU erano le stesse solo con il firmware vecchio, quindi ho aggiornato sul progetto fornito le due CPU con i nuovi firmware). Qualche giorno fa il programma scaricato dal sito Siemens ha funzionato, ma oggi non va. Anche dei progetti che ho fatto io di prova non funzionano, ma magari ho fatto qualche errore io, può essere, ma è strano perché le due funzioni GET e PUT non ciclano neanche, come nel programma scaricato dal sito Siemens. Vi è mai successo? Come posso risolvere? Entrambi i PLC sono collegati tra loro e al PC tramite uno Switch TP_Link. 2- Comunicazione con HMI Fuji Electric Sto provando a far comunicare una CPU S7-1200 (Precisamente la versione S7-1200 1212C DC/DC/RLY aggiornata alla versione 4.3.1 del firmware) con un HMI fornitomi dalla mia ditta, il modello è il MONITOUCH TS1071i marcato Fuji Electric. Guardando il datasheet di questo dispositivo non si capisce bene che protocollo di comunicazione utilizza, nella sezione 'Siemens' di questo datasheet dice che quello che viene utilizzato con comunicazione PROFINET è ISO on TCP. Nelle mie prove, sono riuscito a caricare un programma sul questo HMI, e sul PLC ho provato ad utilizzare sia il blocco MB_Client, sia i blocchi TCON, TSEND_C e TRCV_C. Li avevo inseriti in un blocco unico e ho fatto che se attivavo un ingresso disattivavo il blocco MB_CLIENT e attivavo le altre funzioni di comunicazione prima citate, e viceversa. Non comunicava, ma da un momento all'altro i due dispositivi si sono messi a comunicare. Infatti sull'HMI ho visto la disposizione che avevo creato, con un errore di comunicazione (Probabilmente dovuto ad una variabile inserita male nel suo programma di messa a punto). Sono andato avanti con altri programmi, per poi riprovarci, anche con altri programmi simili, ma non c'è verso di comunicare tra di loro, anche utilizzando il programma in cui ero riuscito a farli comunicare. Qualcuno ci ha mai avuto a che fare con questo dispositivo? Sa darmi qualche consiglio su come farli comunicare? O sulla comunicazione con dispositivi esterni a Siemens? Lo chiedo da inesperto dato che sto studiando ancora alcune cose del PLC, qual è la differenza tra ad esempio il blocco MB_Client e i blocchi TCON, TSEND e TRCV, e tra TSEND, TRCV e TSEND_C ,TRCV_C? Ringrazio anticipatamente delle risposte, e mi scuso della lunghezza del mio testo, ma ho cercato di essere il più chiaro possibile.
batta Inserita: 16 aprile 2020 Segnala Inserita: 16 aprile 2020 15 minuti fa, tecnoAB ha scritto: ma magari ho fatto qualche errore io Ritengo questa ipotesi molto probabile, ma vorrei capire come possiamo trovare l'errore senza vedere il programma.
tecnoAB Inserita: 16 aprile 2020 Autore Segnala Inserita: 16 aprile 2020 (modificato) Si, ha ragione. Questo è la funzione PUT che ho creato oggi. Il blocco rimane cosi, sia con M0.0 attivo o disattivo. Modificato: 16 aprile 2020 da tecnoAB
84paolo Inserita: 17 aprile 2020 Segnala Inserita: 17 aprile 2020 (modificato) intanto il put o il get funzionano solo con fronte di salita, quindi inizia a sostituire il bit m0.0 con un bel clock e poi vedi se cambia qualcosa a livello di bit di errore Poi verifica che i DB siano del tipo non ottimizzato e sulle due CPU sull'hardware hai abilitato la spunta "Consenti comunicazione PUT e Get ecc ecc". Poi dall'Online che hai messo si vede che la comunicazione dice che è differente Offline da Online. Clicca sul progetto e ritrasferisci anche l'hardware Modificato: 17 aprile 2020 da 84paolo
tecnoAB Inserita: 17 aprile 2020 Autore Segnala Inserita: 17 aprile 2020 Si, non l'ho fatto vedere nel programma, ma il bit M0.0 si 'azionato' da un merker di clock. Si, avevo già attivato la spunta "Consenti comunicazione PUT/GET ... ", e i DB non erano di tipo ottimizzato. Sono riuscito a farli comunicare, avevo fatto un errore sui DB, avevo messo sui DB un'array di bool, ma a quanto ho capito i bool non si possono passare tutti insieme in un blocco, devo farlo a livello di byte, quindi ho convertito l'array in una di byte e ho associato ad ogni byte un bit tramite delle IF in SCL. Ho ricaricato le configurazioni hardware delle 2 CPU e si sono messe a comunicare. Grazie. Per quanto riguarda il collegamento con dispositivi esterni a Siemens avete qualche consiglio?
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