Vai al contenuto
PLC Forum


Programma Per Progettazione Impianto Elettrico Con Simulazione


algiordino26

Messaggi consigliati

Salve a tutti,

non se sono O.T. in questo forum ma non so dove porre questa domanda:

Ho scaricato e sto provando ad usare la libreria libnodave per comunicazione ISO over TCP su una linea di montaggio con più CPU S7 300 (315 2DP per la precisione) su cui sono installate delle CP-343.

Ho intenzione di sviluppare il software con delphi, a questo proposito ho avviato il demo fornito con la libreria e già compilato; se il programma è l'unica applicazione ad essere connessa alla CP non si presenta nessun problema, riesco ad accedere alla CPU senza nessun tipo di errore.

Se però avvio step7 manager e tento di vedere lo stato delle variabili, step7 non riesce a stabilire una comunicazione con la CPU, se disconnetto il programma di prova tutto funziona correttamente con step7 ma non posso più collegarmi con il primo.

Insomma non riesco a fare più di una connessione con la CP/CPU.

Modificando il sorgente della libreria (nodave.c ) sono riuscito a capire l'errore che blocca la comunicazione: il codice di errore è 10054 "connection reset by peer" (Connessione in corso interrotta forzatamente dall'host remoto).

In linea è installato un sw di supervisione che utilizza proprio libnodave e che effettua connessioni multiple alla stessa CP/CPU senza alcun errore, il sw purtroppo è realizzaso in LabView ed io sono quasi a zero con questo ambiente di sviluppo.

Qualcuno di voi ha provato ad utilizzare la libreria libnodave con Delphi?

Grazie a tutti e scusate se mi sono dilungato nella spiegazione.

Link al commento
Condividi su altri siti


Io ho sviluppato un paio di applicativi con le librerie LibNodave, riesco a far funzionare

sia il Simatic Manager S7 con il mio protocollo di comunicazione.

Ho provato a lanciare due istanze del mio protocollo e il sistema funziona

(anche se sono apparsi alcuni errori, risolti con i retry automatici)

In ogni caso se chiudo una delle applicazione le altre funzionano OK:

1) Usi l'ultima versione di LibNoDave ? Io la 8.1

2) Esegui in modo corretto la disconnessione al PLC e all'interfaccia ?

3) Che sistema operativo usi ? Io sto provando con W2K sp4

altro non saprei ...

Ciao

BR1

Link al commento
Condividi su altri siti

1) Usi l'ultima versione di LibNoDave ? Io la 8.1

Si è l'ultima versione della libreria

2) Esegui in modo corretto la disconnessione al PLC e all'interfaccia ?

Io credo di si nel mio programma, credo che anche il programmino di test compilato con delphi faccia lo stesso

3) Che sistema operativo usi ? Io sto provando con W2K sp4

Ho provato sia con Win2k wsp4 che con WinXp pro sp2 ma il risultato è lo stesso.

Tu che protocollo usi (MPI o TCP)?

Potresti provare anche tu con due istanze del programma di test compilato in delphi a connetterti sullo stesso PLC con il protocollo ISO su TCP?

Grazie, ciao

Link al commento
Condividi su altri siti

Ho appena fatto la prova che mi chiedevi (usando NoDaveDemo.exe in ISO over TCP) allora:

- Ho lanciato due istanze del programma che leggevano un PLC

- Il simatic manager in debug su un blocco del PLC (occhialini premuti)

- Il PLC comunica con altri due con messaggi in ISO on TCP

Il tutto funziona tranne le due istanze di NoDaveDemo che le devo alternare (utilizzando il tasto Start/stop)

l'utilizzo, ma senza dover riavviare nessuna delle applicazioni (S7 sempre in debug senza problemi).

Probabilmente l'applicazione delphi è con collegamento sempre attivo e non permette ad altri di comunicare:

nel mio protocollino eseguo le operazioni solo se necessario (anche perchè devo tenere sotto controllo 7 PLC).

Per altro aiuto puoi provare nel forum sul sito dove hai scaricato LibNoDave:

http://sourceforge.net/forum/?group_id=61026

o

http://sourceforge.net/forum/forum.php?forum_id=205657

Thomas è sempre molto gentile e disponibile (io stesso ho avuto bisogno e mi ha risposto con una

rapidità impressionante).

Fai sapere come risolvi, ma penso che dovrai far modificare anche il software del supervisore.

Se hai bisogno posta (ora sono in cantiere e riesco a fare prove).

Ciao

BR1

"Good night and good luck"

Link al commento
Condividi su altri siti

Se avvio le due istanze di NoDaveDemo.exe riesco a far funzionare la comunicazione come fai tu, facendo start e stop in maniera alternata, senza doverle riavviare, ma non riesco a far andare on line step 7 manager.

