Hauptmenü

OSCAT und SQL

Begonnen von McNugget2000, 29. Juli 2009, 14:36:12

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 1 Gast betrachten dieses Thema.

Vippy

Ich habe mal eine Frage und zwar weiss jemand zufällig,
wie die Syntax ist um sich auf dem MySql Server zu verbinden.

Also einen Socket habe ich geöffnet, aber jetzt stehe ich vor dem
Problem mich mit der Datenbank zu authoriesieren mit Benutzername
und Passwort.
Wie könnte ich es denn herausfinden welche Daten und wie ich diese
Daten senden muss ? Habe es mir mit Wireshark angeschaut, wie die
gesendeten Daten aussehen, aber bekomme immer die Fehlermeldung
"Response Error 1156" das heisst das die Daten nicht in der richtigen
Reihenfolge gesendet werden.

Wäre super hilfreich, wenn ihr mir helfen könntet

peewit

hallo vippy

die ganze geschichte ist nicht ganz so einfach wie du denkst
alleine die anmeldung bei mysql 4.1 ist nicht so einfach, da du hier sha1-encryption für das passwort anwenden musst.

wenn du kein fortgeschrittener programmierer bist, dann solltest du die sache lassen
bis das wir eine oscat-lösung haben, empfehle ich dir die wago_sql bibliothek

eine beschreibung des protokolls findest du auf der homepage von mysql


erdbeerschaeler

Ja Mahlzeit,

ich bin jetzt seit ein paar tagen dabei die Wago_mysql03 in mein Projekt einzubinden, nur leider schein da noch etwas anderes zu fehlen.
Der Kompiler bricht immer mit der Meldung:"unbekannter Typ 'SHA1_Context' ", das ist eine Schnittstelle vom MYSQL_Scamble Baustein.

Weiß zufällig jemand, welche LIB ich dafür noch gebrauchen könnte?

Schicken Sonntag noch...

Der Schwenn

peewit

ganz einfach

du brauchst die WagoLibMySQL_03.lib und WagoLibSHA1.lib


erdbeerschaeler

DANKESCHÖN!

Funktioniert Super!

Dann werd' ich mal versuchen, ob ich auch ein paar Daten auf der MySQL ablegen kann.

;) ;)

b.b.

kann mir jemand sagen, ob diewagosql lib auch auf einem beckhoff Controller funktioniert?
Danke!

peewit

das läuft nicht, da es keinen einheitlichen zugriff auf ethernet gibt
jeder hersteller hat eine andere schnittstelle bzw. bibliothek die inkompatibel zueinander sind.
keine chance

aber .......

es wird sowas mit oscat network geben

ich bin gerade am programmieren
es wird eine lösung in verbindung mit unseren data_logger paket geben

ich habe eine ansich schon funktionierende version am testen , und muss noch ein wenig herumschrauben
allerdings momentan nur das speichern von daten
die datenabfrage aus einer datenbank mache ich erst später

was willst du denn genau machen ?


b.b.

ich möchte Messwerte, Zugriffsdaten, und allgemein Benutzungsdaten in eine Datenbank schreiben.
Z.B. wer ist wann wo hineingegangen (eKey), wann hat wo wie lange das Licht gebrannt, Stromverbrauch (Messklemme), Wasserverbrauch und dann natürlich Temperaturen der Heizung, Lüftung, ...

Ich wäre ja schon mit einem file zufrieden, aber bis jetzt habe ich nicht herausgefunden, wie ich ein file auf ein Netzwerklaufwerk schreiben und modifizieren kann:
- File erstellen nach bestimmten Schlüssel
- File öffnen
- Datensatz (Zeile) anhängen
- File schreiben

geht das?

peewit


im prinzip ja
schau dir doch mal in der network.lib das kapitel data_logger an
alles das was man hier machen kann, also daten aufzeichnen das kannst du dann auch in eine mysql datenbank schreiben

file zugriff
auch das kannst du in einem gewissen rahmen mit dem datalogger paket machen (DLOG_FILE_CSV)
die erzeugten dateien kannst du dann automatisch auf einen ftp-server übertragen oder per email versenden


b.b.

Habe mir das jetzt mal durchgelesen.
Nur zum Verständnis: Die csv Datei bleibt im Arbeitsspeicher und wird nicht auf das Filesystem meines CX Controllers geschrieben, richtig?
Da die Schreibzyklen auf dem CX9010 ja begrenzt sindmöchte ich das nicht. Und den CF-Karten-Slot habe ich nicht. Nicht hanz klar ist mir allerdings, warum beim Filenamen D:/ steht...

