libnodave und .NET

Zuviel Werbung?
-> Hier kostenlos registrieren
Ich möchte hier einfach mal anknüpfen und ein paar "blöde Fragen" stellen - Entschuldigung :)

Mit solchen Libs kann ich einigermaßen bequem auf Die DB Inhalte in Step7 DB's zugreifen, hab ich das richtig verstanden ?
Jetzt hab ich die Möglichkeit auf einem beliebigen PC in z.B. VB oder auch Delphi eine .exe zu schreiben ?
Dieser kann ich dann Schalter, Buttons, Regler Anzeigen etc. einbauen und fertig ist die HMI ?

Hab ich das soweit richtig verstanden ?

Wenn dem dann so ist:
Könnte ich theoretisch auf diesem Wege auch eine HTML Datei bauen, auf die ich übers internet/WLan mittels Browser im Smartphone zugreifen kann ?
Wenn Ja: Gibts da Einschränkungen (Datenmenge, Reaktionszeit)

Bevor ich das alles mühsam "zu Fuß" erkunde, wären ein paar Anmerkung von erfahrenen Nutzern hilfreich :)

Hintergrund: ich hab im Augenblick eine Protool Datei, die aber allmählich etwas träge wird und die Verbindung reisst mir leider auch ein-zweimal am Tag ab, was erst durch einen Neustart eliminiert werden kann :(

Das "Dankeschön" leg ich hier gleich dabei ;)
 
Hab ich das soweit richtig verstanden ?
vom Prinzip her schon

Könnte ich theoretisch auf diesem Wege auch eine HTML Datei bauen, auf die ich übers internet/WLan mittels Browser im Smartphone zugreifen kann ?
Wenn Ja: Gibts da Einschränkungen (Datenmenge, Reaktionszeit)
Da HTML ein verbindungsloses Protokoll ist, erhöht sich die Reaktionszeit etwas. Hält sich aber, m.M.n., in Grenzen (Bauchgefühl max. 5s Timeout).

Wenn Du in .NET bleiben willst, dann ist evt. der Cassini-Webserver ein Blick wert.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Jochen,

Ich versuche mit auch mit deiner Lib
In der CPU 315 im Wort DB130.DBW10 steht -22 drin
Beim lesen mit Communication.PLCTag("DB130.DBW108")
bekomme ich immer 65516 und keinen negativen Wert.

Was mache ich den da falsch ?

Danke für deine Hilfe

Gruß Frankuc45
 
Guten Morgen,

ich nutzte die DotNetSiemensPLCToolBoxLibrary von Jochen schon seit einiger Zeit, und finde sie echt Top! Danke Jochen! Egal ob x86, x64.. hat echt viel ärger mit der bloßen libnodave.dll erspart ;)

@Frankuc45
Poste doch mal dienen Code-Schnipsel!

@point_system
Ein paar weitere Infos wären nicht schlecht!?

Grundsätzlich zu meinem Vorgehen:

List<PLCTag> tags = new List<PLCTag>(); //Liste für die Tags anlegen...
tags.Add(new PLCTag("DB123.DBW12")); //Tag der Liste hinzugügen
tags[0].TagDataType = DotNetSiemensPLCToolBoxLibrary.DataTypes.TagDataType.Int; //Tag den Datentyp übergeben
plcConnections[0].ReadValues(tags); //Tag Liste aus S7-Auslesen...
var Daten = tags[0].Value; //Übergabe in Variable zum weiteren verarbeiten...

Wenn man sich auslebt, kann man das ganze schön als Klassen aufbauen und z.B. schön XML Listen etc. übergeben und somit auch einfach viele Daten auf einmal handeln....

Gruß Dominik
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Morgen dolo,

ich möchte Prozessdaten (DB501 bis DB536 und UDT11 bis UDT803) von meiner CPU314C-2dp ablesen und in einer Datenbank (z.B. myPHPAdmin) mit dynamischen Werten speichern. Dannach werde ich anhand einer PHP sprache Visualisierung anfangen.

Gruß
Point
 
Hallo Point,

okay, dann bist Du mit dem Beispiel von mir ja schon in der richtigen Richtung, schreib halt ein paar Klassen und etwas außen rum, dann lässt es sich einfach Handeln!
Was hast Du mit den UDT's vor?! Die sind ja technisch gesehen nicht mal in der SPS sondern die Struktur nur im STEP7 Projekt hinterlegt...
Für eine mySQL-Datenbank bekommst Du ja auch Problemlos den Connector/Net um eine Verbindung aufzubauen!
Ich hab zwei solcher Projekte bei nem Kunden laufen (mal MS-SQL, mal mySQL), macht sich trotz der vielen Datenelemente recht zuverlässig und gut!

Gruß Dominik
 
Hallo Dolo,

Danke für deine Antwort. Ich bin bisschen neue in Informatikwelt, hast du viellecht ein Beispiel Code wie man es schreibt und in welcher Umgebung? Ich habe bis jezt nur SPS freiprogrammiert.

Schöne Grüße
point
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Point,

