Vai al contenuto
PLC Forum


Subroutine Con Parametri Di Ingresso E Uscita - Le FC/FB di Siemens ...


MrC

Messaggi consigliati

Non riesco a capire come si possa passare a una subroutine delle variabili di ingresso,

e come questa possa lavorare su delle variabili di uscita ...

Se non si può, e devo lavorare su variabili globali, a cosa servono le subroutine ???

Link al commento
Condividi su altri siti


A parte che sei nel forum Omron, comunque devi usare le db di istanza le quali memorizzano i valori delle variabili.

Modificato: da STEU
Link al commento
Condividi su altri siti

Lo so che sono nel forum di Omron ...

devo essermi spiegato male ... sorry ... è venerdì anche x me B)

Usando abitualmente Siemens, mi chiedevo come fare con Cxprogrammer delle funzioni che abbiano delle variabili di ingresso e delle variabili di uscita, e se ciò non si può fare, che senso abbiano a sto punto le subroutine per omron ...

Link al commento
Condividi su altri siti

Ciao MrC

In Omron le subroutine ti permettono di evitare di dover scrivere amgari dieci volte la stessa parte di ladder in più punti del programma, ma di scriverla una volta sola (la parte di ladder) e di richiamarla dieci volte.

Le subroutine operano direttamente sulle aree dati, quindi in teoria è possibile dire che i 'parametri' sono i valori che scrivi sui canali letti dalle istruzioni della subroutine (e sai quali sono) prima di chiamarla e le uscite sono i valori che la subroutine modifica dopo la sua esecuzione. In questo modo una subroutine può essere vista quindi come una vera e propria funzione....

Esempio scemo:

La subroutine elabora il contenuto di un canale (ad es DM0) secondo una certa costante (DM5) e trasferisce il risultato dei suoi calcoli sul DM50.

Prima di chiamarla tu 'passi' il valore da elaborare e la costante muovendo il valore sul DM0 e la costante sul DM5; fai la chiamata e ti ritrovi il valore elaborato nel DM50...

Lo so, il venerdì è difficile essere chiari... ma spero di esserti stato di aiuto! :D

Ciao!!

Link al commento
Condividi su altri siti

Puoi usare la MCRO (macro). Con questa istruzione chiami una subroutine passando i dati in ingresso e prelevando i risultati.

Non è disponibile in tutte le cpu, ti consiglio di dare un'occhiata al manuale. Io l'ho usata con on CJ1.

Ciao

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