hits Inserito: 30 giugno 2011 Segnala Inserito: 30 giugno 2011 Salve a tutti sto iniziando a lavorare con PLC della famiglia Omron CJ1M cpu13-etn. Per la realizzazione di un progetto dovrei scrivere una serie di dati ( stringhe, doble, interi e bit) da una applicazione a partire da una qualsiasi posizione di Data Memory, mediante i comandi FINS. Il quantitativo di dati da scrivere è abbastanza sostanzioso ;D, dovrei scrivere al max 1800 data memory. Posso decidere arbitrariamente i DM in cui scrivere? o ci sono limitazioni sui DM disponibili? Grazie in anticipo per le risposte.
Ctec Inserita: 30 giugno 2011 Segnala Inserita: 30 giugno 2011 In teoria hai a disposizione 32768 word per memorizzare i dati (Data Memory).In pratica, un po' meno, perchè l'area da D30000 in su è usata da eventuali moduli speciali. Ma ti rimangono 30000 word...Se però non usi moduli speciali che utilizzano tale area, puoi usarli tutti.Se poi non ti bastassero, potresti usare qualche word anche dell'area H. Questi tra l'altro sono indirizzabili al bit... Se serve...
hits Inserita: 30 giugno 2011 Autore Segnala Inserita: 30 giugno 2011 Grazie mille per la Pronta risposta.Ho riscontrato però che scrivendo in alcune aree i valori che poi vado a leggere non sono quelli scritti, in particolare leggo sempre DM pari 0000 anche se la scrittura è andata a buon fine
Ctec Inserita: 30 giugno 2011 Segnala Inserita: 30 giugno 2011 Mi pare strano. In che area, esattamente? Puoi mettere un esempio di come scrivi e leggi?
hits Inserita: 1 luglio 2011 Autore Segnala Inserita: 1 luglio 2011 Per leggere e scrivere ho trovato una libreria che mette a disposizioni diverse API per interfacciarsi con il PLC PoohPlcLink.dll, pensi che possa essere questa il problema?Le aree in questione sono nell'intorno del DM 1200.
Ctec Inserita: 1 luglio 2011 Segnala Inserita: 1 luglio 2011 Intorno a DM1200 non c'è niente che scrive in automatico, per cui puoi andare tranquillo.Per quel che riguarda la dll non so, non la conosco. Presumo che utilizzando i comandi FINS vedo l'area DM come tale, e non come facente parte dell'area di memoria interna del PLC.E se te scrivi un valore qualsiasi nelle DM (mediante Cx-Programmer), le leggi regolarmente via dll? In tal caso controlla anche la lettura.Se hai tempo, l'ideale sarebbe mettere uno sniffer e analizzare i frames, sia in tx che in rx, FINS per controllare che siano corretti.
Ctec Inserita: 1 luglio 2011 Segnala Inserita: 1 luglio 2011 Controlla in particolare che nel frame fins tu abbia (in esadecimale) 82 04 B0 (il primo byte indica operazioni sulla Data Memory Area, e 0x04B0 è l'indirizzo 1200).Non vorrei che tu vada a scrivere altrove...
hits Inserita: 1 luglio 2011 Autore Segnala Inserita: 1 luglio 2011 Grazie mille per le risposte sei stato molto chiaro e cortese.Per sniffer intendi qlc tipo wireshark giusto?
Ctec Inserita: 1 luglio 2011 Segnala Inserita: 1 luglio 2011 Qualcosa che intercetti il frame in trasmissione e in ricezione.In particolare, bisognerebbe che non interferisse, in modo da poter vedere in tempo reale quello che succede sulla linea.Wireshark non rammento se è "trasparente", oppure si sostituisce all'host.Non ho trovato informazioni su quella dll che hai indicato qualche post sopra. Dove l'hai trovata?
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