Fans

Variabili

  • Messaggi
  • OFFLINE
    Giordy71@
    Post: 3.677
    Post: 3.672
    Registrato il: 27/12/2011
    Sesso: Maschile
    Admin Unico
    Utente Gold
    Administratore unico
    00 30/11/2012 23:50
    Informazioni generali sulle variabili
    Utilizzando le variabili, in particolare unitamente alle funzioni di calcolo e alle strutture di
    controllo, è possibile strutturare i programma pezzo e i cicli in modo estremamente flessibile.
    Alla scopo sono messe a disposizione dal sistema tre tipi diversi di variabili:
    ● Variabili di sistema
    Le variabili di sistema sono variabili definite nel sistema e messe a disposizione
    dell'utente, aventi un significato prestabilito. Vengono lette e scritte anche dal software di
    sistema. Esempio: Dati macchina
    Il significato di una variabile di sistema è prefissato dal sistema e le loro proprietà sono
    predefinite al massimo. In minima misura, è tuttavia possibile che l'utente adatti le
    proprietà mediante una ridefinizione. Vedere ""
    ● Variabili utente
    Le variabili utente sono variabili il cui significato non è noto al sistema e che il sistema
    non analizza. Il significato è fissato esclusivamente dall'utente.
    Le variabili utente si suddividono in:
    – Variabili utente predefinite
    Le variabili utente predefinite sono variabili già definite nel sistema; è sufficiente che
    l'utente ne parametrizzi il numero tramite specifici dati macchina. Le proprietà di
    queste variabili possono essere adattate in massimo libertà dall'utente.
    – Variabili definite dall'utente
    Le variabili definite dall'utente sono variabili che vengono definite esclusivamente
    dall'utente e create dal sistema soltanto al runtime. Il loro numero, tipo di dati, visibilità
    e tutte le altre proprietà vengono esclusivamente fissate dall'utente.
    Sono bellissimo...
    Administrafan
  • OFFLINE
    Giordy71@
    Post: 3.677
    Post: 3.672
    Registrato il: 27/12/2011
    Sesso: Maschile
    Admin Unico
    Utente Gold
    Administratore unico
    00 30/11/2012 23:52
    Variabili di sistema

    Le variabili di sistema sono variabili predefinite nel sistema che nei programmi pezzo e nei
    cicli consentono di accedere alla parametrizzazione attuale del controllore, come gli stati
    della macchina, del controllore e del processo.
    Variabili di preelaborazione
    Per variabili di preelaborazione si intendono le variabili di sistema che vengono lette e scritte
    contestualmente alla preelaborazione blocchi, ossia al momento dell'interpretazione del
    blocco di programma pezzo in cui la variabile di sistema è programmata. Le variabili di
    preelaborazione non attivano uno stop di preelaborazione.
    Variabili di ciclo principale
    Per variabili di ciclo principale si intendono le variabili di sistema che vengono lette o scritte
    contestualmente al ciclo principale, ossia al momento dell'esecuzione del blocco di
    programma pezzo in cui la variabile di sistema è programmata. Variabili di ciclo principale
    sono:
    ● Variabili di sistema programmabili nelle azioni sincrone (lettura/scrittura)
    ● Variabili di sistema programmabili nel programma pezzo e che attivano uno stop di
    preelaborazione (lettura/scrittura)
    ● Variabili di sistema programmabili nel programma pezzo e il cui valore viene determinato
    nella preelaborazione blocchi ma scritto solo nel ciclo principale (con sincronismo rispetto
    al ciclo principale: soltanto scrittura)
    Sono bellissimo...
    Administrafan
  • OFFLINE
    Giordy71@
    Post: 3.677
    Post: 3.672
    Registrato il: 27/12/2011
    Sesso: Maschile
    Admin Unico
    Utente Gold
    Administratore unico
    00 30/11/2012 23:53
    Sistematica del prefisso
    Per contrassegnare le variabili di sistema il loro nome è normalmente preceduto da un
    prefisso, costituito dal carattere $ che è seguito da una o due lettere e da un underscore:
    $ + 1a lettera Significato: Tipo di dati
    Variabili di sistema che vengono lette/scritte nella preelaborazione blocchi
    $M Dati macchina1)
    $S Dati setting, settori di protezione 1)
    $T Dati di gestione utensili
    $P Valori programmati
    $C Variabili cicliche dei cicli shell ISO
    $O Dati opzionali
    R Parametri R (parametri di calcolo)2)
    Variabili di sistema che vengono lette/scritte nel ciclo principale
    $$M Dati macchina1)
    $$S Dati setting1)
    $A Dati attuali del ciclo principale
    $V Dati servo
    Sono bellissimo...
    Administrafan
  • OFFLINE
    Giordy71@
    Post: 3.677
    Post: 3.672
    Registrato il: 27/12/2011
    Sesso: Maschile
    Admin Unico
    Utente Gold
    Administratore unico
    00 30/11/2012 23:53
    $ + 1a lettera Significato: Tipo di dati
    $R Parametri R (parametri di calcolo)2)
    1) Utilizzando i dati macchina e i dati setting nel programma pezzo / ciclo come variabile di
    preelaborazione, il prefisso viene scritto con un carattere $. Se l'utilizzo avviene in azioni sincrone
    come variabile di ciclo principale, il prefisso viene scritto con due caratteri $.
    2) Utilizzando un parametro R nel programma pezzo / ciclo come variabile di preelaborazione, non
    viene scritto alcun prefisso, ad es. R10. Se l'utilizzo avviene in un'azione sincrona come variabile di
    ciclo principale, il prefisso viene scritto come carattere $, ad es. $R10.
    2a lettera Significato: Visibilità
    N Variabile globale NCK (NCK)
    C Variabile specifica di canale (Channel)
    A Variabile specifica per asse (Axis)
    Sono bellissimo...
    Administrafan
  • OFFLINE
    Giordy71@
    Post: 3.677
    Post: 3.672
    Registrato il: 27/12/2011
    Sesso: Maschile
    Admin Unico
    Utente Gold
    Administratore unico
    00 30/11/2012 23:54
    Condizioni marginali
    Eccezioni nella sistematica del prefisso
    Le seguenti variabili di sistema si discostano dalla suddetta sistematica del prefisso:
    ● $TC_...: la 2a lettera C non rinvia qui a variabili di sistema specifiche di canale ma a
    variabili di sistema specifiche per supporto utensile (TC = Tool Carrier)
    ● $P_ ...: variabili di sistema specifiche di canale
    Utilizzo di dati macchina e dati setting nelle azioni sincrone
    Utilizzando i dati macchina e i dati setting nelle azioni sincrone è possibile determinare
    mediante il prefisso se leggere/scrivere il dato macchina o dato setting in modo sincrono alla
    preelaborazione blocchi o all’elaborazione principale.
    Se durante l'elaborazione il dato rimane invariato, è possibile una lettura sincrona alla
    preelaborazione blocchi. Allo scopo, il prefisso del dato macchina o dato setting viene scritto
    con un carattere $:
    Codice di programma
    ID=1 WHENEVER G710 $AA_IM[z] < $SA_OSCILL_REVERSE_POS2[Z]–6 DO $AA_OVR[X]=0
    Se durante l'elaborazione il dato viene variato, è necessaria una lettura/scrittura sincrona
    all’elaborazione principale. Allo scopo, il prefisso del dato macchina o dato setting viene
    scritto con due caratteri $:
    Codice di programma
    ID=1 WHENEVER $AA_IM[z] < $$SA_OSCILL_REVERSE_POS2[Z]–6 DO $AA_OVR[X]=0
    Sono bellissimo...
    Administrafan
  • OFFLINE
    Giordy71@
    Post: 3.677
    Post: 3.672
    Registrato il: 27/12/2011
    Sesso: Maschile
    Admin Unico
    Utente Gold
    Administratore unico
    00 30/11/2012 23:55
    Scrittura di dati macchina
    Durante la scrittura di un dato macchina o dato setting è necessario sincerarsi che il livello
    attivo di accesso al momento dell'esecuzione del programma pezzo / ciclo consenta
    l'accesso in scrittura e che l'efficacia del dato sia "IMMEDIATE".
    Sono bellissimo...
    Administrafan
  • OFFLINE
    Giordy71@
    Post: 3.677
    Post: 3.672
    Registrato il: 27/12/2011
    Sesso: Maschile
    Admin Unico
    Utente Gold
    Administratore unico
    00 30/11/2012 23:55
    Variabili utente predefinite: Parametri di calcolo (R)
    Funzione
    I parametri di calcolo, o parametri R, sono una variabile utente predefinita con la
    designazione R, definita come campo del tipo di dati REAL. A causa delle convenzioni usate
    in passato, per i parametri R è consentita, oltre alla scrittura con indice di campo, ad es.
    R[10], anche la scrittura senza indice di campo, ad es. R10.
    Utilizzando le azioni sincrone è necessario anteporre il carattere $, ad es. $R10.
    Sintassi
    In caso di impiego come variabile di preelaborazione:
    R
    R[]
    In caso di impiego come variabile di ciclo principale:
    $R
    $R[]
    Sono bellissimo...
    Administrafan
  • OFFLINE
    Giordy71@
    Post: 3.677
    Post: 3.672
    Registrato il: 27/12/2011
    Sesso: Maschile
    Admin Unico
    Utente Gold
    Administratore unico
    00 30/11/2012 23:56
    Significato
    R: Identificatore dell'impiego come variabile di preelaborazione, ad es. nel
    programma pezzo
    $R: Identificatore dell'impiego come variabile di ciclo principale, ad es. nelle
    azioni sincrone
    Tipo: REAL
    Campo dei
    valori:
    Con scrittura non esponenziale:
    ± (0.000 0001 ... 9999 9999)
    Nota:
    sono consentite al massimo 8 cifre decimali
    Con scrittura esponenziale:
    ± (1*10-300 ... 1*10+300)
    Nota:
     Notazione: EX ad es.
    8.2EX-3
     Sono consentiti al massimo 10 caratteri, incluso
    segno e punto decimale.
    Numero del parametro R
    Tipo: INT
    :
    Campo dei
    valori:
    0 - MAX_INDEX
    Nota
    MAX_INDEX risulta dal numero parametrizzato di
    parametri R:
    MAX_INDEX = (MD28050 $MN_MM_NUM_R_PARAM)
    - 1
    : Indice di campo
    Si può specificare come indice di campo qualsiasi espressione, sempre
    che il risultato dell'espressione possa essere convertito nel tipo di dati
    INT (INT, REAL, BOOL, CHAR)
    Esempio
    Assegnazioni ai parametri R e uso dei parametri R nelle funzioni matematiche:
    Codice di programma Commento
    R0=3.5678 ; Assegnazione nella preelaborazione blocchi
    R[1]=-37.3 ; Assegnazione nella preelaborazione blocchi
    R3=-7 ; Assegnazione nella preelaborazione blocchi
    $R4=-0.1EX-5 ; Assegnazione nel ciclo principale: R4 = -0.1 * 10^-5
    $R[6]=1.874EX8 ; Assegnazione nel ciclo principale: R6 = 1.874 * 10^8
    R7=SIN(25.3) ; Assegnazione nella preelaborazione blocchi
    Sono bellissimo...
    Administrafan
  • OFFLINE
    Giordy71@
    Post: 3.677
    Post: 3.672
    Registrato il: 27/12/2011
    Sesso: Maschile
    Admin Unico
    Utente Gold
    Administratore unico
    00 30/11/2012 23:58
    Codice di programma Commento
    R[R2]=R10 ; Indirizzamento indiretto tramite parametro R
    R[(R1+R2)*R3]=5 ; Indirizzamento indiretto tramite espressione mat.
    X=(R1+R2) ; Movimento dell'asse X sulla posizione che risulta
    dalla somma di R1 e R2
    Z=SQRT(R1*R1+R2*R2) ; Movimento dell'asse Z sulla posizione radice
    quadrata(R1^2 + R2^2)
    Sono bellissimo...
    Administrafan
  • OFFLINE
    Giordy71@
    Post: 3.677
    Post: 3.672
    Registrato il: 27/12/2011
    Sesso: Maschile
    Admin Unico
    Utente Gold
    Administratore unico
    00 30/11/2012 23:58
    Variabili utente predefinite: variabili link
    Tramite la variabili link è possibile scambiare ciclicamente, nell'ambito della funzione "NCU
    Link", dati tra NCU collegati tra loro in una rete. In questo modo esse consentono un
    accesso specifico per formato dati alla memoria delle variabili link. La memoria delle variabili
    link viene stabilita secondo le specificità dell'impianto - rispetto sia all'entità, sia alla struttura
    dei dati - dall'utente / dal costruttore della macchina.
    Le variabili link sono variabili utente globali a livello di sistema che possono essere lette e
    scritte durante la comunicazione link progettata di tutte le NCU del gruppo di link nei
    programmi pezzo e nei cicli. A differenza delle variabili utente globali (GUD), le variabili link
    possono essere utilizzate anche nelle azioni sincrone.
    Per gli impianti senza link NCU attivi, le variabili link possono essere utilizzate localmente, a
    livello di controllore, oltre alle variabili utente globali (GUD), in funzione di variabili utente
    globali aggiuntive.
    Sintassi
    $A_DLB[]
    $A_DLW[]
    $A_DLD[]
    $A_DLR[]
    Significato
    Variabile link per formato dati BYTE (1 byte)
    Tipo di dati: UINT
    $A_DLB:
    Campo dei valori: 0 ... 255
    Variabile link per formato dati WORD (2 byte)
    Tipo di dati: INT
    $A_DLW:
    Campo dei valori: -32768 ... 32767
    Variabile link per formato dati DWORD (4 byte)
    Tipo di dati: INT
    $A_DLD:
    Campo dei valori: -2147483648 ... 2147483647
    Sono bellissimo...
    Administrafan
  • OFFLINE
    Giordy71@
    Post: 3.677
    Post: 3.672
    Registrato il: 27/12/2011
    Sesso: Maschile
    Admin Unico
    Utente Gold
    Administratore unico
    00 30/11/2012 23:59
    $A_DLR:
    Campo dei valori: ±(2,2*10-308 … 1,8*10+308)
    Indice d'indirizzamento in byte, calcolato dall'inizio della memoria delle
    variabili link
    Tipo di dati: INT
    :
    Campo dei valori: 0 - MAX_INDEX
    Nota
     MAX_INDEX risulta dalla grandezza
    parametrizzata della memoria delle variabili link:
    MAX_INDEX = (MD18700
    $MN_MM_SIZEOF_LINKVAR_DATA) - 1
     È consentito programmare solo indici, in modo
    che i byte indirizzati nella memoria delle variabili
    link si trovino su un limite di formato dati ⇒
    indice = n * byte, dove n = 0, 1, 2, ...
    – $A_DLB: i = 0, 1, 2, ...
    – $A_DLW: i = 0, 2, 4, ...
    – $A_DLD: i = 0, 4, 8, ...
    – $A_DLR: i = 0, 8, 16, ...
    Sono bellissimo...
    Administrafan
  • OFFLINE
    Giordy71@
    Post: 3.677
    Post: 3.672
    Registrato il: 27/12/2011
    Sesso: Maschile
    Admin Unico
    Utente Gold
    Administratore unico
    00 01/12/2012 00:00
    Esempio

    Nell'impianto di automazione sono presenti 2 NCU (NCU1 e NCU2). Alla NCU1 è collegato
    l'asse di macchina AX2, che viene mosso come asse link della NCU2.
    NCU1 scrive ciclicamente il valore attuale di corrente ($VA_CURR) dell'asse AX2 nella
    memoria delle variabili link. NCU2 legge ciclicamente il il valore attuale di corrente
    trasmesso mediante la comunicazione link e, al superamento del valore limite, emette
    l'allarme 61000.
    La struttura dei dati nella memoria delle variabili link è raffigurata nello schema seguente. Il
    valore attuale di corrente è trasferito tramite il valore REAL.
    Sono bellissimo...
    Administrafan
  • OFFLINE
    Giordy71@
    Post: 3.677
    Post: 3.672
    Registrato il: 27/12/2011
    Sesso: Maschile
    Admin Unico
    Utente Gold
    Administratore unico
    00 01/12/2012 00:03
    Definizione di variabili utente (DEF)
    Con il comando DEF si possono definire variabili personalizzate e assegnare loro dei valori.
    Per differenziarle dalle variabili di sistema, queste vengono denominate come variabili
    definite dall'utente o variabili utente (User Data) .
    In rapporto al campo di validità, ossia l'area in cui la variabile è visibile, esistono le seguenti
    categorie di variabili utente:
    ● Variabili utente locali (LUD)
    Le variabili utente locali (LUD) sono variabili definite in un programma pezzo, che al
    momento dell'elaborazione non è il programma principale. Vengono create al richiamo
    del programma pezzo e cancellate alla fine del programma pezzo e/o tramite NC-Reset.
    Le variabili LUD sono accessibili solo all'interno del programma pezzo nel quale sono
    definite.
    ● Variabili utente globali a livello di programma (PUD)
    Le variabili utente (PUD) globali a livello di programma sono variabili definite all'interno di
    un programma pezzo utilizzato come programma principale. Vengono create all'avvio del
    programma pezzo e cancellate alla fine del programma pezzo o tramite NC-Reset. Le
    variabili PUD sono accessibili nel programma principale e in tutti i sottoprogrammi.
    ● Variabili utente globali (GUD)
    Le variabili utente globali (GUD) sono variabili globali a livello di NC / canale, che sono
    definite in un blocco dati (SGUD, MGUD, UGUD, GUD4 ... GUD9) e restano attive anche
    in seguito a Power On. Le variabili GUD sono accessibili in tutti i programmi pezzo.
    Sono bellissimo...
    Administrafan
  • OFFLINE
    Giordy71@
    Post: 3.677
    Post: 3.672
    Registrato il: 27/12/2011
    Sesso: Maschile
    Admin Unico
    Utente Gold
    Administratore unico
    00 01/12/2012 00:04
    osservare le seguenti regole:
    ● Le variabili GUD devono essere definite in un file di definizione ad es.
    _N_DEF_DIR/_M_SGUD_DEF.
    ● Le variabili PUD e LUD devono essere definite nel settore di definizione di un programma
    pezzo.
    ● La definizione dei dati deve avvenire in un blocco a sé stante.
    ● Per ciascuna definizione dei dati è ammesso utilizzare un solo tipo di dati.
    ● Per ciascuna definizione dei dati si possono definire più variabili dello stesso tipo di dati.
    Sintassi
    DEF

    [,,]=
    Significato
    DEF: Comando per la definizione delle variabili utente GUD, PUD, LUD
    Campo di validità, riguardante solo le variabili GUD:
    NCK: Variabile utente globale a livello di NC
    :
    CHAN: Variabile utente globale a livello di canale
    Tipo di dati:
    INT: Valore intero con segno
    REAL: Numero reale (LONG REAL secondo
    IEEE)
    BOOL: Valore logico TRUE (1) / FALSE (0)
    CHAR: Carattere ASCII
    STRING[]: Stringa di caratteri di lunghezza
    definita
    AXIS: Identificatore asse / mandrino
    :
    FRAME: Dati geometrici per una trasformazione
    statica delle coordinate
    Stop di preelaborazione, riguardante solo le variabili GUD
    (opzionale):
    SYNR: Stop preelaborazione in lettura
    SYNW: Stop preelaborazione in scrittura
    :
    SYNRW: Stop preelaborazione in lettura/scrittura
    Istante in cui la variabile viene reinizializzata (opzionale)
    INIPO: Power On
    INIRE: Fine del programma principale, NC-Reset o Power On
    :
    INICF: NewConfig o fine del programma principale, NC-Reset
    o Power On
    Sono bellissimo...
    Administrafan
  • OFFLINE
    Giordy71@
    Post: 3.677
    Post: 3.672
    Registrato il: 27/12/2011
    Sesso: Maschile
    Admin Unico
    Utente Gold
    Administratore unico
    00 01/12/2012 00:04
    PRLOC: Fine del programma principale, NC-Reset dopo
    modifica locale o Power On
    : Unità fisica (opzionale)
    PHU :
    Valore limite inferiore e superiore (opzionale)
    LLI : Valore limite inferiore (lower limit)
    :
    ULI : Valore limite superiore (upper limit)
    Autorizzazioni di accesso per la lettura/scrittura di GUD tramite
    programma pezzo o interfaccia per pannello operativo (opzionale)
    APRP : Lettura: programma pezzo
    APWP : Scrittura: programma pezzo
    APRB : Lettura: interfaccia per pannello
    operativo
    APWB : Scrittura: interfaccia per pannello
    operativo
    accesso>:
    Livello di
    protezione
    Campo dei valori: 0 ... 7
    : Nome delle variabili
    Nota
     Max. 31 caratteri
     I primi due caratteri devono essere una lettera e/o un
    underscore.
     Il carattere "$" è riservato alle variabili di sistema e non deve
    essere utilizzato.
    [,
    ,
    ]:
    Definizione delle grandezze di campo per le variabili di campo da 1
    a 3 dimensioni (opzionale)
    : Valore di inizializzazione (opzionale)
    Per l'inizializzazione delle variabili di campo:
    Esempi
    Esempio 1: definizione di variabili utente nel blocco dati per il costruttore della macchina
    Codice di programma
    %_N_MGUD_DEF ; Blocco GUD: Costruttore della macchina
    $PATH=/_N_DEF_DIR
    DEF CHAN REAL PHU 24 LLI 0 ULI 10 STROM_1, STROM_2
    ; Descrizione
    ; Definizione di due GUD: CORRENTE_1, CORRENTE_2
    ; Campo di validità: Per il canale
    ; Tipo di dati: REAL
    ; Stop VL: non programmato => valore predefinito = nessuno Stop VL
    ; Unità fisica: 24 = [A]
    ; Valori limite: Low = 0.0, High = 10.0
    Sono bellissimo...
    Administrafan
  • OFFLINE
    Giordy71@
    Post: 3.677
    Post: 3.672
    Registrato il: 27/12/2011
    Sesso: Maschile
    Admin Unico
    Utente Gold
    Administratore unico
    00 01/12/2012 00:05
    Codice di programma
    ; Autorizzazioni di accesso: non programmate => valore di default = 7 = posizione 0 del selettore a
    chiave
    ; Valore di inizializzazione: non programmato => valore predefinito = 0.0
    DEF NCK REAL PHU 13 LLI 10 APWP 3 APRP 3 APWB 0 APRB 2 ZEIT_1=12, ZEIT_2=45
    ; Descrizione
    ; Definizione di due GUD: TEMPO_1, TEMPO_2
    ; Campo di validità: Per l'NCK
    ; Tipo di dati: REAL
    ; Stop VL: non programmato => valore predefinito = nessuno Stop VL
    ; Unità fisica: 13 =
    ; Valori limite: Low = 10.0, High = non programmato => limite superiore del campo di definizione
    ; Autorizzazioni di accesso:
    ; Programma pezzo: scrittura/lettura = 3 = utente finale
    ; Interfaccia per pannello operativo: scrittura = 0 = Siemens, lettura = 3 = utente finale
    ; Valore di inizializzazione: TEMPO_1 = 12.0, TEMPO_2 = 45.0
    DEF NCK APWP 3 APRP 3 APWB 0 APRB 3 STRING[5] GUD5_NAME = "COUNTER"
    ; Descrizione
    ; Definizione di un GUD: GUD5_NAME
    ; Campo di validità: Per l'NCK
    ; Tipo di dati: STRING, max. 5 caratteri
    ; Stop VL: non programmato => valore predefinito = nessuno Stop VL
    ; Unità fis.: non programmata => valore di default = 0 = nessuna unità fis.
    ; Valori limite: non programmati => limiti del campo di definizione: Low = 0, High = 255
    ; Autorizzazioni di accesso:
    ; Programma pezzo: scrittura/lettura = 3 = utente finale
    ; Interfaccia per pannello operativo: scrittura = 0 = Siemens, lettura = 3 = utente finale
    ; Valore di inizializzazione: "COUNTER"
    M30
    Esempio 2: variabili utente globali e locali a livello di programma (PUD / LUD)
    Codice di programma Commento
    PROC MAIN ; Programma principale
    DEF INT VAR1 ; Definizione PUD
    ...
    SUB2 ;Richiamo sottoprogramma
    ...
    M30
    Sono bellissimo...
    Administrafan
  • OFFLINE
    Giordy71@
    Post: 3.677
    Post: 3.672
    Registrato il: 27/12/2011
    Sesso: Maschile
    Admin Unico
    Utente Gold
    Administratore unico
    00 01/12/2012 00:05
    Codice di programma Commento
    PROC SUB2 ; Sottoprogramma SUB2
    DEF INT VAR2 ; DEFINIZIONE LUD
    ...
    IF (VAR1==1) ; Lettura PUD
    VAR1=VAR1+1 ; Lettura e scrittura PUD
    VAR2=1 ; Scrittura LUD
    ENDIF
    SUB3 ;Richiamo sottoprogramma
    ...
    M17
    Codice di programma Commento
    PROC SUB3 ; Sottoprogramma SUB3
    ...
    IF (VAR1==1) ; Lettura PUD
    VAR1=VAR1+1 ; Lettura e scrittura PUD
    VAR2=1 ; Errore: LUD in SUB2 non riconosciuta
    ENDIF
    ...
    M17
    Esempio 3: definizione e uso delle variabili utente del tipo di dati AXIS
    Codice di programma Commento
    DEF AXIS ASCISSE ; 1. Asse geometrico
    DEF AXIS SPINDLE ; Mandrino
    ...
    IF ISAXIS(1)==FALSE GOTOF CONTINUA
    ASCISSE = $P_AXN1
    CONTINUA:
    ...
    SPINDLE=(S1) 1. Mandrino
    OVRA[SPINDLE]=80 ; Override mandrino = 80%
    SPINDLE=(S3) 3. Mandrino
    Sono bellissimo...
    Administrafan
  • OFFLINE
    Giordy71@
    Post: 3.677
    Post: 3.672
    Registrato il: 27/12/2011
    Sesso: Maschile
    Admin Unico
    Utente Gold
    Administratore unico
    00 01/12/2012 00:06
    Condizioni marginali
    Variabili utente globali (GUD)
    Nell'ambito della definizione delle variabili utente globali (GUD) occorre considerare i
    seguenti dati macchina:
    N. Identificatore: $MN_ Significato
    11140 GUD_AREA_ SAVE_TAB Protezione supplementare per i blocchi GUD
    18118 1) MM_NUM_GUD_MODULES Numero dei file GUD nel file system attivo
    18120 1) MM_NUM_GUD_NAMES_NCK Numero dei nomi GUD globali
    18130 1) MM_NUM_GUD_NAMES_CHAN Numero dei nomi GUD spec. di canale
    18140 1) MM_NUM_GUD_NAMES_AXIS Numero dei nomi GUD spec. per asse
    18150 1) MM_GUD_VALUES_MEM Spazio di memoria per i valori GUD globali
    18660 1) MM_NUM_SYNACT_GUD_REAL Numero GUD progettabili, tipo di dati REAL
    18661 1) MM_NUM_SYNACT_GUD_INT Numero GUD progettabili, tipo di dati INT
    18662 1) MM_NUM_SYNACT_GUD_BOOL Numero GUD progettabili, tipo di dati BOOL
    18663 1) MM_NUM_SYNACT_GUD_AXIS Numero GUD progettabili, tipo di dati AXIS
    18664 1) MM_NUM_SYNACT_GUD_CHAR Numero GUD progettabili, tipo di dati CHAR
    18665 1) MM_NUM_SYNACT_GUD_STRING Numero GUD progettabili, tipo di dati STRING
    1) Non disponibile per SINUMERIK 828D.
    Variabili utente globali a livello di programma (PUD)
    ATTENZIONE
    Visibilità delle variabili utente locali a livello di programma (PUD)
    Le variabili utente locali a livello di programma (PUD) definite nel programma principale
    sono visibili anche nei sottoprogrammi solo se è impostato il seguente dato macchina:
    MD11120 $MN_LUD_EXTENDED_SCOPE = 1
    Con MD11120 = 0 le variabili utente locali a livello di programma definite nel programma
    principale sono visibili solo nel programma principale.
    Utilizzo estese a più canali di una variabile utente globale a livello NCK del tipo di dati AXIS
    Una variabile utente globale a livello NCK del tipo di dati AXIS, inizializzata durante la
    definizione nel blocco dati con un identificatore dell'asse, può essere utilizzata in più canali
    NC solo se l'asse in questi canali ha lo stesso numero asse di canale.
    In caso contrario, la variabile deve essere caricata all'inizio del programma pezzo o, come
    nel seguente esempio, è necessario utilizzare la funzione AXNAME(...) (vedere "").
    Codice di programma Commento
    DEF NCK STRING[5] ACHSE="X" ; Definizione nel blocco dati
    N100 AX[AXNAME(ACHSE)]=111 G00
    Sono bellissimo...
    Administrafan
  • OFFLINE
    Giordy71@
    Post: 3.677
    Post: 3.672
    Registrato il: 27/12/2011
    Sesso: Maschile
    Admin Unico
    Utente Gold
    Administratore unico
    00 01/12/2012 00:07
    Ridefinizione delle variabili di sistema, variabili utente e istruzioni NC (REDEF)
    Funzione
    Con il comando REDEF è possibile modificare gli attributi delle variabili di sistema, variabili
    utente e istruzioni NC. Presupposto fondamentale della ridefinizione è che la stessa venga
    eseguita dopo la relativa definizione.
    Durante una ridefinizione non si possono modificare contemporaneamente più attributi. Per
    ogni attributo da modificare è necessario programmare un'istruzione REDEF a sé stante.
    Se si programmano più modifiche degli attributi in concomitanza, sarà sempre attiva solo
    l'ultima modifica.
    Attributi ridefinibili
    Vedere "Panoramica degli attributi definibili e ridefinibili (Pagina 45)"
    Variabili utente locali (PUD / LUD)
    Per le variabili utente locali (PUD / LUD) non si devono effettuare ridefinizioni.
    Sintassi
    REDEF
    REDEF
    REDEF
    REDEF
    REDEF
    REDEF
    Significato
    REDEF: Comando di ridefinizione di un determinato attributo delle variabili di
    sistema, variabili utente e istruzioni NC
    : Nome di una variabile già definita o di un'istruzione NC
    Stop preelaborazione
    SYNR: Stop preelaborazione in lettura
    SYNW: Stop preelaborazione in scrittura
    :
    SYNRW: Stop preelaborazione in lettura/scrittura
    unità fisica
    PHU :
    :
    vedere "Attributo: unità fisica (PHU) (Pagina 37) "
    Nota
    Non ridefinibile per:
     Variabili di sistema
     Dati globali utente (GUD)
     Tipi di dati: BOOL, AXIS, STRING, FRAME
    Sono bellissimo...
    Administrafan