Vai al contenuto
PLC Forum


Numeri Negativi - Sembra ma....


Goretti

Messaggi consigliati

:rolleyes:

Ciao ragazzi. Come va?

Ho di nuovo una domanda per Voi.

Sto sempre perfezionando la pesatura elettronica e mi servirebbe poter visualizzare anche numeri negativi. Ovvero, carico le celle nella direzione indicata e tutto bene, ma se le tocco nel senso opposto, mi danno il fondo scala impostato (9999) e questo mi da dei problemi nel software del PLC. Uso per scalare i valori della cella la funzione SCL. Ho provato con la SCL2, imposto l'offset, deltaX e deltaY. però il valore che poi vedo a pannello, non è più reale, e comunque va rielaborato per essere corretto. Vi chiedo, avete già affrontato questo problema? Come risolverlo?

Francesco

Link al commento
Condividi su altri siti


per sapere se il tuo numero è negativo devi appoggiare sotto alla tua funzione il flag di negativo ad una bobina.

Quando la bobina va a 1 vuol dire che hai effettuato un'operazione con risultato negativo.

Per sapere efffetivamente il risultato reale devi sottrarre il valore ottenuto a zero

esempio : devo fare 4-5 =x >>>si attiva il flag di negativo ed il risultato di x sara 9999

poi fai 0-9999 allora il risultato sara 1 ,come valore assoluto

Link al commento
Condividi su altri siti

ciao goretti,

scusa che tipo di plc stai usando???

se stai usando un cj1 perhce non fai tutto in virgola mobile ( floating ) in questo modo non avrai piu problemi di visualizzazione di dati positivi e negativi

saluti

buon lavoro

Arnaldo

Link al commento
Condividi su altri siti

ciao,

non devi usare ne scl o scl2,queste sono scalature standard ereditate dai vecchi plc per mantenere una continuita con vecchi software ( lavorano in bcd,oggi il cj1 lavora tutto in hex sfruttalo cosi che e molto meglio).

per la virgola mobile ti devi costruire una blocco funzione ( tra l'altro sono molto comodi) che :

1) converti l'ingresso analogico in floating

2) imposti i limiti min e max dell'ingresso analogico

3) imposti i limiti min e max dell'uscita linearizzata

4) uscita linearizzata in floating che ti visualizza il tuo dato in real.

saluti

buon lavoro

Arnaldo

Link al commento
Condividi su altri siti

Ciao

Io ho il CP1L.

mi potresti dare alcune dritte sul blocco funzione da creare?

Grazie mille

Francesco

Modificato: da Goretti
Link al commento
Condividi su altri siti

Ciao Azzolini

Allora ho convertito l'ingresso in floating, però ora non riesco a impostare il massimo e il minomo dell'ingresso analogico per definire la caratteristica della cella!

Grazie mille

Link al commento
Condividi su altri siti

Visto che devi scalare l' ingresso analogico in cui è collegata una cella di carico per calcolare la scalatura corretta dovrai mettere sulla bilancia un peso campione noto che sia almeno la metà della portata della bilancia, per avere una buona precisione, un paio di anni fa ho fatto un FB che fa questo,

Tutte le variabili sono in virgola mobile

