rochkets Inserito: 11 febbraio 2022 Segnala Inserito: 11 febbraio 2022 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
acquaman Inserita: 11 febbraio 2022 Segnala Inserita: 11 febbraio 2022 Siemens non utilizza Codesys, è meglio che riapri il post in una sezione di plc che usano il codesys.
marco1278 Inserita: 11 febbraio 2022 Segnala Inserita: 11 febbraio 2022 C'è qualcosa che non mi quadra 🤔 Che variabile hai associato al pulsante? Metti la dichiarazione delle variabili
rochkets Inserita: 17 febbraio 2022 Autore Segnala Inserita: 17 febbraio 2022 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
bleny Inserita: 17 febbraio 2022 Segnala Inserita: 17 febbraio 2022 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
marco1278 Inserita: 17 febbraio 2022 Segnala Inserita: 17 febbraio 2022 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
drn5 Inserita: 17 febbraio 2022 Segnala Inserita: 17 febbraio 2022 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....
Marco00 Inserita: 17 febbraio 2022 Segnala Inserita: 17 febbraio 2022 Ciao, Hai messo in ciclica sia il task pou e la visu? all'END_IF manca il ;
Messaggi consigliati
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 accountAccedi
Hai già un account? Accedi qui.
Accedi ora