| SPS-Forum.de -> Wissen ist das einzige Gut das sich vermehrt wenn man es teilt! |
|
|||||||
| Registrieren | Hilfe | Benutzerliste | Kalender | Googlemap ME | JavaChat | Suchen | Heutige Beiträge | Alle Foren als gelesen markieren |
![]() |
|
|
Themen-Optionen | Ansicht |
|
|||
|
Es sieht so aus dass meine Verbindung zur SPS per C# code steht.
Ich habe die Datei ...Dot.Net\CS\SimpleISO_tcp.cs nachvollzogen und den Connect zur SPS hinbekommen Also ich kann meine SPS jetzt per Code in zustand STOP und RUN befördern. Als nächstes wollte ich jetzt mal die Inputs auslesen. Aus den Beispielen im Code fande ich diese Zeilen: int saveDebug = libno.daveGetDebug(); Console.WriteLine("Trying to read a single bit from E0.2\n"); res = dc.readBits(libno.daveInputs, 0, 2, 1, null); Console.WriteLine("function result:" + res + "=" +libno.daveStrerror(res)); Diese passen auf meinen Versuch ganz gut, ich will den Input E 0.2 auslesen um einfach zu sehen welches Potenzial dort anliegt. Doch ich kriege immer das selbe ergebniss, egal ob dort ein Singnal anliegt oder nicht. Diese Ergebnis sieht wie folgt aus: function result:0=ok ______________________________________________________________ Die SPS ist korekt konfiguriert. Meine frage wäre halt ob am Code etwas flasch ist oder ob ich insgesamt einen Gedanken fehler drin habe. |
|
||||
|
Da hast etwas nicht richtig verstanden.
Vergleiche folgenden Ausschnitt aus simpleISO_TCP.cs: Code:
res=dc.readBytes(libnodave.daveFlags, 0, 0, 16, null);
if (res==0) {
a=dc.getS32();
b=dc.getS32();
c=dc.getS32();
d=dc.getFloat();
Console.WriteLine("FD0: " + a);
Console.WriteLine("FD4: " + b);
Console.WriteLine("FD8: " + c);
Console.WriteLine("FD12: " + d);
} else
Console.WriteLine("error "+res+" "+libnodave.daveStrerror(res));
|
|
|||
|
Hi Zottel
Frage an dich, welche bytes werden von deiner Funktion gelesen? res=dc.readBytes(libnodave.daveFlags, 0, 0, 16, null); if (res==0) { a=dc.getS32(); b=dc.getS32(); c=dc.getS32(); d=dc.getFloat(); Console.WriteLine("FD0: " + a); Console.WriteLine("FD4: " + b); Console.WriteLine("FD8: " + c); Console.WriteLine("FD12: " + d); } else Console.WriteLine("error "+res+" "+libnodave.daveStrerror(res)); und wie müsste ich die Funktion umschreiben das ich meine Eingänge z.b von E 0.0 bis E1.7 lesen kann? |
|
||||
|
Die gelesenen Bytes werden von dem Programm doch als FD0 bis FD12 ausgegeben. "FD" ist nur Englisch für "MD". Also welche Bytes gehören zu MD0 bis MD12? Wieviele sind es? Welche Parameter erwartet die Funktion readBytes() ? Siehe doc/daveReadBytes.html.
Du merkst wohl an der Art meiner Antwort, daß ich meine, du solltest ein bischen mehr lesen und ausprobieren. Natürlich könnte ich dir mit weniger Worten den modifizierten Programmcode hier hinschreiben. Sieh mal meine Lage: Ich bekomme viele Anfragen wegen Libnodave. Es kostet auch Zeit, alle zu beantworten. Es ermüdet, wieder das Gleiche zu schreiben. Ich habe Libnodave "verschenkt", aber bin ich deswegen verpflichtet, Zeit und Mühe in die Unterstützung von Anwendern zu stecken? Vielleicht sollte ich eine kostenpflichtige Hotline einrichten... |
|
|||
|
Danke für euere Hilfe.
|
|
|||
|
Ich möchte mich da auch mal einklinken. Wo muss in einem C# Projekt die IP eingetragen werden?
Gruß Gindamo |
|
||||
|
Wie ist denn das gemeint? bei dem Beispielprogramm Testiso, oder wo?
__________________
--------------------------------------------- Jochen Kühner http://jfk-solutions.de/ - Softwareentwicklung, Programmierung, ... |
|
|||
|
Hallo zusammen,
was haltet ihr davon wenn man dieses Wiki http://www.activevb.de/cgi-bin/apiwi...orie:Libnodave mit den Usern hier aus dem Forum mal etwas ausarbeiten ? Gruß Ronnie |
|
||||
|
Zitat:
Ich würde dann eher Vorschlagen, bei den Funktionen der libnodave.net.cs XML Kommentar mit /// einzufügen, so das die Funktionen beschrieben sind!
__________________
--------------------------------------------- Jochen Kühner http://jfk-solutions.de/ - Softwareentwicklung, Programmierung, ... |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
|
|
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| OPC Server Simatic - S7 Verbindung langsam! | MartinP | Simatic | 12 | 10.11.2007 20:40 |
| Verbindung INAT OPC zur S7 300 über MPI | lugo | Hochsprachen & OPC | 2 | 13.06.2007 09:33 |
| Direkte Verbindung zwischen Oracle Datenbank und SPS (S7) | Thorti | Hochsprachen & OPC | 2 | 06.03.2007 08:54 |
| Mitsubishi SPS & Siemens SPS Verbindung via TCP/IP | KayCzeromin | Sonstige Steuerungen | 4 | 18.01.2007 14:27 |
| Proble mit S7 TCP Verbindung zwischen S7 300 und 400 | Jochen Kühner | Simatic | 3 | 02.11.2006 11:15 |