LibNoDave und NET

Lazarus™

Level-2
Beiträge
434
Reaktionspunkte
52
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Zottel,

sag mal, wenn ich 10 CP343-1 Lean im Netz habe und einen PC mit deinem LibNoDave zum Koppeln nehmen will, verkraftet das deine Lib ???
Ich muss schnell und manchmal auch viele Daten übertragen. Wie gesagt, es sind 10 Stationen.
Kann denn das Libnodave S7-Protokoll, oder muss man dann mit Send und Receive arbeiten ??? Ich wollte am liebsten in den SPSen garnichts machen :)

Ich könnte es ja probieren, aber frag lieber vorher mal ganz doof *gggg*

Gruß
Thorsten
 
Lazarus™ schrieb:
Hallo Zottel,

sag mal, wenn ich 10 CP343-1 Lean im Netz habe und einen PC mit deinem LibNoDave zum Koppeln nehmen will, verkraftet das deine Lib ???
Ich muss schnell und manchmal auch viele Daten übertragen. Wie gesagt, es sind 10 Stationen.
Kann denn das Libnodave S7-Protokoll, oder muss man dann mit Send und Receive arbeiten ??? Ich wollte am liebsten in den SPSen garnichts machen :)

Ich könnte es ja probieren, aber frag lieber vorher mal ganz doof *gggg*

Gruß
Thorsten
Die Bibliothek "verkraftet" beliebig viele Stationen.
Du mußt in deiner Anwendung:
- mit openSocket eine Verbindung zu jedem CP öffnen.
- für jeden CP mit daveNewInterface einen Zeiger auf eigenes daveInterface erzeugen
- für jeden CP mit seinem daveNewConnection einen Zeiger auf eine eigene daveConnecetion erzeugen.

Das ist bei TCP anders als bei MPI: bei MPI wird nur einmal mit setPort die serialle Schnittstelle eröfnet, ein gemeinsames daveInterface angelegt und damit mehrere daveConnections erzeugt.

In deiner Anwendung hast du die Wahl:
- der Reihe nach die CPs zu pollen
- oder deine Anwendung "multithreaded" zu schreiben, so daß mit allen CPs quasi gleichzeitig kommuniziert wird.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Na,das teste ich mal.

Du siehst, ich habe die CP5611 Idee verworfen und steige um auf Ethernet. Ich denke das ist zukunftsträchtiger und auch schneller...

Na mal sehen, wenn es richtig losgeht,werde ich wohl nochmal dumme fragen haben *ggg*

AGIn:=daveNewInterface(fds, 'IF1',0,daveProtoISOTCP, daveSpeed187k);
Wozu denn eine Geschwindigkeit bei Ethernet ???? Ist die Geschwindigkeit wirklich auf 1500K begrenzet ???

Dank dir, für deine immer schnelle Hilfe..
 
Huhu Zottel:

Noch mal nach oben schieb den Thread *gg*

AGIn:=daveNewInterface(fds, 'IF1',0,daveProtoISOTCP, daveSpeed187k);

Wozu denn eine Geschwindigkeit bei Ethernet ???? Ist die Geschwindigkeit wirklich auf 1500K begrenzt ???
 
Lazarus™ schrieb:
Huhu Zottel:

Noch mal nach oben schieb den Thread *gg*

AGIn:=daveNewInterface(fds, 'IF1',0,daveProtoISOTCP, daveSpeed187k);

Wozu denn eine Geschwindigkeit bei Ethernet ???? Ist die Geschwindigkeit wirklich auf 1500K begrenzt ???

Ein .NET Beispiel könnte ich auch mal gebrauchen um es in SCADA.NET zu integrieren!

PS: Dezember wird releast!

Gruß Sebastian
 
seeba schrieb:
AGIn:=daveNewInterface(fds, 'IF1',0,daveProtoISOTCP, daveSpeed187k);
Wozu denn eine Geschwindigkeit bei Ethernet ???? Ist die Geschwindigkeit wirklich auf 1500K begrenzt ???
Das hat nur bei MPI Einfluß. Bei Ethernet ist es völlig egal, was du dort angibst. Es ist nur da, damit daveNewInterface() unabhängig vom Protokoll die gleichen Aufrufparameter hat.
Eigentlich sollte man bei MPI auch noch wählen können, ob der PC (bzw. der Adapter) einziger Master ist und welche die höchste Teilnehmeradresse ist.
Da habe ich jetzt die Wahl: Entweder füge ich das zu den Parametern von daveNewInterface() hinzu, worauf alle Nutzer ihre Programme anpassen müßten :-(
Oder ich füge für diejenigen, die was anderes wollen, als standardmäßig vorgegeben Funktionen wie:
daveSetHighestStation(daveInterface *),
daveSetIsOnlyMaster(daveInterface *),
ein...
Ähnlich is es mit daveNewConnection(): Die Parameter rack und slot sind nur für ISO over TCP interessant. Ansonsten kann dort stehen was ihr wollt.
Ein .NET Beispiel könnte ich auch mal gebrauchen um es in SCADA.NET zu integrieren!
Sind doch dabei???? Verzeichnisset Dot.NET/CS, Dot.NET/VB Probleme??
 
Lazarus™ schrieb:
Seba: Na da freuen wir uns doch mal auf Weihnacheten *ggg*
Gibbet ne Beta zum testen *frechfrag* ??

Ich habe zwar schonmal eine rausgegeben, aber die ist ganz am Anfang... Derzeit passe ich alle Module aneinander an (z.B. sind noch verschiedene Datenbankstrukturen programmiert) und dann wird es auch eine geben!

@Zottel: Mal ganz dumm gefragt: Wo steht da die IP? :?

Gruß Sebastian
 
Zuviel Werbung?
-> Hier kostenlos registrieren
seeba schrieb:
@Zottel: Mal ganz dumm gefragt: Wo steht da die IP? :?
Im API der Library? Sie wird der funktion openSocket als String übergeben. Schau die Zeile 38 in simpleISO_TCP.cs an. Das Programm erwartet die IP-Adresse als Argument und übergibt es: fds.rfd=libnodave.openSocket(102, arg[0]);
 
Zottel schrieb:
seeba schrieb:
@Zottel: Mal ganz dumm gefragt: Wo steht da die IP? :?
Im API der Library? Sie wird der funktion openSocket als String übergeben. Schau die Zeile 38 in simpleISO_TCP.cs an. Das Programm erwartet die IP-Adresse als Argument und übergibt es: fds.rfd=libnodave.openSocket(102, arg[0]);

Ahhh, jetzt blick ich durch! Vielen Dank!
 
Zurück
Oben