tonynos Inserito: 5 maggio 2015 Segnala Share Inserito: 5 maggio 2015 Buongiorno, sto sviluppando il mio primo programma con SoMachine Basic. Dovrei creare una sequenza di accensione di circa 15 teleruttori intervallati 5 sec l'uno dall'altro. esiste un sistema per creare un "ciclo if" (come in "C++") che se il teleruttore 1 è accesso allora accende il 2 etc... oppure devo creare 15 righe separate ognuna della quali attiva un teleruttore e da il consenso al teleruttore successivo. saluti Tony! Link al commento Condividi su altri siti More sharing options...
step-80 Inserita: 5 maggio 2015 Segnala Share Inserita: 5 maggio 2015 (modificato) Ciao per soli 15 teleruttori secondo me ti conviene usare il linguaggio strutturato, ed usare il CASE per creare il tuo ciclo Esempio Dichiarazione variabili: VAR variabile_step: INT; pls_start : bool; Tempo_intervallo: TON; END_VAR LOOP CASE 'variabile_step' OF 0: IF 'pulsante_start' THEN 'Teleruttore_1' :=TRUE; Tempo_intervallo.IN:=TRUE;'variabile_step:=5; END_IF; 5: IF Tempo_intervallo.Q THEN 'Teleruttore_2':=TRUE; Tempo_intervallo.IN:=FALSE; 'variabile_step':=10; END_IF; 10: Tempo_intervallo.IN:=TRUE; 'variabile_step':=15; 15: // Da qui in poi copi-incolli i vari passaggi cambiando il valore di variabile step e controllando lo scadere del timer oltre ovviamente il numero di teleruttore che vuoi accendere/spegnere In questo modo usi un solo temporizzatore Ciao Matteo Modificato: 5 maggio 2015 da step-80 Link al commento Condividi su altri siti More sharing options...
bigalex Inserita: 5 maggio 2015 Segnala Share Inserita: 5 maggio 2015 (modificato) SoMachine Basic non include il testo strutturato ma solo ladder , IL (lista istruzioni) e SFC (Grafcet) . E' una pseudo evoluzione di TwidoSuite e visto che è gratuito e rivolto al solo prodotto M221 (che dovrebbe sostituire in futuro Twido) non contempla tutti i linguaggi IEC come invece SoMachine (Full) include (è CodeSys) . bigalex Modificato: 5 maggio 2015 da bigalex Link al commento Condividi su altri siti More sharing options...
step-80 Inserita: 5 maggio 2015 Segnala Share Inserita: 5 maggio 2015 Allora come non detto.. Ti tocca fartelo di ladder ma 15 teleruttori non sono gran cosa. Se proprio volessi fare qualcosa di particolare potresti inventarti un blocco funzione da istanziare diversamente per i 15 teleruttori Link al commento Condividi su altri siti More sharing options...
bigalex Inserita: 5 maggio 2015 Segnala Share Inserita: 5 maggio 2015 SoMachine Basic non credo consenta la creazione di User Function Blocks. bigalex Link al commento Condividi su altri siti More sharing options...
Giuseppe Signorella Inserita: 5 maggio 2015 Segnala Share Inserita: 5 maggio 2015 Se devi semplicemente far partire in sequenza 15 teleruttori, (uscite) ti basta un registro di scorrimento che richiami ogni 5 secondi con un fronte di salita e farti delle autoritenute. Link al commento Condividi su altri siti More sharing options...
step-80 Inserita: 5 maggio 2015 Segnala Share Inserita: 5 maggio 2015 Se devi semplicemente far partire in sequenza 15 teleruttori, (uscite) ti basta un registro di scorrimento che richiami ogni 5 secondi con un fronte di salita e farti delle autoritenute. A questo punto non so se SoMachine Basic permetta l'uso del registro di scorrimento :superlol: :superlol: Link al commento Condividi su altri siti More sharing options...
tonynos Inserita: 11 maggio 2015 Autore Segnala Share Inserita: 11 maggio 2015 ho deciso di farlo in Ladder, inserendo i vari controlli per ogni passaggio (consenso dal teleruttore precedente, non ci sono allarmi etc..) qual'è la funzione per impostare l'eccitamento di una bobina? es: se premo il tasto start vorrei che lo stato della bobina venga impostato su NC a prescindere se prima era NO oppure era già NC grazie!! Link al commento Condividi su altri siti More sharing options...
Ezio67 Inserita: 22 marzo 2016 Segnala Share Inserita: 22 marzo 2016 tonynos, se ho capito, l'istruzione che cerchi è "S" che sta per SET. Graficamente è rappresentata con una bobinetta e la S all'interno. Se la usi su un'uscita, quando premi il pulsante si avvia il teleruttore. Attenzione che dovrai poi spegnerla con l'istruzione "R" RESET. Spero di essere stato utile. Link al commento Condividi su altri siti More sharing options...
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