(* Quando alto l'ingresso muovo il valore per definire lo zero bilancia vuota*)

if Set_valore_x_Zero = true then

VZ_Out := S_IngressoValore;

end_if;

(* Quando ingresso alto calcolo la costante per linearizzazione dopo avere inserito il valore del peso campione*)

if Calcola_Costante = true then

X_Out := S_IngressoValore - VZ_ing;

K_Out := PC_Ing / X_Ing;

end_if;

(*linearizzazione del valore del segnale in ingresso S*)

SR_Calcolo := S_IngressoValore - VZ_ing;

PR_Out := SR_Calcolo * K_Ing;

Nota: questo FB l' ho scritto quando non erano supportate le variabili ingresso/uscita

Con poche righe di codice puoi crearti un FB che ti fa la scalatura e taratura della bilancia

Ciao

Modificato: da bele
Link al commento
Condividi su altri siti

grazie bele

non ho nessuna esperienza con i blocchi di funzione da creare.

HO scritto il testo che mi hai mandato, nel blocco funzione nuovo. dopo di che dovrei andare a definire ingressi e uscite, ma non ho idea di come proseguire.

se hai tempo e voglia, dammi più informazioni!

Grazie mille!

Francesco

Link al commento
Condividi su altri siti

Ecco come si presenta l' FB

il Bit W461.00 fa lo zero della bilancia (pulsante di zero)

il Bit W461.08 fa la calibrazione(pulsante di calibrazione) ovviamente va caricato il peso campione sulla bilancia

D1000 è il valore analogico che viene dalle celle opportunamente convertito in virgola mobile

D1050 è il valore del peso campione

D2000 è il valore del peso reale processato dall' FB

Ovviamente una volta fatta la calibrazione i Bit W461.00 e 461.08 devono rimanere a zero

Tutte le altre variabili in ingresso e in uscita sono per i calcoli interni dell' FB e vanno comunque appoggiate a delle DM

ora ha quasi tutte le informazioni, non ti rimane che dichiarare le variabili nell' FB

provaci se poi proprio non riesci mandami la tua email con un MP che ti giro l' FB

Modificato: da bele
Link al commento
Condividi su altri siti

Personalmente credo vi stiate un po' complicando la vita... :rolleyes:

Di solito un dato proveniente da un'analogica è un dato intero con segno. Bene. Se il tuo problema è di visualizzare questo dato riscalato e con qualche decimale, e il pannello che usi è un NS, puoi applicare il fattore di scala direttamente a livello del numeral input che visualizzerà il dato, e anche specificare il numero di decimali che intendi visualizzare dopo la scalatura. Conversioni in floating point e function block mi sembrano un tantitno esagerati!!!!

Se invece il pannello non ha funzioni di scalatura allora realizzerei la conversione con il ladder (di solito basta una * e una /). Poi i decimali li puoi sicuramente gestire dal pannello

Ad esempio la mia analogica converte lo 0-10V in un numero intero con segno che va da 0 a 4000.

Per vedere questo numero come un numero che va da 0 a 10,00 V sul pannello, lo divido per 4 nel PLC e sul pannello imposto due cifre decimali (in modo da vedere ad esempio il 500 che corrisponde a 5V (2000/4) come 5,00)

Semplice no??? ;)

Ciao!

Modificato: da edogol
Link al commento
Condividi su altri siti

Personalmente credo vi stiate un po' complicando la vita... rolleyes.gif
Conversioni in floating point e function block mi sembrano un tantitno esagerati!!!!

Se noti bene il function block non esegue solamente la scalatura del valore analogico, ma anche la taratura della bilancia

quindi a mio avviso (che può essere certamente discutibile) l' uso di un FB non mi sembra affatto esagerato, dato che con poche righe di codice si ottiene un risultato che se lo facessi senza FB e in ladder dovresti scrivere parecchio di più.

Goretti scrive

Sto sempre perfezionando la pesatura elettronica e mi servirebbe poter visualizzare anche numeri negativi.

Ho proposto a Goretti questa soluzione perchè parla di scalatura di un analogica su una bilancia, prima o poi il problema della taratura della bilancia va affrontato

io personalmente non faccio mai scalature su pannelli o scada preferisco utilizzare sempre il PLC per qualsiasi operazione matematica, maggior sicurezza e maggior velocità ovviamente anche questa è un opinione personale.

Ciao

Link al commento
Condividi su altri siti

Un ultimo appunto

Ad esempio la mia analogica converte lo 0-10V in un numero intero con segno che va da 0 a 4000.

Per vedere questo numero come un numero che va da 0 a 10,00 V sul pannello, lo divido per 4 nel PLC e sul pannello imposto due cifre decimali (in modo da vedere ad esempio il 500 che corrisponde a 5V (2000/4) come 5,00)

Semplice no??? wink.gif

Guarda che quì non si tratta di dividere per 2 o per 4 sarebbe semplice come dici, ma siccome si tratta di un peso sarà ben difficile che la tua costante sia un numero intero ma sarà certamente un numero con la virgola, quindi..... floatig point

poi tu parli di 0-10 V ma se vai a 4-20 mA nella scalatura devi tenere conto dell' offset 0-4mA che equivalgono ai primi 800 punti della tua analogica 0-4000 ed ecco che la divisione per 4 non va più bene.

in definitiva quell' FB "che complica la vita" in realtà la semplifica :) :) :)

Ancora domani poi in Ferie finalmente !!!!!!

Ciao

Modificato: da bele
Link al commento
Condividi su altri siti

Ciao ragazzi.

In realtà, io ho finito la pesatura e con ottimi risultati, visto che ne ho vendute 8 in una settimana.

