Vai al contenuto
PLC Forum


I Valori i/o device sono restituiti scalati secondo unità di misura reale? ?


G.esse

Messaggi consigliati

Con io link, I valori che i dispositivi io device restituiscono al master io link sono scalati secondo la grandezza di processo misurata ed espressi nel unità di misura del sensore esempio cm per un misuratore di distanza? 

Esempio se misura 1cm il numero che mi da sul master è 1cm ?

Grazie 

Link al commento
Condividi su altri siti


Mattia Spoldi

dipende dal produttore del sensore e dal sensore stesso, ci sono sensori che misurano di distanza/posizione che ti tornano un valore in mm/10 e altri che ti tornano i micron.

Sul manuale io-link del prodotto c'è sempre indicata l'unità di misura.

Link al commento
Condividi su altri siti

6 ore fa, Mattia Spoldi scrisse:

mm/10

Mm/10 la  risoluzione? Ovvero quant é l unità di incremento in relazione al segnale ricevuto? Legge con risoluzione di 0,1mm? Mi segnala un incremento o decremento ogni volta che l oggetto si allontana di 0.1mm  dal sensore giusto? 

Modificato: da G.esse
Link al commento
Condividi su altri siti

Mattia Spoldi

se il sensore ha una risoluzione su io-link al decimo di mm, allora ogni volta che la meccanica si muoverà di 1 decimo, vedrai cambiare il tuo segnale di 1 unità in base alla direzione della meccanica.

 

Esempio pratico, questo è il manuale di una fototcellula

image.thumb.png.af6af7093df23b2becc854c02cd6411b.png

Guarda le parti evidenziate e con le frecce,

la fotocellula legge un campo da 15 a 220mm, su io-link ti invierà un valore che va da 150 a 2200 con pendenza 0.1 e unità di misura mm, significa che il valore che ti verrà restituito sarà da interpretare come <valore io-link> * <pendenza> <unità di misura>

Link al commento
Condividi su altri siti

31 minuti fa, Mattia Spoldi scrisse:

come <valore io-link> * <pendenza> <unità di misura>

Hai omesso uguale vero? 😅😅😅

Comunque ho capito il metodo, pendenza indica un prodotto 10 volte più piccolo del valore io link con la moltiplicazione trovi la decima parte del valore io link che corrisponde a il valore in mm. 

Per tutti i sensori ifm e così? 

Link al commento
Condividi su altri siti

Mattia Spoldi

io ne ho preso uno a caso di ifm, tra l'altro, questo non credo di averlo usato. Come dicevo dipende dal produttore e dal sensore, non c'è uno standard, apri il pdf con che trovi sul sito del produttore e ti dice come funziona.

Una volta ho usato dei sensori MTS che ritornavano i micron, quindi un valore di ritorno=1234 andava interpretato come 1 mm e 234 micron

Link al commento
Condividi su altri siti

Ma nel esempio che mi hai fatto sopra un bit della word di misurazione e occupato dalla virgola giusto anche se intero? o va dichiarato un real lato plc? 

Modificato: da G.esse
Link al commento
Condividi su altri siti

Mattia Spoldi

non esistono bit che rappresentano la virgola. Nell'esempio sopra ti torna un valore INTERO che va da 150 a 2200, sei tu che dovrai fare una conversione su REAL e poi dividerlo per 10

 

ValoreReal := int_to_real(ValoreInt) / 10.0;

Modificato: da Mattia Spoldi
Link al commento
Condividi su altri siti

Scusa mattia s. non ho capito la cronosequenza delle operazioni.

 

Perché devo dividere per 10.

Nel esempio hai detto  

Valore io link* 0.1 e ho i mm. 

Non mi basta convertire  i mm  espressi in intero in un numero reale con un istruzione per avere i decimali di misura? 

 

 

Oppure ti sei procurato la misura in mm e la dai al blocco int to real? 

 

Modificato: da G.esse
Link al commento
Condividi su altri siti

Mattia Spoldi

dividere per 10 o moltiplicare per 0,1 è la stessa cosa.

 

la sequenza delle operazioni da fare è:

1 leggi il valore in arrivo dal sensore

2 lo converti in real

3 lo dividi per 10/moltiplichi per 0,1

4 lo scrivi in una variabile real

5 usi il valore appena ottenuto nel tuo programma

Link al commento
Condividi su altri siti

7 minuti fa, Mattia Spoldi scrisse:

la sequenza delle operazioni da fare è:

1 leggi il valore in arrivo dal sensore

2 lo converti in real

3 lo dividi per 10/moltiplichi per 0,1

4 lo scrivi in una variabile real

5 usi il valore appena ottenuto nel tuo programma

Quindi dividendo :10 o moltiplicando 0,1 ti ricavi la scala esatta espressa in mm del sensore con la conversione aggiungi i decimali? 

Link al commento
Condividi su altri siti

Mattia Spoldi

la conversione in real serve per darti la possibilità di avere i decimali

 

se tu avessi un valore tipo 243 equivalente a 24,3 mm

 

