Vai al contenuto
PLC Forum


Velocità Trasmissione dati RS 485 scheda CB 1241


Messaggi consigliati

Inserito:

Ciao Ragazzi,

spero possiate aiutarmi. Ho necessità di far comunicare un PLC S7-1200 con scheda CB 1241 (RS485) con uno strumento eurotherm 2604 in RS485. Lo scambio dati funziona ma la velocità è davvero lenta. Se ad esempio scrivo un SetPoint di temperatura allo strumento può passare anche 1 minuto prima che lo strumento riceva il valore mentre delle altre volte la comunicazione è più veloce.

Tra il PLC e lo strumento ci sono 2 metri di distanza e sto usando per la connessione una cavo twistato a 2 fili. NON ho messo la resistenza finale sullo strumento, mi deve arrivare.

Se aumento il valore di BAUD da 9600 a 19200 ad esempio, la comunicazione non funziona.

Avete qualche consiglio per migliorare la velocità? Io ho necessità di scrivere Set Point e valori di PID e leggere la temperatura del pirometro collegato allo strumento. NOn mi sembrano troppe richieste.

 

Grazie mille a tutti e buona settimana

 

image.png.b2f023abe210029ee59388560543cf6d.png


dina_supertramp
Inserita: (modificato)
26 minuti fa, Elettro19 ha scritto:

Se aumento il valore di BAUD da 9600 a 19200 ad esempio, la comunicazione non funziona.

 

