Vai al contenuto
PLC Forum


Data Type NUMBER, un po' di confusione...


Ragnetto

Messaggi consigliati

Ciao a tutti,

In azienda sto cominciando a lavorare su progetti esistenti scritti da altri programmatori e che devo imparare per poi metterci le mani.

Un dubbio che non riesco a risolvere/capire è il formato NUMBER associato ai timer (TIM/TIMX)

Mi è chiaro il BOOLE come falg di completamento.

Ho compreso la posizione di memoria dove storare i tempi nei vari formati numerici, ma il NUMBER ancora non ho capito a cosa serva tanto più se eseguo una ricerca nel programma non ha nessuna rispondenza se non nella tabella dei simboli..

 

Grazie in anticipo,

R.

Link al commento
Condividi su altri siti


NUMBER, in CX-programmer, sono le costanti. Sono valori numerici che non occupano alcuna memoria, e permettono di associare un identificativo (nome label) a un valore numerico che altrimenti sarebbe di difficile interpretazione. E' la stessa cosa di un DEFINE in C.

In pratica, per esempio, posso definire delle costanti quali

Impxmm NUMBER 100 (impulsi per millimetro)

e tutte le volte che il compilatore trova Impxmm lo sostituisce con 100 (che non è autoesplicativo, potrebbe essere 10s per un timer in decimi...).

Stessa cosa per esempio se uno definisce

_1s NUMBER #10  (notare l'underscore, i nomi variabile non possono iniziare con numeri)

e poi scrive in un rung  TIM 1 _1s, si definirà il timer T1 ad 1 secondo (10 decimi)

 

La comodità è poi data dal fatto che se io, per il primo esempio, in una macchina simile ma con un encoder diverso avessi 250 impulsi per millimetro, basterà cambiare la defnizione

Impxmm NUMBER 250

e in tutto il programma la Impxmm avrà il nuovo valore.

 

Se nel programma non è usata, semplicemente forse viene da una tabella simboli dove c'era la necessità di usare la variabile.

Modificato: da Ctec
Link al commento
Condividi su altri siti

Andrea sei un grande,

Come sempre velocissimo nelle risposte.

 

Con l'analogia del C la cosa mi è molto più chiara ed anche l'utilizzo nel caso di definizione di variabile da potere modificare in caso di necessità.

Però qualche dubbio mi rimane, nel senso che nel programma non ne trovo l'utilità se non quella di fare comparire il nome all'interno del blocco Timer.

La definizione di NUMBER viene fatta per tutti gli oggetti Timer.

allego un esempio per spiegarmi meglio.

 

R.

 

Timer.png.5c598cd3cc4d8c959891bc01d800eccc.pngTimer_1.jpg.0ff17163d46466e7919d4870f4035739.jpg

Modificato: da Ragnetto
Link al commento
Condividi su altri siti

L'utilità secondo me sta nel fatto che tutte le impostazioni dei vari timer sono tutte NUMBER, e se te ne devi cambiare alcuni, senza andare a cercarli nel programma, ti evidenzi tutti i NUMBER nella tabella dei simboli, cambi i valori associati alle label e voilà. Il tutto senza occupare né una memoria ritentiva né altro. E anche alla faccia dei valori iniziali di alcuni software (sistema che io non sopporto).

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