Vizitator andries_andreea Postat Februarie 11, 2007 Partajează Postat Februarie 11, 2007 Am de implementat un program intr-un PLC.M-am "lovit" de urmatoarea problema:- am o intrare analogica de 4-20 mA pt o putere de la 0 la 700kW- o alta intrare analogica de 4-20 mA pt o putere de la 0 la 1500kW- ideea este ca trebuie sa fac printre altele si o diferenta a acestor doua puteri(semnale).- problema consta in faptul ca atunci cand fac diferenta celor doua puteri, daca acestea transmit 350kW si respectiv 750kW rezultatul va fi 0, deci eronat. PLC-ul pe care il folosec citeste intrarile analogice pe 12 biti.Cred ca tre sa fac o functie de scalare sau cam asa cv., dar nu stiu exact cum. :prayer: :supz: Link spre comentariu
cirip Postat Februarie 11, 2007 Partajează Postat Februarie 11, 2007 Pai si ce mare fromaj? Tre' sa nascocesti 2 functii de gr. intai care sa faca scalare/shiftare. Sa o luam pe prima. Cauti o functie de forma:y=a*x+bsi stii doua puncte de pe graficul functiei:x1=4; y1=0x2=20; y2=700Scrii sistemul de ecuatii:y1=a*x1+by2=a*x2+bSi rezolvi in a si b. a este panta, iar b este ordonata la origine. Functia este complet definita. Pa Ilie!Similar ptr cealalta scalare.Spor!Cirip Link spre comentariu
Vizitator andries_andreea Postat Februarie 12, 2007 Partajează Postat Februarie 12, 2007 Multumesc pentru idee.Totul merge bine. Insa am o mica problema. Panta mi-a dat cu virgula, iar PLC-ul TWIDO de la schneider nu stie de virgula.Am defeinit doua constante care impartite au rezultatul egal cu panta, iar in timpul rularii rezultatul este 0 sau 1.Are cineva vreo idee. Cum pot scapa de virgula asta blestemata. Link spre comentariu
cirip Postat Februarie 13, 2007 Partajează Postat Februarie 13, 2007 Pai... la fel de simplu :yawinkle: Sa zicem ca panta iese de 0.427. Amplifici cu o putere a lui 2 si o sa rezulte o fractie de forma 0.427*2^n/2^n. Efectuezi inmultirea la numarator si o sa rezulte un intreg oarecare, sa-i zicem M. Inmultirea ta cu panta zecimala se va transforma intr-o inmultire cu M si o shiftare la dreapta cu n biti. Cu cat n e mai mare, cu atat precizia e mai mare, dar trebuie alocati mai multi biti ptr stocarea operanzilor. Ai grija si la posibilitatea aparitiei depasirilor (overflow).Ce zici? Se leaga?Cirip Link spre comentariu
Vizitator Postat Februarie 13, 2007 Partajează Postat Februarie 13, 2007 Cu echipamente Schneider nu am lucrat, doar cu cele GE, dar pana acum nu am intalnit nici un model de PLC GE care sa nu stie sa faca scalari si translatari, chiar daca lucra numai cu numere intregi.Eu zic sa vezi mai intai documentatia producatorului, ce vrei tu este o problema banala, care se intalneste la tot pasul in energetica si nu esti prima persoana care da peste asa ceva. Vezi manualele pentru ca sigur gasesti acolo o rezolvare clasica si eleganta, asa cum a gandit-o producatorul echipamentului. Link spre comentariu
Postări Recomandate
Creează un cont sau autentifică-te pentru a adăuga comentariu
Trebuie să fi un membru pentru a putea lăsa un comentariu.
Creează un cont
Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!
Înregistrează un nou contAutentificare
Ai deja un cont? Autentifică-te aici.
Autentifică-te acum