Datenerfassung

A

Anonymous

Guest
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Männer...

ich würde gerne gewisse Produktionsdaten von mehreren Anlagen (z.B Stückzahl, Störungszeit und Art) in einem Programm erfassen, die man von einem Rechner Zentral überwachen oder einsehen kann.

Wie löse ich das am besten??? :?:

Würde mich sehr über eure Hilfe freuen!

Lg Peter
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

da Peter wohl schon eine Lösung gefunden hat, würde ich gerne dieses Thema aufgreifen :)

Es sollen Daten in einem Zyklus von 1-2 Sek. von ca. 20 Anlagen abgerufen werden. Die Anlagen sind mit Siemens S5 oder S7 ausgerüstet.
Pro Anlage ca. 10 DW, min. 1 String (Produktnummer).
Diese sollen auf einem PC in einer Datenbank(SQL Server) archiviert werden.
Es gibt noch keine zentrale Verkabelung (Profibus/Ethernet ?).

Soweit die Gegebenheiten, welche Ideen/Lösungsvorschläge oder Erfahrungen habt Ihr mit dieser Thematik ?

Bin auf jedenfall für alle Anregungen dankbar :D !

Gruß
Christian
 
Daten sammeln

Wir haben das folgendermassen gelöst:

Alle Cpu'en miteinander via Profibus connectet und die Daten auf einer
extra CPU (Datenkompressor) gesammelt und uns dann die Daten von dort auf einen PC gezogen oder von dort zur Verfügung gestellt.
War keine Profibusanbindung möglich, haben wir über 2 Draht I/O seriellen Datenaustausch kommuniziert.
Gruss
 
Hallo Beachwalker,

vielen Dank für Deine Antwort, habe schon gedacht es würde keiner mehr diesen Beitrag lesen :D

Im Grunde gefällt mir dieser Lösungsansatz ganz gut, aber was meinst Du mit "Datenkompressor", wieso geht Ihr nicht direkt auf einen PC ?

Gruß
Christian

P.S.: Sonst hat sich noch keiner mit diesem Problem beschäftigen müssen :?
 
Na ja, mit 3 Anlagen habe ich etwas Ähnliches schon getestet, 2xS7 via MPI und 1xS5 (AS511). S7-Anlagen kannst du rel. einfach über MPI miteinander verbinden und dann auch auf jede einzelne CPU direkt zugreifen, um die Daten abzuholen. Bei S5 geht die Vernetzung oft nicht mehr so einfach, da es ältere Anlagen sich, die vielfach keinerlei Hardware zur Vernetzung eingebaut haben. Der Aufwand diese in ein Netz zu intergrieren ist dann dementsprechend hoch. Man kann jede CPU direkt mit einem Kabel zum PC über AS511 verdrahten. Dazu benötigst du dann entsprechend viele serielle Ports. Für die AS511-Verbindung habe ich eine DLL in Delphi genutzt, für MPI Prodave-Mini. Wenn Zottel libnodave soweit hat, das CP5511-Karten verwendet werden können werde ich mich damit mal näher befassen, das würde mir Prodave ersparen. Ansonsten habe ich eine Software mit Delphi geschrieben, die von den angschlossenen Anlagen die Daten abholt. Ich nutze allerdings Die Borland-BDE mit Paradox direkt auf dem "Daten-PC", da das am schnellsten war. Es gibt extra Tabellen für Fehler, Meldungen, Produktionsdaten, sowie nochmals je eine Auswerttabelle für Fehler und Meldungen.
Wie groß das "Abhol-Intervall" bei 20 Anlagen ist kann ich im Moment nicht genau einschätzen, aber 1-2 Sekunden dürfte zu knapp sein. Allerdings hole ich auch mehr Daten ab.
 
Hallo Ralle,

auch Dir sei gedankt :D

Vor allem für die Bedenken mit dem "Abhol-Intervall", das mir nämlich auch Kopfschmerzen bereitet, wie sieht den der Rest der Gemeinde das ?

Gruß
Christian
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
libnodave wird in SCADA.NET integriert sein, allerdings kann ich euch SCADA.NET erst Ende Dezember versprechen, damit könnte man dann auch archivieren und in Excel usw. exportieren.

Gruß Sebastian
 
Polling - nein danke!

@christian73:

Hallo,

das Abholintervall hängt natürlich davon ab, wie schnell sich
deine Daten ändern. Es macht keinen Sinn, z.B. Temperaturen
im 2 ms-Takt abzuholen und die Datenbank mit ewig gleichen
Werten zu füllen.

Eine wirklich vernünftige Lösung muss ereignisgesteuert sein,
z.B. beim Überlauf eines Zählers muss der letzte Zählerstand
1x mit Zeitstempel an die Datenbank übertragen werden.

Gruß G.
 
Ich habe gerade mal die Delphi-DEMO von libnodave-0.8 ausprobiert, 10 Byte Daten werden in 40-70 ms via s7onlinx.dll abgeholt (100 Byte 80-120ms). Andere Schnittstellen habe ich momentan leider nicht zur Verfügung.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@Gast

Hallo,

