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

Ergebnis 1 bis 9 von 9

Thema: Profibus Signale auslesen

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

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    Ich hab mal wieder ein Projekt vor mir. Und zwar würde ich gerne über die MPI/DP Schnittstelle eines FieldPG (Windows XP) Daten die über den Profibus gesendet werden erfassen. Vielleicht zunächst einfach nur zum mitrschneiden und dann Programme erstellen um spezifische Diagnosen zu tätigen.
    Das ist für mich jetzt ein ganz neues Gebiet und ich will erstmal einen Überblick bekommen.

    Was ist alles nötig damit ich dieses Ziel erreichen kann.
    Muss ich für die Schnittstelle Treiber programmieren?
    Wenn ich den Datenstrom irgendwie erfassen könnte dann müsste ich doch nur die Daten nach dem Protokoll entschlüsseln bzw. filtern oder?

    Später soll man dann vielleicht auch über andere Schnittstellen die Daten erfassen können.

    Zeit habe ich aufjedenfall. Könnte eventuell auch meine Bachelorarbeit darauf aufbauen.

    Wenn ihr Literaturhinweise, Tipps oder Lösungsvorschläge habt wäre ich sehr erfreut.
    Zitieren Zitieren Profibus Signale auslesen  

  2. #2
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.224
    Danke
    533
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard

    Ich würde mal hier im Forum mit der Suche nach "Analyzer" beginnen. Da gibt es diverse Beiträge und auch viele Links u.a. zu Software, die genau das macht. Auch Software, die die Signale am Profibus exakt mitschneidet gibt es, z.Bsp. u.a. von Autem.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  3. Folgender Benutzer sagt Danke zu Ralle für den nützlichen Beitrag:

    Ragnaroek18 (03.11.2010)

  4. #3
    Ragnaroek18 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    08.09.2009
    Beiträge
    14
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ok, schonmal Danke für die schnelle Antwort.

    Habe jetzt mal ein paar Beiträge zu den scheinbar gängigen Analyzern (Service Lab, SPS Analyzer, WinPLC, IBA...usw) gelesen. Allerdings finde ich diese für meine Bedürfnisse viel zu umfangreich. Außerdem sprengen sie das Budget, welches bei quasi null Euro liegt.

    Im Endeffekt soll ich auch nur eine Oberfläche mit LED's programmieren welche dann bestimmte Zustände und Signale einer Sinumerik anzeigt.

    Wie gesagt ich habe viel Zeit und kann mich in diverse neue Bereiche einarbeiten und selber entwickeln/programmieren.

  5. #4
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.224
    Danke
    533
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard

    Ok, dann suche mal hier unter "libnodave" (freeware). Damit kannst du die Daten einer S7 lesen und schreiben.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  6. Folgender Benutzer sagt Danke zu Ralle für den nützlichen Beitrag:

    Ragnaroek18 (02.11.2010)

  7. #5
    Registriert seit
    30.04.2005
    Beiträge
    908
    Danke
    58
    Erhielt 161 Danke für 147 Beiträge

    Standard

    Den Amprolyzer von Siemens gibts doch mittlerweile auch kostenlos zum Download:
    Krieg ist Gottes Art den Amerikanern Geographie beizubringen

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

    Standard

    ...welche dann bestimmte Zustände und Signale einer Sinumerik anzeigt.
    welche Zustände denn genau - falls es sich dabei nur um SPS-Dinge z.B. Merker, Bytes, Bits usw. handelt kannst du auf Libnodave oder andere S7-Anbindungen für PCs setzen
    (das geht dann auch von C/C++, VB, ... bis C# und Java)

    möchtest du aber NCK-Spezifische Informationen haben also z.B. Achsposition, aktiver Kanal usw. dann wirst du mit Libnodave und Konsorten keinen Erfolg haben -> die NC ist keine SPS

    du kannst aber:

    • über den NCDDE-Server gehen (DDE basierte Kommunikation zum Schreiben/Lesen/Horchen von SPS/NC-Daten) -> Testprogramm unter f:\mmc2\ddetest.exe


    • die SOPCMaschineSwitch-OPC Server des Sinumerik-Systems nutzen (Funktionsgleich zum DDE-Server) unter f:\mmc2\opc\... und z.B. OPCExplorer


    • die NC-Daten intern auf die SPS kopieren und dann per Libnodave aus der SPS lesen

    oder auch als einzige kommerzielle nicht-Siemens-Lösung die NCK-Extension von Deltalogics AGLink nutzen
    Zitieren Zitieren eine Sinumerik - dann erkläre mal genau was du machen willst  

  9. Folgender Benutzer sagt Danke zu LowLevelMahn für den nützlichen Beitrag:

    Ragnaroek18 (02.11.2010)

  10. #7
    Ragnaroek18 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    08.09.2009
    Beiträge
    14
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Vielen Dank für die hilfreichen Antworten.

    Ich hab mich jetzt mal genauer erkundigt was denn überhaupt die Anforderungen sind.

    Es sollen eigentlich nur Schnittstellensignale aus einem DB auf der Sinumerik ausgelesen werden und dann grafisch dargestellt.
    Dafür ist libnodave die beste Lösung.

    Habe auch bereits mit dem Testprogramm über Ethernet Daten aus einem DB auslesen können.

    Jetzt versuche ich gerade ein eigenes Programm in Visual C++ (Visual Studio 2010) zu bauen.Weis allerdings noch nicht wie ich genau die dll da einbinden muss. Aber ich beschäftige mich noch ein bissel damit.

    Ich hab auch noch nicht ganz verstanden wann und wofür ich die vcmakefile.bat brauche(hab ich in einer Readme File gelesen). Hab die mal ausgeführt mit angepassten Pfaden, aber dann kommt eine Fehlermeldung "msdp100.dll" konnte nicht gefunden werden, die wird von einer cl.exe genutzt.

    Vielleicht kann mir da ja noch jemand helfen!?
    Zitieren Zitieren libnodave  

  11. #8
    Ragnaroek18 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    08.09.2009
    Beiträge
    14
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ich brauche nochmal dringend Hilfe.

    Und zwar bin ich mir nicht sicher ob ich alles richtig eingebunden habe.

    Ich habe in Visual C++ 2010 ein neues Projekt erstellt (Win32 Konsolenanwendung).

    Habe mir dann eine C Datei erstellt mit folgendem Inhalt.

    Code:
    #include <stdlib.h>
    #include <stdio.h>
    #include <string.h>
    
    #define BCCWIN
    
    #include "nodave.h"
    #include "openSocket.h"
    
    int main(){
        daveInterface * di;
        daveConnection * dc;
        _daveOSserialType fds;
        PDU p;
        daveResultSet rs;
        
        daveSetDebug(daveDebugPrintErrors);
    
    }
    Ich will erstmal noch keine Funktion haben. Sondern nur mal die .exe erstellen.

    Jetzt weis ich nicht ob ich alles richtig eingefügt habe. Die nodave.h und openSocket.h habe ich in den Projektordner kopiert. Sonst hätte er Sie auch nicht gefunden.
    Außerdem liegen dort auch die libnodave.dll und libnodave.lib, welche nochmals im Debugordner liegen. Muss das so?

    Bei den Linkereinstellungen habe ich auch nochmal denm Pfad zur libnodave.lib angegeben.

    Ich bekomme jetzt beim Kompilieren folgenden Fehler:
    Code:
    MSVCRTD.lib(crtexew.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_WinMain@16" in Funktion "___tmainCRTStartup".
    c:\dokumente und einstellungen\scenic.fusie\eigene dateien\visual studio 2010\Projects\DBlesen\Debug\DBlesen.exe : fatal error LNK1120: 1 nicht aufgelöste externe Verweise.
    Was habe ich noch nicht richtig gemacht?
    Zitieren Zitieren lib h dll und mehr  

  12. #9
    Ragnaroek18 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    08.09.2009
    Beiträge
    14
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hey,

    Ich möchte den Post nochmal aufleben lassen. Habe jetzt mein vorheriges Problem lösen können. Bei Bedarf stelle ich die Lösung auch zur Verfügung.

    Bin jetzt aber auf C++ genauer Ultimate++ umgestiegen um .NET zu umgehen.

    Habe erfolgreich libnodave eingebunden und auch schon ein kleines Programm geschrieben zum auslesen einiger DB's. Man kann bei dem Programm auswählen ob man per Ethernet (TCP ISO) oder MPI (CP5611->S7Online) verbinden möchte. Das funktioniert auch. Einziges Problem ist wenn ein anderer PC nun kein STEP7 oder die Schnittstelle CP5611 besitzt dann tritt ein schwerwiegender Fehler beim ausführen der Zeile:

    Code:
    fds.rfd=openS7online("/S7online",0);
    Die Exception lautet dann (mit dem Debugger ausgeführt):
    Exception: C0000005 at 737AC9F1
    EXCEPTION_ACCESS_VIOLATION
    reading at 00000000
    Nun möchte ich wissen ob es eine Möglichkeit gibt diese Zeile nicht auszuführen wenn STEP7/CP5611 nicht vorhanden ist oder ob man die Exception über einen try-catch Block erfassen kann.

    Hat da jemand eine Idee?
    Zitieren Zitieren Exception_Access_Violation  

Ähnliche Themen

  1. Profimess über Profibus auslesen
    Von Hägar im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 17.06.2010, 15:24
  2. Wägeterminal IND690 via Profibus auslesen
    Von cream3000 im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 05.12.2007, 23:01
  3. Adresse Profibus Slaves auslesen
    Von Sh4gr4th im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 14.02.2006, 10:26
  4. Auslesen über Profibus
    Von klauserl im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 20.12.2005, 09:01
  5. Profibus auslesen
    Von Progri im Forum Feldbusse
    Antworten: 5
    Letzter Beitrag: 18.11.2005, 09:20

Lesezeichen

Berechtigungen

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