Connessione terminale con Arduino Mega
Home › Forum › Terminali operatore (Weintek) › Connessione terminale con Arduino Mega
- Questo topic ha 6 risposte, 2 partecipanti ed è stato aggiornato l'ultima volta 9 anni, 6 mesi fa da
Sergio Bertana.
-
AutorePost
-
Settembre 11, 2015 alle 6:12 am #35845
Anonimo
InattivoHo acquistato uno schermo Touch, Weintek MT8050iE, vorrei collegarlo ad Arduino Mega, programmato per funzionare in modalità MODBUS RTU (slave).
Ho notato che la documentazione a corredo dello schermo mostra collegamenti diversi da quelli dei manuali ufficiali Weintek. La programmazione di Arduino è stata verificata con successo, tramite un softwarino per il monitoraggio della comunicazione MODBUS.
Quando però collego il tutto al display, i due dispositivi non si parlano. Qual’è la tipologia di comunicazione (RS232 o RS485) funzionante in questo caso? Quali sono i pin da utilizzare sulla porta a 9 poli ? Come devo configurare il display ? (MODBUS RTU o MODBUS Server) ?
Settembre 11, 2015 alle 6:18 am #39065Sergio Bertana
Amministratore del forumIl terminale ha due porte seriali la COM1 che può essere RS232 oppure RS485 (2 o 4 fili), la porta COM3 può essere solo RS485 2 fili. I collegamenti corretti sono quelli riportati sul datasheet.
Ad alcune delle domande che mi fai devi essere tu a rispondere… RS232 o RS485 dipende da che interfaccia seriale dispone Arduino Mega. Se le ha entrambe scegli quella più consona alla tua applicazione (RS232 massimo 15 mt, RS485 massimo 1200 mt).
Se Arduino è un Modbus RTU slave è ovvio che devi impostare il pannello in modalita Modbus RTU master.
Ma attenzione hai impostato correttamente i parametri seriali e l’indirizzo di nodo ?
Il range di indirizi delle variabili è corretto ?
Il terminale usa i comandi modbus 01 Read Coil Status e 05 Force Single Coil per la gestione variabili BOOL. 03 Read Holding Registers e 16 (10 Hex) Preset Multiple Regs per la gestione delle variabili WORD. Questi comandi sono supportati dall’Arduino Mega ?
Settembre 11, 2015 alle 6:31 am #39066Sergio Bertana
Amministratore del forumSiccome mi dici che hai testato il tutto con un programmino vuol dire che la connessione con il PC è corretta, allora prova a testare il progetto con il simulatore del pannello direttamente da PC (Usa il tasto Simulatore On-Line) devi definire la COM corretta nel progetto (Magari nel tuo PC si chiama COM6…).
Mumble… Arduino Mega Vs SlimLine Compact, perchè no…
Ottobre 12, 2015 alle 3:40 pm #39084Anonimo
InattivoGrazie ai sui preziosi consigli sono riuscito a far funzionare la comunicazione Modbus tra lo schermo Weintek e Arduino Mega. Funziona tutto (Input/output byte e word). Basilare è stato il test con il monitor dispositivo in “on-line mode”, collegato ad Arduino via USB di programmazione. Il Vostro dispositivo è veramente versatile, di seguito i dati di cablaggio
Lato Display COM1, RS232 (pin6, Tx; pin9 Rx; pin5 GND)
Lato Arduino, schedina di traduzione tra RS232/TTL (pin2, Tx; pin3 Rx; pin 5 GND)Poi collego tutto a rx0 e tx0 di Arduino (la stessa porta seriale che Arduino usa per la programmazione). Il display è settato come MODBUS RTU, Arduino è programmato come MODBUS RTU Slave. Ovviamente nello sketch di Arduino devono essere presenti i registri di Modbus RTU canonici e devono corrispondere a quelli impostati sul display.
Ho dato uno sguardo al Vostro SlimLine Compact, molto interessante! Avete anche soluzioni display touch/screen+PLC integrato? In pratica di fronte c’è il touch/screen, sul suo retro ci sono i morsetti I/O.
Ottobre 12, 2015 alle 3:46 pm #39085Sergio Bertana
Amministratore del forumNo non abbiamo soluzioni terminale operatore ed I/O integrati. Ma considerando che la somma del prezzo di un pannello MT6050iP e di un modulo CPU compact si aggira sui 230 € credo si possano utilizzare anche disgiunti.
Inoltre avendo i due prodotti disgiunti si può sistemare il modulo I/O all’interno del quadro ed il pannello sul pulpito facilitando il cablaggio.
Ottobre 15, 2015 alle 8:39 am #39087Anonimo
InattivoConfermo che lo schermo Touch, Weintek MT8050iE, collegato ad Arduino Mega in modalità MODBUS RTU (slave) funziona perfettamente.
Con riferimento al Touch/screen Weintek MT8050iE, come posso settare degli allarmi che si attivino ad una data ora ? In pratica una sorta di sveglia con suoneria, usando l’orologio interno del display. Quali sono i registri LB o LW in cui l’MT8050iE scrive i valori di ora,minuti, secondi ?
Ottobre 15, 2015 alle 8:42 am #39088Sergio Bertana
Amministratore del forumCi sono diversi topic che parlano del real time clock sul terminale, in questo si esegue la visualizzazione di un orologio analogico, in questo si tratta l’argomento orologio. Comunque ti ricordo che tutti i registri interni sono indicati nel manuale System Reserved Words/Bits.
Per la gestione della schedulazione esiste l’oggetto scheduler che dovrebbe fare al caso tuo (Vedi nota applicativa e progetto di esempio). In alternativa puoi utilizzare le macro, fai riferimento al manuale Macro Reference scaricabile dal nostro sito.
-
AutorePost
- Devi essere connesso per rispondere a questo topic.