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

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

Thema: OPC-Items aus S7 / SINUMERIK 840D?

  1. #1
    Registriert seit
    17.01.2008
    Beiträge
    3
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Moin!

    Ich habe diesen Beitrag vor einigen Tagen im SIMATIC-Forum veröffentlicht und bislang keine Rückmeldung erhalten. Vielleicht ist er in diesem Forums besser aufgehoben:

    Ich -als blutiger Anfänger aus der DB-Schiene kommend- soll aus einer Drehmaschine mit S7? SINUMERIK 840 D Daten (unter anderem Taktzeit, Schichtzahl, Stillstände/Werkzeugwechsel, Spindellaufzeit, Not-Aus-Ereignisse und weitere Späße) auslesen und in eine Datenbank (SQL) reinschreiben - zu Dokumentationszwecken.

    Dabei soll der OPC-Standard genutzt werden.

    Nach einigen Internet-/Forenrecherchen habe ich folgende Fragen:
    1. Ist dies überhaupt möglich?
    2. Gibt es Alternativen zu OPC?
    3. Muss ich diese OPC-items selbst definieren?
    4. Oder gibt es eine Liste mit allen OPC-items für die S7-300 oder 840D -Steuerung aus der ich mir die Items (z. B. für obige Daten) raussuchen kann?
    5. Wo finde ich diese Liste? Wo im Internet?
    6. Welche Hard- und Software benötige ich? HW: Netzwerkkarte (Profibus, Ethernet, MPI, RS232), Schaltschrank-PC? SW: OPC-Software (Siemens, Softing/Deltalogic, INAT, ?), SQL-DB)


    Gruß,
    Tom
    Zitieren Zitieren OPC-Items aus S7 / SINUMERIK 840D?  

  2. #2
    Registriert seit
    05.03.2008
    Beiträge
    4
    Danke
    0
    Erhielt 3 Danke für 2 Beiträge

    Blinzeln

    Hallo Tom,
    ich stehe zufällig gerade vor demselben Problem und kann dir da leider auch nur teilweise weiterhelfen:
    Soweit ich es in Erfahrung gebracht habe, läuft auf jeder Sinumerik PCU-50 ein OPC-Server standardmäßig mit. Dieser Server lässt sich über DCOM ansprechen und ist unter dem Namen "OPC.SINUMERIK.Machineswitch" erreichbar.
    Für deine Anwendung muss du sicherstellen, dass sie auf diesen DCOM-Dienst zugreifen kann. Dazu musst du zunächst deine PCU-50 starten. Sobald im Startmenü "SINUMERIK" erscheint, drückst du einmal die Cursor-Down- (Pfeil-Nach-Unten)-Taste und anschließend "Enter" bzw. "Input".
    Im folgenden Menü wählst du den 4. Punkt (dann Enter) und dann den 1. Punkt (dann nochmal Enter).
    Die PCU-50 startet neu und bietet dir eine Anmeldemöglichkeit an.
    Sofern auf dem Ding keine Änderungen vorgenommen worden sind, lautet der Standard-Administrator "auduser" mit dem Passwort "sunrise".
    Über Start\Ausführen (oder Windowstaste+R) öffnest du ein Befehlsfenster, indem du mit "dcomcnfg" die DCOM-Konfiguration starten kannst. Unter den Komponentendiensten findest du "Computer" und darunter "Arbeitsplatz". In der "DCOM-Konfiguration" findest du nun "OPC.SINUMERIK.Machineswitch". Im Eigenschaftsfenster dieses Dienstes wählst du den Registerreiter "Sicherheit". Im ersten Unterpunkt "Start- und Aktivierungsberechtigungen" wählst du "Anpassen" und anschließend "Bearbeiten". Hier musst du nun den Nutzer hinzufügen, unter dessen Konto schließlich auch dein Programm ausgeführt wird.
    Damit die Änderungen aktiv werden, musst du die PCU-50 neu starten.

    Die OPC-Items sind bereits definiert. Nach welcher Konvention kann ich dir leider nicht mit Sicherheit sagen, dies versuche ich selbst in einem anderen Thread gerade herauszufinden. Sie sind aber in jedem Fall von den verwendeten Datenbausteinen (Datablocks) abhängig, diese wiederum sind vom Machinenprogrammierer festgelegt.

    Wenn du etwa mit einer S7-300 und einem CP (Kommunikationsprozessor) arbeitest, den Siemens OPC-Server verwendest und dir dann etwa über das S7-Protokoll deine Werte holen willst, dann legst du das während der Projektierung des OPC-Servers mit Step7 an. Bei der Sinumerik ist das - soweit mir bekannt - nicht möglich die OPC-Items frei zu bennen. Wichtig ist schließlich und endlich, dass dein OPC-Client genau den Namen der OPC-Items des OPC-Servers kennt.

    Für die Entwicklung deines OPC-Klienten kann ich dir die Entwicklung eines Windows-Systemdienstes empfehlen, da für Programme, die auf einer PCU-50 ausgeführt werden ansonsten spezielle Bedingungen gelten, die ich leider nicht kenne. Man braucht dafür wohl üblicherweise ein Programming-Kit, dass dir Siemens bereit stellt und muss in einer Datei (REGIE.INI ???) entsprechend Einträge hinzufügen.

    Für die Entwicklung deines OPC-Klienten etwa mit .NET benötigst du die OPC-Core-Components, die du kostenfrei von der OPC-Foundation herunterladen kannst. Dort sind im Wesentlichen 4 DLLs enthalten, die du nach der Installation etwa unter C:\Programme\Gemeinsam genutze Dateien\OPC Foundation.... oder so ähnlich finden solltest.

    Bei OPC läuft das so, dass du dich zunächst auf einem OPC-Server anmeldest, dort eine Gruppe (OPC-Group) anlegst und dieser Gruppe die von dir gewünschten Items hinzufügst, was einem "Abonnieren" gleich kommt. Sobald sich ein Item ändert, erhälst du eine "Nachricht", vielmehr wird eine Interrupt-Methode, die du aufgrund deines verwendeten Interface implementieren musst, aufgerufen. In dieser Interrupt-Methode kannst du dir weitgehend frei überlegen, was du mit den gewonnenen Daten nun anstellst (etwa in eine SQL-DB schreiben).


    Ich stehe gerade vor dem Problem, dass ich beim Hinzufügen der Items zu einer Gruppe eine COM-Fehlermeldung bekomme (HRESULT: 0x80004004). Wenn du soweit bist, und eine Lösung für dieses Problem gefunden hast, wäre es eine klasse Sache, wenn du mir dazu mal was schreiben könntest.

    H2H

    Christian

  3. Folgende 2 Benutzer sagen Danke zu Chrissivo für den nützlichen Beitrag:

    Rückenwind (18.03.2008),wiesson (05.06.2013)

  4. #3
    Registriert seit
    10.05.2005
    Beiträge
    2.005
    Danke
    220
    Erhielt 234 Danke für 205 Beiträge

    Standard

    Hi

    Ich würde einen "anderen" Ansatz wählen.

    Alle benötigen Daten , soweit ich das gesehen habe über die PLC "greifbar".

    Von der PLC kannst du diese aufbereiten und z.b. über MPI, TCP/IP RS232 ... bereitstellen.

    Auf der Gegenstelle (normaler PC) läuft dann der OPC-Server, der die PLC-Daten "einsamelt". Nach dem einsammeln in eine beliebige Datenbank schreiben.
    Karl

  5. Folgender Benutzer sagt Danke zu gravieren für den nützlichen Beitrag:

    Rückenwind (18.03.2008)

  6. #4
    Registriert seit
    05.03.2008
    Beiträge
    4
    Danke
    0
    Erhielt 3 Danke für 2 Beiträge

    Rotes Gesicht

    Hi,
    aber über die PLC (Sinumerik 840 D) ist doch meist schon über MPI mit der PCU-50 verbunden und auf die Daten kannst du somit aufbereitet zugreifen.
    Um die DCOM-Konfiguration wirst du nicht herumkommen, auch wenn du deinen OPC-Server auf einem normalen PC laufen lässt.
    Wenn man die Sinumerik 840 D per TCP/IP anbinden will, braucht man soweit ich weiß noch einen Kommunikationsprozessor. Der kostet für die 840 D alleine schonmal ~1.000€ (CP 343-1 Standard). Hinzu kommt, dass du die PLC noch entsprechend konfigurieren musst (und das vor allen Dingen können musst).
    Der extra OPC-Server kostet nochmal, bedeutet eigentlich Redundanz und auch dieser will projektiert werden (Projektierungswerkzeug + Kenntnisse vorhanden?), ganz zu schweigen von dem zusätzlichen PC.

    Also ich sehe da nicht, wo das einfacher und vor allen Dingen auch günstiger sein soll, bis auf den Zugriff auf die PCU-50.

    Der eigentliche Aufwand liegt wohl auch in der Implementierung eines OPC-Clients, der getestet werden will. Je nachdem, wie flexibel der dann letzten Endes sein soll.

    Viele Grüße und schönes WE

    Christian

    PS: Mit welcher Sprache wolltest du das denn umsetzen?
    Geändert von Chrissivo (07.03.2008 um 16:14 Uhr)

  7. Folgender Benutzer sagt Danke zu Chrissivo für den nützlichen Beitrag:

    Rückenwind (18.03.2008)

  8. #5
    Registriert seit
    17.05.2015
    Beiträge
    6
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo,

    7 Jahre später stehe ich vor genau dieser Aufgabe. Ich soll aus einer Sinumerik 840d einen Datenbausstein mit Hilfe von OPC abrufen.
    Gibt es dafür nun nachdem alles so lang her ist eine Lösung? Ich wäre für einen Gedankenanstoß sehr dankbar.

    Gruß
    Marcus

  9. #6
    Registriert seit
    06.04.2013
    Beiträge
    208
    Danke
    10
    Erhielt 5 Danke für 5 Beiträge

    Standard

    Hallo,

    muss es OPC sein?

    Ich verwende die "DotNetSiemensPLCToolBoxLibrary" (LibNoDave) ebenfalls für die 840d sl.
    Ist recht einfach zu verwenden, sobald man sich einen kleinen Überblick verschafft hat.

    Gruß

  10. #7
    Registriert seit
    17.05.2015
    Beiträge
    6
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo Hans,

    davon hab ich noch nie was gehört. Ich hab eigentlich nur die Aufgabe diesen Baustein nach jedem Arbeitsgang abzurufen und dessen Inhalt in einer Datenbank zu speichern. Ich verzweifle auch schon daran. Ich habe bis jetzt eine TCP/IP Verbindung zur PCU. Wie zu einem Windowsrechner, mehr nicht.
    Ich habe versucht DCOM zu konfigurieren für den OPC.SINUMERIK.Machineswitch. Ich habe eben versucht zu recherchieren. Ich bin für jede Lösungsmöglichkeit offen.

  11. #8
    Registriert seit
    06.04.2013
    Beiträge
    208
    Danke
    10
    Erhielt 5 Danke für 5 Beiträge

    Standard

    Hallo Marcus,

    wie mann bereits einigen vorigen Beiträgen in dieser Rubrik entnehmen kann ist LibNoDave eine in C++ programmierte Lib, die die Kommunikation mit der S7 händelt.
    Die "DotNetSiemensPLCToolBoxLibrary" ist wie der Name schon sagt eine .Net Lib, in welcher die LibNoDave implementiert ist. Zusätzlich sind noch Beispiele und andere nützliche Tools enthalten.
    Diese ist in C# programmiert und über GitHub als OpenSource(Vorteil/Nachteil) zugänglich.

    Wenn sich deine Anwendung innerhalb der Beschränkung der OpenSource bewegt, ist dies sicher eine gute Möglichkeit für dein Vorhaben.

    In welcher Programmiersprache programmierst du?

    Verwende selber C#, wodurch sich die "
    DotNetSiemensPLCToolBoxLibrary" natürlich anbietet. Auch die Verbindung zur Datenbank z.B. Microsoft SQL oder Access ist mit ein wenig googeln bald programmiert.

    Gruß

  12. #9
    Registriert seit
    22.11.2007
    Beiträge
    731
    Danke
    6
    Erhielt 89 Danke für 62 Beiträge

    Standard

    @MgtDesign

    mit der AGLink Library von Deltalogic kommst du lesend/schreibend an die S7(so wie Libnodave auch) aber auch an die NC-Daten (falls die gebraucht werden)

  13. #10
    Registriert seit
    17.05.2015
    Beiträge
    6
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo LoWLevelMahn,

    danke fürden Hinweis. Ihr seid hier richtige Spezialisten, ich bin nur Student der die Aufgabe bekommen hat einen Datenbaustein einer S7 "irgendwie" auszulesen. Dazu kam der Hinweis das in der Sinumerik bzw. in der PCU50 bereits ein OPC Server läuft den ich dazu nutzen könnte. Ich habe mich darauf versteift und diesen OPC-SINUMERIK-Machineswitch auch gefunden aber mehr ging nicht. Ich hänge seit Wochen daran. Der erste Lichtblick seit langem war der Hinweis das das mit libnodave wohl kein Problem sei von Hans. Ich bin allerdings kein Programmierer sondern nur Mechatroniker. Ich versuche mein Bestes. Im Moment verstehe ich nur Bahnhof und lese einen Thread nach dem anderen.
    Ich bin für die/eure Hilfe hier echt dankbar.

Ähnliche Themen

  1. Biete Sinumerik 840D SL NCU 730.2
    Von 2010berlin@gmx.net im Forum Suche - Biete
    Antworten: 0
    Letzter Beitrag: 28.11.2010, 18:14
  2. Sinumerik 840D + 2 MSTT
    Von boggle im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 25.02.2010, 21:33
  3. Antworten: 0
    Letzter Beitrag: 08.11.2008, 08:36
  4. Sinumerik 840D
    Von arena im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 24.10.2008, 00:02
  5. OPC-Items auf Sinumerik PCU 50 abrufen
    Von Chrissivo im Forum Hochsprachen - OPC
    Antworten: 4
    Letzter Beitrag: 24.04.2008, 11:01

Lesezeichen

Berechtigungen

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