Microchip1967 Inserito: 23 gennaio 2012 Segnala Inserito: 23 gennaio 2012 BuongiornoNon so se è la sezione adatta, mal che vada indicatemi il posto giustoSto sperimentando un'interfaccia RS232<>KNX della Arcus, per la precisione il modello KNX-GW-232L'interfaccia funziona come un gateway bidirezionale programmabile, ovvero alla ricezione di un determinato telegramma è in grado di emettere una stringa RS232 oppure all'arriva di una stringa RS232 è in grado di estrapolare da essa un valore numerico (o confrontare una tabella di testo ed inviare il valore abbinato) e di inviarlo come telegramma sulla rete knxE qui' viene il bello....Devo usare questa interfaccia per prendere dei dati in arrivo da una centrale antifurto e tramutarli in un telegramma knx.Per la precisione quando arriva il testo ALLARME ZONA 003 deve emettere un telegramma con indirizzo 10/1/3, con il valore a 1Se arriva il testo RIPRIST ZONA 003 deve emettere un telegramma con indirizzo 10/1/3, con il valore a 0In pratica il dispositivo analizza il testo e se contiene la frase ALLARME ZONA prende il valore numerico successivo (in questo caso 003) e con questo incrementa un dato di base, in questo caso 0, in modo da variare l'offset del terzo indirizzo.Ad esempio, nel caso della zona 012, il telegramma trasmesso avrebbe l'indirizzo 10(1/12. Il valore del bit (1 ) è predeterminato in tabellaLa stessa cosa avviene con il testo RIPRIST, solo che il bit in questo caso è a 0Tramite le macro sono riuscito a fare tutto cio'.Il problema che mi si presenta invece è un'altro.per semplificare le prove ho collegato l'uscita della centrale (che ha un'uscita DTE) all'ingresso di una seriale sul pc e tramite hyperterminal ho acquisito l'uscita (velocità 2400, 8N1, flusso software).Il tutto prima tramite un cavo DTE<>DTE con collegamenti full, poi con un cavo DTE<>DTE a soli 3 filiIl file di testo è stato salvato sul desktopPer controllare la programmazione successivamente ho collegato l'uscita del pc (DTE) con gli stessi parametri al convertitore arcus e inserendo manualmente i testi il modulo esegue perfettamente quanto richiestoAllora, sempre tramite hyperterminal, ho dato il comando di "invia file di testo", inviando i dati ricevuti dalla centrale. Il convertitore esegue puntualmente quanto richiesto.A questo punto ho collegato l'uscita seriale della centrale al convertitore e fatto le prove, ma il sistema non funziona Ho ricontrollato piu' volte il cavo ( che in questo caso è composto solo da gnd, tx e rx.I pin RTS-CTS cono ponticellati tra di loro, come pure i segnali DSR-DCD-DTR), provando anche a collegare in parallelo al pin rx collegato dal lato interfaccia un'altro connettore collegato a sua volta al pc, per verificare cosa realmente arriva all'interfaccia stessa.Il pc riceve i dati corretti ma il sistema non funziona.Non so piu' che pesci pigliare.L'unico sospetto è che i livelli emessi dalla centrale di allarme siano in qualche modo troppo bassi per essere letti dall'interfaccia arcus.Se ci fosse un problema di programmazione non doveva funzionare neppure dal pc.Qualcuno ha qualche suggerimento?Sto eventualmente pensando di trovare un'amplificatore di linea, nel caso il cui il problema sia quello prospettato.Nel frattempo provero' a contattare la arcus per capire se esiste una "diagnostica di bordo" in grado di buttare sull'uscita usb di programmazione quanto ricevuto dalla rs232Se il sistema funziona, puo' essere impiegato per qualsiasi dispositivo con uscita RS232
AVC_Veronica Inserita: 23 gennaio 2012 Segnala Inserita: 23 gennaio 2012 Quanti metri copre la tua seriale?Utilizza ponticello 7/8 lato PC ed equivalente lato slave.
Microchip1967 Inserita: 23 gennaio 2012 Autore Segnala Inserita: 23 gennaio 2012 ponticelli 7-8 fatti da entrambi i latiLunghezza cavo tra centrale e convertitore circa 1 metro.....Sto provando a contattare la arcus (per sapere se esiste un debug), ma purtroppo non conosco il tedesco....Provero' con il mio inglese "basico"
AVC_Veronica Inserita: 23 gennaio 2012 Segnala Inserita: 23 gennaio 2012 non vorrei portarti fuori strada..ma The EIB-Gateway GW-KNX for DIN rail mounting controls EIB devices in existing buildingcontrol systems unidirectional (RX-Function is not supported). sembra che possa solo trasmettere e non inviare.
Microchip1967 Inserita: 23 gennaio 2012 Autore Segnala Inserita: 23 gennaio 2012 (modificato) Innanzi tutto grazie per l'interessamento.dal manuale in dotazione all'interfaccia:"Areas of Application The KNX Serial Gateway is bidirectional. It receives data telegrams on the KNX Bus and generates serial telegrams using the internal interface program. A new KNX telegram can also be created when a serial telegram is received. "scaricato direttamente da questo link: http://www.arcus-eds.de/rs232.html?&L=1Tra l'altro se fosse unidirezionale non si spiegherebbe perchè funziona correttamente se invio la stringa ascii dal pc.Sul manuale per la programmazione scaricabile da questa pagina http://www.arcus-eds.de/375.html?&L=1 ci sono pure gli esempi.Tutto avrei pensato fuorchè questo problema.Proprio per evitare casini ho fatto 2 giorni di prove tra pc ed interfaccia....Tutto per poter creare una "mappa grafica" per una centrale di allarme.... (anche se per la precisione le centrali che devo integrare sono 5, per un totale di circa 400 punti di controllo)Mi sa che se non ne vengo a capo dovro' crearmi qualcosa in linux....porcapuzzola come mi rode la cosa.. Modificato: 23 gennaio 2012 da Microchip1967
Microchip1967 Inserita: 26 gennaio 2012 Autore Segnala Inserita: 26 gennaio 2012 Ho recuperato un'analizzatore di protocolli + sniffer rs232Nei prossimi giorni provo a ricontrollare il traffico tra i dispositivi.Non vorrei che la centrale mandasse qualche carattere che hyperterminal non visualizza, ma viene comunque conteggiato nel controllo della stringa del dispositivo....L'avventura continua
Microchip1967 Inserita: 28 gennaio 2012 Autore Segnala Inserita: 28 gennaio 2012 :thumb_yello: :thumb_yello: Trovato l'inghippo!!!!!Tramite l'analizzatore + sniffer ho trovato il problema.in pratica l'uscita seriale manda, al termine di ogni riga, il carattere CR seguito da LFVisto che la programmazione esegue il controllo dopo il CR, in pratica nel confronto si inseriva "l'ospite indesiderato" LF, facendo saltare il confronto.E' bastato aggiungere il carattere LF ed incrementare di 1 il conteggio dei caratteri per far funzionare il tuttoquesta era la programmazione precedente:<sendstr ga="10/3/1" val="1" type="0">ALLARME #SP ZONA #SP #checkchars 13 #adr_offset1- 3 #dropchars -1</sendstr><sendstr ga="10/3/1" val="0" type="0">RIPRIST #SP ZONA #SP #checkchars 13 #adr_offset1- 3 #dropchars -1</sendstr>Questa è l'attuale:<sendstr ga="10/3/1" val="1" type="0">#LF ALLARME #SP ZONA #SP #checkchars 14 #adr_offset1- 3 #dropchars -1</sendstr><sendstr ga="10/3/1" val="0" type="0">#LF RIPRIST #SP ZONA #SP #checkchars 14 #adr_offset1- 3 #dropchars -1</sendstr>Con questo sistema posso portare le uscite di qualsiasi centrale di allarme (con uscita seriale) ad un numero elevatissimo, senza impegnare risorse sulla stessa, e permettendo l'uso di sinottici knx, come pure mappe grafiche.In questo caso il sistema dovrà comunicare con un connexion della domoticalabs, per la visualizzazione di mappe graficheSono felice come una pasqua.......Morale: non fidarsi di hyperterminal per l'acquisizione di un'uscita seriale.....
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