Vai al contenuto
PLC Forum


Funzione In Part Program Fanuc 18i - Trasformazione di un numero in segnale pulsante.


-Barrett-

Messaggi consigliati

Devo trasformare, per un caricatore di pallettini, un numero dato da una T in esadecimale ( es T12 caricata poi nella var. #20 ) e trasformala in un segnale pulsante. Per far questo il numero deve essere convertito in binario ( in questo caso il 12 in 1100 ). Ora devo scansionare questo numero binario bit per bit, dando un codice M102 quando il bit è a livello, e M101 quando il valore è 1. Dopo questi codici M ci vuole un segnale di clock M103.

Questo è quello che ho capito dal riassunto di un programma datomi da un collega. Non si sa se funziona.

Chi mi spiega che vuol dire il comando ROUND, GE, ma soprattutto come fanno a lavorare le righe finali #102 = #102- 1 ( DECREMENT ADDRESS COUNTER ) #101 = #101*2 ( INCREMENT BIT MASK, SHIFT LEFT ) ?

#100=ROUND[#9]

#101=ROUND[#20]

#102=14 (INITIALIZE MAGAZINE ADDRESS BIT COUNTER )

#101=1 (BIT MASK)

N300 (LOOP START)

IF [#100 EQ 0] GOTO 400 ( NO NEED TO SEND 0 BITS)

IF [[#100 AND #101] EQ 0] GOTO 310 ( DATA BIT 0)

M101 (PULSE SET BIT)

#100 = #100- #101 ( REMOVE BIT FROM ADDRESS)

GOTO 320

N310 M102 ( PULSE RESET BIT)

N320

M103 (PULSE CLOCK )

G04X0.05 (DWELL 50MS)

#102 = #102- 1 ( DECREMENT ADDRESS COUNTER )

#101 = #101*2 ( INCREMENT BIT MASK, SHIFT LEFT )

IF [102 GE 1] GOTO 300 ( LOOP IF NOT DONE)

ECC.. EC..

Link al commento
Condividi su altri siti

  • 3 weeks later...

Dunque, non sono un programmatore ISO quindi faccio un po fatica ad analizzare l'esempio, comunque posso dirti che:

L'istruzione ROUND, come dice la parola, arrotonda alla prima cifra decimale.

#102 = #102- 1 decrementa di 1 #102 ad ogni passaggio, quindi l'intenzione è di fare il loop 14 volte.

#101 = #101*2 è un modo "classico" per effettuare uno shift-right. Moltiplicando per 2 un numero ottieni infatti l'effetto di shiftare a destra i bit.

Ad es. se scrivi 1 in una word, moltiplicando per 2 più volte otterrai:

1

2

4

8

16

32

ecc..

quindi "sposti" a destra il bit nella word.

Ciao

Link al commento
Condividi su altri siti

  • 4 weeks later...

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