FEDIMPIANTI Inserito: 25 novembre 2007 Segnala Inserito: 25 novembre 2007 (modificato) Ho un grosso problemaHo programmato una cpu siemens s220 226 con n, 2 porte seriali , con lo scopo di comunicare mediante un convertitore con un apparecchiatura un po’ inusuale una matrice elpro TZ16http://www.elprovideolabs.com/ita_/prodotti/TZ16.htmfin qui tutto ok ma adesso che vado avanti con lo sviluppo del software mi trovo a dei problemi spesso la matrice quando invio i dati per la commutazione non accetta il comando le domande che mi farete possono essere milioni e qui di seguito spiegherò come ho cercato di risolvere il problema· Ho controllato il flusso dai dopo il convertitore rs485 rs232 con il telnet in parallelo sia sulla trasmissione che sulla ricezione e ho constatato che il convertitore converte perfettamente e il plc invia i dati perfettamente · Le velocità sono settate 9,600 di ambedue i dispositivi· Quando la matrice non effettua la commutazione risponde con un errore , ma io non posso gestire questo errore per il rinvio dei dati · Ho cambiato tre tipi di convertitori· Il cavo è schermato e di lunghezza di circa tre metri· Le masse sono corrette e collegate giustamente· Il problema è saltuario · Non posso smontare la matrice per inviarla alla elpro per dei controlli perche creerei un disservizio enorme l’impianto è installato all’interno di un ospedale http://www.associazioni.prato.it/ailprato/htm/maurizio.htmgrazie per l’aiuto ***[at]**.it Modificato: 25 novembre 2007 da Luca Bettinelli Rimosso indirizzo di email, non consentito dal regolamento
salto Inserita: 25 novembre 2007 Segnala Inserita: 25 novembre 2007 (modificato) CiaoDa quello che dici sembra che a volte la matrice prende il comando e altre no.Inoltre quando non riesce a commutare risponde con errore.Con che tipo di errore ti risponde? Se restituisce un messaggio con codificato il numero di errore devi capire cosa significa.Senza altre informazioni, io sposterei l'attenzione dall'aspetto elettrico a quello logico.Probabilmente 1) il messaggio (la stringa) non è costruita nel modo corretto. 2) Non rispetti dei tempi minimi tra un messaggio e il successivo.3) chiedi alla matrice di fare un'operazione non possibile nello stato in cui si trova. Più di questo non ti posso dire dovrei conoscere meglio l'apparecchiatura.Ciao Modificato: 25 novembre 2007 da salto
Livio Orsini Inserita: 25 novembre 2007 Segnala Inserita: 25 novembre 2007 Suppongo, perchè non lo dici, che tu stia usando la seconda porta del PLC in modalità freeport.Se non lo hai ancora fatto, verifica i livelli di tensione sulla linea RS232, può succedere che il convertitore abbia i livelli bassi, al limite di utilizzo per il terminale, questo potrebbe spiegare l'errore saltuario.Sarebbe anche utile analizzare il codice di errore che rinvia la matrice.
FEDIMPIANTI Inserita: 25 novembre 2007 Autore Segnala Inserita: 25 novembre 2007 il carattere di risposta su telenet è un errorre raffigurato da undollaro o per avvenuta conferma un picche non dice niente altroma per i livelli di tensione potrebbe essere ma come posso fare per verificarli ?esiste un softvare che possa fare questo mediante la porta seriale?potrei usare un oscilloscopio ma con le seriali servirebbe un memoria di traccia ,e come è possibile che la tensione non sia giusta dopo mt 2 di cavo schermatyo 4 x 0,50?
FEDIMPIANTI Inserita: 25 novembre 2007 Autore Segnala Inserita: 25 novembre 2007 oppure potreste indicarmi un convertitore con le impostazioni completamente regolabili, compreso il livello di tensione di uscitama la cosa strana che se ci fosse un basso livello iil terminale telnet a volte dovrebbe dare l'errore invece la stringa è sempre perfetta , esempio di stringa inviata:B0111B INDICA RICHIESTA DI COMMUTAZIONE AUDIO + VIDEO01 INDICA IL CANALE DA COMMUTARE 11 INNDICA SU QUALE CANALE VA COMMUTATO mentre per interrogare la matrice mando una :be la risposta è di 64 caratteri mi dice dove sono commutati i 16 canali video e i 16 audioil carattere di interrogazione di stato viene trasmesso ogni 5 secondi da l'ultimo invio e i seganli di commutazione vengono trasmessi 5 secondi l'uno da l'altro con un tempo superiore 10 volte dal tempo minimo richiesto dalla matrice
Livio Orsini Inserita: 25 novembre 2007 Segnala Inserita: 25 novembre 2007 Escludendo un difetto sul terminale o un comando errato, l'unia causa possibile è un livello non corretto della linea RS232.Il protocollo elelttrico di RS232, cito a memoria quindo non garantisco la precisione assoluta, prevede tensioni che possono essere comprese tra -15v e -5v per il basso e +5v e +15v per l'alto. Per verificarlo è sufficiente trasmettere in continuazione un qualsiasi carattere ed osservarlo con un oscilloscopio anche non a memoria.Ovviamnete è necessario conforntare i limiti ammessi dal terminale con i valori riscontrati.L'analizzatore telnet, essendo uno strumento di misura, accetta segnali dal limite minimo di livello fino al massimo, mentre il terminale può essere un poco più "duro"Ovviamente queste sono ipotesi.Puoi fare una prova. Collega un PC, dotato di porta seriale RS232, con il programma di emulazione terminale Hyperterminal. In questo modo vedi cosa arriva effettivamente.
salto Inserita: 25 novembre 2007 Segnala Inserita: 25 novembre 2007 non è che commuti un canale su un uscita già impegnata ???oppure che scrivi un numero maggiore di quello massimo ??
Gabriele Corrieri Inserita: 26 novembre 2007 Segnala Inserita: 26 novembre 2007 (modificato) Ciao il dollaro (errore) è rappresentato al carattere 36 (dec) 24 (hex) 0010 0100 (bin)il picche (ok) è rappresentato al carattere 6 (dec) 6 (hex) 0000 0110 (bin)il segnale 06(hex) è corretto ... è il segnale ACK (acknowledge= comando riconosciuto)non quadra il segnale 24 (hex) ... il segnale NACK è 15 ...010101 --15100100 --24la chiave di volta è proprio lì .. senti il produttore della matrice ...Ciao Modificato: 26 novembre 2007 da Gabriele Corrieri
FEDIMPIANTI Inserita: 26 novembre 2007 Autore Segnala Inserita: 26 novembre 2007 vi spiego meglio :all'uscita del convertitore io ho un cavo che va alla matrice , in oltre ho costruito un collettore che mi permette di prendere il segnale della 232 tx rx e di mandarlo su un pc all'ingresso delle due seriali quindi riesco a monitorare il flusso effettivo in andata ed in ritornoe qui risulta tutto ok nessun errore di commutazionenessun errore di carattere il costruttore analizzando il flusso del telnet conferma che non ci sono caratteri sbagliati
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