Prova ad impostare nella config.hardware del CB1241 19200 di baud e poi anche nel blocchetto.
(Verifica le specifiche dell'Eurotherm ma mi pare li regga 19200 di baud)

Quando la comunicazione non va che valore di ritorno hai sulla word STATUS?

Modificato: da dina_supertramp
Inserita:
3 minuti fa, dina_supertramp ha scritto:


Prova ad impostare nella config.hardware del CB1241 19200 di baud e poi anche nel blocchetto
(Verifica le specifiche dell'Eurotherm ma mi pare li regga 19200 di baud)

Grazie di avermi risposta: ORA la CB1241 è configurata quanto segue:

image.thumb.png.2cc60f0bda9faa831cce002dd4af7a99.png

Può essere questa differenza tra 19.2 kbps nella configurazione hardware e 9600 nel blocco a creare questa lentezza?

Scusa ma non ho mai lavorato con RS485

Inserita: (modificato)

Con 9600 da una parte e 19200 dall'altra pare strano funzioni. Anche con 1 minuto di latenza.

Comunque anche con 300 b/s  ci metterebbe 1/2sec.

Verifica l'eguaglianza di: baud rate,stop bit, parity e data bit di entrambi (plc e strumento)

Modificato: da drn5
dina_supertramp
Inserita:
45 minuti fa, Elettro19 ha scritto:

Grazie di avermi risposta: ORA la CB1241 è configurata quanto segue:

image.thumb.png.2cc60f0bda9faa831cce002dd4af7a99.png

Può essere questa differenza tra 19.2 kbps nella configurazione hardware e 9600 nel blocco a creare questa lentezza?

Scusa ma non ho mai lavorato con RS485

Mettili uguali.
E poi, come detto da @drn5 verifica che parity e data/stop bits facciano scopa con quelli dell'Eurotherm.
 

Inserita:

Grazie mille. Nel pomeriggio Vado dal Cliente e ci provo.

Vi aggiorno

Inserita:

anche a mettere tutto uguale, comunicazione sempre lenta... 😞

 

dina_supertramp
Inserita:
2 minuti fa, Elettro19 ha scritto:

anche a mettere tutto uguale, comunicazione sempre lenta... 😞

 

Ma sull'Eurotherm che baud c'è impostato?

Inserita:

image.png.a5ede8268fd542bac22cec909d51a3ea.png

 

image.thumb.png.56d7cee668b0bc4ec4b330d1c153214c.png

1 minuto fa, Elettro19 ha scritto:

image.png.a5ede8268fd542bac22cec909d51a3ea.png

 

image.thumb.png.56d7cee668b0bc4ec4b330d1c153214c.png

mi sembra tutto uguale..

 

Inserita:

anche i led sulla scheda del PLC si accendono con intervalli di 3/5 secondi..

 

 

dina_supertramp
Inserita:
11 minuti fa, Elettro19 ha scritto:

mi sembra tutto uguale..

 

Si, tra Eurotherm e config.hw del modulo CB 1241 sembra anche a me tutto uguale.
Se anche nel blocchetto software hai dichiarato 19200 di baud...non saprei che altro guardare

Inserita:

 

 

grazie mille. Provo a smanettare ancora un pò. non so più che santo chiamare!!!

Ma domanda stupida, non ne ho l'esperienza... Se mettessi il blocco in OB30? ho letto che dovrebbe eseer più veloce l'elaborazione dati,èvero? ora ho tutto in OB1

Marco Fornaciari
Inserita:

A spanne hai qualcosa che non va nel programma.

1- se configuri la porta a 19.2 devi metetrlo anche in ingresso al blocco di comunicazione, e magari anche gli altri parametri

2- come gestisci il comando di comunicazione sei troppo veloce **

3- e in error code cosa c'è scritto?

 

Ma sarebbe meglio che mettessi anche la resistenza di terminazione.

 

**

Crea un clock a 300/500 mS, setti un bit e con quel bit dai star su fronte di salita, quindi resetti il bit con Done; in serie al comando di star al blocco di comunicazione metti il negato dell'errore, e sempre con il negato dell'errore resett il bit di start e dai una segnalazione, che almeno sai cosa succede.

Inserita:
4 minuti fa, Marco Fornaciari ha scritto:

A spanne hai qualcosa che non va nel programma.

1- se configuri la porta a 19.2 devi metetrlo anche in ingresso al blocco di comunicazione, e magari anche gli altri parametri

2- come gestisci il comando di comunicazione sei troppo veloce **

3- e in error code cosa c'è scritto?

 

Ma sarebbe meglio che mettessi anche la resistenza di terminazione.

 

**

Crea un clock a 300/500 mS, setti un bit e con quel bit dai star su fronte di salita, quindi resetti il bit con Done; in serie al comando di star al blocco di comunicazione metti il negato dell'errore, e sempre con il negato dell'errore resett il bit di start e dai una segnalazione, che almeno sai cosa succede.

image.png.5c895303eb204bd11044c0ea26c38e93.png

si penso anche io che sto facendo casini con la comunicazione.. io per le varie richieste uso sempre lo stesso DB di "Modbus_MAster"

image.png.b50982ea1475df35a18947bd9edf796d.png

Inserita:
48 minuti fa, Marco Fornaciari ha scritto:

A spanne hai qualcosa che non va nel programma.

1- se configuri la porta a 19.2 devi metetrlo anche in ingresso al blocco di comunicazione, e magari anche gli altri parametri

2- come gestisci il comando di comunicazione sei troppo veloce **

3- e in error code cosa c'è scritto?

 

Ma sarebbe meglio che mettessi anche la resistenza di terminazione.

 

**

Crea un clock a 300/500 mS, setti un bit e con quel bit dai star su fronte di salita, quindi resetti il bit con Done; in serie al comando di star al blocco di comunicazione metti il negato dell'errore, e sempre con il negato dell'errore resett il bit di start e dai una segnalazione, che almeno sai cosa succede.

Facendo come mi hai consigliato, FUNZIONA velocemente!!!! Grazie mille!!!! Mi hai salvato e insegnato!!!!!! Grazie ancora

image.png.8b69723f0e5ffff51678968503ea5a44.png

Inserita:
35 minuti fa, drn5 ha scritto:

Guardati questo video così ti togli i dubbi che hai.

grazie mille. Stasera lo guardo!! 🙂

Marco Fornaciari
Inserita:

Ordinaria amministrazione dal 1985.

 

Inserita:
1 ora fa, Marco Fornaciari ha scritto:

Ordinaria amministrazione dal 1985.

 

una cosa non mi è chiara, anche guardando il video @drn5. Ora riesco a scrivere i valori che voglio, ma se invece volessi leggerli devo creare un'altra "MODBUS_MASTER DB? Quella che uso adesso su mode ho 1 ( scrittura ) e non la posso usare per la lettura. Spero di essermi spiegato 🙂 

Inserita:
4 ore fa, Marco Fornaciari ha scritto:

Ordinaria amministrazione dal 1985

si, ma non per chi le affronta per la prima volta 40 anni dopo.

Marco Fornaciari
Inserita: (modificato)

40 anni fa ero giovane e inesperto, ma leggendo i manuali mi sono costruito le reti e gli HMI, pure video, che ancora non c'erano, e non c'era pure nessuno a cui rivolgersi nel raggio di centinaia di km.

E ho pure trovato i bug nei firmware.

E non era per niente facile trovare documentazione sulle comunicazioni seriali.

 

Ma in questo caso bastava leggere le istruzioni di quel blocco per notare che bisogna cadenzarlo correttamente, cioè dargli un nuovo comando quando ti risponde che ha finito il precedente: è la base di ogni comunicazione seriale (o al tempo anche parallela).

Non per nulla sono esistiti ed esistono anche i segnali cablati sulle porte a tal scopo.

 

Modificato: da Marco Fornaciari
Inserita:

"Oggi" c'è anche il forum, che stimola chi è alla ricerca di aiuto con molte più informazioni di una volta. Aiuta anche e specialmente con le esperienze di altri, esperienze che una volta dovevi farti da solo picchiandoci la testa e perdendoci giorni e notti. 

L'importante è non dare la soluzione finita e preconfezionata proprio per stimolare quel percorso di "fatica necessaria" per arrivarci con le proprie forze. Aiutare gli altri è una bella cosa, dà un senso in più alla fatica che si è fatta per arrivare ad imparare. 

Livio Orsini
Inserita:
2 ore fa, drn5 ha scritto:

Aiutare gli altri è una bella cosa, dà un senso in più alla fatica che si è fatta per arrivare ad imparare

 

È bello che tu ragioni in questo modo; purtroppo non tutti si comportano così, ci sono anche quelli (sempre meno) che pensano che tener per se quello che hanno imparato li renda più...appetibili.

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