Vai al contenuto
PLC Forum


Parametri IN/OUT FB


cdc

Messaggi consigliati

Ciao,

abbiamo convertito un software da S7-300 a TIA Portal V14 sp1 update 9 con CPU1516.

In questo sofware abbiamo diverse FB con DB Multi-istanza, al cui interno richiamiamo altre FB.

A queste FB "secondarie" passiamo come parametro IN/OUT un UDT diverso  contenuto in una DB globale.

 

Questo è un esempio:

image.png.379734ae4392af62de3c0aedc62cb77c.png

 

Dentro alla FB ParamINOUT è dichiarato di tipo uguale all'UDT in ingresso

image.png.15c9318de70880e7245d34411df796f0.png

 

Questi UDT contengono le variabili  associate ai pulsanti (stato pulsante = letto dal PLC e abilitazione pulsante = scritto dal PLC) del pannello HMI (non Siemens).

Succede che a volte, premendo un pulsante sul pannello e togliendo il dito, questo rimanga premuto, e solamente ripremendolo un'altra volta si sblocca.

Abbiamo verificato nel PLC ed effettivamente quando rimane premuto, la variabile associata al pulsante nell'UDT è alta.

E' come se il PLC si fosse perso l'evento dall'HMI di azzerare la variabile associata alla pressione del pulsante e solamente con una seconda pressione venga fatto un refresh dello stato della variabile.

 

Lo stesso software HMI con lo stesso software in S7-300 funziona correttamente (non è mai successo che un pulsante rimanesse premuto).

Sullo stesso pannello, abbiamo altri pulsanti  le cui variabili sono contenute in DB (senza UDT) che non vengono passate a FB, i quali non si bloccano mai.

Questo dovrebbe escludere un problema legato al driver di comunicazione del HMI

 

Potrebbe essere che con le CPU1500 quando la FB viene eseguita, il sistema faccia una copia locale di questi parametri IN/OUT e quando finisce riscrive la copia locale sull'UDT ?

Se fosse così, se l'evento di azzerare della variabile dal driver dell'HMI arriva mentre è in esecuzione la FB, la variabile rimarrebbe allo stato in cui era prima dell'esecuzione della FB (quindi se il pulsante era premuto, rimane premuto).

Mi ricordo però di aver letto che i parametri IN/OUT di una FB sono passati per riferimento (puntatore ad un'area di memoria) e quindi teoricamente questo escluderebbe il problema.

Cosa potrebbe determinare questo tipo di malfunzionamento?

 

Grazie

 

 

Link al commento
Condividi su altri siti

  • 3 years later...

So che questa domanda è molto vecchia, ma sono particolarmente interessato all'argomento. Nella traduzione da un sistema S5 ad un sistema S7-1500, nella traduzione di alcuni FB con richiami annidati, sto riscontrando simili problematiche sporadiche di aggiornamento dei bit in maniera "random". Per caso avete poi risolto in qualche modo?

Link al commento
Condividi su altri siti

sei un nuovo utente che, quasi certamente, ha accettato il regolamento senza leggerlo. Se lo avessi fatto sparesti che non ci si può accodare ad altre discussioni, anche per problemi similari. Si deve aprire sempre una nuova discussione.

Inoltre questa è una discussione che non ha attività da oltre utre anni, quindi difficilmente avresti risposte.

Link al commento
Condividi su altri siti

  • Livio Orsini locked this discussione
Ospite
Questa discussione è chiusa alle risposte.
×
×
  • Crea nuovo/a...