Vai al contenuto
PLC Forum


Io-link, iodd, control word e pqi.


Giovanni Segreto

Messaggi consigliati

Giovanni Segreto

Buonasera, vorrei chiedere ai più esperti, prima di leggere un file iodd e approfondire il Manuale Io link, quali sono le informazioni più importanti da ricavare in linea generale da questi file iodd, e come funziona la creazione del codice, della relativa rete.

 

Ho visto un fc  per il controllo di un isola valvole e nello specifico ho visto che come ingresso a questa fc viene dato un byte pqi. 

 

Al interno della fb nel codice si usano tre bit diversi, errore, disponibile e altro della pqi per avere informazioni sulla Stato del Isola. 

 

Ciò che non capisco è come lavora l io link nel caso di simultaneità di segnale; es. Quando l isola restituisce il Segnale di Disponibile di errore e Altro nello stesso momento lavorando solo con un filo. 

 

Nel file iodd viene spiegato quale il Bit da dichiarare nel Fc ad esempio per azionare la valvola tre del gruppo valvole?

E spiegato quale il byte con cui si ci scambia i Dati di attivazione valvole? 

 

Stessa cosa per pqi? 

Grazie

 

Link al commento
Condividi su altri siti


I componenti I/O-Link vengono gestiti da un master I/O-Link (Siemens o altro costruttore). Il file iodd è l'equivalente del file gsd per il profibus cioè deve essere installato se il componente stesso non compare nel catalogo dello Step7/TIA. Ovviamente se il componente non è Siemens devi trovare il file iodd e installarlo quando vai a definire il gruppo degli slave.

"pqi" è il byte che verifica lo stato del segnale e ha 3 bit per la valutazione degli errori. Se il master I/O-Link (parlo ora di Siemens) ha una versione firmware inferiore al 2.2 i pqi non è un byte ma un bit.

Faccio un esempio concreto:

master Siemens 6ES7 137-6BD00-0AB0 con un trasduttore di pressione 0-400 bar della IFM, ti servirà installare il relativo file iodd dal sito IFM, quindi assegnare per esempio l'indirizzo EW1000 all'ingresso e il byte 1002 al pqi dove 
E 1002.5 device in comunicazione

E 1002.6 device in errore 
E 1002.7 device port quality

(Io utilizzo solamente i bit 5 e 6)

 

Considerazione personale: bello il sistema I/O-Link e facile da gestire ma si perde un sacco di tempo quando si fa la prima messa in servizio,  sopratutto se si hanno tutti i segnali in I/O-Link e si è nervosi come il sottoscritto quando si mette in servizio una linea......

 

Link al commento
Condividi su altri siti

Giovanni Segreto

@pigroplc

Cioè una volta importato il file iodd avrò nella vista di rete il traduttore nella vista di rete? 

 

Poi si lega il componente alla porta del master e nella porta del master vado a definire  l indirizzo per la pqi e la word di ingresso del trasduttore? 

 

Il valore del trasduttore è un 2 alla 16  proporzionale ai  0-400 bar? 

 

Grazie

Modificato: da Giovanni Segreto
Link al commento
Condividi su altri siti

Mattia Spoldi
1 ora fa, Giovanni Segreto ha scritto:

Il valore del trasduttore è un 2 alla 16  proporzionale ai  0-400 bar? 

Dipende dal tipo di trasduttore, dal produttore, ecc.

Tipicamente i sensori io-link ritornano un valore che è "simile" al valore di processo.

es: i trasduttori di pressione ifm che fanno 0-400bar (tipo IFM PV7000), ritorna un valore 0-4000 su 16 bit

quindi la scalatura da fare per avere i bar sarà: valore letto/10

 

PS, gli IODD volendo sono superflui, ti basta dichiarare un'area di scambio nel master io-link che sia abbastanza grande da contenere i dati inviati dal sensore, ovviamente in questo caso niente backup e restore in automatico del sensore in caso di sostituzione. Io normalmente non li importo e riprogrammo il sensore con del codice scritto a plc.

Link al commento
Condividi su altri siti

Giovanni Segreto

@pigroplc

Bisogna legare delle variabili del immagine di processo es EW1000 al dispositivo importato tramite File iodd in modo che il dispositivo io device configurato sulla porta riesca a trasferire i dati di processo nel immagine di processo della CPU per essere elaborati? 

Nelle proprietà del io device si assegnano la word del Immagine di processo o si configura tutto dalla Porta del Master?

 

E corretto come ragionamento? 

 

Purtroppo non ci ho Mai messo mano. 

 

Grazie

Link al commento
Condividi su altri siti

Giovanni Segreto
1 ora fa, il toby ha scritto:

, ti basta dichiarare un'area di scambio nel master io-link che sia abbastanza grande da contenere i dati inviati dal sensore,

Per Area di scambio intendi  in configurazione software del master assegni alla porta una dimensione ad esempio di una word di ingresso ?sufficiente ad acquisire i dati? Ci fai il cablaggio e il sensore mette i dati in ew0 ad esempio? 

@il toby

Modificato: da Giovanni Segreto
Link al commento
Condividi su altri siti

Mattia Spoldi

sul master devi assegnare alla porta io-link un numero sufficiente di byte che possano contenere tutti i dati trasmessi dal sensore

es: solito sensore IFM

image.png.582cc98a712332229a0506b72be19d8c.png

trasmette sui primi 2 byte la pressione, sui 2 byte successivi altri dati (in questo caso, tendenzialmente inutili), ma devi comunque dichiararli tutti, quindi devi configurare almeno 4 byte in ricezione + 1 byte per lo stato "pqi".

Io ultimamente, per questioni di ordine e comodità mentale, ne dichiaro sempre 8+pqi

Link al commento
Condividi su altri siti

Giovanni Segreto

@il toby

Quindi I byte che assegno alla porta del master sono byte della CPU che li gestirà? 

 

Basta il cablaggio a far sapere al master io link che ce collegato il device io link nel esempio di cui stiamo parlando? 

Link al commento
Condividi su altri siti

Mattia Spoldi

Quindi I byte che assegno alla porta del master sono byte della CPU che li gestirà? 

Esatto

 

Basta il cablaggio a far sapere al master io link che ce collegato il device io link nel esempio di cui stiamo parlando? 

No, devi comunque configurare la porta come io-link, ma al plc non importa sapere che dispositivo io-link c'è collegato per poter interpretare i dati.

Link al commento
Condividi su altri siti

Giovanni Segreto

@il toby

Scusa se rispondo in ritardo. 

 

credo che di aver capito qualcosa di più;

 

invece per la avere  possibilità di ripartenza dopo la sostituzione del Sensore va importartato il file iodd? 

 

 

Il 27/8/2020 alle 21:32 , il toby ha scritto:

Io normalmente non li importo e riprogrammo il sensore con del codice scritto a plc.

Intendevi i file iodd??

 

E scrivi il codice dedicato al sensore sostituito? 

 

Grazie! 

Link al commento
Condividi su altri siti

Mattia Spoldi

Per la ripartenza dopo una rottura del sensore, dipende un po' dal tipo di sensore, es:il famoso sensore di pressione non va riprogrammato, ritorna un valore in decimi di bar, le soglie le fai a plc e bon, stacchi quello rotto e monti quello nuovo.

Se il sensore fosse un po' più "intelligente" potrebbe essere utile importare il file iodd per fare backup/restore da master.

Io, con i plc 1500, per ogni tipo di device io-link collegato alla macchina, mi sono scritto un apposito fb che mi standardizza il valore letto e eventualmente riprogramma il sensore alla sostituzione.

La stessa cosa faccio per dispositivi di uscita io-link, es: io uso spesso una colonnina luminosa di ifm, quando la compri, è programmata per "dare" il 75% di luminosità, io da sw plc la riprogrammo al volo per il 100%.

Link al commento
Condividi su altri siti

Giovanni Segreto

Un altra cosa. 

Ho dato un occhiata al manuale di sistema io link. 

 

Vorrei capire come si fa a passare i dati raccolti dalle porte al programma utente. 

 

Ho visto che nella vista dispositivi (master 4 x io link) si assegna un indirizzo a I ed out per appoggiare i dati dai device ma come li passo ad esempio ad una DB? Come si fa il puntamento sul master  io link? 

@il toby

Link al commento
Condividi su altri siti

Puoi creare un nuovo tipo dati (Data Type) con la struttura specifica del tuo dispositivo (es. UDT_MioDispositivo).

Poi aggiungi un Tag di tipo "UDT_MioDispositivo" che punta all'indirizzo I (oppure Q) assegnato al dispositivo

In una DB inserisci un variable di tipo "UDT_MioDispositivo"

A questo punto puoi fare una semplice MOVE.

 

 

Link al commento
Condividi su altri siti

tieni conto che un qualsiasi dato che ricevi da un sensore io-link è identico ad un che ricevi da un qualsiasi altro tipo di sensore(es analogica), parliamo sempre di word e bit di io.

ES: se prima per leggere una temperatura da una pt100 collegata ad un'analogica facevi

