Vai al contenuto

Come assegnare i POUs alle varie task di esecuzione

Home Forum Programmazione IEC 61131 (LogicLab) Come assegnare i POUs alle varie task di esecuzione

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

    Per quanto riguarda l’esecuzione dei programmi mi trovo impreparato per decidere quali mettere in esecuzione nelle varie tasks (Fast, Slow, Back). Potete darmi un suggerimento…

    Avendo un programma che ha una parte di acquisizione di I/O digitali ed analogici ed una parte di calcoli potrei assegnare alla task Fast la parte di calcolo ed alla task Slow la parte di acquisizione ingressi digitali ed analogici, è corretto questo approccio.

    #55636
    Sergio Bertana
    Amministratore del forum

    In questo topic trovi informazioni al riguardo. La task Fast viene eseguita ogni 1 mS (Tempo modificabile dalla funzione SysSetTaskLpTime), se si vuole agire sugli I/O digitali in questa task occorre eseguirne direttamente la gestione con le funzioni apposite SysGetPhrDI, SysSetPhrDO.

    Questa soluzione ad esempio è adottata per acquisisre da software variazioni veloci degli ingressi logici per gestire conteggi o encoder simulato su I/O vedi IOEncoder.

    Nella task Slow eseguita ogni 10 mS (Tempo modificabile dalla funzione SysSetTaskLpTime), si gestisce solitamente tutta la logica visto che prima della esecuzione sono acquisiti tutti gli ingressi digitali e al termine della esecuzione sono gestite tutte le uscite digitali (Immagine di processo).

    Nella task Back eseguita quando il processore è libero, devono essere eseguite tutte le operazioni che fanno accesso agli streams di comunicazione ed al file system. Di solito consiglio di eseguire in questa task anche le gestioni dei moduli analogici e tutti irelativi calcoli.

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