se tu facessi la divisione in interi avresti 243 / 10 e come risultato avresti 24mm, perdendo i decimi di mm

in real avresti 243/10 = 24.3, non perdendo i decimi di mm

 

Scusa la domanda, questa è informatica + matematica di base, ma stai cercando di imparare a tempo perso o devi fare un sw per lavoro?

Modificato: da Mattia Spoldi
Link al commento
Condividi su altri siti

Lo faccio a tempo perso, tranquillo non faccio danni in giro🤣 la mia è solo curiosità ma mi piacerebbe avere nel mio bagaglio anche queste competenze. 

Modificato: da G.esse
Link al commento
Condividi su altri siti

Mattia Spoldi

si ma dammi retta, è inutile conoscere la parte io-link senza avere delle basi, prima studia altro, parti da algebra di boole, binario, un po' di C e poi riprendi con i plc

 

Modificato: da Mattia Spoldi
Link al commento
Condividi su altri siti

Ho visto dei master io link e ho collegato i vari sensori, e mi interessava Capire un minimo cosa ci girava dentro, nel mio piccolo ho compreso un po' questa discussione, anche se faccio fatica e non mi è molto agile il discorso. Comunque grazie del consiglio sto leggendo un libro di pirraglia parla delle basi dei 1200 siemens 

 

A cosa mi serve l algebra di bool se posso realizzarla con un ladder solo visualizzando lo stato del segnale? 😅 

 

 

Modificato: da G.esse
Link al commento
Condividi su altri siti

Mattia Spoldi
1 ora fa, G.esse scrisse:

A cosa mi serve l algebra di bool se posso realizzarla con un ladder solo visualizzando lo stato del segnale?

Ti serve per capire cosa hai davanti, non puoi metterti a programmare qualcosa o anche solo a cercare di capire come funziona quel qualcosa senza avere uno straccio di base. 

I plc, anche se sono considerati "cose da elettronici" sono comunque dei computer, e la base dell'informatica è l'algebra di boole.

 

PS quello che tu chiami "un ladder", in realtà si chiama Segmento o network in ambito siemens o Rung in con altre marche, il ladder è un linguaggio di programmazione.

Modificato: da Mattia Spoldi
Link al commento
Condividi su altri siti

56 minuti fa, Mattia Spoldi scrisse:

PS quello che tu chiami "un ladder", in realtà si chiama Segmento o network in ambito siemens o Rung in con altre marche, il ladder è un linguaggio di programmazione.

Si però se siemens mi fa vedere cosa faccio nei segmenti ho il controllo della situazione no? E un linguaggio a contatti perché non potrei scriverci se so cosa genera quello che scrivo ? 

 

 

Comunque seguirò il consiglio! 

 

 

 

 

Modificato: da G.esse
Link al commento
Condividi su altri siti

Mattia Spoldi
13 minuti fa, G.esse scrisse:

Si però se siemens mi fa vedere cosa faccio nei segmenti ho il controllo della situazione no? E un linguaggio a contatti perché non potrei scriverci se so cosa genera quello che scrivo ? 

Perchè il saper programmare, non significa saper scrivere 4 contatti in ladder, è una cosa molto più vasta e complessa.

Link al commento
Condividi su altri siti

Mattia Spoldi

se i software che vorrai scrivere saranno composti da 3 fotocellule e 4 valvole molto probabilmente non ti servirà neanche, se vorrai fare qualcosa di più complesso ti servirà.

 

esempio stupido, sapresti dirmi cosa fanno questi 2 segmenti di programma

image.thumb.png.a951817f7ec415d8ed6e403e3117f7e8.png

Modificato: da Mattia Spoldi
Link al commento
Condividi su altri siti

Si ci arriva anche solo premendo i pulsanti è osservando lo stato del segnale. 

Però mi fai pensare:

 un nor con no equivale in simboli elettrici a due contatti in serie con contatto NC, tu hai disegnato un nor con contatti negati quindi la sua conversione in simboli elettrici sono due  contatti in serie aperti. E corretta questa analisi? 

 

 

Modificato: da G.esse
Link al commento
Condividi su altri siti

Mattia Spoldi
4 minuti fa, G.esse scrisse:

 un nor con no equivale a due contatti in serie con contatto NC, tu hai disegnato un nor con contatti negati quindi la sua conversione sono due  contatti in serie aperti. E corretta questa analisi? 

 

si

 

4 minuti fa, G.esse scrisse:

Si ci arriva anche solo premendo i pulsanti è osservando lo stato del segnale. 

si ma non saranno sempre così facili le analisi per scrivere un sw

 

Link al commento
Condividi su altri siti

59 minuti fa, Mattia Spoldi scrisse:

si ma non saranno sempre così facili le analisi per scrivere un sw

Perché non posso fare tutte la analisi del caso solo con i segmenti in linguaggio ladder?(almeno per la parte bool)  parli del analisi di tutto ciò che c'è dietro prima di scrivere il programma? 

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