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

Ergebnis 1 bis 7 von 7

Thema: PRODAVE 6.0 - Problem beim Lesen von Bausteinheader

  1. #1
    Registriert seit
    24.02.2009
    Ort
    Raum Nürnberg
    Beiträge
    3
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Frage


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Leute,

    ich möchte gerne eine Trace-Funktion erstellen.
    Dazu möchte ich auf bestimmte S7-DB´s von extern zugreifen/lesen ohne Änderungen im Programm oder HW-Konfig durchzuführen.

    Bei den Tests mit Prodave 6.0 und VB bin ich auf folgende Probleme gestoßen:

    • Mit der Funktion bst_read_ex6 soll bei DB´s nur der Header ausgelesen werden. Leider meldet bei größeren DB´s (ab 20000 Bytes) die Funktion "Ergebnispuffer zu klein" Der Header sind aber nur 160 Bytes und die OUT-Variable "pDatLen" zeigt auch 0 an?
    • Wie berechnet sich die "Bausteinlänge (gesamt)"? Auch wenn diesen erhalten Wert mit den Längen im Eigenschaftsfeld vergleich kommt man zu keiner Übereinstimmung. Ich benötige die Datenlänge.
    • Stimmt der Aufbau von Date_and_Time tm im Beispiel-Projekt?

    Hatt jemand eine Idee oder andere Lösungsmöglichkeiten.

    Vielen Dank schon mal vorab.
    Zitieren Zitieren PRODAVE 6.0 - Problem beim Lesen von Bausteinheader  

  2. #2
    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

    Wenn nur auf die Daten zugegriffen werden soll, dann ist libnodave oder AGlink mit Sicherheit eine Alternative. Dort kann auch die Länge des DBs festgestellt werden umd nur auf vorhandene Daten zuzugreifen. Welche weiteren Infos werden aus den Header benötigt?
    Rainer Hönle
    DELTA LOGIC GmbH

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

  3. #3
    Registriert seit
    18.08.2006
    Beiträge
    92
    Danke
    0
    Erhielt 24 Danke für 22 Beiträge

    Standard

    Hallo,

    mit ComDrvS7 könnten Sie die Länge der DBs direkt über einen Funktionsaufruf ermitteln und die entsprechenden Daten in den DBs lesen oder beschreiben.

    Des Weiteren wäre es möglich einen gesamten DB zu lesen und als WLD-Datei auf dem PC zu speichern. Diese Datei kann dann z.B. mit einer Programmiersoftware (Simatic-Manager, WinSPS-S7, ..) gelesen und bearbeitet werden.
    Ebenso ist das Schreiben eines DBs aus einer WLD-Datei heraus in die CPU möglich.

    Weitere Infos und eine Demo mit vollem Funktionsumfang finden Sie unter
    www.mhj-software.de

    Gruss
    T.Weiss

  4. #4
    Tanzbär ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    24.02.2009
    Ort
    Raum Nürnberg
    Beiträge
    3
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Cool

    Danke fuer die Antworten,

    ich werde mal libnodave oder ComDrvS7 austesten.
    Der Kunde hat aber Prodave erworben und moechte, dass diese auch verwendet wird.
    Das Handbuch gibt leider nicht viel her. Es werden leider nur die IN/OUT's beschrieben. Der Support hat sich leider auch noch nicht gemeldet.

    Wo kann ich noch weiter genauer Angaben zur den Funktionen bekommen?
    Im Beispiel-Programm VB ist z.B. der Datentyp tm deklariert worden. Wo finde ich dazu eine Beschreibung.

    Gruss
    Andreas

  5. #5
    Registriert seit
    28.10.2005
    Ort
    Ottweiler, Saar
    Beiträge
    940
    Danke
    259
    Erhielt 124 Danke für 109 Beiträge

    Standard

    Hallo Tanzbär Andreas,

    versuch mal einfach den Puffer so groß wie möglich zu machen.
    Auch wenn die Funktion nur die 160 Bytes Headerdaten braucht,
    und im Endeffekt auch nicht mehr übertragen werden, so halte ich es
    für durchaus möglich, dass die verwendete Bilbliothek erstmal prüft,
    ob der komplette DB im Puffer Platz hätte...

    Das nur mal so ins Blaue, aus Programmier-Erfahrungen raus.

  6. #6
    Tanzbär ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    24.02.2009
    Ort
    Raum Nürnberg
    Beiträge
    3
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Unglücklich

    Die Vergrößerung des Puffers habe ich auch bereits ausprobiert.
    Die maximale Größe eines DB kann 64K betragen, die interne Puffergröße von VB kann ebenfalls 64K.
    Bisher kein Problem, aber beim ausführen des Programms kommt die Fehlermeldung Deklarationsfehler Pufferüberlauf.
    Nach meiner Deutung stellt VB für alle Deklarationen im Projekt nur 64K zur Verfügung stellt.
    Also komme ich auch hier nicht weiter.

    Falls ich hier falsch liege bin ich über jede Antwort/Tipp dankbar, denn meine VB-Kenntnisse sind nur sehr dürftig.

    Vielen lieben Dank.
    Zitieren Zitieren Puffer vergrößern  

  7. #7
    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


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Stell mal die Codesequenz ein. VB6 hat definitiv kein 64K-Limit bzw. Problem. Geht es hier eigentlich um VB oder VB.net?
    Rainer Hönle
    DELTA LOGIC GmbH

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

Ähnliche Themen

  1. Antworten: 2
    Letzter Beitrag: 03.05.2011, 09:02
  2. Peripheriezugriffsfehler beim Lesen
    Von Viper im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 16.12.2008, 07:17
  3. Antworten: 0
    Letzter Beitrag: 08.11.2008, 08:36
  4. PRODAVE License Problem
    Von Alexf2d im Forum Hochsprachen - OPC
    Antworten: 2
    Letzter Beitrag: 05.03.2008, 08:02
  5. Bereichslängenfehler beim lesen/schreiben
    Von mitchih im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 28.01.2008, 21:57

Stichworte

Lesezeichen

Berechtigungen

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