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

Seite 3 von 3 ErsteErste 123
Ergebnis 21 bis 28 von 28

Thema: S7 Libnodave und Excel

  1. #21
    Registriert seit
    13.01.2006
    Beiträge
    30
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Irgendwie habe ich das gleiche Problem mir der 315-2DP und dem CP343.
    Obwohl ich mit allen Einstellungen bei Rack und Slot experimentiert habe, bekomme ich keine Werte von der CPU gelesen.
    Wenn ich Rack = 0 und Slot = 0 benutzte und davePLCStop und dave PLCStart benutze, stopt oder startét nur der CP aber nicht die CPU.

    Kann da evtl. jemand bitte weiterhelfen?

    Danke

  2. #22
    Registriert seit
    27.10.2005
    Ort
    Schwäbisch Gmünd
    Beiträge
    5.224
    Danke
    630
    Erhielt 955 Danke für 769 Beiträge

    Standard

    Zitat Zitat von HighTec Beitrag anzeigen
    Irgendwie habe ich das gleiche Problem mir der 315-2DP und dem CP343.
    Obwohl ich mit allen Einstellungen bei Rack und Slot experimentiert habe, bekomme ich keine Werte von der CPU gelesen.
    Wenn ich Rack = 0 und Slot = 0 benutzte und davePLCStop und dave PLCStart benutze, stopt oder startét nur der CP aber nicht die CPU.

    Kann da evtl. jemand bitte weiterhelfen?

    Danke
    Mit Rack- und Slotnummer 0 wird immer die Baugruppe adressiert, auf der das Kabel steckt. In diesem Fall die CP. Wenn das nicht gewünscht sein sollte, dann einfach die Rack- und Slotnummer der CPU verwenden. Die kann ganz leicht aus der Hardwarekonfig abgelesen werden. Als Faustformel gilt: Racknummer 0 (außer CPU steckt auf ER) und bei 300er Slotnummer 2, bei 400er mit 4A PS Slotnummer 2 und mit 10A PS Slotnummer 3 verwenden. Dann sollte es klappen.
    Rainer Hönle
    DELTA LOGIC GmbH

    Ein Computer kann das menschliche Gehirn nicht ersetzen. Engstirnigkeit kann unmöglich simuliert werden. (Gerd W. Heyse)

  3. #23
    Registriert seit
    13.01.2006
    Beiträge
    30
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo,

    ja, das ist schon klar wie das mit Rack und Slot gemeint ist.

    Mein Rack als Schema 1. Steckplatz CPU 315-2DP
    2. Steckplatz DI32
    3. Steckplatz DO32
    4. Steckplatz ASi-CP
    5. Steckplatz CP343

    Gebe ichn nun Rack 0 und Slot 0 an und benutzte davePLCStop oder davePLCStart, startet und stopt nur mein CP obwohl er ja garnicht auf Steckplatz 0 steckt. Wie schon gesagt, ich habe mit vielen Einstellungen von Rack und Slot experimentiert und nichts hat zum Erfolg geführt.

    Desweiteren kann ich mit testISO_TCP die festgelegten Merkerbytes aus der CPU lesen, aber mit meinen Einstellungen in VBA scheint das nicht zu funktionieren.

    Zum Lesen der Merkerbytes benutze ich daveReadBytes. Muß ich sonst was anderes benutzen.

    Danke erstmal.

  4. #24
    Registriert seit
    27.10.2005
    Ort
    Schwäbisch Gmünd
    Beiträge
    5.224
    Danke
    630
    Erhielt 955 Danke für 769 Beiträge

    Standard

    Zitat Zitat von HighTec Beitrag anzeigen
    ja, das ist schon klar wie das mit Rack und Slot gemeint ist.
    Wohl doch noch nicht ganz. Wie bereits geschrieben: wenn Rack 0 und Slot 0 verwendet wird, wird damit automatisch die Baugruppe adressiert, in der das Kabel steckt. In diesem Falle die CP. Es gibt physikalisch keinen Slot 0 (wohl aber Rack 0, ist ja logisch )!

    Mein Rack als Schema 1. Steckplatz CPU 315-2DP
    2. Steckplatz DI32
    3. Steckplatz DO32
    4. Steckplatz ASi-CP
    5. Steckplatz CP343

    Gebe ichn nun Rack 0 und Slot 0 an und benutzte davePLCStop oder davePLCStart, startet und stopt nur mein CP obwohl er ja garnicht auf Steckplatz 0 steckt. Wie schon gesagt, ich habe mit vielen Einstellungen von Rack und Slot experimentiert und nichts hat zum Erfolg geführt.

    Desweiteren kann ich mit testISO_TCP die festgelegten Merkerbytes aus der CPU lesen, aber mit meinen Einstellungen in VBA scheint das nicht zu funktionieren.

    Zum Lesen der Merkerbytes benutze ich daveReadBytes. Muß ich sonst was anderes benutzen.

    Danke erstmal.
    Was in der Auflistung fehlt und von Siemens immer implizit angenommen wird ist das PS. Dies steckt in Slot 1 und die CPU dann in Slot 2. Dies ist auch aus der Hardwarekonfig so ersichtlich. OK, vielleicht ist Slot 1 leer aber die CPU steckt bei einer 300er in Slot 2. Deshalb muss zur Kommunikation mit der CPU bei einer 300er Rack 0 / Slot 2 angegeben werden. Die 400er Einstellungen habe ich ja auch bereits beschrieben.
    Ich hoffe, dass jetzt wirklich alles was die Adressierung anbelangt klar ist.
    Rainer Hönle
    DELTA LOGIC GmbH

    Ein Computer kann das menschliche Gehirn nicht ersetzen. Engstirnigkeit kann unmöglich simuliert werden. (Gerd W. Heyse)

  5. #25
    Registriert seit
    19.06.2003
    Beiträge
    2.200
    Danke
    85
    Erhielt 259 Danke für 175 Beiträge

    Standard

    Zitat Zitat von HighTec Beitrag anzeigen
    Hallo,

    ja, das ist schon klar wie das mit Rack und Slot gemeint ist.

    Mein Rack als Schema 1. Steckplatz CPU 315-2DP
    2. Steckplatz DI32
    3. Steckplatz DO32
    4. Steckplatz ASi-CP
    5. Steckplatz CP343

    Gebe ichn nun Rack 0 und Slot 0 an und benutzte davePLCStop oder davePLCStart, startet und stopt nur mein CP obwohl er ja garnicht auf Steckplatz 0 steckt.
    Ja, aber 0,0 ist wohl immer das Ding, was die Verbindung unterhält, selbst.
    Wie schon gesagt, ich habe mit vielen Einstellungen von Rack und Slot experimentiert und nichts hat zum Erfolg geführt.
    Es sollte halt Rack 0, Slot 2 sein bein deinem Aufbau.
    Desweiteren kann ich mit testISO_TCP die festgelegten Merkerbytes aus der CPU lesen...
    testISO_TCP nimmt standardmäßig 0 und 2...
    ...aber mit meinen Einstellungen in VBA scheint das nicht zu funktionieren.
    Komisch...
    Zum Lesen der Merkerbytes benutze ich daveReadBytes. Muß ich sonst was anderes benutzen.
    Mmmhh.. wenn du meine Makros nutzt, erfolgt vor dem readBytes irgendwo immer auch ein Aufruf von daveInitAdapter und daveConnectPLC. initAdapter macht bei ISOTCP nix, aber connectPLC brauchst du.

  6. #26
    Registriert seit
    13.01.2006
    Beiträge
    30
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Nur wenn ich Rack 0 und Slot 0 benutze bekomme ich res = 0 ansonsten bei allen anderen Einstellungen -1.

    Habe ich aber res = 0 mit Rack 0 und Slot 0 und lese nun mit daveReadByte die Merkerbytes aus der CPU bekomme ich als res2 irgendwas mit 33000 als RetVal.

  7. #27
    Registriert seit
    27.10.2005
    Ort
    Schwäbisch Gmünd
    Beiträge
    5.224
    Danke
    630
    Erhielt 955 Danke für 769 Beiträge

    Standard

    Ich würde da folgendes vorschlagen: Rack 0 und Slot 2 einstellen und den Versuch mit Etherreal aufzeichnen. Dann sieht man genau, was fehlschlug. Danach auch den geglückten Versuch von Zottels Beispielprogramm aufzeichnen. Dann sind die Unterschiede leicht zu erkennen.
    @Zottel: Oder wie siehts Du das?

    OffTopic: Kommst Du dieses Jahr wieder auf die Messe?
    Rainer Hönle
    DELTA LOGIC GmbH

    Ein Computer kann das menschliche Gehirn nicht ersetzen. Engstirnigkeit kann unmöglich simuliert werden. (Gerd W. Heyse)

  8. #28
    Registriert seit
    19.06.2003
    Beiträge
    2.200
    Danke
    85
    Erhielt 259 Danke für 175 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Rainer Hönle Beitrag anzeigen
    Ich würde da folgendes vorschlagen: Rack 0 und Slot 2 einstellen und den Versuch mit Etherreal aufzeichnen. Dann sieht man genau, was fehlschlug. Danach auch den geglückten Versuch von Zottels Beispielprogramm aufzeichnen. Dann sind die Unterschiede leicht zu erkennen.
    @Zottel: Oder wie siehts Du das?
    Ich kann mir nur vorstellen, daß er connectPLC nicht macht oder das die Parameterübergabe von VB an die DLL nicht in Ordnung ist
    Beides sieht man auch ohne Ethereal in der debug-Ausgabe von Libnodave und das ohne TCP/IP drumherum.

    Entweder, die Anwendung schickt die Anforderung zu connectPLC oder nicht.

    Und wenn sie sich mit slot=0 nicht von der mit slot=2 unterscheidet, ist's die Parameterübergabe.

    Wie aber paßt er dann den VB-Code an?

    Gut wäre es, wenn er einen C-Compiler hätte und bedienen könnte. Dann könnte er in nodave.c
    //#define DEBUG_CALLS
    "unkommentieren", in daveNewConnection() die Zeilen:
    #ifdef DEBUG_CALLS
    LOG5("daveNewConnection(di:%p MPI:%d rack:%d slot:%d)\n",
    di, MPI, rack, slot);
    FLUSH;
    #endif
    ergänzen, einmal neu übersetzen und dann sagt ihm daveNewConnection(), was es für Parameter aus VB bekommt.

    Wenn allerdings die Parameterübergabe nicht ok ist, dürfte es noch keiner geschafft haben. Und seit 8 Monaten meckert keiner?

    OffTopic: Kommst Du dieses Jahr wieder auf die Messe?
    Nein.

Ähnliche Themen

  1. LibNoDave-NetToPLCSim-Excel
    Von Earny im Forum Hochsprachen - OPC
    Antworten: 1
    Letzter Beitrag: 13.10.2009, 18:52
  2. Beispiel Libnodave mit Excel
    Von MW im Forum Hochsprachen - OPC
    Antworten: 2
    Letzter Beitrag: 31.03.2008, 11:52
  3. Libnodave und Excel
    Von Joe im Forum Hochsprachen - OPC
    Antworten: 7
    Letzter Beitrag: 23.01.2007, 11:19
  4. libnodave und Excel
    Von tomatensaft im Forum Programmierstrategien
    Antworten: 2
    Letzter Beitrag: 03.01.2007, 01:56
  5. libnodave mit Excel/VBA schmiert ab
    Von HighTec im Forum Hochsprachen - OPC
    Antworten: 0
    Letzter Beitrag: 10.11.2006, 08:11

Lesezeichen

Berechtigungen

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