Vai al contenuto
PLC Forum


Comunicazione Modbus Pc-zelio


raggio alfa

Messaggi consigliati

Sono nuovo di questo forum, sono esperto (o magari credo di esserlo!) in elettronica cablata ma agli inizi con quella programmata (ho implementato meno di 10 applicazioni con zelio).

Il problema è il seguente:

devo leggere e memorizzare su PC una serie di letture provenienti da una cella di carico (per elaborazioni sia in tempo reale che post-processing).

Hardware utilizzato: plc SR3B261BD; espansione analogica SR3XT43BD modulo di comunicazione SR3MBU01BD.

Dalla seriale del PC non riesco a comunicare con il modulo SR3MBU01BD (credo perchè i segnali modbus del modulo sono incompatibili con quelli della seriale). I tecnici di "Pronto Contatto" di Telemecanique sostengono che la comunicazione PC-Zelio non è possibile (essendo lo Zelio privo di memoria propria) per cui è necessario un master di rete tipo twingo. Sono tuttavia convinto che, utilizzando un convertitore seriale/modbus per rendere elettricamente compatibili le due reti, il dialogo sia possibile.

Qualcuno ha trovato la soluzione a questo problema, oppure ha qualche suggerimento da darmi?

Link al commento
Condividi su altri siti


I tecnici di "Pronto Contatto" di Telemecanique sostengono che la comunicazione PC-Zelio non è possibile

Mi pare molto strano ti abbiano detto questo..... probabilmente siete andati più nel dettaglio e quello che vuoi effettivamente non si può fare. Dovresti forse spiegare meglio ciò che ti serve.

Lo Zelio mette a disposizione via modbus 4 word d'ingresso in lettura/scrittura ed altre 4 word d'uscita solo in lettura.

è necessario un master di rete tipo twingo

si chiama Twido ed è un piccolo PLC. Se mi aiuti a capire vedremo se è vero che hai bisogno di questo PLC o equivalente.

Sono tuttavia convinto che, utilizzando un convertitore seriale/modbus per rendere elettricamente compatibili le due reti, il dialogo sia possibile.

C'è poco da essere convinti....... la seriale è fatta per quello.... per comunicare (il problema è cosa vuoi comunicare).

Premesso che non so se la seriale modbus sia 232 o 485 o configurabile se vuoi mettere un convertitore di mezzo (per andare più lontano suppongo) sicuramente sarà RS232 (lato PC)/485 (lato Zelio). Il protocollo sarà Modbus RTU o ASCII e questo serve saperlo per il tuo programma su PC che dovrà avere un driver di comunicazione Modbus Master.

Link al commento
Condividi su altri siti

Grazie, rddiego, per la disponibilità.

Mi spiego meglio:

a) Il sistema costituito dal PLC e dalle espansioni acquisisce il valore di una tensione continua e lo converte in un numero a 10 bit.

B) il numero così ottenuto è trasferito ad una delle uscite (es. O1XT1 o una delle altre) nello schema FBD

c) devo leggere tale valore con un PC (collegamento di lunghezza 4-5 m).

Non riesco a realizzare il punto c) e precisamente:

1) come collegare, piedino per piedino, il connettore USB del computer con il connettore RJ-45 dell'espansione del PLC

2) quali istruzioni di VB6 (o altro) utilizzare per leggere i dati dal PLC (in altri casi di comunicazione CP-strumentazione ho utilizzato le funzioni di MScomm1)

Link al commento
Condividi su altri siti

la connessione lato RJ45

connessione RS485

d1 = pin 4

d0 = pin 5

connessione RS422

d0 RX = pin 1

d1 RX = pin 2

d1 TX = pin 4

d0 TX = pin 5

dall'altro lato colleghi i fili corrispondenti in base al convertitore RS232/485 che decidi di mettere

dalla porta 232 del convertitore ti colleghi al PC con un normale cavo 232 = pin 2-3-5 (a volte, in base al convertitore, potrebbe essere necessario incrociare i pin 2 e 3).

Per Visual Basic non ti so aiutare e qualcuno nel forum lo farà. Ad ogni modo il protocollo è Modbus RTU (configura i parametri in maniera identica e nello Zelio e nel tuo driver).

L'indirizzo modbus dell'uscita O1XT1 è 400020 (oppure 40020 ma è uguale) e devi usare la funzione modbus "03"

Continuo a non capire perchè qualcuno ti abbia detto che non si può fare!! Non vorrei ci sia qualche inghippo!! mah!

Link al commento
Condividi su altri siti

Pensavo fosse sufficiente collegare direttamente i singoli pin del connettore rj45 con quelli del connettore del PC.

In particolare, impostando la comunicazione a 2 fili sul PLC ed utilizzando la porta USB del computer lo schema dovrebbe essere:

pin 2 USB - pin 5 RJ45

pin 3 USB - pin 4 RJ45

inserendo enventualmente le resistenze di carico da 120 ohm verso massa e verso i +5 V

e poi avrei utilizzato istruzioni a basso livello per la comunicazione.

Il tutto per evitare il convertitore USB/485 (oppure rs 232/485), non per questione di costo (che rientra tranquillamente nel budget) ma forse per la mia forma- mentis da vecchia elettronica cablata in cui si deve padroneggiare ogni segnale e ogni componente del circuito.

Proverò la soluzione che mi hai suggerito.

Link al commento
Condividi su altri siti

Pensavo fosse sufficiente collegare direttamente i singoli pin del connettore rj45 con quelli del connettore del PC.

NO

In particolare, impostando la comunicazione a 2 fili sul PLC

con questa espressione si intende una comunicazione seriale RS485 (= 2 fili)

ed utilizzando la porta USB del computer

ti attacchi alla seriale USB con un convertitre RS232/USB (non è compatibile con RS485) Non è una semplice questione di PIN di collegamento, è un modo diverso di trasmettere e codificare un segnale = una serie di 1 e di 0.

Sinteticamente (sperando di non dire troppe imprecisioni):

la 232 sfrutta il segnale 0 Volt (PIN 5) come riferimento per stabilire quando un segnale sia 1 o 0 (>x Volt),

la 485 verifica questo x Volt controllando la differenza tra i due fili d0 e d1.

lo schema dovrebbe essere

No, devi mettere un convertitore 232/485 a meno che non hai direttamente un convertitore RS485/USB

Link al commento
Condividi su altri siti

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 account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...