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

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

Thema: PLC Daten über OPC in C++ Programm bearbeiten

  1. #1
    Registriert seit
    14.03.2011
    Beiträge
    16
    Danke
    6
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen,

    ich mache gerade eine Praktikum bei einer kleinen Firma. Ich soll eine GUI erstellen (in C++), welche ein paar PLC-Dateien Anzeigt. Die Vorgabe ist, die PLC-Dateien über den OPC-Server zu bekommen. Mir steht ein HIM-Advanced zur Verfügung und ich programmiere mit Visual C++ 2010 Professional.

    Ich weiß, dass ich einen OPC-Client einbauen muss. Aber wie genau appliziere ich den?

    Seit Tagen habe ich schon im Netz gesucht, komm aber nicht weiter und bin inzwischen schon ganz frustriert, da der Druck immer mehr wächst.
    Kann mir jemand helfen ????

    Hat jemand vielleicht ein kleines Beispielprogramm? Das würde mir schon sehr weiterhelfen.

    Gruß D_Lar
    Zitieren Zitieren PLC Daten über OPC in C++ Programm bearbeiten  

  2. #2
    D_Lar ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    14.03.2011
    Beiträge
    16
    Danke
    6
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Hi, ich bin jetzt schon mal weitergekommen.

    mit einem Beispiel-Client-C++Programm von :

    http://sourceforge.net/projects/opcclient/

    und einem OPC-Tutorial:

    http://pgras.home.cern.ch/pgras/OPCClientTutorial/

    habe ich einen Client erstellt, der nun mit dem SINUMERIK OPC-Server verbunden ist. Ich kann dessen Status auslesen, Gruppen erstellen, aber:

    wie komm ich jetzt an die PLC-Daten dran?
    In dem ich ein Item erstelle, klar, aber wie sind die ItemID aufgebaut???

    Ich wäre echt dankbar wenn jemand mir da weiterhilft.
    Zitieren Zitieren ItemID von PLC- Datei???  

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

    Shorkaa (20.06.2011)

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

    Standard

    "/Plc/Datablock/Bit[c200,1.1]"

    die Varianten findest du in einer btss_gr.hlp irgendwo im HMI-Advanced-Ordner
    Zitieren Zitieren z.B. ein Bit auf der PLC  

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

    D_Lar (28.03.2011)

  6. #4
    D_Lar ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    14.03.2011
    Beiträge
    16
    Danke
    6
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Zitat Zitat von LowLevelMahn Beitrag anzeigen
    "/Plc/Datablock/Bit[c200,1.1]"

    die Varianten findest du in einer btss_gr.hlp irgendwo im HMI-Advanced-Ordner
    Hallo LowLevlMahn,

    vielen dank für deine Antwort!! Ich kann Bits und Bytes damit lesen, aber sobald ich ein Word oder DoubleWord lesen will, erhalt ich nur das Value 0.

    Muss man bei einem Word oder DoubleWord etwas specielles berücksichtigen?

    D_Lar

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

    Standard

    es geht also kein /Plc/Datablock/Word[c200,1]

    c200 == db-nr: 200
    1 = bytenr

  8. #6
    D_Lar ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    14.03.2011
    Beiträge
    16
    Danke
    6
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Zitat Zitat von LowLevelMahn Beitrag anzeigen
    es geht also kein /Plc/Datablock/Word[c200,1]

    c200 == db-nr: 200
    1 = bytenr
    Ja, wenn ich ein beliebiges Word so ansprechen möchte, bekomme ich als Value entweder 0 oder einen Fehlerwert (Bsp: 115487). Woran kann das liegen???

    Bin echt confused, danke für deine Hilfe LowLewelMahn!!

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

    Standard

    probier mal mit einem anderen OPC-Client deine Abfrage zu tätigen

    z.B. http://www.dopc.kassl.de/explorer.shtml

    wenn es damit geht - liegt es an deinem Code - und ich denke das es so ist

    Achtung der opc-maschineswitch hat kein Browsing d.h. du musst einfach eine Gruppe + dein Word-Item anlegen
    Zitieren Zitieren probiers mal mit dem OPC-Client...  

  10. #8
    D_Lar ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    14.03.2011
    Beiträge
    16
    Danke
    6
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Zitat Zitat von LowLevelMahn Beitrag anzeigen
    probier mal mit einem anderen OPC-Client deine Abfrage zu tätigen

    z.B. http://www.dopc.kassl.de/explorer.shtml

    wenn es damit geht - liegt es an deinem Code - und ich denke das es so ist

    Achtung der opc-maschineswitch hat kein Browsing d.h. du musst einfach eine Gruppe + dein Word-Item anlegen
    Ja, an meinem Code hab ich auch zuerst gezweifelt, deshalb hab ich, um die ItemID herauszubekommen, den Client von Matrikon verwendet :

    http://www.matrikonopc.com/downloads...are/index.aspx

    Ich hab gehört, dass Siemens eine andere Wertung von Bits hat, kann das der Grund sein, dass ich meistens den Wert 0 oder einen utopisch hohen Wert bekomme?

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

    Standard

    Ja, an meinem Code hab ich auch zuerst gezweifelt, deshalb hab ich, um die ItemID herauszubekommen, den Client von Matrikon verwendet :
    und damit hat es geklappt? oder auch die "Fehlermeldung" (Fehlermeldungen sind nicht Teil des Values sondern ein Value)

    was bekommst du bei?

    /Plc/Datablock/Byte[c100,0] -> 0x??
    /Plc/Datablock/Byte[c100,1] -> 0x??

    /Plc/Datablock/Word[c100,0] -> 0x?? ?? (wie oben?)
    Zitieren Zitieren die Word-Adressierung ist glaube Word-basiert  

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

    D_Lar (01.04.2011)

  13. #10
    D_Lar ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    14.03.2011
    Beiträge
    16
    Danke
    6
    Erhielt 1 Danke für 1 Beitrag

    Daumen hoch


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    OK, ich habs selber herausgefunden.

    bei einem WORD oder DOUBLEWORD oder FLOAT muss man das Zeichen > setzen:

    bsp: PLC/Datablock/WORD[c100,>2]
    oder: PLC/Memory/DOUBLEWORD[>123]

    so klapt es.

Ähnliche Themen

  1. Daten sammeln im Programm
    Von Paul1987 im Forum CODESYS und IEC61131
    Antworten: 1
    Letzter Beitrag: 10.08.2009, 11:41
  2. MM20 Parameter über Profibus bearbeiten und auslesen
    Von netx1 im Forum Antriebstechnik
    Antworten: 1
    Letzter Beitrag: 21.02.2008, 15:07
  3. WinCC - Daten aus User Archiv bearbeiten
    Von .:lxg:.Chefkoch im Forum HMI
    Antworten: 5
    Letzter Beitrag: 20.03.2007, 19:06
  4. RS232 Daten senden/ empfangen /bearbeiten
    Von Anonymous im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 15.04.2005, 08:31
  5. DX Baustein über 2000 DW bearbeiten ???
    Von Anonymous im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 02.04.2004, 14:59

Stichworte

Lesezeichen

Berechtigungen

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