Iris _

Pixsys Forum

everybody's effort for the same goal

Valori Float PL110

Post Reply
user8927
Posts: 6
Joined: 14/07/2014, 12:20

Valori Float PL110

Post by user8927 »

Ho necessità di far comunicare il PL110 con un analizzatore di rete che comunica misure solamente in Float. C'è la possibilità di registrare i dati in questo modo?
Pixsys tecnico 1
Moderatore
Posts: 1717
Joined: 29/10/2010, 10:09
Contact:

Re: Valori Float PL110

Post by Pixsys tecnico 1 »

Deve scrivere quella parte di programma in C e richiamare nel ladder la procedura.
Altrimenti dia un'occhiata se i nostri nostri analizzatori di rete possono fare al caso suo:
http://www.pixsys.net/prodotti/converti ... rs485-1311
user8927
Posts: 6
Joined: 14/07/2014, 12:20

Re: Valori Float PL110

Post by user8927 »

La scrittura per prelevare un valore float composto da N°2Word, dallo Slave 4, all'indirizzo modbus 20, con destinazione VD10 dovrebbe essere la presente per il linguaggio C:

"float EXP_Set(int Indice,int Azione,int Slave,int Tipo,int Address,int Area,int Numero,0,char NDati);"

e nella bobina all'interno del LADDER la descrizione dovrà essere:

EXP_Set(1, 03H, 4, float, 20, 1, 10, 12, 2);

Almeno cosi l'ho scritto ma non mi compila il programma.
Pixsys tecnico 2
Moderatore
Posts: 135
Joined: 16/12/2010, 17:46

Re: Valori Float PL110

Post by Pixsys tecnico 2 »

Nel ladder dovrà essere inserita la seguente bobina per effettuare la lettura modbus delle due word dallo slave, e salvare il risultato nella VW10 e VW11 (che compongono la VD10).

EXP_1(Read_Slave4, INDWord20,VW10, N°Word2);

A questo punto le due word che compongono il dato float, sono salvate in 2 word consecutive VW10-VW11. Ora dal ladder, non è possibile gestire dati di tipo float, ma è possibile farlo richiamando una funzione "c". Posso quindi inserire una nuova bobina nel ladder:

c 'ConvertiValoreFloat();'

Aprendo l'editor del "c", andrò a scrivere il seguente testo:

void ConvertiValoreFloat(void);

void ConvertiValoreFloat(void)
{
VD(0) = (long)((float)(VD(10)));
}

Queste istruzioni, convertono il valore float in un valore intero a 32 bit e lo salvano nell VD(0)
Post Reply