#temperatura:=%EW100;

adesso devi fare la stessa cosa.

Modificato: da il toby
Link al commento
Condividi su altri siti

11 minuti fa, il toby ha scritto:

tieni conto che un qualsiasi dato che ricevi da un sensore io-link è identico ad un che ricevi da un qualsiasi altro tipo di sensore(es analogica), parliamo sempre di word e bit di io.

ES: se prima per leggere una temperatura da una pt100 collegata ad un'analogica facevi

#temperatura:=%EW100;

adesso devi fare la stessa cosa.

 

Pensavo il dispositivo IOLink fornisse più informazioni.

Io al momento li ho usati solo per dei rele' elettronici che hanno una struttura di scambio dati più articolata, quindi l'uso delle UDT diventa molto comoda.

Es.

Ready    Bool
MotorOn    Bool
GroupError    Bool
Warning    Bool
Reserved1    Bool
Reserved2    Bool
Reserved3    Bool
Reserved4    Bool
MotCurrent_bit0    Bool
MotCurrent_bit1    Bool
MotCurrent_bit2    Bool
MotCurrent_bit3    Bool
MotCurrent_bit4    Bool
MotCurrent_bit5    Bool
ManualMode    Bool
Reserved5    Bool

 

 

Link al commento
Condividi su altri siti

Giovanni Segreto

@il toby

Intendevo questa schermata che è la vista dispositivi, l indirizzo di I address come lo punto sul codice? Per fare un move su una DB? IDW0 e lo trova? 

 

Perché senza pct quello è l indirizzo

su cui il sensore appoggia i dati giusto?

poi spuntare e dimensionare la pqi e i byte di ingresso/uscita in un altra schermata se non ho interpretato male.. 

Screenshot_20200903_204709_com.google.android.apps.docs.jpg

Modificato: da Giovanni Segreto
Link al commento
Condividi su altri siti

Giovanni Segreto
3 ore fa, anydream ha scritto:

Puoi creare un nuovo tipo dati (Data Type) con la struttura specifica del tuo dispositivo (es. UDT_MioDispositivo).

Poi aggiungi un Tag di tipo "UDT_MioDispositivo" che punta all'indirizzo I (oppure Q) assegnato al dispositivo

In una DB inserisci un variable di tipo "UDT_MioDispositivo"

A questo punto puoi fare una semplice MOVE.

 

 

@anydream

Nella foto che ho inserito sopra i address è il dato da passare al udt? 

In caso affermativo come si punta? 

 

 

Modificato: da Giovanni Segreto
Link al commento
Condividi su altri siti

Giovanni Segreto

@il toby @anydream

Perché qui non vedo indirizzamento? Ma solo dimensione. 

Si tratta della "risoluzione della porta"  ovvero quanti dati può leggere e scrivere? 

 

L indirizzo di questi byte è quello della vista dispositivi? dove slot nella schermata vista dispositivi sta per porta? 

Screenshot_20200903_210959.jpg

Modificato: da Giovanni Segreto
Link al commento
Condividi su altri siti

Il 3/9/2020 alle 20:53 , Giovanni Segreto ha scritto:

@il toby

Intendevo questa schermata che è la vista dispositivi, l indirizzo di I address come lo punto sul codice? Per fare un move su una DB? IDW0 e lo trova? 

 

Perché senza pct quello è l indirizzo

su cui il sensore appoggia i dati giusto?

poi spuntare e dimensionare la pqi e i byte di ingresso/uscita in un altra schermata se non ho interpretato male.. 

Su questo argomento mi trovi un attimo impreparato, ho sempre usato ciabatte io-link e mai i moduli cm link di siemens, la teoria dice che i byte che dichiari nella vista dispositivi sono quelli su cui troverai i tuoi dati dei sensori.

 

Il 3/9/2020 alle 21:14 , Giovanni Segreto ha scritto:

Perché qui non vedo indirizzamento? Ma solo dimensione. 

Si tratta della "risoluzione della porta"  ovvero quanti dati può leggere e scrivere? 

 

L indirizzo di questi byte è quello della vista dispositivi? dove slot nella schermata vista dispositivi sta per porta? 

non vedi gli indirizzi perchè, guardando il manuale al volo, sembra che il master scelto impacchetti i dati ricevuti dai sensori, sui 32 byte dichiarati nella vista dispositivi,

es: con 32 byte dichiarati puoi usare solo 3 sensori dichiarati da 8byte + pqi 

il primo avrà indirizzi da 0 a 8

il secondo da 9 a 17

il terzo da 18 a 26

