Vai al contenuto
PLC Forum


Sequenza Automatica Con Somachine Basic


Messaggi consigliati

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


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: da step-80
Link al commento
Condividi su altri siti

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

Modificato: da bigalex
Link al commento
Condividi su altri siti

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

Giuseppe Signorella

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

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 :smile::superlol: :superlol: :superlol::roflmao::superlol: :superlol:

Link al commento
Condividi su altri siti

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

  • 10 months later...

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

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