da geb ich Dir Recht, aber im Bezug auf Deinen " Titel: Polling - nein danke!", wie machst Du das bei Temperaturen ?

@Ralle

Vielen Dank für Deinen Test , ist doch ganz ordentlich.

Gruß
Christian
 
[quote="Christian73]

da geb ich Dir Recht, aber im Bezug auf Deinen " Titel: Polling - nein danke!", wie machst Du das bei Temperaturen ?
[/quote]
Ereignisgesteuert ist auch nicht DIE Universallösung.
Erstens ist es nicht so einfach die Steuerung die Daten bei einer Änderung schicken zu lassen.
Zweitens hat es Nachteile, wenn man den Gesamtzustand der Anlage zu einem Zeitpunkt sehen möchte: Es muß dann aus der Datenbank der zu diesem Zeitpunkt letzte bekannte Wert aus mehreren Tabellen geholt werden. Einfacher ist es, wenn mit einem veränderten Wert alle anderen auch geschrieben werden, egal ob verändert oder nicht. Dann repräsentiert eine Zeile den Anlagenzustand.
Drittens ist es doof, wenn man Diagramm aus den Werten erstellen möchte. Wenn dann, um überhaupt ein Diagramm zeichnen zu können, ein Wert der links außerhalb der Zeitachse liegt, mitverarbeitet werden soll, wie soll das gezeichnet werden? Als Treppe, da der Wert ja bis zur Änderung so konstant war, daß keine Änderung Eingetragen wurde? Oder doch als Linie mit interpoliertem Wert als linkem Anfangspunkt? Auch erregen Diagramme mit langen geraden Linien und wenigen Stützpunkten immer ein gewisses Mißtrauen: War alles wirklich so konstant oder fehlt was in der Aufzeichnung?

Ich habe es bei Temperaturen so gemacht: Die Werte werden so oft wie möglich (ca. 2 mal / Sekunde) von der Steuerung geholt. Anschließend wird in den Dimensionen Zeit und Temperatur ein "Abstand" zum letzten gespeicherten Wert berechnet. Ist dieser größer als ein vorgegebenes Maß, wird der Wert gespeichert. Mit ihm werden weitere Werte gespeichert, die für den gleichen Anlagenteil/Baugruppe/Prozeßschritt relevant sind.
 
Polling - immer noch nicht überzeugt

Hallo Zottel,

deine Forderung widerspricht nicht dem Ereignis-
gedanken. Nur mit dem Unterschied, dass ich diese
Hysterese schon in der SPS bilden würde.

Ich habe mir übrigens angwöhnt, alle Messwerte
in einen gemeinsamen DB zu packen und daraus einen
Datensatz in der Datenbank zu machen. Dadurch repräsen-
tiert jeder Datensatz immer den Maschinenzustand und
ich kann ihn z.B. mit einer xy-Graphik auch Trends
vernünftig darstellen.

Ich habe viele "echte" Ereignisse zu überwachen, so
dass ich in der Regel mindestens 1x pro Minute einen
Record in der DB ablege. Dabei sind dann auch jedes-
mal die Temperaturen mit dabei.

Und wenn keine Ereignisse kommen, kann man einen
zyklischen Trigger definieren, oder die o.g. Hysterese.

Mit Polling knallt man sich nur das Netzwerk zu!

Gruß G.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Re: Polling - immer noch nicht überzeugt

Gast schrieb:
Hallo Zottel,
deine Forderung widerspricht nicht dem Ereignis-
gedanken. Nur mit dem Unterschied, dass ich diese
Hysterese schon in der SPS bilden würde.
Die Sachen waren mit S5.
Die Abstandsberechnung ist eben:
SQRT(((Wert-WertAlt)/MaxAbstandWert)^2 + ((Zeit-ZeitAlt)/MaxAbstandZeit)^2)
Und wenn das >1.0 ist,wird gespeichert. Auf einer S5 nicht machbar.
Mit Polling knallt man sich nur das Netzwerk zu!
Besagte S5 haben sowieso eine Punkt zu Punkt-Verbindung zum Rechner. Der Flaschenhals war die PG-Schnittstelle, aber es war einfacher alle Werte, die interessant sein könnten, in einen DB zu kopieren und den in einem Rutsch zu übertragen.

Woanders habe ich 20 Maschinen an Ethernet. Übertragungsvolumen ca. 180DWs verteilt auf 10 Einzelabfragen, weil interessante Daten über den Speicher verteilt sind. Der PC hat eine Netzwerkkarte, mit der er und die Maschinen ein eigenes Netzwerk bilden und eine andere zum Intranet. Ist ja sicherer. Polling erfolgt auf allen TCP/IP-Verbindungen parallel (multithreaded). Netzwerkbandbreite reicht dicke aus.
 
Hallo zusammen,

wenn auch etwas verspätet, vielen Dank an alle die sich zu dem Thema geäußert haben.
Nach neusten Informationen ist diese Projekt leider erstmal auf Eis gelegt. :?
Nichtsdestotrotz :wink: fand ich eure Hinweise/Anmerkungen sehr informativ !

Gruß
Christian
 
Zurück
Oben