Vai al contenuto
PLC Forum


S7-1200 Comunicazione seriale UART con BMS


AndyTech78

Messaggi consigliati

Ciao sono un po' arrugginito di sistemi di comunicazione seriali ma avrei l'interesse di mettere in comunicazione un s7-1200 con un BMS (batteryManagementSystem) per la gestione di un bilanciatore di batterie litio.

In pratica vorrei acquisire da questa scheda BMS i valori di tensione e temperature di tutte le celle della batteria per controllo e minitoraggio.

 

Il sistema con cui voglio comunicare è compatibile UART quindi realizzando un circuitino per optoisolare le alimentazioni dovrei riuscire a portare ai livelli di tensione della seriale tali segnali.

Ma per comunicare seriale con il 1200 cosa serve? qualche cp?? Ho una cpu s7-1214C ma ho usato seriali solo col 300 fino ad oggi!!!  Chiaramente nel mio caso la comunciazione è monodirezionale (ricevo solo informazioni)

Poi dovrò crearmi il protocollo ma quello viene dopo!

Qualcuno sa aiutarmi? 

 

 

out-board-uart-connection1.png

Link al commento
Condividi su altri siti


Si serve il modulo di comunicazione seriale. Attenzione che devi creare un interfaccia standa Rs232 prevede tensioni duali non 0 / vcc come il tu schemino o RS485 che é differenziale. Immagino che il dispositivo trasmette spontaneamente i dati serializzati per cui tu devi solo ricevere i dati. Il protocollo se lo fai libero basta che ci sia lo start e lo stop byte o utilizzare il timeout di linea kibera. Secondo me ti ê piú economico mettere un convertitore seriale ethernet (arduino per esempio) che ti fa da adattattore.

Link al commento
Condividi su altri siti

Interessante la tua indicazione...effettivamente non avevo pensato a una soluzione meno invasiva lato PLC. Effettivamente come proponi tu, se ho capito bene, eviterei il costo della scheda seriale del PLC.

Ovviamente il sul PLC devo solo ricevere le informazioni inviate tramite UART dal dispositivo. Il suo messaggio é ripetitivo e le info che ho dicono che é in formato 'big endian' che non conosco ma i 58byte della stringa sono indicati.

 

Se ho capito cosa proponi si tratta di realizzare un circuito optoisolatore è una interfaccia tra il segnale UART seriale del dispositivo e la Ethernet del PLC usando Arduino? Corretto? 

Potrei domandarti se puoi articolare meglio la segnalazione! O se hai qualche link o sito da dove prendere spunto?? Vorrei provare a portare avanti l'idea!!!

Grazie

 

Andrea

Link al commento
Condividi su altri siti

8 ore fa, AndyTech78 scrisse:

usando Arduino?

 

Non è proprio una buona idea. A parte il fatto che arduino lavora a 5V.

Arduino non è fatto per lavorare dove lavora un PLC, ci sono dispositivi espressamente progettati per eseguire questa traslazione di livello RS485 - RS232 adatti ad ambiente industriale. Costano un poco di più ma sono molto più affidabili.

Link al commento
Condividi su altri siti

Bigendian é l ordine con cui vengono inviati i byte nel caso di Word o dword. Il messaggio è a lunghezza fissa guardando lo schema quindi facile allocate i dati ricevuti nelle varie variabili. Comunque l'adattamento di interfaccia a livello 1 e tra l'uscita del tuo dispositivo e il PLC. Quindi se hai un uart TTL se vuoi convertirla in Rs232 puoi usare un Max232, in 485 un max485, se vuoi creare un pacchetto IP devi avere anche chi effettua limpaccheytsmento e la trasmissione in Udp o meglio ancora TCP. Il check sum è abbastanza semplice da calcolare

Link al commento
Condividi su altri siti

4 ore fa, Livio Orsini scrisse:

 

Non è proprio una buona idea. A parte il fatto che arduino lavora a 5V.

Arduino non è fatto per lavorare dove lavora un PLC, ci sono dispositivi espressamente progettati per eseguire questa traslazione di livello RS485 - RS232 adatti ad ambiente industriale. Costano un poco di più ma sono molto più affidabili.

 

Beh il problema ambientale non sussiste, si tratta di casa mia. Ho realizzato tutti gli automatismi di casa con il PLC. Attualmente il PLC è già interfacciato con la centrale antifurto e con la scheda di controllo della caldaia.

 

La questione é trovare il modo, più comodo ed economico, di portare nel PLC le variabili del bilanciatore delle batterie.

 

Una soluzione è usare una chiesa seriale nel PLC è realizzare un accoppiamento isolato tra la UART del BMS e la seriale del PLC. 

Un altra quella di usare un sistema alternativo che mi permetta di non acquistare la scheda seriale per il PLC che non é regalata!! Ma cosa??

Link al commento
Condividi su altri siti

3 ore fa, AndyTech78 scrisse:

 

Beh il problema ambientale non sussiste, si tratta di casa mia.

 

Anche in casa ci sono parecchie interferenze EMC; ne parlo per esperienza diretta con arduino, ho dovuto faticare parecchio per evitare blocchi e disguidi software.

In commercio ci sono convertitori RS232-RS485 molto affidabili e di costo non elevato.

Link al commento
Condividi su altri siti

 

Quindi mi pare di capire che il suggerimento sia quello di rimanere in ambito di seriali 232/485  con l'acquisto di un modulo di comunicazione (penso al CM-1241) e realizzare solo un circuito per optoisolare la tensione dello strumento con cui debbo interagire?? Corretto? Chiaramente il convertitore 232-485 non servirebbe!

 

Ma sarebbe possibile usare un convertitore 232 - tcp e andare a fare le interrogazioni delle stringhe tramite la porta ehetnet a bordo della CPU senza acquistare un modulo di comunicazione?

Link al commento
Condividi su altri siti

2 ore fa, ifachsoftware scrisse:

Ce ne sono di convertitori , ma non credo che ti costino meno del modulino da mettere sul plc

 

 

Beh.... un modulo di comunicazione come il CM-1241 lo paghi circa 120€ (sempre che sia corretto) mentre un convertitore 232-tcp ne costa meno della metà.... volendo un USR-TCP232-T2  costa meno di 15euro  sempre che poi si riesca a farlo comunicare!!!!

 

 

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