Vai al contenuto
PLC Forum


Corretto Utilizzo Libreria Libnodave?


zak69pinz

Messaggi consigliati

Ciao ad occhio e croce sai cosa puo succedere ? mi sembra che te ad ogni colpo di timer apri una connessione, fai quello che devi fare e poi la chiudi.

Se è cosi puo verificarsi un problema, perche il windows anche se fai richiesta di chiusura, la connessione te la mette in Time_Wait mi sembra, e viene chiusa fisicamente dopo un certo timeout, quindi aprendo e chiudendo in realtà aumenti le connessioni teoricamente aperte sulla macchina, per verificare questo, basta che mentre esegui il tutto, apri il prompt e digiti un bel

netstat -n

Vedrai in indirizzo esterno l'indirizzo del tuo ip e in stato lo stato della tua connessione.

Se per caso succede questo, man mano hai delle connessioni zombi che ti saturano la rete.

Prova a darci un occhio

Link al commento
Condividi su altri siti


Confermo:

Non usare

byte[] myResultOffSem = RichiestePLC.ProcessMessage( myValuesSem , mLibNoDaveServer );

per far eseguire le operazioni di scrittura e lettura sul PLC....

hai dei metodi pubblici nell'istanza creata !

dovresti poter chiamare:

mLibNoDaveServer.ReadByteFromPLC(int TipoArea, int iNumDB, int iStartAdr, int iNumElem, byte[] buffer)

e

mLibNoDaveServer.WriteByteOnPLC(int TipoArea, int iNumDB, int iStartAdr, int iNumElem, byte[] buffer )

ciao

BR1

Link al commento
Condividi su altri siti

Confermo:

Non usare

byte[] myResultOffSem = RichiestePLC.ProcessMessage( myValuesSem , mLibNoDaveServer );

per far eseguire le operazioni di scrittura e lettura sul PLC....

hai dei metodi pubblici nell'istanza creata !

dovresti poter chiamare:

mLibNoDaveServer.ReadByteFromPLC(int TipoArea, int iNumDB, int iStartAdr, int iNumElem, byte[] buffer)

e

mLibNoDaveServer.WriteByteOnPLC(int TipoArea, int iNumDB, int iStartAdr, int iNumElem, byte[] buffer )

ciao

BR1

Link al commento
Condividi su altri siti

Ciao a tutti. Scusatemi moltissimo per il ritardo ma solo oggi riesco a riscrivere sul forum.

Per varg:

- ho verificato il numero di connessioni aperte dalla macchina è nella norma, nessuna saturazione di connessioni aperte.

Per BR1:

- premettendo che io e la programmazione abbiamo litigato da piccoli, la tua considerazione è concreta però il ProcessMessage è un metodo statico di una classe statica. A parte una razionalizzazione del codice (che io comunque preferisco così) come può incidere sulle risorse in gioco?

Inizio a pensare (o sperare) che sia uno dei 3 PLC che vengono monitorizzati ad avere qualche problema perchè perdo sempre il contatto con quello mentre gli altri due continuano a rispondere correttamente agli intervalli prestabiliti.

Vi terrò informati.

Grazie ancora,

Francesco Aperti

Link al commento
Condividi su altri siti

Ciao a tutti. Scusatemi moltissimo per il ritardo ma solo oggi riesco a riscrivere sul forum.

Per varg:

- ho verificato il numero di connessioni aperte dalla macchina è nella norma, nessuna saturazione di connessioni aperte.

Per BR1:

- premettendo che io e la programmazione abbiamo litigato da piccoli, la tua considerazione è concreta però il ProcessMessage è un metodo statico di una classe statica. A parte una razionalizzazione del codice (che io comunque preferisco così) come può incidere sulle risorse in gioco?

Inizio a pensare (o sperare) che sia uno dei 3 PLC che vengono monitorizzati ad avere qualche problema perchè perdo sempre il contatto con quello mentre gli altri due continuano a rispondere correttamente agli intervalli prestabiliti.

Vi terrò informati.

Grazie ancora,

Francesco Aperti

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