# Alarmserver mit libnodave



## bike (28 April 2008)

Hallo,

ich habe mal die Frage:
Hat schon jemand einmal einen Alarmserver mit speichern der Daten in eine Datenbank entwickelt? 



Danke für Hinweise


bike


----------



## Ralle (28 April 2008)

Was genau verstehtst du unter Alarm-Server?


----------



## bike (29 April 2008)

Also ich verstehe darunter einen Dienst, der einen Alarm erkennt z.B aus einem DB, und dann an der Visualisierung eine Meldung anzeigt.
Diese Meldung wird dann in einer Historie abgelegt zusammen mit Datum und Uhrzeit von kommen und gehen.
So kann im Falle eines Fehlers nachvollzogen werden, was wann wie geschehen ist.
Ich weiss sehrwohl, dass ich das auch in PLC machen kann, doch ist das nur die zweitbeste Lösung.

Es soll in etwa funktionieren wie bei einer 840d.


bike


----------



## afk (29 April 2008)

bike schrieb:


> Hat schon jemand einmal einen Alarmserver mit speichern der Daten in eine Datenbank entwickelt?


Ich vermute mal, das hat fast jeder Entwickler einer Visu schon mal gemacht (ich auch ).

Oder geht die Frage in Richtung OPC-AE ?



bike schrieb:


> ... und dann an der Visualisierung eine Meldung anzeigt.


Geht's um 'ne spezielle Visu, oder geht's bei der Frage um's Prinzip ?


Gruß Axel


----------



## vierlagig (29 April 2008)

die mir bekannten Visualisierungssysteme haben eine solche Alarm-Anzeige- und Alarm-Log-Funktionalität bereits onboard ...

...wir selber benutzen RSView32 und schreiben die aufgelaufenen Alarme per ODBC in eine SQL-Datenbank, der Abfrageclient ist eine Eigenentwicklung und hat nichts mit libnodave am Hut ... er macht nur die Verbindung zur Datenbank und zeigt die ausgewählten, möglicherweise gefilterten Daten an ...


----------



## Frank (29 April 2008)

vierlagig schrieb:


> der Abfrageclient ist eine Eigenentwicklung und hat nichts mit libnodave am Hut ... er macht nur die Verbindung zur Datenbank und zeigt die ausgewählten, möglicherweise gefilterten Daten an ...


*vierlagigsichaufdieschulterklopft* *ROFL* 
hast du aber trotzdem gut gemacht - ehrlich


----------



## vierlagig (29 April 2008)

Frank schrieb:


> hast du aber trotzdem gut gemacht - ehrlich



danke - vergiss nich, extra für dich hab ich das RSViewSE-fähig gemacht


----------



## bike (29 April 2008)

afk schrieb:


> Ich vermute mal, das hat fast jeder Entwickler einer Visu schon mal gemacht (ich auch ).
> 
> Oder geht die Frage in Richtung OPC-AE ?
> 
> ...


 
Danke für die Antworten 

Es geht darum, einen normalen PC mit libnodave und Ethernet als Visualisierung zu verwenden und auf diesem normal PC sollen die Alarme und Meldungen angezeigt und abgespeichert werden.

Zur Zeit bin ich so weit, dass ich die Daten polle und dann anzeige.
Dernächste Schritt ist das Speichern und auswerten. Da bin ich ma grübeln ob SQL Datenbank oder Ascii File oder?

bike


----------



## vierlagig (29 April 2008)

bike schrieb:


> Zur Zeit bin ich so weit, dass ich die Daten polle und dann anzeige.
> Dernächste Schritt ist das Speichern und auswerten. Da bin ich ma grübeln ob SQL Datenbank oder Ascii File oder?



SQL bietet sich doch an, oder? da kannste IMHO mit wesentlich weniger Aufwand Strukturen erreichen, die sehr einfach befüllt und auch wieder ausgewertet werden können, denn du brauchst nur die Filterregel angeben und nicht selber suchen


----------



## afk (29 April 2008)

bike schrieb:


> Dernächste Schritt ist das Speichern und auswerten. Da bin ich ma grübeln ob SQL Datenbank oder Ascii File oder?


Wenn Du auch ein Frontend zur Suche in den historischen Daten anbieten willst, würde ich Dir eine SQL-Datenbank empfehlen, da Du damit einfach viel mehr Möglichkeiten hast.  

Willst Du die Auswertung dem Kunden überlassen, hängt es davon ab, welche Fähigkeiten Deine Kunden üblicherweise mitbringen. IMHO hat da erschreckenderweise das ASCII-File oftmals die Nase vorn, weil der Zugriff auf eine Datenbank doch so Manchen vor ein unlösbares Problem stellt.  