Il supervisore ha sempre la connessione attiva perchè deve rispondere alla variazione di alcuni segnali, quindi viene aperta la connessione e vengono letti costantemente i valori di alcune DB, inoltre, poichè alcune macchine hanno due stazioni ed il supervisore le tratta come macchine diverse, vengono effettuate due connessioni diverse utilizzando lo stesso indirizzo IP e leggendo aree di memoria diverse.

E' stata scritta una libreria che si basa su libnodave e che crea delle thread per ogni singolo PLC che si desidera connettere, io ho provato ad usare sia libnodave che questa libreria ma il problema è sempre lo stesso.

comunque. proverò a contattare Thomas per chiedergli qualche spiegazione (ho visto che parla abbastanza bene l'italiano per fortuna).

Grazie comunque per l'aiuto, ti farò sapere eventuali sviluppi.

Ciao.

Link al commento
Condividi su altri siti

Ok, buona fortuna....

un'altra prova che puoi fare è verificare che cosa fa il tasto Start/stop...

Per intenderci:

Con LibNoDave per la connessione ad un PLC vi sono 3 passaggi da Eseguire

1) Connessione al Socket (libnodave.openSocket)

2) Connessione all'interfaccia (libnodave.daveInterface)

3) Connessione al PLC (libnodave.daveConnection)

Se chiudendo ad ogni operazione la connessione al PLC forse, e ripeto FORSE, potresti

trovare una soluzione senza cadere in problemi di tempistiche di aggiornamento (infatti

mi sembra che le prime due connessioni siano quelle più lunghe).

Questo significa però modificare il software di supervisione, quindi mi immagino già le

frasi degli operatori: questo non l'aveva mai fatto ....

Ciao

Link al commento
Condividi su altri siti

Ho avuto un problema simile anch'io, ma con una CPU S7-200. Non riuscivo a collegarmi contemporaneamente con MicroWin e il mio server OPC. Ho risolto il problema configurando un collegamento ethernet (tramite l'assistente) e usando l'indirizzo TSAP impostato con l'assistente. Se configuro più collegamenti, riesco anche a collegare più server OPC (max 8) oltre a microWIN che ha un canale separato (che è quello usato di default dal mio server).

Non ho mai usato libnodave, però se da qualche parte puoi cambiare il TSAP, puoi provare a mettere quello dell'assistente ethernet, che se ricordo bene è 10.02, o qualcosa del genere.

in bocca al lupo. Domenico.

Link al commento
Condividi su altri siti

Tornando al caso con S7 300...

controlla nella configurazione hardware le risorse per la comunicazione, ho fatto delle prove

e a seconda della versione di CPU e CP si comporta in modo diverso.

Questa settimana farò qualche test più approfondito poi faccio sapere

Ciao

BR1

Link al commento
Condividi su altri siti

Ho capito finalmente dove stava il problema.

Il PLC o la scheda Ethernet (non so chi dei due) accetta massimo 3 connessioni contemporanee. Come avevo scritto in precedenza il sistema di supervisione tratta una macchina con due stazioni come se fossero due macchine separate, instaurando quindi due connessioni sullo stesso indirizzo IP.

Caso ha voluto che io scegliessi come PLC per le prove proprio una macchina con due postazioni, dal momento che il supervisore è sempre connesso (la linea produce) su quella macchina risultavano già attive due connessioni, la terza connessione la eseguivo io o con Step 7 manager o con il programma di test.

scegliendo un altro PLC con una sola connessione, sono riuscito a connettere le due istanze del NoDaveDemo.exe senza problemi.

A questo punto sorge un'altra domanda spontanea, è possibile aumentare il numero di connessioni contemporanee?

Ciao e grazie per i suggerimenti e per l'aiuto.

P.S. Ho scritto a Thomas e come mi avevi anticipato tu mi ha risposto con una velocità incredibile.

Link al commento
Condividi su altri siti

  • 2 years later...

Ciao a tutti volevo chiedere se esiste un programma di simulazione per impianti elettrici cioè un programma che una volta disegnato lo schema dell'impianto mi faccia anche una simulazione per capire se lo schema è giusto o sbagliato.

Per secondo volevo chiedervi se esisteva un programma che mi sappia calcolare la dimensione dei "fili" da adottare per alimentare un quadro elettrico, e le varie linee di F.M. e di linea luce in un impianto domestico e non.....

Grazie a tutti in anticipo...ciao ciao

Link al commento
Condividi su altri siti

Livio Migliaresi
programma che mi sappia calcolare la dimensione dei "fili"

forse indicazioni utili puoi trovarle qui.

programma di simulazione per impianti elettrici

Per questo tuo quesito, mi spiace, ma non so darti indicazioni.

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