Vai al contenuto
PLC Forum


Comunicazione RS485 su scheda 1241 onboard


ETR

Messaggi consigliati

Ciao a tutti, ho un problema su qualcosa che ritenevo una passeggiata : comunicazione modbus RTU tra un 1200 e 4 inverter INVT.

 

La comunicazione senza la scheda, verso un convertitore USB 485 (Moxa 1150 nella fatti specie) funziona, cosi come mi funziona su tutti gli altri impianti dove uso B&R da anni.

 

Semplicemente collegando i due fili alla scheda Siemens, la spia RX si accende (non viene ciclata nessuna trasmissione). Di conseguenza la task di chiamata della funzione mi restituisce errore 8291 e da questo punto non ne esco.

 

Mode 4 nel DB programmato a 4 (half duplex) verificato, parametri seriali confermati, catena seriale terminata lato inverter, cavi twistati ok, riferimenti a massa in comune di ogni inverter. Tutto quello che mi veniva in mente l'ho provato, ma non c'è verso di comunicare.

 

Collego altre apparecchiature e la seriale funziona e dai vari video online sembra essere il tutto molto banale, ma come lo è stato per me quando ho provato con altri PLC.

 

E' capitato a qualcun altro questi tipi di problemi ?

 

Stasera provo con un convertitore guida DIN terze parti da RTU a TCP e se funziona quello abbandono la scheda.

 

Buona serata Ennio

Link al commento
Condividi su altri siti


CIao a tutti, la prova ha dato esito positivo quindi, conseguente frustazione. Il convertitore non ha nessunissimo problema a comunicare al primo colpo con qualsiasi inverter.

 

A questo punto non ho altro tempo da perdere, modifico ed elimino la scheda Siemens, promettendomi di riprovare sulla prossima applicazione il motivo dell'anomalia.

 

Buona serata, Ennio

Link al commento
Condividi su altri siti

18 minuti fa, batta ha scritto:

Qualche info in più non guasterebbe. Il codice del modulo, tanto per cominciare. E come è configurato.

 

Ciao Batta, scusa non ho visto che ho omesso la tipologia della scheda (sarà stata per la frustazione). Trattasi dell 1241 on board 6ES7241-1CH30-1XB0. 

La configurazione è stata eseguita seguendo le indicazioni secondo i firmware, versioni, librerie ecc... per un halfduplex (mode impostato del DB) a 38400 E,8,1 su 4 inverter INVT GD20, il tutto entro 3 m di cavo twistato.

 

La questione è stata sin da subito un errore (8281) riscontrato ad ogni chiamata di un registro noto (gli inverter li collego da anni con altre soluzioni) che riportava alla configurazione PORT del blocco di inizializzazione, quando però l'informazione del blocco è fornita come costante di sistema (nello specifico 299). 

 

Mi sono incapponito per un paio di ore sul software, non accorgendomi che il led RX, pur in assenza di richieste di trasmissione (quindi non processando NESSUNA chiamata), rimaneva perennemenete acceso (per poi scoprire che aveva delle piccole fluttuazioni) a volte anche non periodiche.

 

A quel punto, per esperienza, ho cominciato a verificare le equipotenzialità, perché a volte mi è capitato che tensioni flottanti o mancati collegamenti per alcune apparecchiature rimanevano particolarmente indigesti. Però non c'è stato nulla da fare, la scheda non ha mai funzionato, tutto il resto del mondo si.

 

A quel punto ho gettato la spugna e in dieci minuti ho ristabilito la mia solita comunicazione. Dando per assodato che non si tratti della singola scheda (ne abbiamo due in casa), che non si tratti in generale dell'oggetto Siemens (ne ha collegato il collega una il mese scorso in condizioni ben più pietose del ns quadro nuovo), ho supposto una sfortunata combinazione di fattori, tra 4 inverter cinesi e altre variabili che non vengano gradite dalla scheda teutonica. 

 

Se non fosse che più oggetti, abbiano tranquillamente funzionato al primo colpo con lo stesso cablaggio (2 convertitori cinesi, un moxa 1150 e un PLC B&R ed in fine un convertitore da guida DIN RTU-TCP), il rammarico è di non aver trovato un riscontro tecnico per iltempo esiguo a disposizione.

 

Vedremo nelle prossime settimane di imbastire un banco, tanto di inverter ne abbiamo, sono i PLC che scarseggiano.

 

Buona serata, Ennio

Link al commento
Condividi su altri siti

  • 3 weeks later...

Ciao a tutti, aggiungo una domanda al limite dell'argomento, ma è attinente perché è figlia delle vicissitudini con la CB1241.

 

Imprecando per allineare la comunicazione TCP con i tempi di quella fisica RTU (che sia lo scatolino cinese o l'inverter cinese, alcuni comandi vengono "persi"), sono riuscito a gestire la macchina a stati per la comunicazione modbus.

 

La cosa strana è che, solo in fase di lettura, tralasciando qualsiasi ritardo tra una richiesta e l'altra, tra uno slave e l'altro, la macchina a stati non rileva nessun errore e continua a ciclare (2 richieste di holding register, massimo 8 registri, su 4 slave). Se inserisco la scrittura, in questa condizione, il comando avviene random (scrittura due registri attigui, funzione 16). 

 

Sono riuscito a raggiungere un compromesso di stabilità, interponendo un ritardo di 500ms tra una qualsiasi fase di lettura e scrittura che ovviamente introduce una discreta latenza sui driver. Questo non è particolarmente problematico in questa macchina, ma con più driver potrei cominciare ad avere problemi di risposta sui PID (pressione e temperature).

 

Per caratteristiche fisiche del RTU a 38k e degli stessi drive, tempi cosi alti (500ms) non sono mai arrivato a gestirli. Vi risulta sul Siemens di aver cambiato "procedura" rispetto ad altri oggetti ? (cosa che non dovrebbe accadere a mio giudizio). Anticipo che tempi inferiori ai 500ms li ho tentati ed il blocco MB_Client cicla in ciclica standard, non con OB.

 

Buona giornata, Ennio

 

 

 

Link al commento
Condividi su altri siti

  • 1 month later...

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