Vai al contenuto
PLC Forum


Comunicazione Tra Plc S7-1200 E Inverter V20 Con Porta Rs 485


damitisi

Messaggi consigliati

Ciao a tutti, ho un plc s7-1200 e devo comunicare la velocita' da variare all' inverter v20.

Non so da dove partire e cioè:

La cablatura del cavo, che funzione utilizzare per trasmettere all' inverter la velocita'.

Nel software ho predisposto una mw 150 uint la quale mi dovrebbe variare la velocita' (se fossi con gli 0-10V, non so se puo' andare bene anche in modbus).

La scheda aggiuntiva sul plc è una CM 1241.

Non so anche quali parametri accetta l'inverter per la comunicazione e in quale formato.

Se qualcuno mi puo' aiutare grazie in anticipo.

Ciao

Link al commento
Condividi su altri siti


Se il problema sta nella non conoscenza dei parametri dell'inverter apri una specifica discussione nel forum automazione, sezione inverter.

Però prima autorisponditi a queste domande:

  • Hai il manuale di uso, installazione e manutenzione dell'inverter?
  • Hai letto il manuale?

Quando non si conosce un apparato la prima cosa da fare è leggere con attenzione il suo manuale, poi se si hanno dubbi o non son capite alcune indicazioni si apre una discussione mirata.

Link al commento
Condividi su altri siti

ciao,

ho un manuale d' uso nel quale ci sono i collegamenti di potenza e analogica chiari anche se in inglese comunque praticamente uguali ad altri inverter , indice degli errori, indice dei parametri ma niente sulla rs 485.

nel forum ho letto di alcune resistenze di chiusura per i possibili disturbi ma non c'e' voce di questo.

Link al commento
Condividi su altri siti

Sul manuale dell'inverter devi avere almeno la corrispondenza dei terminale del connettore della porta seriale.

I resistori di terminazione della connessione sono quelli standard. I valori li trovi sicuramente sul manuale del PLC, dove sarà indicata sia la connessione punto-punto, sia quella multipunto. Questo per realizzare il cavo di connessione.

Per quanto riguarda il software di comunicazione.

Il protocollo e parametri li devi reperire sul manuale dell'inverter.

Tra l'altro dovresti indicare meglio costrutore e modello di questo inverter. Un generico V20 sarà esaustivo per te ma non per tutti.

Link al commento
Condividi su altri siti

Ho provato il software ma non mi funziona e o cercato di seguire la guida ma non so dove sbaglio, ho montato le resistenzze di fine linea controllato che il polo della seriale nr 3 vada sul p+ e il nr 8 su n- , lo 0v sullo 0v del plc.

Ho creato due funzioni che sono gia sul 1200 master per spedire all' inverter con la prima master un bit di start al parametro 40003 dell' inverter siemens v20 e con la seconda master un numero uint da 0 a 100

per la velocita' al parametro 40006 ed entrambi i dati sono in un DB creato compatibile con s7-300 e 400.

Su len data ho scrjitto 2 su entrambe le funzioni master che stanno a significare le 2 word del codice 40003 e 40006.

Su Hw ind ho scritto lo stesso indirizzo che c'e' scritto sulle proprieta' della porta rs485 nel plc,

Se qualcuno potesse suggerire qualcosa grazie

Link al commento
Condividi su altri siti

sugli errori mi scrive una word 0 e su status mi dice false, penso che non sia partita la comunicazione , su req ho messo un contatto first cicle e sinceramente se i valori 40006 e 40003 sono word non capisco dove sbaglio

Link al commento
Condividi su altri siti

per spedire all' inverter con la prima master un bit di start al parametro 40003 dell' inverter

Se hai impostato "MODE = 1", indicando un indirizzo tra 40001 e 49999 si attiva la funzione Modbus 06 (scrittura di un registro a 16 bit).

Non scrivi quindi un solo bit, ma tutta la control word completa.

La funzione Modbus 06 poi, permette di scrivere un solo registro. Su "LEN" quindi devi scrivere 1.