i restanti da 27 a 31 sono liberi

Link al commento
Condividi su altri siti

Il 3/9/2020 alle 21:03 , Giovanni Segreto ha scritto:

@anydream

Nella foto che ho inserito sopra i address è il dato da passare al udt? 

In caso affermativo come si punta?

 

Come dicevo prima ho usato il sistema IO-Link con dei rele' elettronici (3RB24). Per la configurazione uso il software S7-PCT (gratuito) che una volta installato si integra nel TIA.

Quindi dal PCT vedo gli indirizzi che vengono associati alle varie porte IOLink (es. nella foto la porta 1 ha indirizzo iniziale 412.0, la porta 2 inizia con 415.0 ecc).

 

IOLink_S7PCT_2.thumb.png.8809bcb9539b68cbbd425e0a7b1b51d8.png

 

Ho provato ad impostare un modulo CM senza usare il PCT e gli indirizzi di ogni porta sono mostrati nel TIA.

Ad esempio se il tuo sensore utilizza 4 byte di input + 1byte PQI (imposti 36/32 come byte input / output per ogni porta) :

 

IOLink2.png.f230bc425038ced6f818ee2e6d5bc9f8.png

 

e l'indirizzo da cui partire per leggere i dati li trovi indicati nel TIA (nella foto sotto vedi che gli indirizzi per la porta 2 partono da 597):

IOLink3.png.c78829766d5437a2e290651379699da2.png

 

Se il dato che ti interessa è contenuto nella prima word puoi accederci con %IW597.

Se il dato è strutturato e sei interessato a gestirlo (copiarlo / usarlo come input di una funzione) nella tabella dei tag definisci una variabile di tipo "mio_udt" e la punti all'indirizzo %I597.0.

 

 

 

 

 

Modificato: da anydream
Link al commento
Condividi su altri siti

Giovanni Segreto

@anydream

Grazie, molto chiaro nella spiegazione. proverò a fare qualche prova sul tia ,alla fine come suggeriva @il toby si punta come gli altri dati.

 

Non conosco i relé in questione ma li colleghi Con connettore m12 al master io link. (cm 4*1io)?

 

Trovi il file del relè sul catalogo tia e lo trascini sulla porta poi configuri la porta o sono indirizzi di default? 

 

 

Ti dà segnali di motore on e relè. Pronto, e in uscita ti dice la Direzione di marcia? In pratica è un teleruttore con cui puoi gestire motori senza cablaggi sugli ausiliari? La fine per gli elettrici🤣

 

I singoli bit del Pqi dove si vedono? 

 

Grazie😬😬😬

 

 

 

 

 

 

Modificato: da Giovanni Segreto
Link al commento
Condividi su altri siti

Giovanni Segreto

@anydream

Perdona l ignoranza ma sugli input della porta 4 del relè elettronico 3rb24, leggi quanto il motore è on e sulle uscite della porta 4(q106. 0)gli dai ad esempio la direzione in cui vuoi farlo girare nel programma? 

Link al commento
Condividi su altri siti

Il 7/9/2020 alle 21:56 , Giovanni Segreto ha scritto:

Non conosco i relé in questione ma li colleghi Con connettore m12 al master io link. (cm 4*1io)?

Collegamento 3 fili su morsetti

 

Il 7/9/2020 alle 21:56 , Giovanni Segreto ha scritto:

Trovi il file del relè sul catalogo tia e lo trascini sulla porta poi configuri la porta o sono indirizzi di default?

Nel catalogo che ti propone il software S7-PCT li trovi.

Come sempre il sistema propone indirizzi di default, se non ti piacciono li puoi modificare.

Considera che di rele' elettronici ne esistono di vari produttori con diverse funzionalità di protezione (e trovi tutti i principali protocolli di comunicazione industriale).

 

Il 7/9/2020 alle 21:56 , Giovanni Segreto ha scritto:

In pratica è un teleruttore con cui puoi gestire motori senza cablaggi sugli ausiliari? La fine per gli elettrici

Il teleruttore ci vuole, gli elettrici sono salvi!

image.png.fdffc5801fc6bc9968553678996a99e4.png

 

16 ore fa, Giovanni Segreto ha scritto:

Perdona l ignoranza ma sugli input della porta 4 del relè elettronico 3rb24, leggi quanto il motore è on e sulle uscite della porta 4(q106. 0)gli dai ad esempio la direzione in cui vuoi farlo girare nel programma? 

Sì, alla fine gestisci normali indirizzi di input e output, il significato dei vari bit li trovi nei manuali.

 

 

 

 

 

 

Modificato: da anydream
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...