and_ga10 Inserito: 31 gennaio 2018 Segnala Share Inserito: 31 gennaio 2018 Salve, ho preso da poco un VP116. Devo inserire una funzione matematica, per semplificare supponiamo T3 =(T1 + T2)/2, dove fisso all'inizio del software i valori T1 e T2. Inserendo prima la funzione EADD, poi EDIV, il risultato lo leggo nel DATA che ho definito. T1 e T2, in quali DATA li devo inserire e come? nella EEPROM così non mi cambiano valori? come faccio? perchè mi è riuscito inserire solo valori di prova nel debugger , ma non valori fissi. Poi come mai quando nel debugger inserirsco un valore (con segno) negativo, nel debugger mi viene un numero altissimo, tipo 63400? grazie Link al commento Condividi su altri siti More sharing options...
Lucky67 Inserita: 31 gennaio 2018 Segnala Share Inserita: 31 gennaio 2018 Per prima cosa devi inserire i tuoi T1 e T2 in altrettanti DATA e lo puoi fare sia da debugger ma anche con dei mov incondizionati o con un mov associato ad esempio al sys 1°ciclo. Adesso, le operazioni E (ADD DIV SUB E MUL) prevedono tre operandi: i primi due sono i tuoi data (o una costante e un DATA) e il terzo operatore che è il risultato (che so..DATA.800 ad esempio).Quindi, la prima cosa è EADD DATA T1 DATA T2 DATA 800. Il risultato della somma è in data 800. Adesso EDIV #2 (una costante) DATA.800 DATA 801 dove 801 è il valore finale. Chiaramente le operazioni potranno essere subordinate ad eventi o essere incondizionate cioè eseguite sempre ogni ciclo di scansione del plc (sta a te deciderlo a seconda di cosa ti serve). Per quanto riguarda il discorso del negativo qui siamo all?ABC e ti consiglio di googlare la voce " COMPLEMENTO A DUE". Link al commento Condividi su altri siti More sharing options...
and_ga10 Inserita: 1 febbraio 2018 Autore Segnala Share Inserita: 1 febbraio 2018 Riguardo al discordo del negativo, ok, cercherò quel che dici, so che un bit è preso dal segno ma comunque cercherò di capire meglio. Per l'altro aspetto, ho fatto con i MOV e le funzioni matematiche, ma quando è che devo (o è meglio) salvare i valori nei DATA dopo il 4097 (memoria EPROM)? cioè, se devo fare una curva di temperatura climatica dove ho dei parametri fissi per costruirmi la curva, questi li posso inserire nella EPROM, giusto? ho visto sul manuale come si dovrebbe fare, ma non ho ben capito, dice di fare i MOV definendo l'intervallo dal data.58 al data.59 ala destinazione data....... e scelgo due valori dopo il data.4097, poi faccio un set sys. Quindi all'inizio i parametri della curva (fissi) devo salvarli nei MOV data.58...data.59?, non li posso direttamente salvare nella EPROM? e queste istruzioni, è consigliato che li metta nella prima SUB INITIALIZE ? Grazie Link al commento Condividi su altri siti More sharing options...
Lucky67 Inserita: 1 febbraio 2018 Segnala Share Inserita: 1 febbraio 2018 Senza scomodare la eeprom tieni conto che hai una 40ina di NVDATA che sono dati non volatili tamponati dalla batteria del plc. Se invece vuoi proprio utilizzare la eeprom utilizzi il metodo che hai più o meno descritto (DATA 58 DATA59 e SYS_20) e va bene farglielo fare nella prima SUB initialize o con una procedura che si attiva ad esempio solo al primo ciclo dopo l'accensione (ricordarsi che hai un limite di scrittura di circa 100.000 scritture. Un altro metodo facile è quello di immettere i dati dalle pagine del visualizzatore. Se immetti i dati da lì sono automaticamente salvati in eeprom senza procedure strane. Questo può farti comodo così puoi anche agire da plc se devi fare degli aggiustamenti sui parametri della tua curva (magari mettendo le pagine che eseguono questa funzione sotto psw). Link al commento Condividi su altri siti More sharing options...
felino Inserita: 1 febbraio 2018 Segnala Share Inserita: 1 febbraio 2018 Le locazioni da DATA.4096 a DATA.8191 sono utilizzate per il salvataggio dati in E²PROM e quindi sono data non volatili. premi qui Link al commento Condividi su altri siti More sharing options...
Lucky67 Inserita: 1 febbraio 2018 Segnala Share Inserita: 1 febbraio 2018 1 ora fa, felino scrisse: Le locazioni da DATA.4096 a DATA.8191 sono utilizzate per il salvataggio dati in E²PROM e quindi sono data non volatili. premi qui Dipende da come le scrivi...se tu fai un semplice MOV xx in DATA 4096 il dato non sarà ritenuto. Se invece lo fai come ho detto dal visualizzatore del plc, e quindi da remoto, sarà ritentivo. Se lo vuoi ritentivo da programma devi passare dalla procedua DATA 58 59 e SYS 20 Link al commento Condividi su altri siti More sharing options...
felino Inserita: 1 febbraio 2018 Segnala Share Inserita: 1 febbraio 2018 hai ragione Lucky67 , ho linkato il manuale apposta dove è spiegato chiaramente . ciao Link al commento Condividi su altri siti More sharing options...
and_ga10 Inserita: 3 febbraio 2018 Autore Segnala Share Inserita: 3 febbraio 2018 Grazie delle risposte. Ho provato a fare una curva climatica, ho definito gli estremi per esempio Tm max (con Te=-5°) = 40°, Tm min (con Te=20°) = 28°. La curva funziona ma non ho capito alcune cose, provo a spiegarmi: 1) definita nel debugger la variabile T°est di tipo INT e salvata nel DATA.4104, nel creare l'equazione ho l'operazione (20-T°est), così faccio prima un ESUB (A=20, B=DATA.4104, C=DATA 1001). Poi faccio un MUL (-1 , DATA.1001) così da avere (20-T°est). Vdo però che se Te = 3, la prima operazione doveva dare -17 mentre vedo 17, analogo alla seconda. Come mai? 2) Se ho capito bene, i numeri nel plc sono tutti interi, se definisco la variabile INT, un bit prende il segno e logicamente il numero massimo rappresentabile è la metà per segno. Se allora voglio vedere le temperature con un numero decimale, col valore reale giusto che assume, come devo impostare le variabili? devo eseguire i calcoli moltiplicando fin dall'inizio tutto per un fattore 10? quindi per esempio il plc leggere su T°mandata 393°, poi in pagina aggiungo la variabile T° mandata con la visualizzazione reale? è solo un fatto di visualizzazione, ma per il plc a quel punto il valore di TM è 393°? 3) durante il debugger, per salvare lo storico dei valori assunti dalle variabili aggiunte, mi hanno detto di spuntare "scrivi file di log" in basso, dovrebbe creare il file .txt nel percorso che si legge portandoci sopra il cursore, ma non mi salva niente. 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