DotNetSimaticDatabaseProtokoller

Zuviel Werbung?
-> Hier kostenlos registrieren
Hi,i have a problem when reading data from the controller to the table.
"33028" returns an error when trying to read( res=33028 )

What am I doing wrong?

Example code:

try
{
int res = 0;
int value = 0;

try
{
fds.rfd = libnodave.openSocket(102, "192.168.0.12");
fds.wfd = fds.rfd;
if (fds.rfd > 0)
{
di = new libnodave.daveInterface(fds, "IF1", 0, libnodave.daveProtoISOTCP, libnodave.daveSpeed187k);
di.setTimeout(5000000);
dc = new libnodave.daveConnection(di, 0, 0, 1);
if (0 == dc.connectPLC())
{
res = dc.readBytes(libnodave.daveDB, 1, 0, 4, null);


//return 'res'=33028


if (res == 0)
{
value = dc.getU32();
this.txtValueByte.Text = value.ToString();
}
else
{
MessageBox.Show("Ошибка - " + res + " " + libnodave.daveStrerror(res));
}

}
dc.disconnectPLC();
libnodave.closeSocket(fds.rfd);
}
else
{
MessageBox.Show("Ошибка. Не открыто соединение TCP по IP:" + mvIP);
}
}
catch (Exception exp)
{
MessageBox.Show("Ошибка" + exp.Message);
}
}
catch (Exception exp)
{
MessageBox.Show("Ошибка - " + exp.Message, "Error");
}
 
Hatte die Anleitung gelesen ( danke dafür an dieser Stelle).
Das Problem ist eher, dass ich aus dem Ordner von Github nicht schlau werde .. irgendwie müsste ich mir daraus anscheinend ne .exe erstellen wenn ich das richtig sehe .. ich wüsste aber nicht wie:confused:

In dem ursprünglichen Dateipfad find ich einen Ordner, in dem eine exe vorhanden und ausführbar ist, allerdings ist diese so alt, dass .ap13 /14 und 15 nicht unterstützt wird.

Die Verknüpfung dann usw sollte kein Problem sein .. ich bräuchte quasi hilfe dabei das Tool an sich zum Laufen zu kriegen :D
 
Zuletzt bearbeitet:
Falls noch jemals einer, so wie ich, zu blöd ist : einfach Visual Basics runterladen, das Projekt öffnen, alles compilieren und im Compiled Ordner sind dann die fertigen Anwendungen
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich bin noch blöder oder es ist nicht ganz so einfach. Wahrscheinlich ist es ein Mix aus beidem! Es hapert schon am Visual Studio! Nach einigen Stunden hatte ich es dann endlich geschafft!
Beim GitHub Download sind leider keine kompilieren Dateien dabei. Ich denke mal das ist wegen Malware-Schutz.

Hier die detailliertere Anleitung.

1. Visual Studio Community Editon (aktuell die 2017er) downloaden (Dabei handelt es sich um einen Online-Installer von Microsoft)
Bei der Installtion Windows-NET Entwicklung auswählen. (rechte obere Kachel). Der Installations-Download dürfte etwa 2GB sein.
Leider gibt es keine ISO für die Installation. (Siehe Google)

2. Evtl. Net4.0 Runtime nachinstallieren. Wird als dotNetFx40_Full_x86_x64.exe zum Download bei Microsoft angeboten.

3. Das Projekt von GitHub downloaden und entpacken (https://github.com/dotnetprojects/DotNetSiemensPLCToolBoxLibrary)

4. Visual Studio starten

5. In VS2017: /Datei/Öffnen/Projkt_Projektmappe
die Projektmappe \DotNetSiemensPLCToolBoxLibrary-master\DotNetSiemensPLCToolBoxLibrary.sln
öffnen.

6. Zum compilieren (bzw. deutsch erstellen) des kompletten Projekts mit allen Unterprojekten
Dropdownmenüleiste: /Erstellen/Projektmappe erstellen
Alternativ im Projektmappenexplorer: rechtsklick Wurzelknoten: Projektmappe "DotNetSiemensPLCToolBoxLibrary" => Projektmappe erstellen

7. Wenn alles korrekt erstellt wurde dann befinden sich alle RELASE-Dateien in : \DotNetSiemensPLCToolBoxLibrary-master\compiled

8. Hinweis: es wurde mit Voreinstellung DEBUG erstellt. Die EXE's DLL's enthalten also DEBUG-Code. Für eine RELEASE-Version ohne DEBUG Code
oben in der Symbolleiste: Release | x86 | DotNetSiemensPLCToolBoxLibrary

So nun geht's erst richtig los!
Da praktisch keine Doko dabei ist hat man keine Ahnung was das alles soll bzw. was das alles kann!

Wer das weis könnte das hier vielleicht mal detailliert posten.

DANKE
 
Ich habe soweit alles eingestellt möchte eine Boolische Variable prüfen also der soll mir schreiben ob es eine 1 oder 0 hat in bestimmten Zeitabständen.
Ich bekomme leider die Fehlermeldung Error: Dataset "Table_1" Row "Row_1" - Error Reading Value on Address DB2.DBX2.0 !

Ich glaube ich muss da noch was für die Kommunikation zwischen Loggingrechner und Steuerung schreiben aber komme da auf keine Idee.
Der Auszug aus der Bachelorarbeit hat mir auch leider nicht geholfen.

Ich hoffe Ihr habt da einige Lösungsansätze
 
Zurück
Oben