SPS-Forum.de -> Wissen ist das einzige Gut das sich vermehrt wenn man es teilt!


Deltalogic Deltalogic VIPA Profichip MHJ-Software Codesys Eichler GmbH Versiondog Progea Visam Procentec Uhltronix

Zurück   SPS-Forum > Computer > Hochsprachen & OPC
Benutzername
Kennwort
Registrieren Hilfe Benutzerliste Kalender Googlemap ME JavaChat Suchen Heutige Beiträge Alle Foren als gelesen markieren

Antwort
 
Themen-Optionen Ansicht
  #11   Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Alt 23.01.2008, 09:10
Benutzerbild von Zottel
Zottel Zottel ist offline
Erfahrener Benutzer
 
Registriert seit: 19.06.2003
Beiträge: 2.034
Abgegebene Danke: 49
Erhielt 144 Danke für 103 Beiträge
Standard

Zitat:
Zitat von stblme01 Beitrag anzeigen
...
Unbehandelte Ausnahme: System.IndexOutOfRangeException: Der Index war außerhalb des Arraybereichs.
at test.Main(String[] args)
...
Sorry, ich weiß nicht ob ich das richtig sehe aber:
Der Quelltext ist dabei. Wenn du Main(String[] args) siehst, schaust du nach Main(String[] args). Sieht man dann, daß es sich um die dem Programm übergebenen Parameter handelt? Woher sonst bekäme Main Werte übergeben?

Wenn nicht: Jemand, der schon mal öfter versucht hat, ein fremdes Programm zu verstehen, könnte nun suchen, wo args überall verwendet wird. Wenn es trotz Suche im Text zu mühsam ist, einfach auskommentieren ;Der Compiler zeigt's dir dann.
Erkenntnis: 5 Zeilen weiter wird args[0] an openSocket übergeben. Also mal Definition von openSocket anschauen. Mußt du für eigene Programme sowieso kennen. doc/openSocket.html erklärt die Parameter. Wenn du dann nicht darauf kommst, wo args[] herkommt, mal eine feste IP einsetzen...
Zitat:
Zitat von stblme01 Beitrag anzeigen
Ich übergebe der Datei beim Starten keine Parameter.
Warum eigentlich nicht? Bei diesem Fall...
Zitat:
Zitat von stblme01 Beitrag anzeigen
..win\testISO_TCP.exe arbeiten und auf meine SPS zugreifen.
...ging es doch auch nur mit Parameter.
Mit Zitat antworten
  #12   Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Alt 24.01.2008, 08:07
stblme01 stblme01 ist offline
Neuer Benutzer
Themenstarter  
 
Registriert seit: 17.01.2008
Beiträge: 9
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Standard Hallo Leute

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.
Mit Zitat antworten
  #13   Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Alt 24.01.2008, 09:27
Benutzerbild von Zottel
Zottel Zottel ist offline
Erfahrener Benutzer
 
Registriert seit: 19.06.2003
Beiträge: 2.034
Abgegebene Danke: 49
Erhielt 144 Danke für 103 Beiträge
Standard

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));
readBits funktioniert genauso. Ich würde aber NIE readBits verwenden. Warum nicht? Steht auch irgendwo im README oder im FAQ.
Mit Zitat antworten
  #14   Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Alt 24.01.2008, 09:48
stblme01 stblme01 ist offline
Neuer Benutzer
Themenstarter  
 
Registriert seit: 17.01.2008
Beiträge: 9
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Standard Zottel

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?
Mit Zitat antworten
  #15   Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Alt 24.01.2008, 11:08
Benutzerbild von Zottel
Zottel Zottel ist offline
Erfahrener Benutzer
 
Registriert seit: 19.06.2003
Beiträge: 2.034
Abgegebene Danke: 49
Erhielt 144 Danke für 103 Beiträge
Standard

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...
Mit Zitat antworten
  #16   Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Alt 24.01.2008, 12:20
stblme01 stblme01 ist offline
Neuer Benutzer
Themenstarter  
 
Registriert seit: 17.01.2008
Beiträge: 9
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Standard

Danke für euere Hilfe.
Mit Zitat antworten
  #17   Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Alt 29.07.2010, 14:58
Gindamo Gindamo ist offline
Neuer Benutzer
 
Registriert seit: 29.07.2010
Beiträge: 1
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Standard

Ich möchte mich da auch mal einklinken. Wo muss in einem C# Projekt die IP eingetragen werden?

Gruß
Gindamo
Mit Zitat antworten
  #18   Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Alt 30.07.2010, 08:29
Benutzerbild von Jochen Kühner
Jochen Kühner Jochen Kühner ist offline
Erfahrener Benutzer
 
Registriert seit: 17.06.2004
Ort: Offenau
Beiträge: 1.403
Abgegebene Danke: 30
Erhielt 73 Danke für 59 Beiträge
Standard

Zitat:
Zitat von Gindamo Beitrag anzeigen
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, ...
Mit Zitat antworten
  #19   Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Alt 30.07.2010, 11:39
ronnie.b ronnie.b ist offline
Benutzer
 
Registriert seit: 03.10.2005
Beiträge: 63
Abgegebene Danke: 0
Erhielt 4 Danke für 4 Beiträge
Standard

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
Mit Zitat antworten
  #20   Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Alt 30.07.2010, 12:22
Benutzerbild von Jochen Kühner
Jochen Kühner Jochen Kühner ist offline
Erfahrener Benutzer
 
Registriert seit: 17.06.2004
Ort: Offenau
Beiträge: 1.403
Abgegebene Danke: 30
Erhielt 73 Danke für 59 Beiträge
Standard

Zitat:
Zitat von ronnie.b Beitrag anzeigen
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
Ich denke wenn dann sollte man die Api von libnodave.net.cs beschreiben, dem .NET Wrapper. Die VB6 Deklarationen der C Funktionen fänd Ich unnütz, da VB6 ja eh nicht mehr weiterentwickelt wird. Wenn man das macht, kann man ja gleich die C -Funktionen im Quellcode beschreiben...

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, ...
Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu

Ä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


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:19 Uhr.


Powered by vBulletin® Version 3.8.4 (Deutsch)
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Template-Modifikationen durch TMS