Vergleich DW - MySQL-Datenfeld ?

hicom

Level-1
Beiträge
2
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

habe folgendes Problem zu lösen und brauche einen Ansatz - Anstoss :)

1.
Es gibt einen MySQL-Server, der folgende Tabelle enthält :
Nummer Zustand
1 1
2 0
3 1
usw. bis 99
der Zustand kann nur 1 oder 0 sein.

2.
S7-300 DB mit Datenwort (in das Datenwort wird von einem Transponderleser eine neue Nummer wie oben reingeschrieben).

3. Je nachdem welche Nummer gerade im Datenwort steht, soll ein Digitalausgang an der SPS bei Zustand 1 "HIGH" sein und bei Zustand 0 "LOW".

Das ist so die Aufgabe. Anwendung soll das in einer Zutrittskontrolle finden. Wir haben alle Transponder für die Stempeluhr. Die wollen wir für die Werkstatt auch als Zutrittskontrolle nutzen. Die SPS ist vorhanden und steuert die Beleuchtung im Betrieb. Der Transponderleser ist ein altes Gerät von Leutze mit L2-DP.

Das Einlesen und in den DB schreiben läuft perfekt, es scheitert am Vergleich mit den "Zutrittsdaten" in MySQL.

Leider hat hier keiner Ahnung von dieser OPC - Geschichte und wir haben schon Stunden dran rumexperimentiert ...

Danke und Gruß,
hicom
 
Das Einlesen und in den DB schreiben läuft perfekt, es scheitert am Vergleich mit den "Zutrittsdaten" in MySQL.
was heist das genau?
meinst du damit das das einlesen des transponders in den db klappt, oder das einlesen des mysql-datensatzes in den db?

beide daten vergleichen ist recht einfach über eine schleife in der s7 zu lösen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Da musst Du uns aber noch mehr Infos geben

:rolleyes:Hallo,

hicom schrieb:
es scheitert am Vergleich mit den "Zutrittsdaten" in MySQL.

Leider hat hier keiner Ahnung von dieser OPC - Geschichte und wir haben schon Stunden dran rumexperimentiert ...

Das lässt reichlich Spielraum für die vielzitierte Kristallkugel :confused:

OPC-Geschichte :
Ihr habt also einen PC, der mit der S7 über einen OPC-Server verbunden ist ?
Welche Programmiersprache ?
Welchen OPC-Client ?
Verbindung in der S7 projektiert ?
Funktioniert die Verbindung zur SPS ?

MySQL-Geschichte :
ConnectionString korrekt ?
Habt Ihr eine Verbindung zur Datenbank ?
Welche Programmiersprache ?
Dir ist klar, dass bei MySQL für gewerblichen Einsatz eine nicht gerade billige Lizenz erforderlich ist ?

hicom schrieb:
Je nachdem welche Nummer gerade im Datenwort steht, soll ein Digitalausgang an der SPS bei Zustand 1 "HIGH" sein und bei Zustand 0 "LOW".
Oder willst Du etwa direkt eine Verbindung zwischen Datenbank und SPS herstellen *ROFL*
Oder soll der SPS-Ausgang vom PC über den OPC-Server angesteuert werden ?

Also irgendwie kann ich mit Deiner Frage noch nichts anfangen :confused:

Gruß

Question_mark
 
Durchblick zur Kristallkugel :)

@Question_mark und volker

OPC - haben wir noch garnix (oder doch - wir haben keine Ahnung davon :)) Reine S7-315 mit DP-Bus an dem ein paar Wago-Module hängen die die Beleuchtung steuern. Diese SPS wollen wir aber "mit"benutzen und haben den Chipleser mit drangehangen.

MySQL-Server ist aufgesetzt, DB angelegt mit dieser einen Tabelle.
Lizenzgeschichte erstmal unerheblich, soll ja nur zum Test sein, haben einen MSSQL-Server, wo das Ganze später mit drauf soll. Von mir aus können wir's auch direkt mit dem MSSQL machen, aber da hab ich nicht so die Ahnung von. MySQL kenn ich was besser.

Nochmal kurz zur Beschreibung des Ganzen :

Ich halte meinen Chip vor den Leser -> Personalnummer wird eingelesen und in ein Datenwort der S7-300 geschrieben (das funktioniert bereits).
Jetzt soll der Inhalt dieses DW mit der SQL-Tabelle verglichen werden und je nach Eintrag dort ein Ausgang an der SPS angesteuert werden.

Beispiel : Ich hab die Personalnummer 10. Diese 10 wird ins DW200 eingelesen.

Die SQL-Tabelle sieht wie folgt aus :

Personalnummer-----Berechtigung
------10-----------------1------
------20-----------------0------
usw.

Jetzt soll in der SQL-Tabelle nachgesehen werden, was bei der Personalnummer 10 in der Spalte Berechtiguing steht. Das ist eine 1.
Also soll der Ausgang A1.0 angesteuert werden.

Nach mir kommt der Kollege mit der Personalnummer 20, hält sein Chip vor den Leser. Die 20 wird ins DW200 geschrieben. Wiederum Vergleich mit der 20 in der SQL-Tabelle, da steht Berechtigung 0. Der Ausgang A1.0 darf nicht angesteuert werden.

Hoffe, ich habs jetzt verständlicher ausgedrückt :)

Viele Grüße
hicom
 
Dann mal ein paar Tips

Hallo,

hicom schrieb:
Hoffe, ich habs jetzt verständlicher ausgedrückt

Ja, so langsam verstehe ich das Problem. Ich würde aber das ganze nur auf einer PC-basierenden Lösung durchführen, die S7 ist dabei ziemlich überflüssig.
Also Transponder in den PC einlesen und den Türöffner über eine Relaiskarte ansteuern.
Aber das wird Dir jetzt nicht weiterhelfen. Also man nehme :
Einen PC (vielleicht den mit der MySQL-DB), installiere einen OPC-Server darauf. Und einen Hochsprachencompiler, z.B. Delphi, C++, C# oder VB.
Programmiere die Verbindung zum MySQL-Server und verwende einen OPC-Client für die gewählte Programiersprache. Der OPC-Client liefert Dir die Verbindung zur SPS (übrigens : über welchen Kommunikationsweg ?).
Also Du wirst um etwas PC-Programmierung nicht herumkommen.

Wenn Dein Programm fertig ist, kannst Du problemlos die DB-Anbindung vom MySQL auf den MS-SQL Server umleiten.

Anstelle des OPC-Servers kannst Du auch LibNoDave verwenden, ist kostenlos. Über die Suchfunktion hier im Forum findest Du alle Infos zu LibNoDave.

Gruß

Question_mark
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Dw <-> Sql

Hi, habe ein ähnliches Problem :

MSSQL-DB mit einer Tab, die eine Spalte in einen Datenbaustein z.B. DB50 (S7-300) schreiben soll.

Tab sieht so aus :

DW...........FNR.............OUT
0...............01...............0
2...............02...............5
4...............03...............2
bis
200............99...............3

Das Feld "DW" entspricht dem Datenwort, wo die Werte des Feldes "OUT"
reingeschrieben werden sollen. Die Werte in "OUT" liegen immer zwischen 0 und 5.
Der Benutzer ändert über ein php-form die Werte im Feld "OUT". Diese Änderung soll dann natürlich auch in das entsprechende Datenwort der SPS eingetragen werden.
Die S7 hängt mittels S7 IBHLink-Adapter am LAN.

Ist das über Libnodave machbar ? Wenn ja, würde mir das hier jemand (natürlich gegen Bezahlung) machen ?

Danke erstmal.
 
Zurück
Oben