Vai al contenuto
PLC Forum


Cmp2a E Numeri Negativi


BIT77

Messaggi consigliati

Come faccio a usare i valori negativi del contatore veloce sr248-249?? se moltiplico x 1 mi scrive sempre zero nel prodotto tra sr248/249 e #1...

<_<

insomma non é il mio caso attuale ma se avessi bisogno di controllare un asse con quote negative come dovrei fare?? :unsure:

GRAZIE!!! :D

Link al commento
Condividi su altri siti


il fatto é che se usassi le operazioni in binario sarebbe abbastanza semplice anche perchè il contatore effettivamente conta in negativo... ma le binarie con cmp2a si fermano a 1 solo canale e io devo lavorare con 2 canali quindi devo eseguire le operazioni matematiche perforza in BCD double...come si potrebbe fare?? il dubbio mi assale perchè in previsione di macchine future che usassero quote negative come dovrei comportarmi?

Link al commento
Condividi su altri siti

Nei PLC OMRON tipo CPM2A e CQM1H i contatori hanno due possibili formati binario BCD

Come indicazione generale sull'utilizzo dei contatori veloci nei PLC CPM2A ti consiglio

di consultare il manuale W353e1-3.Pdf cap. 2-2-1 che puoi scaricare dal sito www.omron.it

In particolare, nel CPM2A, il valore di un HSC (high speed counter) è espresso in formato BCD in cui

248 esprime la parte bassa e 249 la parte alta cioè più significativa. Un valore negativo è espresso scrivendo #F

nella ultima cifra di 249. Es. -1 (dec) = #0001 #F000 (BCD). Riguardo alla moltiplicazione quale istruzioni usi ?

Ricordati che devi considerare il formato. Inoltre, per la gestione degli HSC è conveniente utilizzare

l'istruzione CTBL.

Spero che queste indicazioni ti siano utili.

Ciao

P.S.: aggiunta dopo il tuo secondo messaggio: sfortunatamente le istruzioni BCD in doppia non sono utili per gli HSC perchè considerano solo valori positivi. In pratica sei costretto a realizzare delle SBN per realizzare la somma e la sottrazione in questo formato. Comunque dipende dall'applicazione e la CTBL può essere risolutiva.

Modificato: da loref
Link al commento
Condividi su altri siti

allora visto che sull'OMRON sei ferrato e io no ti chiedo questo...

ma per usare gli HSC é consigliato oppure obbligatorio usare la CTBL??

io per gestirli ho usato delle normali CMPL...anche perchè devo gestire 3 assi 3 encoder collegati all'unico HSC a bordo della CPU del CPM2A...

e ho voluto trasformare tramite opportuni registri(DM) di appoggio, il conteggio HSC in mm

in pratica eseguo la comparazione tra 2 DM una contiene il valore dell'encoder convertito in mm e l'altro la quota inserita dall'operatore inserita in mm

Insomma lavorando con le CMPL il posizionamento risulta pregiudicato ...molto??? :huh:

te lo chiedo anche perchè della tabella di comparazione a intervalli o a target non ci ho capito molto dal manuale in mio possesso... ;)

TI assicuro che con MITSUBISHI fare i conti é dannatamente piu' facile....GRAZIE COMUNQUE PER L'iNTERESSAMENTO... :)

Link al commento
Condividi su altri siti

In generale l'idea non è sbagliata.

Personalmente preferisco utilizzare la CTBL per le seguenti ragioni:

1) questa istruzione è comune a tutti i PLC Omron dal CPM2A alla serie CS1 e CJ1

2) nella motalità ad intervalli ti consente di avere 8 confronti abilitati durante il movimento dell'asse

3) nel CQM1 scheda CT21 ha le uscite in "tempo reale" comandate dalla scheda in funzione degli intervalli

4) nel CJ1 gli intervalli possono eseguire delle task in interrupt

5) il ciclo di scansione è più breve. Questa afferamazione dipende comunque dall'applicazione.

Ho utilizzato questa istruzione nel CPM2A per gestire un solo asse. Se D è la posizione in impulsi da raggiungere, calcolo una serie di intervalli associati a D in base a dei parametri. Es. se S è la misura del semi-intervallo di stop, allora calcolo [D-S,D+S]. Tutti questi intervalli definiscono una tabella che è eleborata dalla CTBL. Le risposte della CTBL sono dei bit che rappresentano il risultato del confronto tra il valore attuale dell'HSC con i vari intervalli. Questi bit mi permettono di gestire il movimento definendo il senso di marcia e le velocità. Questi valori sono direttamente in impulsi. La rappresentazione in mm è verso l'esterno cioè verso il pannello operatore. In pratica il valore che viene visualizzato sul pannello è in mm ma quello elaborato internamente è in impulsi.

Interessante la tua soluzione di 3 ingressi encoder sullo stesso canale HSC. Potresti descriverla meglio ?

Ciao

Lorenzo

Link al commento
Condividi su altri siti

Premetto che non ho in questo momento il tempo per fare una prova pero' di primo acchito ti posso dire

1) che anch'io ho usato l'encoder con le CMPL

2) c'e' la seguente istruzione

BINL(58) - Double BCD to Double Binary

Differentiated variant available.

Purpose:

Converts an eight digit number in S and S+1 into 32-bit binary data and outputs the converted data to R and R+1.

Ranges:

S: 1st source word IO, AR, DM, HR, TC, LR

R: 1st result word IO, AR, DM, HR, LR

Availability:

C200H, C200HS, CPM2, CQM1, CQM1H, C1000H, C2000, C2000H, IDSC and C200HX Family.

che dovrebbe convertirti i due canali consecutivi da BCD a BINARIO , a quel punto penso che puoi fare quello che ti serve.

Se trovo del tempo provo e ti faccio sapere qualche cosa di piu'.

Ciao :)

Link al commento
Condividi su altri siti

Grazie a tutti per le informazioni,ora sono un po preso perche devo provare la macchina,appena posso vi faccio sapere come é andata e come ho collegato 3 encoder sull'unico HSC...e sopratutto se funziona...

CIAU.. :P

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