Anche nel caso di impostazione "MODE = 2" (scrittura di registri multipli), se imposti "LEN = 2" significa che scrivi due registri consecutivi.

Non puoi quindi indicare "LEN = 2" per scrivere gli indirizzi 40003 e 40006.

Devi poi fare attenzione all'allineamento. L'indirizzo Modbus che passi alla funzione "MB_Master" va, come già detto, da 40001 a 49999.

40001 significa il primo registro che, di solito, viene indicato con R0. Se devi scrivere nel registro R3 (ovvero il quarto registro), l'indirizzo corretto è 40004.

Le stesse considerazioni valgono anche per la scrittura del riferimento di velocità.

Nell'esempio scaricato dal link da te indicato, non vedo nessun riferimento agli indirizzi 40003 e 40006.

Per sapere dove leggere/scrivere, serve il manuale del Sinamics V20.

Link al commento
Condividi su altri siti

40003 e' scritto sul manuale che corrisponde a cmd start mentre 40006 corrisponde a rif frequenz e l' unita di misura va da 0a 100.

ho messo len 1 e mode 1 e ho creato un DB dal quale setto il bit DB1 DBW 0 DBX.0 da mandare al parametro 40003 come start e il DB1 DBW2 da mandare a 40006.

non ho capito il discorso riferito a r0 o r4 vuoi dire che devo mandare lo start e la frequenza a dei parametri numetri r e non a deglj indirizzi tipo 40003 o 40006?

Link al commento
Condividi su altri siti

non ho capito il discorso riferito a r0 o r4 vuoi dire che devo mandare lo start e la frequenza a dei parametri numetri r e non a deglj indirizzi tipo 40003 o 40006?

Di solito, in Modbus si parla di "registri", indicati generalmente con "R".

La documentazione dell'apparecchiatura deve fornire la lista di questi registri.

Nel Modbus del S7-1200 poi, c'è una gestione un po' strana, perché prevede solo tre modi fondamentali di funzionamento: 0 = in lettura, 1 = scrittura di un singolo registro, 2 = scrittura multipla. Poi, a seconda se si deve leggere/scrivere un bit o una word, si indica un indirizzo diverso. Per lettura/scrittura di registri a 16 bit, l'area degli indirizzi va da 40001 a 49999. Con 40001 si punta al primo registro (R0).

Se vai al link https://www.automati...earchengine=NEW trovi la tabella di tutti i registri del Sinamics V20 e, nella "tabella di mappatura", vedi che al registro 2 corrisponde l'indirizzo Modbus 40003, e al registro 5 corrisponde l'indirizzo Modbus 40006.

Però a me risulta che il 40003 è il riferimento di velocità, e il 40006 il comando, e non viceversa.

Le stesse funzioni sono poi replicate anche, rispettivamente, agli indirizzi 40101 e 40100, che sono gli indirizzi utilizzati nel progetto di esempio, scaricabile dal sito Siemens.

Link al commento
Condividi su altri siti

hai ragione ho invertito i parametri ,non riesco a trovare il progetto di esempio lo puoi lincare?

c'e un sistema per capire se il plc e' connesso perche' lo stato busy delle funzioni master e' sempre true e vuol dire transizione in corso.

Link al commento
Condividi su altri siti

non riesco a trovare il progetto di esempio lo puoi lincare?

Si vede che non hai guardato bene il post #5, di "Rimonta".

Link al commento
Condividi su altri siti

hai ragione ho invertito i parametri ,non riesco a trovare il progetto di esempio lo puoi lincare?

c'e un sistema per capire se il plc e' connesso perche' lo stato busy delle funzioni master e' sempre true e vuol dire transizione in corso.

Prova a crearti una qualsiasi word e la metti al posto del parametro"error" nel blocco che stai usando( che dovrebbe essere il master) .

Dopodichè se vai online col tuo progetto, su tale word leggi direttamente il codice errore che ti da, che so, 8383 ad esempio. Manuale alla mano almeno riesci a capire che tipo di errore è...

Io ho fatto cosi, poi se c'era un metodo piu veloce, che gli esperti abbiano pietà di me!

Link al commento
Condividi su altri siti

