Vai al contenuto

Comunicazione tra MT8070iER e display ModBus

Home Forum Terminali operatore (Weintek) Comunicazione tra MT8070iER e display ModBus

Stai visualizzando 7 post - dal 1 a 7 (di 7 totali)
  • Autore
    Post
  • #36054
    Marcello
    Partecipante

    Come da titolo vorrei inviare dei comandi al display SC1602MBS della Silicon Craft (Vedi datasheet). Ho provato alcune configurazioni di Modbus RTU ma la risposta è sempre “PLC no Reponse”.

    I collegamenti che ho effettuato corrispondono a quelli indicati, ho tentato anche incrociando D+ -> D-, ma niente…
    Mi potete aiutare ?

    #39707
    Sergio Bertana
    Amministratore del forum

    Ho dato una occhiata al datasheet del display ed ho visto che deve essere indirizzato con indirizzo nel range 40001÷40016, suporta sia i comandi 0x06 Preset single register che 0x10 Preset multiple registers quindi non dovrebbero esserci problemi a gestirlo.

    Hai impostato corretamente il modo seriale (Baud, parità, stop bits)… Hai definito correttamente il nodo modbus (Slave ID)…

    Per capire dove è il problema non ti resta che spiare la comunicazione RS485 con un’altra seriale ed uno sniffer (Topic).

    #39709
    Marcello
    Partecipante

    Eccomi ancora… Ho impostato il PLC (display) in questo modo:

    Tipo PLC: MODBUS RTU
    PLC I/F: RS-485 2W
    COM: COM1(9600,N,8,1)
    Stazione PLC no.: 1

    Ho creato due Bit Lamp e due Word Lamp.
    Bit Lamp :0x 1#40001
    Bit Lamp :4x_bit 1#40001
    Word Lamp : 0x_single_coil 1#40001
    Word Lamp: 4x 1#40001

     Giusto per una prova, ma niente continua a darmi “PLC no Response”. Dove sto sbagliando ?

    #39710
    Sergio Bertana
    Amministratore del forum

    Intanto metti sempre solo un oggetto, perchè se uno degli oggetti và in errore poi non capisci quali sono quelli giusti e quelli sbagliati.

    Poi attento perchè indicano i registri come address 4000x ma in realtà sono ad address 0. Se guardi il datasheet vedrai questo:
    0x0010 ( 40017) row 0—Unsigned Integer

    Ma poi quando riportano la stringa RTU (e li non possono mentire) scrivono:
    [Slave ID] [ 0x06] [ 0x00][ 0x10 ] [ 0x40 ] [ 0x3A ] [ CRC Hi ] [ CRC Lo ]

    Dove vedi che dopo il codice di funzione 0x06 Write single register hanno definito indirizzo 0x0010 come scritto sopra e non 40017. E poi comunque spiate gente spiate… solo guardando cosa passa sulla seriale si capiscono i problemi…

    #39711
    Marcello
    Partecipante

    Ho trovato! Se utilizzo delle macro per inviare comadi il Display funziona, se provo a creare un tasto il TS invia questo codice:

    01 01 00 00 00 10 3D C6

    e non ottenendo risposta segnala lo stato di “PLC no Response”. Posso fare qualcosa ?

    #39712
    Sergio Bertana
    Amministratore del forum

    Vedi che spiando si inizia a fare luce nella nebbia… Se fai riferimendo al manuale Modbus, vedrai che la stringa inviata dal tasto è un comando 01 Read Coil Status, mentre dando una occhiata al datasheet del display mi sembra che per gestire i coils (Backlight e transistor output) tu posso solo usare il comando di scrittura 05 Force Single Coil.

    Ma l’oggetto tasto del terminale non può solo scrivere, normalmente legge anche lo stato del coil ed il tuo display da errore. Penso che per gestire i coils del display dovrai lavorare di macro con OUTPORT.

    Credo che anche per i testi sul display dovrai fare la stessa cosa perchè non mi sembra di avere visto comandi di lettura ma solo di scrittura.

    #39713
    Sergio Bertana
    Amministratore del forum

    Aggiungo solo per dare una visione globale delle possibili soluzioni che se introduci tra il terminale ed il display un ns sistema SlimLine, tu puoi con il FB ModbusMaster sullo SlimLine gestire i soli comandi di scrittura verso il display, mentre il terminale dialogando con lo SlimLine potrà gestire sia lettura che scrittura.

    Inoltre il FB ModbusMaster con la funzione di spionaggio (Topic) permette in modo semplice di visualizzare il dialogo con il dispositivo.

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