gianff Inserito: 13 luglio 2014 Segnala Share Inserito: 13 luglio 2014 dovrei ricavare la (%) percentuale di una variabile ( in testo strutturato ) esempio con calcolatrice 1000 x 70% = 700 in pratica variabile in ingresso resistenza fissa 1000w variabile in ingresso un termoregolatore mi dice che sta erogando 70% (questa variabile cambia nel tempo) variabile in uscita = potenza utilizzata effetivamente 700w non riesco a utilizzare la % in testo strutturato mentre riesco con molti altri calcoli normali ma dovrei farlo su 60 termoregolatori Link al commento Condividi su altri siti More sharing options...
Ctec Inserita: 14 luglio 2014 Segnala Share Inserita: 14 luglio 2014 Supponiamo che il valore letto da termoregolatore lo hai in Percento[n], con n da 0 a 59, puoi fare una semplicissima routine così NumTermo := 60; // Numero di Termoregolatori Letti ResFissa := 1000; // Valore fisso FOR n := 0 TO (NumTermo - 1) DO Potenza[n] := (ResFissa * Percento[n]) / 100; END_FOR; In Potenza[n] avrai convertito il valore di ogni percentuale in watt. Link al commento Condividi su altri siti More sharing options...
gianff Inserita: 14 luglio 2014 Autore Segnala Share Inserita: 14 luglio 2014 (modificato) cosi faccio fatica non so definire ingressi/uscite/interne ti dico quello che utilizzo adesso CP1L-EM + EJ1N-TC4....celciux ------ R1..... resistenza ( ingresso ) UINT ..sarebbero diverse taglie da 100w.....8000w P1..... percentuale ( ingresso) UINT ... sarebbe 0%.100,0% D1..... divisore ( interna ) UINT U1......risultato ( uscita) UINT attualmente in via limitata per i numeri che a un ceto punto oltrepassano il 65535 / e perdo anche i valori dopo la virgola eseguo D1=:R1/100; ( R1 resistenza diviso 100 ) il 100 sarebbe la percentuale massima ipotetica !! e ottengo un divisore D1 U1=:D1*P1; ( D1 divisore per percentuale P1 ) ottengo la potenza utiliizata inviata a U1 esempio 1000w : 100 = 10...(D1) divisore (D1) 10 * ( P1 )50..% = 500W.......... D1*25..%=250W ......D1*15..%=150W non esiste proprio la % in OMRON ST. Modificato: 14 luglio 2014 da gianff Link al commento Condividi su altri siti More sharing options...
Ctec Inserita: 15 luglio 2014 Segnala Share Inserita: 15 luglio 2014 Ah, aspetta. Sul CP1 non puoi scrivere il software in linguaggio strutturato, puoi farlo solo nelle FB. Visto che parlavi di ST davo per scontato che avevi un CJ. Il CP1 non gestisce il passaggio di matrici alle FB, per cui lascerei perdere l'uso della FB in testo strutturato. Inoltre non si può usare l'indirizzamento indiretto passando puntatori. Comunque sia, io lavorerei con le matrici a prescindere (intese come aree sequenziali di dati omogenei). I valori delle resistenze li metti in una matrice di INT (indice 0-59), che immagino sia costante, quindi magari ne assegni i valori alla prima scansione. Chiamiamola Resistenze[0..59] in D0-D59 Poi i valori di percentuale letti dal termoregolatore li metti in una matrice di INT (indice 0-59), chiamiamola Percento[0..59] in D100-D159. Il risultato lo ritroveremo in un'altra matrice di INT chiamata Potenza[0..59] in D200-D259. Definisci questi simboli nella relativa tabella. Poi ti crei tre puntatori alle prime word di ciascuna delle tre matrici, pRES, pPERC e pPOT relativamente. Quindi se esegue un loop FOR in ladder (non si può usare nelle FB, per cui lascialo fuori) con un paio di registri di appoggio per i valori intermedi Ecco l'esempio, testato e funzionante Link al commento Condividi su altri siti More sharing options...
gianff Inserita: 15 luglio 2014 Autore Segnala Share Inserita: 15 luglio 2014 (modificato) ci provo non vedo la prima rung ( oppure non serve) idem i commenti ----- con CP1L-EL sto scrivendo in testo strutturato nelle prove che sto facendo !!!!! P1D:=R1/100; U1:=( P1D*P1)/100; P2D:=R2/100; U2:=( P2D*P2)/100; P3D:=R3/100; U3:=( P3D*P3)/100; P4D:=R4/100; U4:=( P4D*P4)/100; PERCENT:= U1+U2+U3+U4; Modificato: 15 luglio 2014 da gianff 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