Mauriziob82 Inserito: 16 luglio 2019 Segnala Share Inserito: 16 luglio 2019 Salve volevo sapere se per i PLC Omron NX1P2 in ambiente Sysmac Studio esiste una funzione similare alla PEEK_WORD di Tia Portal che legge indirizzi di Memoria Standard senza indicare il tipo di dati, #Peeker := PEEK(AREA := 16#84, DBNUMBER := 1, BYTEOFFSET := 2, ENO => ENO); AREA Input BYTE I, Q, M, D Possono essere selezionati i seguenti campi: 16#81: Input 16#82: Output 16#83: Merker 16#84: DB 16#1: Ingresso periferia (solo S7-1500) Grazie Link al commento Condividi su altri siti More sharing options...
Ctec Inserita: 16 luglio 2019 Segnala Share Inserita: 16 luglio 2019 Non penso proprio si possa fare. Il Sysmac Studio usa una allocazione dinamica delle variabili, per cui è il compilatore che decide dove mettere la variabile. Te puoi volendo "forzare" un indirizzo specifico per una o più variabili (% davanti all'indirizzo, quindi %D, %W, ecc) nel campo AT. Anche gli ingressi e uscite fisiche del PLC (moduli) hanno un indirizzo "strano" come: "IOBus://rack#0/slot#0/Ch1_In/Ch1_In00" Sono fatti per lavorare in simbolico, usa le strutture e le union per fare combinazioni "strane" per indirizzare le variabili. Link al commento Condividi su altri siti More sharing options...
Mauriziob82 Inserita: 17 luglio 2019 Autore Segnala Share Inserita: 17 luglio 2019 Grazie per le informazioni. Usando invece Strutture in Tipi di Dati e Poi le Strutture richiamate in Dati Globale è possibile? Link al commento Condividi su altri siti More sharing options...
Ctec Inserita: 17 luglio 2019 Segnala Share Inserita: 17 luglio 2019 Esattamente, cosa devi fare? Una volta definita una struttura come tipo dati, puoi poi definirci diverse variabili. Gli elementi della variabile si accedono con il punto (NomeVariabile.Elemento). Puoi anche fare una FB che prende in ingresso, uscita o ingresso-uscita una struttura, per semplificare il passaggio dati. Le variabili con tipo struttura possono essere sia locali che globali. E' a tutti gli effetti una variabile, che però ha un tipo complesso. E' come un array, ma mentre questo ha elementi omogenei (tutti dello stesso tipo), la struttura ha dati eterogenei (tipi diversi). Si possono fare anche array di strutture (per esempio le ricette...). E' uno strumento potente. Link al commento Condividi su altri siti More sharing options...
Mauriziob82 Inserita: 18 luglio 2019 Autore Segnala Share Inserita: 18 luglio 2019 Buongiorno grazie per le delucidazioni. Devo creare nel PLC un Archivio Ricette- Ricetta in Lavorazione e Ricetta da Visualizzare, composto da dati di diverso formato, INT, DINT, REAL e BOOL. Quindi la strada intrapresa è corretta? Una ulteriore domanda, poichè il progetto da cui parto è Siemens e la struttura ricette e costituita da puntatori che accedono ad aree DATI e a secondo dell'indice popolano le aree di interesse, in questo caso l'unica strada se si adopera in Omron ST è utilizzare funzione ad Hoc oppure c'è un metodo più veloce. Grazie anticipatamente. Buona giornata Maurizio Link al commento Condividi su altri siti More sharing options...
Ctec Inserita: 18 luglio 2019 Segnala Share Inserita: 18 luglio 2019 Definisci un tipo dati RicettaStruct, dove metti gli elementi, chiamiamoli Dato1 INT, Dato2 DINT, Dato3 REAL, Dato4 BOOL. Poi nelle globali definisci una variabile Ricette[nricette] come Array di RicettaStruct, di dimensione nricette che vuoi te, e impostalo Ritentivo. Questo è l'archivio delle ricette. Inoltre definisci una variabile RicettaLav e una RicettaVis sempre di tipo RicettaStruct, che saranno quella in lavorazione e in visualizzazione. A questo punto, se vorrai aggiornare la ricetta in lavorazione prelevandola dall'archivio, scriverai RicettaLav := Ricette[n]; dove n è il numero della ricetta. Per salvare una ricetta in lavorazione, avrai Ricette[m] := RicettaLav; dove m è il numero della ricetta da sovrascrivere in archivio. Piuttosto semplice, no? Link al commento Condividi su altri siti More sharing options...
Mauriziob82 Inserita: 18 luglio 2019 Autore Segnala Share Inserita: 18 luglio 2019 Si molto chiaro la mia difficoltà è nell'automatizzare gli indici n (numero della ricetta) ed m (numero della ricetta da sovrascrivere in archivio senza fare una serie di condizione IF per la lettura ricetta e scrittura ricette. Grazie molte per le delucidazioni, precise e puntuali Link al commento Condividi su altri siti More sharing options...
Messaggi consigliati
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 accountAccedi
Hai già un account? Accedi qui.
Accedi ora