Vai al contenuto
PLC Forum


funzione codesys


rochkets

Messaggi consigliati

salve, ho scritto una funzione banale per far si che con 4 pulsanti si potesse accendere una lampadina, controllato tutte le variabili, collocato le variabili dentro i blocchi funzione della visualizzazione ma non succede nulla.

 

 

IF (i_xPulsante1c = 1 OR i_xPulsante2c OR i_xPulsante3c OR i_xPulsante4c)
    AND q_xluce4p = TRUE
    AND i_imode = 1
    AND xBlocco = FALSE
    THEN
    q_xluce4p:= FALSE;
    xblocco:= TRUE;
    
END_IF


IF (i_xPulsante1c = 1 OR  i_xPulsante2c OR i_xPulsante3c OR i_xPulsante4c)
    AND q_xluce4p = FALSE
    AND i_imode = 1
    AND xBlocco = FALSE
    THEN
    q_xluce4p:= TRUE;
    xblocco:= TRUE;
END_IF

//-----------------------------------------------------------------------------

IF i_xPulsante1c = 0 AND  i_xPulsante2c = 0 AND i_xPulsante3c = 0 AND i_xPulsante4c = 0
    THEN
    xblocco := FALSE;
    
END_IF

pulsanti.PNG

Link al commento
Condividi su altri siti


Il 11/2/2022 alle 21:13 , marco1278 ha scritto:

C'è qualcosa che non mi quadra 🤔

 

Che variabile hai associato al pulsante? 

Metti la dichiarazione delle variabili

 

quotazione.PNG

Link al commento
Condividi su altri siti

Non conosco Codesys e quindi sparo più o meno a caso, ma nelle due sequenze degli OR non dovresti dichiarare espressamente cosa verifichi anche per i pulsanti 2, 3 e 4?

IF (i_xPulsante1c = 1 OR i_xPulsante2c = 1 OR i_xPulsante3c = 1 OR i_xPulsante4c = 1)

Poi magari metterei tra parentesi anche la sequenza degli AND (però non so se sintatticamente sia strettamente necessario).

Chiedo scusa se ho detto una boiata....

Ciao.

 

Massimo

Link al commento
Condividi su altri siti

Se dichiari i pulsanti come BOOL non devi fare confronti. 

Già di loro possono essere veri o falsi. 

 

Cosa vorresti fare con questa funzione? 

Non riesco a capire la logica

Link al commento
Condividi su altri siti

5 ore fa, bleny ha scritto:

i_xPulsante1c

queste benedette variabili i_xpulsante1,2,3,4 a quale evento sono associate? alla pressione ? al rilascio ? o sono dei filpflop ?

E poi xblocco q_xluce4 chi li inizializza?

A naso sembra codice un pò confuso....

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