Vai al contenuto

Conversione programma da Remoter a LogicLab

Home Forum Informazioni ambiente di sviluppo LogicLab Conversione programma da Remoter a LogicLab

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

    Abbiamo alcuni programmi molto semplici sviluppati in linguaggio RIL su Remoter, dovremmo importarli sul nuovo ambiente di sviluppo LogicLab per poter trasferire le applicazioni sui nuovi sistemi SlimLine.

    Come ci consigliate di procedere ?

    #36819
    Sergio Bertana
    Amministratore del forum

    Non esiste un tool di conversione dal linguaggio RIL (Remoter Instruction List) al linguaggio IL (Instruction List) della IEC61131-3, occorre effettuare la conversione manualmente. Il mio consiglio è di convertire i programmi RIL direttamente in LD (Ladder Diagram) la conversione è più immediata ed i programmi risultano più leggibili perchè visualizzati in modo grafico. Di seguito la conversione di un semplice ramo per dare una idea di come sia possibile effettuarla.

                        (* ORGR *)
    LDN    %IX0.0  (* LODF I 0000 *)
    AND    %IX0.1  (* ANDT I 0001 *)
    OR(     %IX0.0  (* LODT I 0000 *)
    ANDN  %IX0.1  (* ANDF I 0001 *)
    AND    F0001    (* ANDT F 0001 *)
    )                    (* ORLR *)
    ANDN  F0003    (* ANDF F 0003 *)
    ANDN  F0004    (* ANDF F 0004 *)
    S       %Q0.0    (* LTCH O 0000 *)

    Di seguito la conversione di un ramo che utilizza un timer.

                    (* ORGR *)
    LD    %IX0.2    (* LODT I 0002 *)
    ST    T0000.IN

    LD    1000
    ST     T0000.PT       
    CAL    T0000     (* OUTM T 0000 KD 0010 *)

                    (* ORGR *)
    LD    T0000.Q  (* LODT T  0000 *)
    R      %Q0.0     (* UTCH O 0000 *)

    Allego un programma LogicLab di esempio e la stampa dello stesso, nel programma vi è anche la conversione in LD per comprendere la logica (Download programma).

    Attenzione! Nella scrittura in LD non è possibile fare riferimento diretto agli operandi di I/O come nel linguaggio IL, quindi anche per gli I/O sono stati utilizzati degli mnemonici. In LD l’uscita %Q0.0 è stata sostituita con la %Q0.1 per permettere il test del programma sul sistema.

    #36820
    Sergio Bertana
    Amministratore del forum

    A quanto detto nel post precedente aggiungo un suggerimento per risolvere il parallelo e/o la serie tra rami quando il primo operando del ramo in parallelo/serie è un operando negato. Su statements di OR( e AND( non è possibile effettuare la negazione diretta, occorre caricare l’operando e poi invertirlo con uno statement NOT.

                    (* ORGR *)
    LD  %I0.0   (* LODT I 0000 *)
    AND %I0.1  (* ANDT I 0001 *)

    OR( %I0.2   (* LODF I 0002 *)
    NOT
    ANDN %I0.3  (* ANDF I 0003 *)
    )                 (* ORLR *)

    ST  %Q0.0   (* OUTT O 0000 *)

                   (* ORGR *)
    LD  %I0.0   (* LODT I 0000 *)
    AND %I0.1  (* ANDT I 0001 *)

    AND( %I0.2   (* LODF I 0002 *)
    NOT
    ANDN %I0.3  (* ANDF I 0003 *)
    )                 (* ANDR *)

    ST  %Q0.1   (* OUTT O 0001 *)

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