ho riguardato l' esempio e da vero inesperto non avevo aperto il blocco fb.

ho visto che usano il parametro 40100 e 40101 come dice Batta, ho provato a mettere dei valori e finalmente e' comparso un errore quasi anticipato da step80.

ho messo dei valori udint , uint per la velocita ma compare sempre l' errore parametro modbus non valido.

per oggi va bene cosi' anche perche' la380 non ce l'ho a casa domani vi faccio sapere ciao e soprattuto grazie a tutti

Link al commento
Condividi su altri siti

Ciao a tutti, alla fine ci son riuscito , i registri sono il 40100 per la control word e 40101 per la frequenza, la control word comunque e' spiegata a pagina 6 dell' esempio riportato nelle precedenti risposte , ho notato anche degli errori se le due funzioni sono abilitate assieme qiundi prima parte una e dopo l' altra e il tempo che trascorre fra le due viene stabilito su un parametro dell' inverter.

Ciao a tutti e grazie

Link al commento
Condividi su altri siti

ho notato anche degli errori se le due funzioni sono abilitate assieme

Certo!!!

Come puoi pensare di attivare contemporaneamente due diverse operazioni su una 485?

Prima di lanciare qualsiasi operazione, devi accertarti che non ci siano altre operazioni in corso.

Se guardi l'esempio, il tutto si svolge con una sequenza ciclica. Il passaggio da una fase alla successiva avviene solo se la funzione MB_MASTER ha terminato il suo lavoro.

Inoltre, se le scritture vengono effettuate su control word e riferimento di velocità, è possibile scrivere ciclicamente.

Se si va a modificare un parametro che verrà poi salvato in memoria non volatile, si deve attivare la scrittura solo quando il parametro viene modificato, perché il numero di scritture che si possono fare su memoria non volatile è molto elevato ma non infinito.

Questo almeno in linea generale, ma penso valga anche per il Sinamics V20.

Link al commento
Condividi su altri siti

ma la memoria non volatile intendi ilDB?

No, intendo i dati che vengono scritti nella ROM del drive.

Ma dovrei consultare la documentaione del Sinamics V20, che non ho mai usato e che non conosco.

Il discorso di evitare di scrivere continuamente parametri che vengono salvati su memoria non volatile (tipo flash-eprom) riguarda, in generale, tutti i dispositivi.

È i costruttore del dispositivo che deve fornire informazioni su come vengono salvati i parametri ricevuti via Modbus.

In ogni caso, lo scambio dati in Modbus non ha tra i pregi quello della velocità.

Continuare a scrivere parametri che non sono stati modificati significa perdere inutilmente tempo.

Modificato: da batta
Link al commento
Condividi su altri siti

Scusa la mia ignoranza, se io mando la word di start e subito dopo la word della frequenza, ipotizziamo che la velocita' va sempre al massimo io comunque la word di frequenza massima la devo sempre mandare anche se non cambia fino ad un tempo da definire.

dalle prove ad un certo punto e con un tempo che puo' variare da 10 a 20min ad un certo punto sull'inverter compare un errore che corrisponde a comunicazione modbus oltre il tempo impostato.puo' centrare qualcosa?

Link al commento
Condividi su altri siti

ipotizziamo che la velocita' va sempre al massimo io comunque la word di frequenza massima la devo sempre mandare anche se non cambia

No. Il riferimento di velocità lo potresti anche scrivere una sola volta.

dalle prove ad un certo punto e con un tempo che puo' variare da 10 a 20min ad un certo punto sull'inverter compare un errore che corrisponde a comunicazione modbus oltre il tempo impostato.puo' centrare qualcosa?

Da questa informazioni è impossibile capire dove possa essere il problema.

Link al commento
Condividi su altri siti

purtroppo sui bit di done,busy,error e con una word su status non mi compare nessun errore sul programma e mi campare solo l' errore sull' azionamento.

ho fatto altre prove e funziona senza errori sull' ineverter impostanto il controllo del tempo trascorso fra un messaggio modbus e l' altro a 0 e cioe ' escluso.

su altri inverter questo tempo come si imposta?

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