Vai al contenuto

Comunicazione DAT3014 con Weintek mt8050 Modbus

Home Forum Terminali operatore (Weintek) Comunicazione DAT3014 con Weintek mt8050 Modbus

Stai visualizzando 9 post - dal 1 a 9 (di 9 totali)
  • Autore
    Post
  • #45305
    Carmelo
    Partecipante

    Devo far comunicare dei moduli di acquisizione Pt100 dat3014 con un mt8050 per la visualizzazione delle temperature! Mi trovo in difficoltà nel far visualizzare la temperatura! Nelle prorpieta del dispositivo ho inserito:

    Modbus rtu( zero based addressing)
    COM1 (9600 e 8 1) il dispositivo e stato programmato con le stesse impostazioni
    Stazione plc 1 (indirizzo Programmato nel modulo 1)

    Per la visualizzazione utilizzo una numerica:

    Nome plc modbus rtu(zero based addressing)
    indirizzo 4x.  40015 che è l’ingresso 0 della sonda1 riportato nel manuale del dat3014

    Le coil con indirizzo 00001 fino alla 00008, usando le lampade bit vanno alla grande, e rilevano il guasto o l’interruzione dei cavi delle Pt100. La visualizzazione delle temperature non vanno, il terminale mi dice Plc no response! Ecco il link al manuale del modulo.

    Come posso risolvere il problema?

    #45309
    Sergio Bertana
    Amministratore del forum

    Il protocollo Modbus standard ha offset 1, tu hai scelto la modalità zero base addressing e quindi hai eliminato l’offset. Molti dispositivi comunque lavorano senza offset (Puo darsi che anche il DAT3014 sia così) ma l’offset al limite ti sfalsa di 1 l’indirizzamento (Basta sommare o sottrarre 1 all’indirizzo per sistemarlo).

    Il fatto che i Coils funzionano però significa che l’indirizzamento è corretto, ora per quanto riguarda i registri WORD leggendo il manuale mi sembra che il comando 4x operi sui registri banco 3xxxx che sono lo specchio dei registri 4xxxx. Quindi io proverei ad usare l’indirizzo 30015 al posto del 40015.

    Per l’acquisizione analogica di Pt100/1000 specie se hai molti punti ti consiglio di dare una occhiata al nostro sistema modulare SlimLine con il suo modulo di espansione I/O analogico.

    #45332
    Carmelo
    Partecipante

    Salve! Grazie per la risposta.  Ho fatto la prova a usare il comando 3x 40015 e 4x 30015 ma il problema persiste! Ho notato che la numerica non viene visualizzata per niente! E dopo qualche secondo il terminale dice PLC no response.

    Ho fatto una miriade di prove ma niente, ho provato anche in ascii riprogrammando il DAT3014! E addirittura usando un convertitore rs485/modbus TCP.  Sto utilizzando il DAT3014 perché ne ho un paio a casa, e volevo usarlo per un progetto prototipo, ho preso già in considerazione di usare i vostri prodotti!

    #45334
    Sergio Bertana
    Amministratore del forum

    Se il terminale visualizza PLC no response significa che non riceve risposta al comando Modbus che invia al dispositivo, solitamente per un errore di indirizzo. La documentazione del dispositivo non è chiarissima e sopratutto non c’è un esempio di frame Modbus.

    Ti consiglio di provare con un programma di simulazione modbus su PC (Esempio Modbus Master Simulator) per cercare di capire che comandi Modbus il prodotto accetta.

    Se conosci bene il protocollo Modbus puoi anche tentare con il nostro programma Toolly che permette di inviare stringhe binarie  su seriale ed ha nelle utilità anche un pratico calcolatore di CRC/LRC per protocollo Modbus (Vedi l’ultimo post di questo topic).

    #45336
    Carmelo
    Partecipante

    Ho installato modbus master simulator e il DAT3014 si comporta come la sua documentazione!

    #45338
    Sergio Bertana
    Amministratore del forum

    Prova a fare un progetto con nella pagina di default un oggetto visualizzazione dati e lo punti su 3x 40016 anzichè 40015. Tu hai scelto modbus zero based addressing e quindi può esserci un 1 di differenza sull’indirizzamento ed ho visto che il registro 40014 è riservato.

    Leggendo un unico registro 3x 40016 sia che ci sia un offset positivo che negativo và sempre bene… al limite leggi un valore diverso da quello che credi.

    #45343
    Carmelo
    Partecipante

    Provato e riprovato nessun miglioramento! Ho anche usato il protocollo modbus  tcp ip usando un convertitore di interfaccia ma nessun risultato ci rinuncio…

    #45346
    Carmelo
    Partecipante

    Be dopo una miriade di prove ho risolto impostando protocollo Modbus TCP/IP andando a leggere l’indirizzo 4×16  e non 4×40016  E funziona anche l’indirizzo 3×16.

    Problema risolto grazie mille di tutto!

    #45348
    Sergio Bertana
    Amministratore del forum

    Quindi il problema è che nella documentazione è indicato indirizzo 40016 quando in realtà l’indirizzo è 16…

    Quindi capito il problema lo puoi utilizzare anche direttamente in RS485 senza dover mettere il convertitore ethernet/seriale.

Stai visualizzando 9 post - dal 1 a 9 (di 9 totali)
  • Devi essere connesso per rispondere a questo topic.