Vai al contenuto
PLC Forum


Leggere Real Con Libnodave


Messaggi consigliati

Inserito:

Salve,

devo leggere qualche variabile da un plc s7300 con libnodave. Ho dato uno sguardo all'applicazione di esempio scritta in VB6 che c'è nella sezione di download.

L'ho testata e funziona. Non avendola mai usata questa libreria vi chiedo:

ho visto che posso leggere da un DB dei numeri interi, ma nel codice non mi sembra ci sia una funzione per leggere un real. O devo leggere i 4 byte e poi convertirli nel formato rela?

Grazie


Gianmario Pedrani
Inserita:

questa è un esempio di funzione che io ho creato copiando da qualche parte non ricordo per scrivere un numero reale

//funzione che scrive un numero reale

public void scrivi_reale(int numero_db, int indirizzo, string valore)

{

float app = 0;

byte[] app1 = new byte[5];

app = libnodave.toPLCfloat(System.Convert.ToSingle(valore));

app1 = BitConverter.GetBytes(app);

scrivi_singolo_valore(numero_db, DB.DBD_R, indirizzo, app1);

}

questa dovrebbe essere la funzione per leggere un numero reale

private Function inverti_real(ByVal F As Byte() ) As Byte()

dim t as byte() = new Byte(4) {}

t(0) = f(3)

t(1) = f(2)

t(2)= f(1)

t(3) = f(0)

return t

End Function

se non ricordo male

ciao..

Inserita:

Grazie Gianmario. Quindi mi sembra di capire che la libreria offra un canale di accesso e poi a seconda delle necessità si deve sistemare i formati.

Grazie

Gianmario Pedrani
Inserita:

Esatto, Quello che ti posso consigliare io è di leggere tutta la db in un colpo e poi estrapolare i singoli valori

Inserita:

tutta la DB? anche se ci sono 200 real per esempio?

Grazie

  • 2 months later...
Mauro Rubinetti
Inserita:

Si puoi leggerne quanti vuoi, basta che siano dello stesso tipo.

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