MrC Inserito: 23 gennaio 2007 Segnala Share Inserito: 23 gennaio 2007 Vorrei scrivere delle routine di comunicazione con Plc/termoregolatori facendo uso del multithreading, ovvero la "esecuzione di piu processi in contemporanea". Mi stavo chiedendo se fosse possibile lo scambio di dati contemporaneo con 2 device in 485, oppure se tutta la banda del cavo è occupata da una sola comunicazione, e stessa domanda per una comunicazione via ethernet.Grazie Link al commento Condividi su altri siti More sharing options...
poix Inserita: 23 gennaio 2007 Segnala Share Inserita: 23 gennaio 2007 per quanto riguarda l'ethernet puoi fare tranquillamente piu' letture su dispositivi diversi.Per l'rs485 non credo.ciao ciao Link al commento Condividi su altri siti More sharing options...
PinoD Inserita: 23 gennaio 2007 Segnala Share Inserita: 23 gennaio 2007 Per quanto riguarda la 485 non credo sia possibile secondo la mia esperienza, però non ne sono sicuro. Sono sicuro però per la rete ethernet, basta solo che non sia però lo stesso dispositivo per un plc, cioè n dispositivi di comunicazione collegati ad altrettanti n plc posso comunicare in contemporanea sulla rete ethernet. Link al commento Condividi su altri siti More sharing options...
batta Inserita: 23 gennaio 2007 Segnala Share Inserita: 23 gennaio 2007 Con una 485 puoi avere solo una comunicazione di tipo half duplex: quando trasmetti non puoi ricevere, e quando ricevi non puoi trasmettere. Una 485 utilizza un solo doppino per trasmissione e ricezione, che non possono essere contemporanee.Non capisco però cosa intendi per "scambio di dati contemporaneo con 2 device".Se intendi la comunicazione tra master e slave, vale quanto detto sopra. Potresti avere contemporaneità di trasmissione e ricezione usando una 422, che usa due coppie separate di conduttori per trasmissione e ricezione.Se invece intendi un master che comunica contemporaneamente con 2 o più slave, è possibile solo dal master verso gli slave nel caso la trasmissione non necessiti di risposta. Potresti, per esempio, inviare un comando comune a tutti gli slave, ma senza conferma da questi che sia stato ricevuto e correttamente interpretato. Di solito nel telegramma di trasmissione si include anche il nodo al quale il telegramma è destinato. Il master invia un telegramma allo slave xxx e si mette in attesa. Tutti gli slave hanno ricevuto il telegramma, ma solo lo slave interessato deve rispondere.Se, ancora, intendi una comunicazione con più di un master, questo con una 485 non si può fare. Link al commento Condividi su altri siti More sharing options...
PinoD Inserita: 23 gennaio 2007 Segnala Share Inserita: 23 gennaio 2007 Vorrei ribadire il concetto espresso prima :Un master può comunicare con tanti slave, ma solo l'interessato risponde alla propria richiesta quindi in pratica è come se ci fosse un punto punto.La domanda era se si possono avere piu richieste usando la rete ethernet in contemporanea, e questo è possibile perchè tanti masterpossono comunicare con altrettanti slave usando lo stesso "cavo" che in questo caso è la rete ethernet Link al commento Condividi su altri siti More sharing options...
Faust Inserita: 23 gennaio 2007 Segnala Share Inserita: 23 gennaio 2007 Una rete ethernet può essere multimaster senza problemi. Link al commento Condividi su altri siti More sharing options...
Piero Azzoni Inserita: 24 gennaio 2007 Segnala Share Inserita: 24 gennaio 2007 prima bisogna chiarire il concetto di "contemporaneo"se contemporaneo ha lo stesso significato che ha nella lingua italiana la risposta e':"no ! su nessun bus, passto presente e futuro sara' mai possibile la comunicazione contemporenea tra due device e non esiste alcuna eccezione"se contemporaneo e' inteso in senso relativo il discorso cambia, in particolarein ethernet e' possibile avere aperte comunicazioni con piu' device, anche con protocolli diversi, anche con svariati masterin 485 e' possibile aprire, in immediata successione, piu' comunicazioni, anche con protocolli diversiil discorso multimaster e' possibile ma e' molto piu; criticonota per batta: la 485 puo' funzionare sia half che full Link al commento Condividi su altri siti More sharing options...
batta Inserita: 24 gennaio 2007 Segnala Share Inserita: 24 gennaio 2007 Piero, correggimi se sbaglio, ma per me full-duplex significa che contemporaneamente posso trasmettere e ricevere. Con un unico doppino mi pare un pò difficile. La modalità full-duplex è possibile con una 422 che utilizza 2 doppini separati per trasmissione e ricezione, oppure con una 232, che ha sempre trasmissione e ricezione separati. Con un unico doppino o trasmetto, o ricevo. Se faccio una cosa non posso fare contemporaneamente anche l'altra.C'è ance da dire che la modalità full-duplex, per quanto riguarda almeno la mia esperienza personale, non viene quasi mai usata, dato che un protocollo di comunicazione seriale quasi sempre prevede l'invio di un telegramma dal master, che poi si mette in attesa della risposta, e gli slave rispondono solo su richiesta del master. Questo è quanto si fa di solito, poi si è liberi, ovviamente, di complicarsi la vita come meglio si crede Da Wikipedia:Il full-duplex è una modalità di invio e ricezione di informazioni digitali, con funzione completamente bidirezionale.In una connessione full-duplex, il mezzo trasmissivo permette di definire due percorsi separati per i due sensi del flusso dati, ovvero non vi è contesa per il suo utilizzo Link al commento Condividi su altri siti More sharing options...
PinoD Inserita: 24 gennaio 2007 Segnala Share Inserita: 24 gennaio 2007 Rispondo a Batta :Esiste la comunicazione full duplex anche in rs485 con 2 coppie, una di rx e l'altra di tx e in contemporanea. Link al commento Condividi su altri siti More sharing options...
MrC Inserita: 24 gennaio 2007 Autore Segnala Share Inserita: 24 gennaio 2007 Grazie a tutti per i chiarimenti ...Sono quasi sicuro di aver ottenuto la risposta che cercavo, tuttavia riassumendo vi spiego il motivo della mia richiesta:Ho scritto una funzione che legge/scrive tramite un protocollo 485.Se io con .NET uso questa funzione in Multithreading, cioè la eseguo in contemporanea, posso interrogare 2 o piu device contemporaneamente? Mi sembra di intendere che non posso, perchè quando poi uno dei due mi risponde, va ad occupare il canale di risposta della rete, e se risponde anche l'altro device, i due si sormontano .. o sbaglio? è possibile discriminare le due risposte in questo caso? oppure l'unica soluzione è interrogarne uno alla volta?Lo stesso discordo non vale però per ethernet (es. Modbus TCP) , perchè qui penso che ogni risposta degli N device interrogati si creerà un canale proprio nella banda disponibile, o sbaglio?Grazie Link al commento Condividi su altri siti More sharing options...
batta Inserita: 24 gennaio 2007 Segnala Share Inserita: 24 gennaio 2007 Esiste la comunicazione full duplex anche in rs485 con 2 coppie, una di rx e l'altra di tx e in contemporanea.Certo che esiste, solo che si chiama 422.422 e 485 sono praticamente la stessa cosa, l'unica differenza sta appunto nel numero di doppini utilizzati. Link al commento Condividi su altri siti More sharing options...
batta Inserita: 24 gennaio 2007 Segnala Share Inserita: 24 gennaio 2007 Se io con .NET uso questa funzione in Multithreading, cioè la eseguo in contemporanea, posso interrogare 2 o piu device contemporaneamente? Mi sembra di intendere che non posso, perchè quando poi uno dei due mi risponde, va ad occupare il canale di risposta della rete, e se risponde anche l'altro device, i due si sormontano .. o sbaglio? è possibile discriminare le due risposte in questo caso? oppure l'unica soluzione è interrogarne uno alla volta?Proprio così: l'unica soluzione è interrogarne uno alla volta. Link al commento Condividi su altri siti More sharing options...
Piero Azzoni Inserita: 24 gennaio 2007 Segnala Share Inserita: 24 gennaio 2007 Certo che esiste, solo che si chiama 422NO !esiste la 422, che e' solo a quattro fili ed e' solo master/slaveesiste la 485 4 fili che non e' uguale alla 422 anche se e' compatibile QUASI sempreesiste la 485 2 fili che puo' essere multimaster MA funziona solo halftre specifiche per 3 DIVERSE interfaccie Link al commento Condividi su altri siti More sharing options...
batta Inserita: 24 gennaio 2007 Segnala Share Inserita: 24 gennaio 2007 Ho cercato un pò in Internet, ed in effetti esiste anche la 485 a 4 fili.A giudicare però dal pochissimo materiale reperito su tale standard, mi viene da pensare che non sia poi così... standard.A me non è mai, ma proprio mai, capitato di lavorare con apparecchiature che comunicassero in 485 4 fili. Si parla sempre di 422/485.Insomma, esisterà a livello puramente teorico, o poco più.Del resto, rispetto ad una 485 a 2 fili ha come unico vantaggio la possibilità di una comunicazione full-duplex, che però fa a pugni con una rete multidrop. Insomma, avresti potenziali vantaggi solo in una comunicazione punto-punto (ed allora va bene la 422), mentre in multidrop avresti solo due fili in più, e nessun vantaggio pratico. Link al commento Condividi su altri siti More sharing options...
PinoD Inserita: 24 gennaio 2007 Segnala Share Inserita: 24 gennaio 2007 Mi è capitato di dover montare un terminale omron di tuipo vecchio l'nt31, a una debita distanza dal plc, ebbene ho dovuto usare un covertitore in 485 full- duplex perchè l'nt trasmette e riceve contemporaneamente Link al commento Condividi su altri siti More sharing options...
Piero Azzoni Inserita: 24 gennaio 2007 Segnala Share Inserita: 24 gennaio 2007 batta, stai facendo confusione tra multimaster e multidropla 485 4 fili non e' multimaster ma e' multidrop, compresa la funzionalita' di brocasting se il protocollo la ammettenella 422 non e' interdetto l'echo in quanto si da' per scontato che i nodi non lo gestiscononella 485 4 fili il collegamento ausiliari lo interdice per rispondere alla specifica base della 485 evitando sovrapposizione di caretteriesistono vari protocollo, l'esempio che conosco meglio di tutti e' l'snp della general electric sovrapongono l'rx al tx per cui non possono assolutamente funzionare halfa questo aggiungi che in 485 sono possibili reti ibride, con il master 4 fili e gli slave 2 fili, questa tipologia si usa specialmente in fibra ottica e in 422 non funziona proprio per il casino intrinseco derivato dalla sovraposizione di segnaleaggiungi che un convertitore o media converter 485 in genere funziona sia a due che a 4 fili mentre un 422 a due fili e' impossibile che funzionigenericamente si puo' affermare che e' possibile [salvo eventuali eccezioni] l'uso di convertitori 485 su device 422tendenzialmente i convertitori 422 su device 485 4 fili danno problemi Link al commento Condividi su altri siti More sharing options...
MrC Inserita: 24 gennaio 2007 Autore Segnala Share Inserita: 24 gennaio 2007 Scusate, io non vorrei che il post si indirizzasse troppo sulla questione 485/422 che personalmente non ritengo proprio on topic, piuttosto si potrebbe aprire un nuovo messaggio per sviscerare questo dubbio? Mi rimane ancora da confermare il mio dubbio su Ethernet: nel caso di comunicazione tramite ethernet, penso che ogni risposta degli N device interrogati si creerà un canale proprio nella banda disponibile, o sbaglio? quindi ha senso creare un multithread ? Link al commento Condividi su altri siti More sharing options...
Savino Inserita: 24 gennaio 2007 Segnala Share Inserita: 24 gennaio 2007 (modificato) Ciao MrC,Vorrei scrivere delle routine di comunicazione con Plc/termoregolatori facendo uso del multithreading, ovvero la "esecuzione di piu processi in contemporanea". Mi stavo chiedendo se fosse possibile lo scambio di dati contemporaneo con 2 device in 485, oppure se tutta la banda del cavo è occupata da una sola comunicazione, e stessa domanda per una comunicazione via ethernet.Ho scritto una funzione che legge/scrive tramite un protocollo 485.Se io con .NET uso questa funzione in Multithreading, cioè la eseguo in contemporanea, posso interrogare 2 o piu device contemporaneamente? Mi sembra di intendere che non posso, perchè quando poi uno dei due mi risponde, va ad occupare il canale di risposta della rete, e se risponde anche l'altro device, i due si sormontano .. o sbaglio? è possibile discriminare le due risposte in questo caso? oppure l'unica soluzione è interrogarne uno alla volta?Lo stesso discordo non vale però per ethernet (es. Modbus TCP) , perchè qui penso che ogni risposta degli N device interrogati si creerà un canale proprio nella banda disponibile, o sbaglio?RS485 ti permette collegare in NT fino 32 partners e distanti di 1200 mt.(vedi repeaters)Puo' venire configurata come "two-wire" or "four-wire." La prima NT, il trasmittente e il ricevente di ogni dispositivo sono collegate mediante il twisted pair (doppino).La "Four-wire" networks incambio, "ha una porta master con il trasmittente collegato con ogni ricevente slave mediante un twisted pair e gli slaves trasmittenti sono tutti collegati con il master recivente attraverso un secondo twisted pair. In entrambi layout, i devices sono indirizzabili permettendo a caduno nodo di entrare in communicazione independentemente. Solo un device alla volta puo' guidare la linea .La forma "two-wire"( in half duplex) permette la communicazione tra slaves, mentre "Four-wire"(in full-duplex) e' limitata alla situazione master-slave e quindi slaves non possono communicare tra di loro. Allora per il caso tuo, il layout "Four-wire" andrebbe bene ( piu' meno come fare un MPI NT). Chiedi meglio a quelli che ti hanno venduto i termoregolatori il layout per collegare 2 slaves ( termoregolatori) con il master ( PC) e anche il "NT driver" 485 (SW).Per quanto riguarda un layout ethernet, sarebbe certamente fattibile, ma ti ci vuole un "network switch" con almeno due porte, per dividere i due segmenti di rete. Modificato: 24 gennaio 2007 da Savino Link al commento Condividi su altri siti More sharing options...
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