Per il discorso taratura ho fatto tutti i calcoli con il PLC, ho fatto tutto col il PLC, niente con il pannello. Ogni passaggio viene elaborato dal PLC.

Siccome adesso sono qui a perfezionare il sistema, vorrei poter visualizzare anche i numeri negativi e stampare i dati che mi interessano con una stampante.

Per i numeri negativi, grazie a Bele, ho risolto in modo molto intelligente la questione e sono molto contento, tanto che appena la release del software PLC sarà completa, la installerò su tutte le pesature vendute.

Per la stampa, sono invece ancora in alto mare, non trovo la stampantina che mi interessa, ovvero la consegna è a 30 giorni lavorativi, che con ferie e caxxi e mazzi arriverà a 60. E poi devo ancora fare delle prove per

stampare dal PLC.

comunque volevo davvero ringraziare chi ha voglia, tempo e chi si mette a disposizione di chi ha bisogno sul forum. Molte volte chi non ha tanta esperienza, si perde in un bicchiere d'acqua.

Grazie mille ancora, grazie Bele e a tutti!

Buon lavoro

Francesco

Link al commento
Condividi su altri siti

  • 1 month later...

grazie mille bele!!!!!

però una cosa!!!!!!

faccio la taratura e tutto ok,

se però spengo e riaccendo il sistema devo rifare la taratura. non posso permettermelo in questo caso. Si può far in modo che se salta la corrente, il sistema riparta da quando si è spento??

grazie mille

Francesco

Link al commento
Condividi su altri siti

ciao,

ok,allora guarda che se sono su dm e all'accensione te le trovi a zero bisogna che tu abbia qualcosa che te le azzera al primo ciclo,

ai fatto percaso qualche sabrutine di azzeramen to all;accensione???

Oppure sul pannello ns ai settato qualche valore di partenza che tutte le volte all'accensione lui ti trasferisce lo zero??

guarda bene il settaggio del ns

ciao

Arnaldo

Link al commento
Condividi su altri siti

:P ah si scusa, avevo i valori sulla memoria W!!!!! che asino!!!!!!!

Grazie ancora!!!!!

Ti chiedo ancora una cosa!!!!

devo realizzare un quadro importante per il controllo di una macchina pesatrice. Pensavo ad un PC industriale, ma non ho mai avuto l'occasione di lavorarci. Che differenze ci sono da un PLC? che tipo di programmazione richiedono e come gestiscono ingressi e uscite?

Ti ringrazio ancora!!!!!

Buon lavoro!

Francesco ;)

Link al commento
Condividi su altri siti

Personalmente non ho mai utilizzato un PC per gestire direttamente gli I/O o sistemi di pesatura

ma puoi vedereQuì un esempio che gestisce delle bilancie tramite PC in questo caso è un sistema chiuso non è liberamente modificabile.

Io solitamente utilizzo il PC per la supervisione e il PLC in campo.

Ciao

Modificato: da bele
Link al commento
Condividi su altri siti

ciao gorreri,

quello che chiedi tu si chiamo softplc si differenziano dal plc classico perche: 1 e un pc industriale, 2 : usa il linguaggio codesys , 3: raccogli i dati da e per il campo con un bus,vuoi profibus,devicenet,modbus,canbus,dipende come compri il pc.

Tieni conto che sul pc industriale gira la piattaforma plc e la piattaforma del sistema di supervisione,in merito a questo io utilizzo movicon11 della progea sono molto soddisfatto.

Tornando al softplc come ti dicevo si programma in linguagggio codesys o iec1131 ( se ricordo bene) la cosa principale di questo linguaggio e che tieni 5 modalita di programmazione = awl - kop - fup - st - grafset, questo tipo di programmazione dovrebbe garantirti di fare un solo software e poterlo inserire in qualunque modello e marca di plc o pc che gestiscono questo linguaggio forte vero??

per adesso l'unica controindicazione a usare il codesys e con non puoi modificare il programma in online ma tutte le volte devi compilare e poi rispedire il programma al plc.

questo tipo di linguaggio in futuro sara il piu usato,anche io adesso lo uso solamente con i servoplc della lenze,altrimenti utilizzo il plc classico (mi fido di piu) connesso o con un pc e supervisione movicon11 oppure pannello operatore esa,omron,siemens,magelis chi piu na ha poiu ne metta.

questo e quanto,e chiaro che si tratto solamente di una considerazione mia personale che puo essere tranquillamente messa in discussione..

buon lavoro

saluti

Arnaldo

Link al commento
Condividi su altri siti

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 account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...