Vai al contenuto
PLC Forum


S7-1200 Formula in SLC


verbaweb

Messaggi consigliati

buongiorno ragazzi, ho una formula un po complessa da implementare su un s7-1200, premetto che non ho mai lavorato con funzioni matematiche ne in SLC.

 

Vorrei quindi chiedervi lumi su come agire.

Gli rBametek_1.....rBametek_n sono delle costanti

i PPM sono valori che acquisisco tramite 4-20ma

Lnp posso definirla anch'essa una costante 

 

Ho allegato un file dove la casella in rosso è il risultato della foruma che mi serve implementare.

 

qualcuno saprebbe darmi una mano?

 

grazie milleee

 

 

 

Link al commento
Condividi su altri siti


39 minuti fa, acquaman ha scritto:

Non vedo l'allegato.

DewPointFormula

 

Ho inserito questa formula ma ovviamente non riconosce il simbolo " ^ " che ho usato impropiamente per dire Elevato a:

 

 

#DPH2O:= #B0+#B1*"LNPPM"+#B2*"lnP"+#B3*"LNPPM"^2+#B4*"lnP"^2+#B5*"LNPPM"*"lnP"+#B6*”LNPPM”^3+#B7*"lnP"^3+#B8*"LNPPM"^2*"lnP"+#B9*"LNPPM"*"lnP"^2+#B10*"LNPPM"^4+#B11*"lnP"^4+#B12*LNPPM^3*"lnP"+#B13*"LNPPM"^2*"lnP"^2
#B14*"LNPPM"*"lnP"^3+#B15*"LNPPM"^5+#B16*"lnP"^5+#B17*"LNPPM"^4*"#lnP"+#B18*"LNPPM"^3*"lnP"^2+#B19*"LNPPM"^2*"lnP"^3+#B20*"LNPPM"*"lnP"^4

Modificato: da verbaweb
Link al commento
Condividi su altri siti

L'operando per elevare a potenza è il doppio asterisco **

 

Nella tua formula dove sei andato a capo credo manchi un + e manca il punto e virgola finale.

L'elevazione a potenza funziona solo con i numeri reali, occhio alle eventuali conversioni in caso di utilizzo con i numeri interi hai una segnalazione di possibile perdita di precisione.

Modificato: da acquaman
Link al commento
Condividi su altri siti

Visto il numero di cifre dopo la virgola, i calcolo falli in longReal e poi converti il risultato in real se no predi risoluzione

Link al commento
Condividi su altri siti

1 ora fa, acquaman ha scritto:

Non vedo l'allegato.

 

50 minuti fa, acquaman ha scritto:

L'operando per elevare a potenza è il doppio asterisco **

 

Nella tua formula dove sei andato a capo credo manchi un + e manca il punto e virgola finale.

L'elevazione a potenza funziona solo con i numeri reali, occhio alle eventuali conversioni in caso di utilizzo con i numeri interi hai una segnalazione di possibile perdita di precisione.

Grazie mille

Link al commento
Condividi su altri siti

Va be ho fatto 30

 

#DPH2O := LREAL_TO_REAL(#B0 + #B1 * "LNPPM" + #B2 * "lnP" + #B3 * "LNPPM" ** 2 + #B4 * "lnP" ** 2 + #B5 * "LNPPM" * "lnP" + #B6 *"LNPPM"  ** 3 + #B7 * "lnP" ** 3 + #B8 * "LNPPM" ** 2 * "lnP" + #B9 * "LNPPM" * "lnP" ** 2 + #B10 * "LNPPM" ** 4 + #B11 * "lnP" ** 4 + #B12 * "LNPPM" ** 3 * "lnP" + #B13 * "LNPPM" ** 2 * "lnP" ** 2 +
                        #B14 * "LNPPM" * "lnP" ** 3 + #B15 * "LNPPM" ** 5 + #B16 * "lnP" ** 5 + #B17 * "LNPPM" ** 4 * "lnP" + #B18 * "LNPPM" ** 3 * "lnP" ** 2 + #B19 * "LNPPM" ** 2 * "lnP" ** 3 + #B20 * "LNPPM" * "lnP" ** 4);

Link al commento
Condividi su altri siti

Gli spazi! Vogliamo mettere gli spazi? Non servono al compilatore, ma rendono la formula leggibile. Così come si presenta, non provo nemmeno a leggerla.
Sarebbe meglio poi spezzare il calcolo in più parti, sempre per miglioarne la leggibilità e l'eventuale debug.
Come ha precisato Acquaman, occhio al formato delle variabili. Per non rendere ancora più illeggibile di quanto è il calcolo, sarebbe meglio prima provvedere alla conversione di eventuali variabili (riportandole tutte in real), e poi inserirle nel calcolo.

Link al commento
Condividi su altri siti

15 ore fa, batta ha scritto:

Gli spazi! Vogliamo mettere gli spazi?

Sono d'accordo, ho semplicemente copiato la formula che ha postato e corretta.

Link al commento
Condividi su altri siti

21 ore fa, acquaman ha scritto:

Non vedo l'allegato.

 

20 ore fa, acquaman ha scritto:

L'operando per elevare a potenza è il doppio asterisco **

 

Nella tua formula dove sei andato a capo credo manchi un + e manca il punto e virgola finale.

L'elevazione a potenza funziona solo con i numeri reali, occhio alle eventuali conversioni in caso di utilizzo con i numeri interi hai una segnalazione di possibile perdita di precisione.

Grazie mille

 

 

 

grazie a tutti.

domanda.... con PLC SIM vorrei vedere il risultato della formula.... dove devo andare a cliccare ?:/

Link al commento
Condividi su altri siti

3 ore fa, verbaweb ha scritto:

 

Grazie mille

 

 

 

grazie a tutti.

domanda.... con PLC SIM vorrei vedere il risultato della formula.... dove devo andare a cliccare ?:/

risolto GRAZIE. in poche parole non richiamavo l'FC nel MAIN

 

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...