matrixsellone Inserito: 16 ottobre 2009 Segnala Inserito: 16 ottobre 2009 Buondi a tutti,sto cercando di leggere (e poi scrivere :-) ) un set di dati da un inverter ACS550 via profinet.Questo inverter monta il modulo RETA 02.Ho alcune difficoltà nel parametrizzare il richiamo del suddetto SFB.Vi posto cosa son riuscito a scrivere sin ora://indirizzo logico inverter L 2046 T #L_dWORD CALL "RDREC" , DB1 REQ :=M0.5 //comando a uno o a zero da VAT ID :=#L_dWORD INDEX := MLEN :=12 VALID := BUSY := ERROR := STATUS:= LEN := RECORD:=P#DB115.DBX0.0 BYTE 12in sostanza dovrei leggere un set di dati dallo slave con indirizzo logico 2046, e scrivere il tutto in una apposita DB da 12byte.I miei dubbi sono i seguenti:- ho trovato un tool della siemens, che descrive l'ID non come l'indirizzo di diagnostica dello slave, ma bensi della porta dalla quale si sta accedendo allo slave stesso (che per me, sarebbe un normale switch siemens); è vero questo?!- il parametro INDEX cosa indica esattamente, o meglio, cosa sono i set di dati?!Ringrazio anticipatamente per le risposte e per l'attenzione.PS: eventualmente esistono altri blocchi di sistema per leggere dalla periferia profinet?PS2: i dati che leggo dall'inverter, sono allocati una 12byte di ingressi di periferia, ed effettivamente, caricando i singoli byte, riesco a leggere i valori che mi interssano.
missing Inserita: 25 novembre 2009 Segnala Inserita: 25 novembre 2009 Ciao.Non ho esperienza diretta nella comunicazione profinet, ma l'uso della sfb52 e 53 è molto simile a quello del protocollo profibus.Non mi è chiaro del tutto il tuo problema, ma posso risponderti riguardo all'ID e all'INDEX.L'ID indica l'indirizzo di periferia espresso in esadecimale. Se il tuo drive ha indirizzo PEW256/xxx PAW256/xxx per ID dovrai mettere il valore W#16#100.L'index è il "riferimento di accesso agli oggetti in profibus", almeno cosi lo definisce il manuale. In pratica se vuoi scrivere o leggere un parametro devi "costruire" il messaggio da trasferire o leggere via profinet e registrarlo nel data record.Se tu vuoi leggere 1 parametro per esempio il parametro 12.04 (12.04*100=1204 --> 16#4B4) , imposta INDEX a -47 (16#B002F) e MLEN a 10 o maggiore.Il record deve essere cosi P#DB115.DBX0.0BYTE10.La lunghezza è 10 perchè il canale di lettura (set di dati) di un parametro ha 10 byte.Nel record scrivi i seguenti valori in esadecimale (ogni trattino separa un byte) 05-01-01-01-10-01-00-04-00-B4.Nel dettaglio:DB115.DBB0 = 05 -- E' un numero che indica la richiesta di riferimento, se hai più richiami di sfb52 o 53 utilizza numeri diversi ogni volta 6,7,8 etc etc.DB115.DBB1 = 01 -- Tipo di richiesta (ID) se=1 lettura, se=2 scritturaDB115.DBB2 = 01 -- Sempre 1DB115.DBB3 = 01 -- Numero di parametri, in questo caso 1DB115.DBB4 = 10 -- attributo, 10=ValoreDB115.DBB5 = 01 -- numero di elementiDB115.DBB6 = 00 -- indice di parametroDB115.DBB7 = 04 -- indice di parametroDB115.DBB8 = 00 -- subindice di parametroDB115.DBB9 = B4 -- subindice di parametroQuesti ultimi quattro indicano il parametro che vuoi leggere. 0004 - 00B4 => 4B4 => 1204 => 12.04Una volta che la sfb52 ti da l'uscita VALID a 1 nel RECORD dovresti leggerti il valore del parametro 12.04DB115.DBB0 = DB115.DBB1 = DB115.DBB2 = DB115.DBB3 = DB115.DBB4 =DB115.DBB5 = DB115.DBB6 = valore del parametroDB115.DBB7 = valore del parametroUso il condizionale perchè non ho modo di provarlo direttamente.Se vuoi scrivere 3 parametri imposta il valore di DB115.DBB3 a 3, poi ripeti i seguenti 6 byte (da DBB4 a DBB9) tre volte cambiando l'index e il subindex del parametro e aumneta la dimensione del RECORD.Per approfondire il discorso ti consiglio di consultare anche il manuale della RPBA-01. E' la scheda dedicata al profibus, ma utilizza lo stesso tipo di parametrizzazione della sfb52e ci sono + esempi.Una domanda, ma se usando il profilo RETA-02 Vendor object PPO6, non hai già 16 byte in lettura e scrittura liberamente configurabili nella configurazione hardware del remoto oltre alle 4 di default (Controlword-Statusword-Riferimento-Velocitàattuale)?Spero di esserti stato d'aiuto.a presto
Messaggi consigliati
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 accountAccedi
Hai già un account? Accedi qui.
Accedi ora