Vai al contenuto
PLC Forum

Partecipa anche tu alla Live su Youtube martedì 28/01/2025 per festeggiare i 24 anni di PLC Forum

Per ulteriori informazioni leggi questa discussione: https://www.plcforum.it/f/topic/326513-28012025




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


Messaggi consigliati

Inserito:

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 


Mattia Spoldi
Inserita:

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.

Inserita: (modificato)
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
Mattia Spoldi
Inserita:

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>

Inserita:
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ì? 

Mattia Spoldi
Inserita:

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

Inserita: (modificato)

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
Mattia Spoldi
Inserita: (modificato)

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
Inserita: (modificato)

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
Mattia Spoldi
Inserita:

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

Inserita:
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? 

Mattia Spoldi
Inserita: (modificato)

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
Inserita: (modificato)

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
Mattia Spoldi
Inserita: (modificato)

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
Inserita: (modificato)

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
Mattia Spoldi
Inserita: (modificato)
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
Inserita: (modificato)
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
Mattia Spoldi
Inserita:
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.

Inserita:

Quindi l algebra di bool mi serve tutta? 

Non è sufficiente sapere che una variabile bool assume i valori 0-1?

Mattia Spoldi
Inserita: (modificato)

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
Inserita: (modificato)

Fanno la medesima cosa? 

Modificato: da G.esse
Inserita: (modificato)

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
Mattia Spoldi
Inserita:
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

 

Inserita: (modificato)
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

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