Prozessdaten: Es steht, es können bis zu 255 Prozessdaten in eine csv gespeichert werden.
Muss ich da auf etwas aufpassen, wenn ich z.b. 255 String-Daten mit je z.B. 100 Byte schreiben will, oder gibt's da ein Limit?

Ist #R die einzige Variable im Dateinamen, oder kann ich den komplett dynamisch gestalten. Ich würde die Dateien gerne mit einem Präfix und dann Datum & Uhrzeit benennen.

peewit

#25
schreiben auf filesystem

du schreibst ja nicht 100.000 mal auf den selben sektor
dem kannst du ja auch noch entgegenwirken, indem du verschiedenen dateien nutzt die du im kreisverum immer wieder überschreibst

mach dir keine sorgen..... das ist kein wirkliches problem !
wir haben projekte am laufen ,wo alle 15 minuten eine datei neu erzeugt wird
und in summe bis zu 3000 dateien gleichzeitig existieren
es ist hier noch nie ein flash-speicher defekt worden !

d:/ steht deswegen drinnen , weil ich das auf einen winxp (Twincat soft-plc getestet habe, und man da alle laufwerke frei nutzen kann
c:/ d:/ usw...
bei einer klassischen sps musst du das laufwerk einfach weglassen, das es nur ein stanarddrive gibt

-----------------------------------------
die daten beim datenlogger musst du dir wie eine excel-tabelle vorstellen
die spalten sind die verschiedenen werte die du zu einem bestimmten zeitpunkt speicherst, und es können maximal 255 spalten verwendet werden
das ist mehr als überhaupt sinnvoll ist.

und es können dann im prinzip unendlich viele (solange speicher vorhanden ist) zeilen (momentaufnahme der prozesswerte) hinzugeüfgt werden

-----------------------------------------
präfix datum / uhrzeit geht natürlich
den dateinamen kannst du frei gestelten , du hast alle freiheiten die die der baustein DT_TO_STRF gibt (in doku nachlesen !)

-----------------------------------------

b.b.

hallo peewit

vielen dank für deine Antworten.
Hab gerade gemerkt, dass ich für all diese Funktionen den TCP/IP Server vom Hersteller brauche.... (cx9010)
naja, jetzt muss ich erst mal sehen, wie ich an den rankomme....

erdbeerschaeler

Hey b.b.

ich hab da mal eine Frage zu Deinem eKey.
Wenn nix dazwischenkommt, wann wird nächste Woche meine neue Haustür geliefert und eingebaut.
Wir haben uns auch für den eKey Fingerprint ab Werk entschieden.

Wie hast Du das System an Deine Steuerung angebunden, bzw. wie bekommst Du die Daten von dem eKey System in Deine Steuerung?

Ich wünsche noch ein schönes SONNIGES Wochenende
Der Schwenn

b.b.

hallo schwenn

ich habe das neue UP- System mit dem ekel Multi REG
ich habe vier Sensoren an ein Steuergerät (Multi) anschliessen und an das Steuergerät 4 Relais.
Jetzt habe ich an das Steuergerät SPS-Eingänge gelegt und schalte damit Haustüre, Nebeneingangstüre und die beiden Garagentore.
In ca. 2 Monaten gibt es dann von ekel einen UDP Umsetzer, der alle meine (4) Sensoren auswerten kann. Der schickt mir dann bei jedem Scanvorgang ein Telegramm an die Steuerung.

Mit dem Multi Steuergerät kann ich also die Finger meiner Lieben einfach verwalten. So oft ändert sich da ja nichts....
Und mit dem UDP Teil Finger- und Sensorspezifisch Aktionen triggern.
Somit muss weder ein externer PC laufen (ekey net) noch muss man die Template Verwaltung in der SPS programmieren. Und da das Protokoll proprietär ist, ist das gar nicht so einfach.
Der einzige Nachteil, der mir soweit aufgefallen ist ist dass ich die LED im Sensor nicht nach belieben anzünden kann, sondern diese angeht, wenn ein Finger erkannt wurde und eine Regel positiv ausgeführt wurde (Relais). Das heisst aber noch nicht, dass ich dann auch in der SPS etwas mit dem Signal tue.
Aber da lass ich mir auch noch was einfallen.

Jetzt haben wir diesen Thread ordentlich gehijacked, vielleicht kann man(n) das ja auftrennen.
beste grüße

erdbeerschaeler

Guten Morgen,

da ich die vollintegrierte Variante des Zugangssystems bekomme, werde ich nicht all zu viele Informationen vom System bekommen, aber mal sehen... irgendetwas fällt mir dann sicherlich auch noch an Spielerei ein  ;)

Schicken Sonntag an ALLE