Vai al contenuto
PLC Forum

Partecipa anche tu alla Live su Youtube martedì 28/01/2025 per festeggiare i 24 anni di PLC Forum

Per ulteriori informazioni leggi questa discussione: https://www.plcforum.it/f/topic/326513-28012025




Comunicazione Micro telemecanique via ASCII


Messaggi consigliati

Stefano Sormanni
Inserito:

Ciao a tutti, devo implementare una comunicazione tra due Micro in modalità ASCII via RS485 attraverso la porta di programmazione (devo fare questo perchè successivamente uno di questi Micro viene sostituito con un dispositivo che comunica con questo protocollo). Ho provato a connettere i due micro con 2 fili su A e B (piedino 1 e 2 del mini-din) ma di comunicare neanche la voglia.....

Domanda: devo inserire comunque la resistenza di chiusura ?

dov'è che sbaglio ?

:(


Inserita:

Non conosco Telemecanique ma comunque credo che tu debba configurare anche qualcosa a livello software ...

Saluti :D

Stefano Sormanni
Inserita:

questo l'ho già fatto ovviamente, ma quello che non so è il cavo....

Massimo Vergani
Inserita:

in teoria dovrebbe funzionare anche senza resistenza di terminazione.

in effetti i pin che utilizzi sono giusti.

la cosa migliore sarebbe avere un convertitore 232-485, (puoi usare il nuovo cavo di programmazione TSXPCX1031 quello adatto anche al twido, con il selettore in posizione 3) e collegarsi alla seriale di un pc per vedere se e come escono i caratteri.

una volta verificato questo dovrai vedere come sincronizzare le trasmissioni e le recezioni.

ovviamente dò per scontato che hai già impostato in configurazione hardware la porta in modalità caratteri , che ne hai settato i parametri di comunicazione e i caratteri di arresto recezionee che la parte di programma "OUT_IN_CHAR" sia ok.

se mi dai qualche info in più saprò essere più preciso.

ciao

Inserita:

Ciao,

è da un anno che non uso qualcosa con RS485 ma non manca il SG signal Ground?

Ciao, Fabrizio

Massimo Vergani
Inserita:

devi fare un ponticello tra il pin 5 ed il 7, per far capire al plc che non è collegato ad un pc

ciao

Stefano Sormanni
Inserita:

Io ho fatto un cavo di questo tipo:

pin 1 (B)

pin 2 (A)

pin 7 (GND)

connessione pin 5-7 per dirgli che sono in una connessione a caratteri, in più ho ovviamente configurato la presa terminale cin modalità caratteri 96,N,8,1.

Ho notato che il led di trasmissione non si accende mai, mentre in una precedente applicazione con un cavo di conversione RS485-RS232 questo avveniva..... dove sbaglio?

:(

Stefano Sormanni
Inserita:

Ho visto che appare la faccina, ma il pin 1 è B...

Massimo Vergani
Inserita:

dal momento in cui inserisci il minidin con il ponticwllo tra il 5 ed il 7, il led giallo del TER dovrebbe lampeggiare solo quendo lanci il comando di trasmissione o recezione, ovvero quando attivi l'operate contenente l'istruzione OUT_IN_CHAR.

ciao

Stefano Sormanni
Inserita:

Ho risolto il problema della trasmissione, infatti sbagliavo la stringa di tramissione, anzichè scrivere Print_char(ADR#0.0.SYS..........) scrivevo Print_char(ADR#SYS.......).

ed ora il led giallo mi lampeggia quando trasmetto, però non vedo nulla sul PLC che riceve il segnale pur avendo messo anche lì

Input_char(ADR#0.0.SYS......).

Quando ricevo il led mi si deve accendere ?

:blink:

Massimo Vergani
Inserita:

io utilizzo il comando OUT_IN_CHAR , poi lo configuro come solo trasmissione in un operate , e come solo trasmissione in un altro operate.

utilizzando questo comando il led giallo si accende anche in recezione e rimane acceso (rimane in recezione) fino a che non ricevo il carattere di fine recezione ( io uso il cr)

Stefano Sormanni
Inserita:

proverò a fare come fai te, mettendo come fine carattere il CR oppure un qualsiasi altro (il micro lo permette).

va fatto qualche settaggio sulle word di controllo finali ?

Massimo Vergani
Inserita:

puoi usare il primo bit della prima word come contatto nc nella riga di attivazione del comando trasmissione o ricezione. altri controlli non servono.

ciao

Inserita:
Massimo Vergani+Nov 7 2002, 09:24 AM-->
CITAZIONE(Massimo Vergani @ Nov 7 2002, 09:24 AM)

Quando si utilizza uno o due caratteri di fine ricezione, ricordarsi che la uarta parola di controllo (n. caratteri da ricevere) "DEVE" essere 0 quando si lancia il comando.

Se possibile è certamente più comodo usare dei caratteri di fine ricezione, soprattutto quando non si conosce la lunghezza della stringa da ricevere.

Massimo Vergani
Inserita:

la quarta parola dovrebbbe essere solo un rapporto sullo scambio , non una impostazione, restituisce la lunghezza della stringa ricevuta.

sei sicuro che influenzi i dati in ricezione?

ciao

Inserita:
Massimo Vergani+Nov 7 2002, 11:28 AM-->
CITAZIONE(Massimo Vergani @ Nov 7 2002, 11:28 AM)

Si. Ne sono sicuro.

Il rendi conto è sulla seconda parola: byte basso r.c. di comunicazione byte alto r.c. dell'operazione.

La quarta parola è è la lunghezza: a seconda dell'istruzione, n. caratteri emessi o ricevuti.

Massimo Vergani
Inserita:

si, infatti, ecco cosa riporta la guida online

La lunghezza dei dati inviati viene memorizzata nella quarta parola del parametro di gestione (parola lunghezza) prima dell'esecuzione della funzione. Se la lunghezza viene inizializzata a 0, viene inviato l'insieme della stringa di caratteri.La lunghezza dei dati ricevuti viene memorizzata nella quarta parola del parametro di gestione (parola lunghezza). Occorre aver configurato una condizione di arresto. 

ciao

Stefano Sormanni
Inserita:

Ho fatto alcune prove ed ho notato quanto segue:

- bisogna far partire una trasmissione su un fds, quando anche il primo bit della 4a parola è nulla ovvero, se le word di controllo sono %MW100:4, allora devo mettere sulla trasmissione ANDN %MW100:X0.

- per quanto riguarda la ricezione basta mettere il timeout (che è la seconda parola es: %MW101:=5) che corrisponde a 500mS. sempre con il primo bit della prima parola negato.

- Ho inserito sul'ultimo bit che trasmetto il CR (%mb40:1:='$R') e ho provato a trasmettere.... risultato nulla! Ho provato a inserire direttamente la stringa (es. '123%R')... funziona

Domanda: dove sbaglio? :blink:

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...