luca78 Inserito: 8 aprile 2008 Segnala Inserito: 8 aprile 2008 Ciao a tutti,sono in possesso del "plc" cubloc CB220, dove devo sviluppare una piccola applicazione per abilitare o meno dei relè.cioè devo rendere il cubloc slave modbus e tramite un master abilitare delle uscite. fino adesso ho scritto codiceConst Device = CB220 Opencom 1,9600,3,80,20 Set Modbus 0,1 Usepin 8,Out Usepin 9,Out Usepin 10,Out Usepin 11,Out Usepin 12,Out Usepin 13,Out Usepin 14,Out Usepin 15,Out Set Ladder On Do Loopquello che non riesco a capire come associare ad esempio Usepin 8,Out ad una varibile per leggerla e scriverla in modbus, sto leggendo il manuale ma non sono molto ferrato in inglese grazie
Gabriele Riva Inserita: 8 aprile 2008 Segnala Inserita: 8 aprile 2008 Puoi leggere anche il singolo bit di una variabile, lo puoi fare a blocchi, ad esempio:Dim U1 As Byte ' definisce la variabile U1U1=Bytein(1) ' copia nella variabile U1 il valore di block 1A questo punto puoi leggere anche il singolo bit della variabileU1.Bit0..U7.Bit0block 1 e' costituito da: P8, P9, P10, P11, P12, P13, P14, P15Attento a non fare confusione tra il numero del pin ed il nome del pin (nel software si usa il nome del pin e non il numero)PS: Dai un'occhiata al nostro progetto on-line, e' fatto con il Cubloc!
luca78 Inserita: 8 aprile 2008 Autore Segnala Inserita: 8 aprile 2008 non riesco a vedere il progetto mi chiede la forumcard che purtroppo non ho, però leggevo che si tratta di domotica, acquari etc etc.per gli acquari ho un progetto online completamente open se vuoi dargli un occhiatta www.pyacqua.netper quanto riguarda il cubloc, ok definisco il gruppo dei bit da leggere ma in modbus con un applicazione esterna che indirizzo gli do da leggere??per il pin 8 gli do 8??
Gabriele Riva Inserita: 8 aprile 2008 Segnala Inserita: 8 aprile 2008 Interessante il sito www.pyacqua.net !Il modbus non l'ho ancora testato, quindi non riesco ad aiutarti.per il pin 8 gli do 8??il pin8 ha nome P3 e fa parte del block 0quindi se appoggi il block 0 sulla variabile U1, poi lo leggi come bit U1.bit3
luca78 Inserita: 9 aprile 2008 Autore Segnala Inserita: 9 aprile 2008 ho provato questo codiceConst Device = CB220 Opencom 1,9600,3,80,20 Set Modbus 0,1 Usepin 0,In Usepin 1,In Usepin 2,In Usepin 3,In Usepin 4,In Usepin 5,In Usepin 6,In Usepin 7,In Usepin 8,Out Usepin 9,Out Usepin 10,Out Usepin 11,Out Usepin 12,Out Usepin 13,Out Usepin 14,Out Usepin 15,Out Set Ladder On Dim U0 As Byte Dim U1 As Byte U0 = Bytein(0) U1 = Bytein(1) Do If U0.bit0=1 Then U1.bit0=1 Else U1.bit0=0 If U0.bit1=1 Then U1.bit1=1 Else U1.bit1=0 Loopma non funziona se abilito l ingresso P0 non si accende nessun led dove sbaglio??grazie
Gabriele Riva Inserita: 9 aprile 2008 Segnala Inserita: 9 aprile 2008 Tu setti i bit della variabile U1, ma non la porta 1aggiungi l'istruzione:Byteout 1,U1
luca78 Inserita: 9 aprile 2008 Autore Segnala Inserita: 9 aprile 2008 adesso funziona grazie.un altra domanda ma la seriale CH1 è una seriale in 232 o in ttl?? perchè sto provando a comunicare in modbus ma non ci riesco
luca78 Inserita: 9 aprile 2008 Autore Segnala Inserita: 9 aprile 2008 ma sulla study board è in rs232 o ttl la ch1?? grazie
Gabriele Riva Inserita: 10 aprile 2008 Segnala Inserita: 10 aprile 2008 Assieme alla study board dovresti avere lo schema, altrimenti cercalo sul loro sito.Oppure segui le piste e vedi subito se c'e' un Max232 o meno.Purtroppo io ho lo starter kit del CB290...
luca78 Inserita: 10 aprile 2008 Autore Segnala Inserita: 10 aprile 2008 grazie Gabriele sei sempre molto disponibile,allora sulla study board ce il max232 ti spiego cosa ho fattola seriale ch1 usa i pin10 e pin11 questi con i fili li collego a dei morsetti dove ce scritto RS232C che aloro volta portano al mx232dalla seriale che esce dal mx232 ho fatto un cavetto 232 cioè tx con rx e rx con tx con il ground in comune.ma nulla ottengo sempre timeout dal modscan32 verso il cubloc, alla fine dev'essere una stupidata che mi fa perdere un sacco di tempo
Livio Orsini Inserita: 10 aprile 2008 Segnala Inserita: 10 aprile 2008 Hai fatto i ponticelli tra TTLTX con Tx (MAX232) e TTLRX con Rx (MAX232). Poi hai fatto un cavo dritto dal connettore della Study board al connettore della tua periferica. Probabilmente dovrai incrociare Rx con Tx.
luca78 Inserita: 10 aprile 2008 Autore Segnala Inserita: 10 aprile 2008 (modificato) allora ho fatto i ponti tra il pin10 con Rx del CH1pin11 con Tx del CH1sotto esce la seriale dove collego un cavo collegato in questo modolato CB220 lato PC2 33 25 5in modo da avere rx e tx incrociati ho letto il man più volte sembra tutto giusto ma non va sempre timeoutper fare una prova ho messo il cavo di programmazione che è dritto e adesso il modbus funziona, ma cavolo vuol dire che li inverte lui all'interno.comunque adesso leggo in modbus ascii adesso provo in rtugrazie Modificato: 10 aprile 2008 da luca78
Livio Orsini Inserita: 10 aprile 2008 Segnala Inserita: 10 aprile 2008 per fare una prova ho messo il cavo di programmazione che è dritto e adesso il modbus funziona, ma cavolo vuol dire che li inverte lui all'interno.Ci sono certi dispositivi che voglio il cavo diritto perchè incrociano in collegamenti a livello di circuito interno. Di solito è specificato nei manuali. Credo che Modbus voglia il cavo diritto come standard, bisognerebbe leggere bene le specifiche, a memoria non ricordo.RTU e ASCII nel modbus differiscono principalmente per l'analisi di firma, che nello RTU è molto più "pesante"
luca78 Inserita: 10 aprile 2008 Autore Segnala Inserita: 10 aprile 2008 adesso funziona, comunque nei vari plc ho sempre usato un cavo rs323 incrociato per comunicare in modbus.comunque adesso funziona sia in ascii che RTU, ho fatto varie prove a settare dei bit come uscite e funziona, adesso sto cercando di capire come inviare delle word
luca78 Inserita: 10 aprile 2008 Autore Segnala Inserita: 10 aprile 2008 risolto alla fine basta usare un solo comando per comandare tutti i bit (pin)_WP però una cosa non mi piace, dopo che uso la seriale CH1 cioè i pin10 e pin11 non ho più un block completo di out perchè sul block 0 il pin1 è solo input quindi per poter avere 8 out ho dovuto fare un misto di pin dal block0 al block1 che non mi piace per nulla, però non ho trovato altra soluzione
Gabriele Riva Inserita: 10 aprile 2008 Segnala Inserita: 10 aprile 2008 ...pin10 e pin11 non ho più un block completo di out perchè sul block 0 il pin1 è solo input quindi per poter avere 8 out ho dovuto fare un misto di pin dal block0 al block1 che non mi piace per nulla...Va bene cosi', basta che fai un mascheramento prima di comandare le uscite.
Messaggi consigliati
Crea un account o accedi per commentare
Devi essere un utente per poter lasciare un commento
Crea un account
Registrati per un nuovo account nella nostra comunità. è facile!
Registra un nuovo accountAccedi
Hai già un account? Accedi qui.
Accedi ora