Da protocollo DMX slave a Modbus RTU master
Home › Forum › Discussioni su problematiche generali › Da protocollo DMX slave a Modbus RTU master
- Questo topic ha 5 risposte, 2 partecipanti ed è stato aggiornato l'ultima volta 11 anni, 10 mesi fa da
Ruben.
-
AutorePost
-
Maggio 28, 2013 alle 11:42 am #35362
Ruben
PartecipanteHo 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.Maggio 28, 2013 alle 12:18 pm #37654Sergio Bertana
Amministratore del forumAttualmente 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.
Maggio 28, 2013 alle 1:36 pm #37655Ruben
PartecipanteBene, 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).
Maggio 28, 2013 alle 2:52 pm #37656Sergio Bertana
Amministratore del forumNon è 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.
Maggio 28, 2013 alle 3:05 pm #37657Sergio Bertana
Amministratore del forumAggiungo 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.
Maggio 28, 2013 alle 5:27 pm #37658Ruben
PartecipantePrimo 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.
-
AutorePost
- Devi essere connesso per rispondere a questo topic.