Vai al contenuto
PLC Forum

Partecipa anche tu alla Live su Youtube martedì 28/01/2025 per festeggiare i 24 anni di PLC Forum

Per ulteriori informazioni leggi questa discussione: https://www.plcforum.it/f/topic/326513-28012025




funzione codesys


Messaggi consigliati

Inserito:

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


Inserita:

Siemens non utilizza Codesys, è meglio che riapri il post in una sezione di plc che usano il codesys.

Inserita:

C'è qualcosa che non mi quadra 🤔

 

Che variabile hai associato al pulsante? 

Metti la dichiarazione delle variabili

Inserita:
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

Inserita:

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

Inserita:

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

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

Inserita:

Ciao,

Hai messo in ciclica sia il task pou e la visu?

all'END_IF manca il ;

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