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




Controllo Inverter Vacon Flow 100 via Profibus


Messaggi consigliati

Emanuele Libori
Inserito:

Buongiorno a tutti/e,

spero che abbiate passato delle buone feste!

Questo è il mio primo post, ho letto il regolamento, ma spero comunque di non incorrere in errori.

La ditta in cui lavoro ha realizzato secondo le specifiche di un nostro cliente un quadro con un inverter Vacon Flow100 da 132kW, con logica di comando Locale via tastierino e remota via profibus. La selezione del tipo di controllo avviene tramite selettore a tre posizioni (Locale, 0, Remoto).
La prima posizione attiva il DI1 dell’inverter (programmato come “Keypad Ctrl Force”, la terza il DI3 (programmato come “Fieldbus Ctrl Force”). La parte fieldbus è gestita dalla scheda opzionale OPTE3 programmata con Operate Mode profidrive e telegram type  st20.

Per provare il controllo via Profibus ho creato un progetto con TIA Portal V13 SP1 inserendo solo una CPU Siemens S7 315-2 DP, che tengo per gli esperimenti, e l’inverter.

La comunicazione è ok, riesco a vedere il nodo in rete e a leggere la status word e il riferimento di velocità (se avvio l’inverter in locale).

I problemi nascono quando provo a comandare l’inverter: ho creato una db con una struct contenente 16 bit rappresentanti la control word ricavata dal manuale dell’opte3:

 

bit	Descrizione
0.0	SwitchOn
0.1	NoCoastStop
0.2	NoQuickStop
0.3	EnableOperation
0.4	EnableRampGenerator
0.5	UnfreezeSPValue
0.6	EnableSPValue
0.7	AckFault
1.0	notUsed
1.1	notUsed_09
1.2	ControlByPLC
1.3	notUsed_11
1.4	notUsed_12
1.5	notUsed_13
1.6	notUsed_14
1.7	notUsed_15

 

Successivamente ho inserito nella OB1 un’istruzione MOVE da %DB2.DBW0 a %QW256:P. L’intenzione era quella di comandare i bit uno per uno nella schermata di controllo online della DB per analizzare il funzionamento dell’inverter.

Dopo aver perso una buona mezz’ora prima di rendermi conto che il plc usava la codifica big endian, mentre l’inverter quella little endian, ho modificato l’istruzione nel seguente modo:


 
MOVE da %DB2.DBB0 a %DB2.DBB23

MOVE da %DB2.DBB1 a %DB2.DBB22

MOVE da %DB2.DBW22 a %QW256:P

A questo punto ho provato a settare il bit 1.2 e sul pannello dell’inverter è comparsa l’indicazione controllo da FB.

… E qui arriva il primo problema:

  1.   Nell’intenzione del cliente, il selettore dovrebbe avere la precedenza su tutto. Se impostato su locale, non dovrebbe essere possibile il controllo via profibus. Invece, ogni volta che questo bit viene settato, il controllo va su FB.

  2. Il secondo problema riguarda invece l’avvio dell’inverter: ho provato a settare uno per uno i bit da 0.1 a 0.6, controllando il ritorno sulla status word. A questo punto -se ho interpretato bene- per far partire l’inverter, dopo avergli dato un riferimento di velocità sulla %QW258:P, dovrebbe essere sufficiente alzare il bit 0.0 …

2    Quando lo faccio, l’inverter va in marcia per un attimo (o, almeno, viene attivata l’uscita DO1 programmata come “running”), ma nell’istante dopo si accende il led fault del plc e nella diagnostica compare il messaggio “perdita stazione”, riferito al nodo 50 (l’inverter) seguito immediatamente dal “ritorno stazione”. L’inverter rimane fermo e la status word mostra il bit “ready to switch on” a 0.

Se imposto nuovamente a 0 il bit 0.0 della CW, per poi alzarlo di nuovo, il problema si ripropone.

Qualcuno/a ha qualche idea?

Grazie!


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