gigifactotum Inserito: 13 febbraio 2007 Segnala Share Inserito: 13 febbraio 2007 Premessa: non sono un esperto di plc e ringrazio per la pazienza in anticipoHo provato la TCMP(85) - Table CompareHo memorizzato 5 valori dalla DM6144 in poi, scrivendoli direttamente in memoria con il CX programmer. dopo aver attivato la codifica BCD (tramite Alt+C)Nella DM13 ho messo il mio valore da confrontare ( in UINT_BCD).Risultato: nulla, un bellissimo 0Se nella DM6145 ho il valore 1234 e cosi' pure nella DM13, la mio word di risultato (ad esempio IR220) dovrebbeavere il secondo bit a 1. Invece nulla!Cambio sistema, uso la CMP (ne uso 5, in luogo della TCMP) LD 208.03OUT TR0CMP(20) RegistroComando AzzeraANDNOT P_EQL'ANDNOT P_EQ e' sempre true, ovvero i numeri in registroComando e la costante(NUMBER) azzera non risultano mai ugualiProvo a scrivere la mia Azzera nella tabella dei simboli come #1234 e come 1234. Leggo la guida in linea (che e' orrenda!!) leggo il manuale di prgrammazione cartaceo. Risultato: non riesco a far capire al PLC che il 1234 nella DM13 e' lo stessodella Tabella(per la TCMP) e per la costante numerica di tipo NUMBER.La guida dice a proposito di NUMBER: '#' - un valore esadecimale. Questo deve essere utilizzato quando si inserisce un valore per un operando di tipo BCD. Poi prosegue con una nota che prima afferma una cosa e poi la nega(???). Insomma, Come si fa a trattare costanti simboliche e aree DM con lo stesso tipo di dati (BCD)?Grazie per la risposta Link al commento Condividi su altri siti More sharing options...
Soundtechsystem Inserita: 13 febbraio 2007 Segnala Share Inserita: 13 febbraio 2007 peril cmp se guardi il flag di eq, non lo vedrai mai funzionare, devi appoggiarlo con una bobina magari usando un Hr od un Cio,per il tcmp, adesso non mi ricordo, adesso qui non ho cx programmer.. magari domani... Link al commento Condividi su altri siti More sharing options...
bitstop Inserita: 13 febbraio 2007 Segnala Share Inserita: 13 febbraio 2007 (modificato) effettivamente con questo capitolo, il cx-programmer fa un po' caos.Il vecchio Omron era solo BCD, il nuovo Omron tende ad andare versoe HEX, ma la visualizzazione dei dati è un confusionata.La compare o la Table compare non fanno differenza tra BCD o HEX, ma devi verificare che entrambi i dati siano stati inseriti nella medesima maniera.Prova a scrivere MOV #1234D13e MOV #1234D6144e po confrontale.Vedrai che 255.6 sarà ON (ma come dice sound... devi appoggiarla ad una variabile poichè il 255.6 è influenzato da diverse istruzioni) Modificato: 13 febbraio 2007 da bitstop Link al commento Condividi su altri siti More sharing options...
gigifactotum Inserita: 14 febbraio 2007 Autore Segnala Share Inserita: 14 febbraio 2007 Grazie per le risposte, oggi pomeriggio provero'.Ieri ero molto demoralizzato, ma poi la notte porta consiglio e ho pensato che potevo, prima di scrivere sul forum, esaminare i contenuti delle DM non in modo BCD, ma binario, per vedere se i bitserano uguali.Riguardo al flag, certo... non lo vedrei mai attivo, visto l'uso che ne viene fatto internamente.Il problema e' che l'operazione a cui esso e' immediatamente legato dopo il confronto non si comporta comedovrebbe se i valori fossero uguali.Comunque oggi provero' sul campo.Grazie Link al commento Condividi su altri siti More sharing options...
Messaggi consigliati
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 accountAccedi
Hai già un account? Accedi qui.
Accedi ora