Vai al contenuto
PLC Forum


Plc Omron Cj1M E Opc Server


Rerican

Messaggi consigliati

Un saluto a tutti,

questa è la mia prima volta che posto qualcosa nel forum... vorrei sfruttare le vostre conoscienze e le vostre gentili disponibilità per risolvere una questione per me un po' spinosa...

Ho il compito di interfacciarmi ad un PLC Omron (serie CJ1M) per riuscire a leggere delle informazioni e gestirle attraverso uno SCADA... tutta la parte dallo SCADA per me è limpida e cristallina ma l'acquisizione su PLC sta risultando piuttosto spinosa. Lavoro in remoto su un PC nella stessa rete del controllore e quindi vi ho installato e configurato un OPC Server (quello della Matrikon) per ricavare le informazioni di cui ho bisogno. Il problema è che interrogandolo con un OPC Client (anche questo Matrikon) riesco a ricavare ben poco! Riesco a vedere solamente le seguenti aree di memoria:

- Auxiliary Relay

- CIO

- Counter

- Data Memory

- Holding Relay

- Task Flag

- Timer

- Working Relay

Ognuna di queste strutture mette a disposizione una (o due) word e un (o due) bit...

Faccio presente che non ho la minima idea di come sia fatto il software ne ho tantomeno la possibilità di accedere ad esso. Speravo di riuscire a ricavare tutte le informazoni attraverso un'interrogazione OPC... mi sbaglio? Cosa sono quelle aree di memoria sopracitate? Ho la possibilità di accedere ai dati via OPC o no? E se si... come???

Ringrazio anticipatamente per l'attenzione... sono disperato...

Link al commento
Condividi su altri siti


Praticamente accedi a... tutto.

Mi spiego:

- Auxiliary Relay : Area con dati (word e bit) di informazioni di stato del PLC e/o di sue parti, alcune accessibili in R/W altre solo in R. Per riferimenti, vedere il manuale hardware del PLC.

- CIO : Area dei bit di Ingresso / Uscita. In pratica sono le immagini dei bit di input e output del PLC. Ci sono anche aree di scambio coi moduli speciali

- Counter : Area dei contatori. Sono accessibili via OPC sia il bit di raggiunto setpoint che di valore attuale.

- Data Memory : Area dati del PLC. Sono tutte le word dove memorizzare dati non volatili (sotto batteria). Una parte è dedicata ai moduli speciali

- Holding Relay : Area di bit ritentivi. Indirizzabili al bit o alla word. Sotto batteria.

- Task Flag : Flag dei task di programma, indicanti la loro esecuzione o meno

- Timer : Area dei temporizzatori. Sono accessibili via OPC sia il bit di raggiunto setpoint che di valore attuale.

- Working Relay : Area di bit di lavoro, non ritentivi. Indirizzabili al bit o alla word.

Detto questo, puoi accedere quindi a tutte le informazioni del PLC. Eccetto il programma, mai accessibile via OPC.

Ma che te ne fai se non hai il software? Come fai a sapere per esempio che il (CIO)0.10 è un sensore, una fotocellula, un pulsante o altro?

Come fai a sapere che nelle D1000 e successivi ci sono i dati di produzione, o velocità operative, impostazioni per la produzione o altro?

Tu sei riuscito ad interfacciarti, ma non sai cosa fare delle informazioni che ricevi dal PLC. Devi sentire chi ha sviluppato il software e chi ti ha commissionato il lavoro (che cosa devi fare sullo SCADA)?

Link al commento
Condividi su altri siti

Sei stato gentilissimo e decisamente esaustivo!

Anche se può sembrarti strano la tua risposta mi ha aperto un mondo e ho fatto un notevole passo avanti! In pratica devo interfacciarmi a questo controllore e acquisirne i dati solo per fare della supervisione! Devo quindi implementare un DB standardizzato al mio SCADA che punti con un OPC Client i dati presenti sul PLC Omron ed aggiungerli a quelli che saranno implementati successivamente con un mio controllore...

Il problema fondamentale è che senza SW è veramente complicato riuscire ad individuare su quale area di memoria puntare per riuscire ad interrogare i dati corretti... fortunatamente (o forse no...) il PLC era interfacciato ad un DB SQL sul quale sono riuscito a ricavare una tabella che riporta un campo "REGISTRY" che ho supposto essere l'area di memoria in questione dove puntare dato per dato...

Sai per caso cosa può significare un'ulteriore tabella chiamata "MASK" posta accanto a quella chiamata "REGISTRY"?

ESEMPIO:

IdPlcVariable: 1668

REGISTRY: 21066

MASK: -1

DESCRIPTION: "ENERGIA EROGATA CABINA 1"

Grazie mille! Mi sei stato davvero d'aiuto!

Modificato: da Rerican
Link al commento
Condividi su altri siti

Uhm... Secondo me è letteralmente la mascheratura. Cioè, i bit da considerare (o quelli da "ammazzare).

Dato che -1 è FFFF, mi fa pensare a una mascheratura che... non maschera, cioè guardi tutti i bit.

Viene a volte usato quando si leggono canali di I/O che sono mappati al bit per mascherare in fase di acquisizione i bit che non servono.

La IdPlcVariable fa pensare a qualcosa che identifica un'area (per esempio, l'area D), e il registry l'indirizzo.

Quindi direi che la variabile è la D21066, di cui si considerano tutti i 16 bit.

Link al commento
Condividi su altri siti

Ancora una volta ti ringrazio per la tempestiva risposta!

Purtroppo la tua deduzione, così come la avevo pensata anche io, è risultata inesatta in quanto il valore che leggo da tale "indirizzo" non è lo stesso che leggo nello SCADA (proprietario e blindato), nemmeno se lo considero come DWORD con la word successiva o precedente ...

Dato che non ho mai "armeggiato" con CX-One, sai mica se è possibile, tramite CX-Programmer, riusciure a scaricarsi il software presente sul controllore? Ho pensato di mettere nel PC dell'impianto la versione "trial" e backuppare il programma presente nel PLC... so che è una domanda idiota in quanto dovrebbe essere abbastanza naturale poterlo fare ma ti chiedo comunque conferma: è una cosa fattibile? Cosa ne pensi come idea?

Un salutone

Link al commento
Condividi su altri siti

Fare è fattibile. Purché non sia protetto da password...

Se poi sono stati buoni, nel CJ è possibile mettere i commenti, per cui avresti il software commentato e forse anche i simboli...

Per farlo ci sono due modi. Premetto che non so se la versione trial ha limitazioni.

Se è una versione recente, puoi usare PLC->In Linea Automatico->Modalità in Linea Diretta. Ti connetti e scarichi in automatico il programma.

Oppure, ti crei un nuovo progetto vuoto per il PLC che hai (specifica anche la CPU e la connessione), vai on-line (PLC->Funzionamento in Linea) e scaricati il programma e tutti gli altri dati con PLC->Trasferisci->dal PLC.

Poi, buon divertimento...

Ma non puoi semplicemente contattare chi ha fatto il software e ti fai dire semplicemente gli indirizzi e i formati dei dati che ti interessano? Non dovrebbe essere un problema.

Link al commento
Condividi su altri siti

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 account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...