kein Problem! Die Lösung kann ich Dir jetzt kaum auf den Tisch legen..
Besorg Dir doch mal Visual Studio un erstell erste kleine Konsolenanwendungen in C#.
Dann schau das Du die DotNetSiemensPLCToolBoxLibrary von Jochen zum laufen bekommst (Siehe mein Beispiel hier in Thema).
In Google wirst Du mit einfachen Stichworten wie "C# Insert mysql" u.s.w. auch genügend Beispiele und Anleitungen finden wie Du Daten in die Datenbank eingetragen bekommst.

Gruß Dominik
 
Hallo Dominik,
Visual Studio bezüglich welche Edition soll ich runterladen? Express für Web oder Windows oder Windows Desktop?
Viele Grüße
Sina
 
In meiner Toolbox gibts auch ein Programm "Protkoller" welche Daten von einer SPS ließt und in verschiedenste Datenbanken speichern kann!

Ich würd mir die VS2015 CTP runterladen. Die läuft Top stabil, und darf soweit Ich weiss Produktiv verwendet werden!
 
In meine Toolbox sind zahlreiche Beispiel Programme...

Für den Protokoller brauchst du nichts Programmieren, das ist ein Tool welches als Windows Dienst läuft und in festen Zeiträumen oder mit Trigger Bits Daten von der SPS holt und diese in eine Datenbank oder CSV Files schreibt!
 
Also ich mache diesen Ordner : "Desktop\DotNetSiemensPLCToolBoxLibrary-master\DotNetDatenbankProtokollerV2\ProtokollerLibrary" auf und drin steht die Ordner (im Bild vorhanen) protocol.png Ich finde also keine .exe datei. Was soll ich tun?
VG
Sina
 
Hallo Jochen, ich hab mir den DotNetDatenbankProtokollerV2 mal angeschaut und getestet.
Allerdings würde ich gerne, nur bei einer Wertänderung, schreiben. "Time_Trigger_With_Value_Comparison" hab ich dazu ausgewählt. Allerdings schreibt er beim Float trotzdem alle 500ms einen Wert. Hab ich hier was übersehen?
Wenn ich mir die Klasse
TimeTriggerWithCheckForChangesThread anschaue scheint es ja von Dir umgesetzt zu sein.

Test.jpg

Gruß Dominik
 
Hallo Jochen,
ni
Danke fürs Supertool, ich habe mit dem Tool rumgespielt und habe geschafft Dateien in csv-Fprmat zu bringen. Aber bei MySQL klappt es irgendwie nicht. Was soll ich besonders beachten? Zum Beispiel Versionen... Eine andere Frage: Ist es normal, wenn das Tool nicht stabil mit CPU in Verbindung bleibt? Bei mir sagt das Tool oft: Keine Rückmeldung (genau wie bei Internet Explorer)

Danke im Voraus
point
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Jochen, ich hab mir den DotNetDatenbankProtokollerV2 mal angeschaut und getestet.
Allerdings würde ich gerne, nur bei einer Wertänderung, schreiben. "Time_Trigger_With_Value_Comparison" hab ich dazu ausgewählt. Allerdings schreibt er beim Float trotzdem alle 500ms einen Wert. Hab ich hier was übersehen?
Wenn ich mir die Klasse
TimeTriggerWithCheckForChangesThread anschaue scheint es ja von Dir umgesetzt zu sein.

Anhang anzeigen 26950

Gruß Dominik

Keine Ahnung warums nicht läuft, komm aber im Moment nicht dazu mir das anzuschauen, musst du debuggen.

Man kanns ganz einfach debuggen wenn man das ConfigurationTool im Debugger startet, und dort gibts unter Test den eintrag TestAsService
 
Hallo Jochen,
ni
Danke fürs Supertool, ich habe mit dem Tool rumgespielt und habe geschafft Dateien in csv-Fprmat zu bringen. Aber bei MySQL klappt es irgendwie nicht. Was soll ich besonders beachten? Zum Beispiel Versionen... Eine andere Frage: Ist es normal, wenn das Tool nicht stabil mit CPU in Verbindung bleibt? Bei mir sagt das Tool oft: Keine Rückmeldung (genau wie bei Internet Explorer)

Danke im Voraus
point

Nö, eigentlich nicht! Was startest du denn für ein Tool, und wie startest du es? Als Dienst, als Test? Der Testbetrieb wurde nie im Dauerlauf probiert, der Dient nur zum überprüfen der Einstellungen. Als Dienst läufts auf jeden Fall stabil!

Was gibts in MySQl für Fehler?
 
Keine Ahnung warums nicht läuft, komm aber im Moment nicht dazu mir das anzuschauen, musst du debuggen.

Man kanns ganz einfach debuggen wenn man das ConfigurationTool im Debugger startet, und dort gibts unter Test den eintrag TestAsService

Guten Morgen,

ja ich hänge seit gestern Nachmittag dran, hab für den SQL-UPDATE in MS-SQL schon mal einen Pull ins GitHub-Repository gemacht. Wenn ich dem Fehler für die "Tigger bei Change" gefunden habe, folgt der nächste :p

Gruß Dominik
 
Zurück
Oben