Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 16

Thema: Projektarbeit_Messwerte_in_MSSQL_schreiben

  1. #1
    Registriert seit
    02.04.2013
    Beiträge
    15
    Danke
    1
    Erhielt 1 Danke für 1 Beitrag

    Beitrag


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Guten Tag liebe Gemeinde,

    ich stehe erst seit kurzem auf eurer Benutzerliste und möchte mich hier erst einmal vorstellen und euch erklären, warum ich nun hier bin.

    Mein Name ist Philipp, ich mache zzt. eine Schulische Ausbildung zum Fachinformatiker(Systemintegration) und zum Technischem Assi für Informatik. Derzeit befinde ich mich in einer Praktikumsphase und habe vom Betrieb eine Projektaufgabe bekommen. Konkrete Fragen habe ich zzt. nicht, da ich momentan erst einmal Informationen sammel und versuche einen Überblick zu bekommen, dennoch erstelle ich hier meinen ersten Beitrag, vielleicht hat ja schon jmd. tipps für mich.

    Zur Zeit benutzt das Unternehmen viele verschiedene Programme um Messwerte zu sammeln (z.B. WinCC, Herstellersoftware wie "GridVis" von Janitza und und und...). Meine Aufgabe ist es nun, eine einheitliche MSSQL-DB zu erstellen, welche AUTOMATISCH von allen Sensoren, Geräten etc. die Messwerte sammeln soll.

    meine Fortschritte bisher:
    - Die SQL-Datenbank ist auf einem virtuellem Server installiert (win2003 RS2) (befindet sich in Domäne)
    - WinCC wurde auf meinem Arbeitsplatzrechner installiert (OPC-Server) (dieser Rechner ist allerdings nicht in der Domäne)
    - ein wenig VBA/VBS gelernt
    - dOPC-DA-Clients getestet, gingen alle nicht: (weil winCC-server nicht in domain, Client schon) deswegen:
    - zzt. kümmere ich mich um einen OPC-tunneler von Matrikon, komme aber erst mit Hilfe meines Chefs da ran und der ist zzt. nicht da

    So... Meine Probleme momentan:
    Ich beherrsche SQL, habe mich aber bislang nie mit "OPC, DCOM, SPS usw." befasst und schwimme demnach momentan in trüben Gewässern. Das Internet hilft nat. weiter und ich weiss, dass google mein Freund ist, allerdings ist es schwierig bei einem so komplexen Thema den Überblick zu behalten und vor allem hilft mir nur jeder 25te Treffer bei der Googlesuche weiter und das frisst sehr viel Zeit.

    Ein weiteres Problem sind meine Programmier"fähigkeiten". Ich habe in der Schule C# 'kennen'gelernt und während der letzten 3 Wochen habe ich mich ein wenig in VBA/VBS reingewurschtelt.

    Ich weiss momentan nicht so recht, wo ich anfangen soll

    Sobald ich konkrete Fragen habe, werde ich diesen Threat weiter führen. So seid ihr wenigstens schon einmal vorgewarnt und habt euer neustes Mitglied kennen gelernt.

    Für Fragen zu mir oder meiner Aufgabe, Tips, Hilfen o.a. sind meine Augen und Ohren geöffnet.


    mfG Philipp as Huan90
    Zitieren Zitieren Projektarbeit_Messwerte_in_MSSQL_schreiben  

  2. #2
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.718
    Danke
    398
    Erhielt 2.399 Danke für 1.999 Beiträge

    Standard

    Hallo,
    der einzige Tip, der mir so ad hoc einfällt wäre :
    Ich würde nicht von zentraler Stelle die Daten von unterschiedlichen Teilnehmern abholen sondern es den Teilnehmern erstmal selbst überlassen, sich um ihre Daten zu kümmern und die bereit zu stellen. Die so bereit gestellten Daten dann zu verarbeiten ist dann "sauberer".
    Aber so grundsätzlich : von wievielen Stationen, die wie erreichbar sind, reden wir denn hier ?
    In welchem Zeitraster werden Daten generiert ?

    Gruß
    Larry

  3. #3
    Huan90 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    02.04.2013
    Beiträge
    15
    Danke
    1
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Hallo und danke erst einmal für den Ratschlag,
    laut meiner aktuellen Informationslage sind es >5 Programme (mit OPC-Server) die von Sensoren und Geräten die Daten sammeln.
    D.h. die Daten werden gesammelt und gespeichert, ich brauche nun "lediglich" die MSSQL-DB mit den >5 OPC-Servern koppeln.
    Die Daten werden 24/7 generiert, das Zeitraster ist unterschiedlich aber meistens <60sek.

    Habe mal versucht das darzustellen:



    datenflussdiagramm.JPG

    LG Philipp

    edit: d.h. ich befinde mich zzt. dort, wo die 4 Pfeile zusammenlaufen

  4. #4
    Registriert seit
    20.06.2003
    Ort
    Sauerland.NRW.Deutschland
    Beiträge
    4.850
    Danke
    78
    Erhielt 800 Danke für 543 Beiträge

    Standard

    den von dir erwähnten opc-client kenne ich nicht.
    aber vlt hilft dir das ein wenig weiter

    excel als opc client
    Siemens Industry Online Support - Automation Service, Automation Support, Simatic Service, Simatic Support, Technical Support, Technical Consulting

    mit vb-script (vba wird das auch funktionieren) kannst du in die datenbank schreiben.
    hier ist beschrieben wie es mit acces und mysql funktioniert
    http://www.sps-forum.de/faq/15348-pr...in-script.html

    da du eine hochsprache beherrscht sollte das für dich umsetzbar sein.
    .
    mfg Volker .......... .. alles wird gut ..

    =>Meine Homepage .. direkt zum Download

    Meine Definition von TIA: Total Inakzeptable Applikation

  5. #5
    Registriert seit
    25.07.2005
    Ort
    Vogelsbergkreis
    Beiträge
    1.717
    Danke
    48
    Erhielt 68 Danke für 60 Beiträge

    Standard

    MSSQL ist leider per se erstmal gänzlich ungeeignet um Daten in der Masse bzw. Zeitreihen wie du es vor hast zu speichern. De Datenbankgröße wird dir innerhalb kürzester Zeit explodieren.

    Daher meine Frage: Wie oft ändern sich deine Daten? Wieviele Signale sind es in Summe? Eventuell hat eine Delta-Event-Speicherung hier Vorteile.

  6. #6
    Registriert seit
    20.06.2003
    Ort
    Sauerland.NRW.Deutschland
    Beiträge
    4.850
    Danke
    78
    Erhielt 800 Danke für 543 Beiträge

    Standard

    wow is google schnell.
    ich habe gerade mal Delta-Event-Speicherung bei google eingegeben weil mir das nichts sagt.
    und was ist direkt oben in der liste?
    Angehängte Grafiken Angehängte Grafiken
    .
    mfg Volker .......... .. alles wird gut ..

    =>Meine Homepage .. direkt zum Download

    Meine Definition von TIA: Total Inakzeptable Applikation

  7. #7
    Registriert seit
    25.07.2005
    Ort
    Vogelsbergkreis
    Beiträge
    1.717
    Danke
    48
    Erhielt 68 Danke für 60 Beiträge

    Standard

    Naja, das erklärt sich eigentlich fast anhand des Namen. Ein Wert wird nur gespeichert, wenn er sich (um ein ggf. einstellbares Delta) geändert hat.
    Ich mache das so (Beispiel Energiezähler, 60 Sekundenraster):
    Ich frage den OPC-Server alle 60 Sekunden nach dem neuen Wert.
    Hat sich der Wert geändert, erzeuge ich einen Datensatz im SQL Server.

    Gerade bei binären Werten wie Betriebsmeldungen bspw. verringert man so das Datenaufkommen natürlich erheblich.

  8. #8
    Registriert seit
    20.06.2003
    Ort
    Sauerland.NRW.Deutschland
    Beiträge
    4.850
    Danke
    78
    Erhielt 800 Danke für 543 Beiträge

    Standard

    habs auch schnell rausgefunden. aber ist schon erschreckend wie schnell google das wusste.
    .
    mfg Volker .......... .. alles wird gut ..

    =>Meine Homepage .. direkt zum Download

    Meine Definition von TIA: Total Inakzeptable Applikation

  9. #9
    Registriert seit
    03.04.2008
    Beiträge
    6.200
    Danke
    237
    Erhielt 815 Danke für 689 Beiträge

    Standard

    Zitat Zitat von volker Beitrag anzeigen
    habs auch schnell rausgefunden. aber ist schon erschreckend wie schnell google das wusste.
    Das ginge auch bei dir so, wenn du so viele Anschlüsse und so viel Energie verbrauchen könntest wie du Tante G


    bike
    "Any fool can write code that a computer can understand.
    Good programmers write code that humans can understand."
    --Martin Fowler

  10. #10
    Huan90 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    02.04.2013
    Beiträge
    15
    Danke
    1
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo und danke erst einmal für die Antworten und Links!!!

    Zitat Zitat von volker Beitrag anzeigen
    den von dir erwähnten opc-client kenne ich nicht.
    Getestet habe ich bislang den dOPC-DA-Client von kassl und den PowerOPC-DA-Client.
    Nachher bekomme ich wie schon erwähnt einen DA-Client und Tunnel von Matrikon.

    Zitat Zitat von volker Beitrag anzeigen
    da du eine hochsprache beherrscht sollte das für dich umsetzbar sein.
    Ich möchte nicht so weit gehen und behaupten, dass ich C# "beherrsche", über vbs in eine MSSQL-DB zu lesen/schreiben habe ich allerdings schon gemacht (die Links helfen dennoch^^), z.B. ist während meines Praktikums folgendes Script entstanden:

    edit: (Das Skript zählt lediglich die Anzahl der Datensätze in der Werte-Tabelle und schreibt die Zahl mit Datum und Uhrzeit in eine .txt, Das Script wird alle 12 Stunden ausgeführt (Geplante Tasks ), damit ich den Datenzuwachs im Auge behalten kann (aber hauptsächlich zur Übung)
    Code:
    'Variablen deklarieren
    dim dat, i, t
    dim cnStr, ac, rs, cn, sQuery
    dim objFSO
    
    'ADODB
    cnStr = "Provider=MSDASQL;DSN=energie;UID=**;PWD=****************;"
    Set cn = CreateObject("ADODB.Connection")
    cn.ConnectionString = cnStr
    cn.Open
    Set ac = CreateObject("ADODB.Command")
    Set rs = CreateObject("ADODB.RecordSet")
    
    'SQL Abfrage, Anzahl datensätze
    SQuery = "SELECT Count(*) AS Anzahl FROM value_data"
    rs.OPEN SQuery,cn
    i = rs.Fields("Anzahl").Value
    rs.Close
    
    'Systemzeit/datum auslesen
    t = Time
    dat = Date
    'Textdatei öffnen
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objFile = objFSO.OpenTextFile("C:\Documents and Settings\werkstad\Desktop\Datenzuwachs_gridvis_db.txt", 8)
    
    'in Textdatei schreiben
    objFile.WriteLine(""& Date & " " & Time & " ; " & i & Chr(13))
    'Datenbankverbindung schliessen und terminieren
    Set ac = Nothing
    cn.close
    Set cn = Nothing
    Zitat Zitat von seeba Beitrag anzeigen
    MSSQL ist leider per se erstmal gänzlich ungeeignet um Daten in der Masse bzw. Zeitreihen wie du es vor hast zu speichern. De Datenbankgröße wird dir innerhalb kürzester Zeit explodieren.
    Was wäre denn demnach eine brauchbare Alternative zu MSSQL? (oracle oder mysql besser geeignet?)

    Zitat Zitat von seeba Beitrag anzeigen
    Wieviele Signale sind es in Summe?
    Sobald ich das in Erfahrung gebracht habe, werde ich das hier im Threat posten (evtl. im 1. Beitrag ergänzen)

    Zitat Zitat von seeba Beitrag anzeigen
    Eventuell hat eine Delta-Event-Speicherung hier Vorteile.
    Das Problem ist, dass sich die Werte laufend ändern. Ich habe soeben erfahren, dass WinCC die Daten lediglich dann abruft, wenn sie sich geändert haben, demnach wird das Verfahren mehr oder weniger zumindest bei WinCC schon genutzt.

    LG Philipp

    edit:
    Zitat Zitat von volker Beitrag anzeigen
    wow is google schnell. [...]
    Genau so ging es mir auch gerade^^
    Geändert von Huan90 (03.04.2013 um 11:28 Uhr)

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •