Vai al contenuto

Da protocollo DMX slave a Modbus RTU master

Home Forum Discussioni su problematiche generali Da protocollo DMX slave a Modbus RTU master

Stai visualizzando 6 post - dal 1 a 6 (di 6 totali)
  • Autore
    Post
  • #35362
    Ruben
    Partecipante

    Ho un piccolo progetto e devo ricevere dati di un master DMX e controllare uno o due azionamenti brushless (MiniOPD EXP) attraverso ModbusRTU.

    Avete voi CPU SlimLine  con due porte 485 ?
    Queste porte supportano, Baud rate di 250 kbps, 1 start bit, 8 data bits, 1 stop bit in formato NRZ, buffer di 513 bytes.

    #37654
    Sergio Bertana
    Amministratore del forum

    Attualmente non abbiamo la possibilità di gestire il protocollo DMX in modalità slave. Nella libreria dei prodotti SlimLine abbiamo il blocco funzione SysDMXMng che è in grado di gestire il protocollo DMX in modalità master, purtroppo non abbiamo mai sviluppato la modalità slave.

    Potendo gestire il bus DMX non ci sarebbero problemi per il formato dati ma per gestire il DMX in modalità slave occorre una modifica del sistema operativo, per riconoscere il break (22 bit a livello basso per una durata complessiva di 88 microsecondi) occorre agire a livello assembler nel sistema operativo.

    Termino la risposta dicendo che non ci sono problemi per il dialogo in modbus RTU con l’azionamento brushless, il blocco funzione ModbusRTUMaster_v1 può gestire tranquillamente la comunicazione.

    Non abbiamo moduli CPU con due porte RS485 ma è possibile utilizzare dei semplici ed economici convertitori da RS232 a RS485, vedi convertitori Seriale/Seriale.

    #37655
    Ruben
    Partecipante

    Bene, non abbiamo dubbi su come lavorare con l’azionamento brushless.

    In riferimento alla questione DMX slave, so che è possibile individuare il BREAK come un “framing error”. Quindi, il primo frame senza errore ricevuto dopo un errore dovrebbe essere il “Start Code”. Ma mi resta sapere, se è possibile configurare il Baud Rate a 250 Kbs (Nel manuale utente vedo: From 300 to 115200 baud).

    #37656
    Sergio Bertana
    Amministratore del forum

    Non è così semplice come hai espresso nel post, cerco di spiegare come il modulo CPU SlimLine gestisce la comunicazione seriale. Il sistema operativo esegue una bufferizzazione dei dati ricevuti dalla porta seriale in un buffer circolare da 256 bytes, eventuali errori di ricezione provocano lo scarto del carattere ricevuto ma non forniscono indicazione.

    Questa soluzione è stata scelta perchè già utilizzata storicamente su altri nostri prodotti, le porte seriali sono normalmente utilizzate per gestire protocolli di comunicazione e nei protocolli vi è sempre la possibilità di intercettare eventuali errori di ricezione (Conttrollando un CRC, inserendo nel frame caratteri di controllo STX, ETX, ecc.).

    Quindi non è possibile intercettare il BREAK, cercando velocemente su Internet ho trovato un convertitore DMX to Seriale (Vedi datasheet) magari affidandosi ad un prodotto del genere puoi risolvere il problema di ricezione dei comandi DMX.

    #37657
    Sergio Bertana
    Amministratore del forum

    Aggiungo che è possibile inserire la gestione del protocollo DMX slave nello SlimLine, abbiamo già avuto qualche richiesta, ma siccome comporta alcune modifiche del sistema operativo è una strada perseguibile solo se vi è la possibilità di poter contare su un numero interessante di applicazioni.

    Ad esempio un modulo compact potrebbe essere una valida unita slave DMX da 4 comandi e/o da gateway DMX Master/Slave verso la seriale.

    #37658
    Ruben
    Partecipante

    Primo di tutto voglio ringraziare per il supporto ricevuto. Mi piacciono molto i vostri prodotti e mi piacerebbe lavorare con loro. La soluzione di implementare slave DMX nello Slimline è molto interessante anche capisco che per un piccolo numero di applicazioni non sarebbe praticabile. Parlerò con il nostro cliente circa la quantità. Grazie anche per la informazione sul decoder della Chromation Systems.

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