Gruß Axel


----------



## Ralle (29 April 2008)

Ich hab eine Freeware geschrieben, die so etwas im Prinzip macht, allerdings wird keine Meldung in einer Visualisierung angezeigt, das soll ja eigentlich das Visusystem intern machen. Du kannst es dir gerne ansehen, ist ja kostenlos .

http://www.sps-forum.de/showthread.php?t=12755


----------



## bike (29 April 2008)

Stimmt suchen und Auswerten ist einfacher.
Abspeichern geht schneller in ein Text file.
Was mehr Aufwand ist, die Daten ggF archivieren oder löschen. 
Bei Textdateien kann pro Tag eine erstellt werden und dann nach x Tagen einfach gelöscht werden. 
Dies kann auch in einer Datenbank geschehen, allerdings mit mehr Aufwand.
Dann stellt sich die Frage: welche Datenbank? 
Access oder MYSQL? 
MYSQL ist bei der Installation gross und verbraucht Resourcen, ist aber bis zu einem bestimmter Grösse frei. Kann ausserdem unabhängig vom Betriebssystem verwendet werden, während Access gute Komponenten für Delphi hat.

Mein Hauptziel ist zu vermeiden in die falsche Richtung zu entwickeln.


bike


----------



## afk (29 April 2008)

bike schrieb:


> MYSQL ist bei der Installation gross und verbraucht Resourcen, ist aber bis zu einem bestimmter Grösse frei. Kann ausserdem unabhängig vom Betriebssystem verwendet werden, während Access gute Komponenten für Delphi hat.


MYSQL ist je nach Einsatz teilweise nicht lizenzkostenfrei.

Falls Du aber den MS SQL-Server meinst, der ist als MSDE 2000 oder als SQL-Server 2005 Express Edition frei von Lizenzkosten, dafür aber nicht unabhängig vom Betriebssystem. Die Express Edition kann größere Datenbanken (4GB statt 2GB) und neue Funktionen, dafür hat die MSDE aber noch den SQL-Server Agent, mit dem sich Aufgaben in der Datenbank zeitgesteuert automatisieren lassen.

Aus Delphi kann man mit den ADO-Komponenten genau so komfortabel auf einen SQL-Server zugreifen wie auf Access, aber der SQL-Server hängt Access bezüglich der Leistungsfähigkeit ganz locker ab.

Was die Resourcen angeht, so braucht der SQL-Server hauptsächlich Plattenplatz. Hauptspeicher belegt er zwar im Betrieb auch bis zum Anschlag, aber er nur solange der nicht von anderen Programmen benötigt wird, bei Bedarf gibt er schon belegten Speicher soweit möglich auch wieder ab.


Gruß Axel


----------



## bike (29 April 2008)

Das mit MySQL stimmt, jedoch von hier:
http://www.sun.com/software/products/mysql/getit.jsp
kann man den Community Server herunterladen, ist Lizenz frei und für solche eine Anwendungen ausreichend.

Ich habe bisher noch nicht mit MySQL und Delphi zusammen gearbeitet, denke das werde jetzt aber schnell tun.

bike


----------



## seeba (29 April 2008)

MySQL ist eben nicht frei, wenn du einen Connector (da nicht unter LGPL sondern GPL) einbindest oder ihn auch nur auf deiner Produkt-CD mitliefern willst.
Ich selbst habe auch einen solchen Alarmserver (.NET und PostgreSQL).


----------



## afk (29 April 2008)

seeba schrieb:


> MySQL ist eben nicht frei, wenn du einen Connector (da nicht unter LGPL sondern GPL) einbindest oder ihn auch nur auf deiner Produkt-CD mitliefern willst.


Außer, man stellt das Ergebnis auch wieder unter der GPL zur Verfügung ... 

Das Lizenzmodell von MySQL war schon immer ein wenig schwer durchschaubar. Die Frage, wann man zur kostenpflichtigen Version greifen muß, und wann die Freie reicht, hat schon vor Jahren alleine dafür gereicht, ganze Foren zu füllen.

Zum Glück gibt es für Datenbanken im Bereich weniger GB ja mittlerweile eine ergiebige Auswahl an freien Versionen der Datenbanken von verschiedenen großen Herstellern (z.B. MS SQL-Server, IBM DB2, Oracle), sowie diverse quelloffene Datenbanken ohne künstliche Beschränkungen (Postgres, Max, usw.).


Gruß Axel


----------

