Page 1 of 1
[PL260] PL260 calcolo esponenziale
Posted: 10/12/2012, 21:49
by user2865
Salve, ho bisogno di fare un calcolo esponenziale del tipo VW1=VW0**C1, in altre parole elevare la variabile 0 alla potenza del contattore 1. (VW0=5 C1=2 dunque 5 alla seconda VW1=25; VW0=5 C1=3 dunque 5 alla terza VW1=125) Grazie...
Re: PL260 calcolo esponenziale
Posted: 11/12/2012, 17:19
by Pixsys tecnico 2
Salve,
ho realizzato una piccola funzione in "c" per implemetare la sua richiesta.
Le allego programma con l'esempio.
Re: PL260 calcolo esponenziale
Posted: 12/12/2012, 8:50
by user2865
Innanzitutto ringrazio per l'aiuto, e vorrei chiedervi un ulteriore aiutino. Ho guardato la funzione e da quello che ho capito è stata già settata (con #define BASE 0, etc...) per le VW0, VW1 e CW1 quindi basterebbe modificare in define i vari valori delle varie word in base a quelle utilizzate. La mia domanda è se e possibile impostare queste word ogniqualvolta viene utilizzata la funzione in quanto devo richiamarla più volte con word diverse? - Tipo: Esponenziale(VW10;VW20;CW1) e di seguito Esponenziale(VW11;VW21;CW2).
Grazie ancora
Re: PL260 calcolo esponenziale
Posted: 12/12/2012, 9:02
by Pixsys tecnico 2
In linea generale, nel PL260 è sconsigliato passare i parametri alle funzioni in C, per limitare l'uso della memoria ram che altrimenti potrebbe non essere sufficiente.
Ci sono 2 strade a questo punto, o duplica la funzione e ne fa una per ogni gruppo di variabili per cui deve calcolare l'esponenziale, oppure ne lascia solo 1, e ogni volta prima di utilizzarla carica i valori delle variabili con quelli necessari e poi prende il risultato e lo sposta dove necessario.
Spero di essermi spiegato in modo sufficientemente chiaro.
Re: PL260 calcolo esponenziale
Posted: 12/12/2012, 9:34
by user2865
Avevo pensato anch'io di moltiplicare la funzione tipo expo_1, expo_2, etc... assegnando le varie word per ogni funzione e penso che così farò in quanto l'altra possibilità mi sembra essere più complessa a livello di programmazione a lader (mi corregga se sbaglio). Questa funzione è applicabile anche con il pl250? Spero di sì. Abbia pazienza ma sono le prime volte che uso le funzioni c e non saprei che problemi possono crearmi dal punto di vista della funzionalità del sistema.
Graie mille per la vostra disponibilità.
Un ultima cosa: esiste una lista dei nomi da assegnare alle funzioni (Tipo: expo_1) che non si posso utilizzare in quanto già utilizzate?
Re: PL260 calcolo esponenziale
Posted: 12/12/2012, 9:59
by Pixsys tecnico 2
Generalmente non è necessario rilasciare la lista delle funzioni del firmware, eventualmente, dovesse capitare di scriverne una con lo stesso nome il systema segnala la corrispondenza non univoca del nome.
Re: PL260 calcolo esponenziale
Posted: 12/12/2012, 10:04
by user2865
grazie mille buone feste...
Re: PL260 calcolo esponenziale
Posted: 12/12/2012, 12:07
by user2865
Non è ancora finita. In fase di compilazione mi da il seguente errore: Errore di compilazione possibili cause:
- Sono state usate funzioni non disponibili per il PLC selezionato
- Memoria esaurita
??? In allegato il file
Re: PL260 calcolo esponenziale
Posted: 12/12/2012, 12:38
by Pixsys tecnico 2
Salve,
nel programma ladder, mancava il ";" alla fine di "Esponenziale();".
In allegato il programma corretto.