Vai al contenuto
PLC Forum


Cx Server Lite - Problema Accesso Registri Di Memoria


Lux78

Messaggi consigliati

Salve a tutti,

vi espongo un problema che mi è recentemente capitato.

Ho un'applicazione scritta in .NET (2008) che sfrutta CX Server Lite tramite ActiveX.

L'applicazione deve recuperare dei valori accedendo a get_DM per poi registrarli su un database.

I problemi sono 2:

1. Seguendo il seguente procedimento

comms.OpenPLC -> tutti i get_DM -> comms->ClosePLC

il processo cdmsrv20 ha un'occupazione di memoria in costante crescita, partendo da circa 10MB fino ad arrivare oltre 80MB in pochi minuti.

Se invece apro e chiudo il PLC ad ogni chiamata l'occupazione di memoria sale molto meno (ma continua a salire), inoltre si dilatano i tempi di esecuzione di ciascuna ciclo (ogni ciclo prevede numerose letture dal get_DM).

2. Dopo un po' che è in esecuzione noto che i tempi di esecuzione del get_DM crescono notevolmente, spesse volte rimanendo in attesa dalle 17 del pomeriggio fino alle 6 del mattino dopo.

Ho aggiunto svariati log per monitorare i tempi di esecuzione di ciascuna operazione.

Il problema sembra non si presentasse con la versione sviluppata in VB6.

Preciso che tra una chiamata e l'altra del get_DM eseguo uno Sleep di 50 millisecondi.

La versione del CX Server Lite utilizzata è la 1.21.

Provando a sfruttare la versione .NET e non l'activeX non ho trovato i metodi per accedere ai registri di memoria DM, ma solamente i Read e GetData che prevedono dei Point definiti sullo strumento, strada che non è praticabile.

Sapete dirmi come fare per rendere stabile e affidabile l'accesso ai registri di memoria?

Esiste forse una versione più aggiornata che risolve dei bug?

Oppure vi sono procedure particolari per accedere ai dati?

Grazie,

Max

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...