Vai al contenuto

Attivazione di una uscita su comando da ingresso

Home Forum Controllori SlimLine e Netsyst (LogicLab) Attivazione di una uscita su comando da ingresso

Stai visualizzando 4 post - dal 1 a 4 (di 4 totali)
  • Autore
    Post
  • #36193
    Anonimo
    Inattivo

    Sono un principiante, volevo provare ad attivare l’uscita digitale Luce in funzione dell’ingresso digitale IntAuto. Lancio la simulazione, clicco sull’ingresso cambiandone il valore, ma l’uscita resta FALSE. Come mai ? ho sbagliato la sintassi ?

    IF (IntAuto = FALSE) THEN
      Luce:= FALSE;
    ELSE
     Luce:= TRUE;
    END_IF;

    #40061
    Sergio Bertana
    Amministratore del forum

    La sintassi è corretta, probabilmente hai fatto errori nella assegnazione degli I/O o da qualche altra parte. Ti ho preparato il programma SimplyProgram che realizza quello che hai fatto tu, come vedi dallo screenshot eseguendolo in simulazione con SimuLab attivando l’ingresso IntAuto si attiva l’uscita Luce. Come vedi ho simulato un modulo CPU compact (6 ingressi, 4 uscite) e per comodità ho impostato l’ingresso a funzionare come selettore anzichè pulsante. Puoi scaricare il programma (Download) e continuare con il mio esempio. Un programma puramente logico come il tuo è preferibile realizzarlo con il linguaggio ladder (LD) anzichè il linguaggio strutturato (ST).Per il comando di lampade da pulsanti consiglio di realizzare un relè passo passo, in questo topic trovi un FB scritto in LD ma tu puoi cimentarti a scrivere un tuo FB in linguaggio ST che fà la stessa cosa.

    #40062
    Anonimo
    Inattivo

    Grazie della risposta, ho provato e ora funziona, vedendo il file ricevuto, forse avevo lasciato le parentesi tonde dopo IF.  Però vedo il funzionamento dalla finestra watch, ma se provo a cambiare stato al PLC, premendo il tasto DIG. INPUT 0, l’uscita DIG. OUTPUT 0 non si attiva. Nella definizione delle variabili, in address ho messo automatico, poi nella mappa variabili avevo assegnato l’ingresso IntAuto e l’uscita Luce. Nel file ricevuto invece vedo che gli indirizzi non sono automatici.  Come devo procedere ?

    Stò facendo delle prove sul PLC virtuale, senza averlo uno fisicamente allacciato, per imparare il linguaggio ST. Sono un termotecnico, così farò uso di alcuni ingressi analogici, uscite digitali e  analogiche (principalmente valvole modulanti con controllo PID). Ho dato i nomi Luce volendomi riferire solo ad una uscita digitale, non lo voglio usare solo per questo. Per capire però meglio, quando dici che nel caso così banale è preferibile usare il linguaggio LD, è perchè è più semplice, per il funzionamento è lo stesso, giusto ?

    #40063
    Sergio Bertana
    Amministratore del forum

    Se vuoi usare i pulsanti dei pannelli preconfigurati sul simulatore di SimuLab devi usare variabili allocate nella mappa di I/O del sistema, ma puoi anche crearti uno o più pannelli personalizzati solo eseguendo un drag delle variabili che vuoi gestire (Topic). Poi devi è importante capire la differenza tra le variabili globali e quelle locali (Topic).

    Le variabili allocate all’interno di un programma (o POU) sono locali, cioè sono accessibili al solo POU dove sono dichiarate, mentre le variabili globali sono visibili da tutti i POU. Ma ttenzione se tu dichiari la variabile Luce come globale e la assegni ad una uscita reale e poi mi dichiari un’altra variabile Luce (Quindi con lo stesso nome) come variabile locale all’interno di un POU, quando ti riferisci a quel nome all’interno di quel POU agirai solo sulla variabile locale e non su quella globale.

    Gli I/O logici sono gestiti in immagine di processo e per gestirli devi dichiararne l’indirizzo (Topic), le variabili automatiche sono variabili di appoggio e non possono essere I/O reali. Gli I/O analogici non sono gestiti in immagine di processo per utilizzarli occorre usare i blocchi funzioni appositi (Topic).

    In riferimento al linguaggio da utilizzare, in generale la normativa ne ha normalizzati 5 proprio perchè per ogni tipo di operazione da svolgere vi è un linguaggio più approppriato, esempio per la logica si utilizza il ladder diagram, ma ognuno può scegliere di utilizzare il linguaggio che preferisce.

Stai visualizzando 4 post - dal 1 a 4 (di 4 totali)
  • Devi essere connesso per rispondere a questo topic.