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

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

Thema: Bausteinliste abfragen

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

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen,

    ich bräuchte mal kurz Nachhilfe in Sachen Bausteine einer SPS. Ich programmiere gerade mit Hilfe von LibNoDave ein Programm mit dem man einige Daten aus der SPS auslesen kann. Mit der Funktion daveListBlocksOfType gibt mir die SPS ja eine Liste mit ihren Bausteinen zurück. Jetzt wollte ich mal fragen, was mir die SPS da genau zurückliefert.
    Ich bekomme folgendes Ergebnis (in Hex) von der SPS zurück wenn ich alle Datenbausteine wissen will (auf das Wesentliche gekürzt):

    ... 00 01 12 01 ...

    Das ist das, was ich pro Datenbaustein zurück bekomme. Die ersten 2 Byte sagen ja aus, welche DB-Nummer das ist. In diesem Falle also DB1. Aber was sagen die anderen zwei Zahlen aus? Diese beiden Zahlen werden bei mir bei jedem Baustein angehängt, egal ob DB oder OB oder irgendein anderer Baustein.

    Kann eventuell jemand von euch meine Wissenslücke füllen?
    Vielen Dank schon mal im voraus.

    KT82
    Zitieren Zitieren Bausteinliste abfragen  

  2. #2
    Registriert seit
    28.07.2009
    Beiträge
    10
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ich kenne zwar die Funktion nicht, aber ich würde mal vermuten, da kommt die Länge der Bausteine zurück.

  3. #3
    Registriert seit
    29.03.2004
    Beiträge
    5.739
    Danke
    143
    Erhielt 1.686 Danke für 1.225 Beiträge

    Standard

    Was das genau bedeutet habe ich auch noch nicht herausgefunden. Scheint aber nochmal sowas wie eine Angange des Blocktyps zu sein.

    Folgende Antwort(typen) habe ich mir mal aufgeschrieben, konnte aber keinen systematischen Zusammenhang erkennen.
    In der ersten Zeile immer der Typ mit dem Anfragecode, darunter dann die Antwort:
    Code:
    SFC    30 44
           42 01
    SFB    30 46
           42 01
            
    FB    30 45
          22 03
          22 04 (bei Know How Protect?)
    
    FC    30 43
          22 03
          22 01 (bei Know How Protect?)
    
    DB    30 41
          22 05
            
    OB    30 38
          22 03
          22 01 (z.B. bei OB35)
    
    SDB   30 42
          22 07
          22 11 (SDB 2)
          22 0d (SDB 210)
          22 12 (SDB 1002)
    Geändert von Thomas_v2.1 (28.07.2009 um 14:07 Uhr)

  4. #4
    Registriert seit
    29.03.2004
    Beiträge
    5.739
    Danke
    143
    Erhielt 1.686 Danke für 1.225 Beiträge

    Standard

    Jetzt fällts mir gerade wie Schuppen aus den Haaren:

    Das zweite Byte ist die Sprache des Bausteins:

    0x00, "Not defined"
    0x01, "AWL"
    0x02, "KOP"
    0x03, "FUP"
    0x04, "SCL"
    0x05, "DB"
    0x06, "GRAPH"

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

    Was ist das bei den SDBs?
    Rainer Hönle
    DELTA LOGIC GmbH

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

  6. #6
    Registriert seit
    29.03.2004
    Beiträge
    5.739
    Danke
    143
    Erhielt 1.686 Danke für 1.225 Beiträge

    Standard

    Zitat Zitat von Rainer Hönle Beitrag anzeigen
    Was ist das bei den SDBs?
    Das ist das was mir die Siemens Hilfe dazu sagt wenn ich die Systemdaten öffne:
    Zitat Zitat von Siemens Hilfe
    Bemerkung

    Angezeigt wird eine Typ-Nummer, die intern von STEP 7 vergeben wird. Systemdatenbausteine, die inhaltlich zusammengehören, haben dieselbe Typ-Nummer.
    Wenn der Inhalt eines Systemdatenbausteins nicht interpretierbar ist, wird hier die Bemerkung "unbekannter Typ" angezeigt.
    Ich schätze sowas wie HW-Konfig, Netzkonfig, etc.

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

    Rainer Hönle (28.07.2009)

  8. #7
    Registriert seit
    28.07.2009
    Beiträge
    10
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Super!
    Ich hab mir grad die C-Sourcen der libnodave angesehen.

    Dort ist nicht ein byte[] definiert, sondern ein struct
    typedef struct {
    unsigned short number;
    uc type[2];
    } daveBlockEntry;

    Es war also wohl schon mal bekannt, daß es irgendwelche Typen sind.

    Bei der Suche sind mir außerdem 2 weitere Funktionen ins Auge gefallen, die in den c-Sources vorhanden sind, aber nicht in der dot.net-DLL.

    daveListBlocks()
    daveGetBlockInfo()

    Müsste man vielleicht auch mal ergänzen.

  9. #8
    Registriert seit
    28.07.2009
    Beiträge
    10
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Da ich schon mal dabei bin, habe ich mir auch den struct daveBlockInfo näher angeschaut. Dabei konnte ich folgende Strukturen erkennen:

    typedef struct {
    uc type[2];
    uc x1[2]; /* 00 4A */
    uc type1; /* same type as return of getBlocksOfType */
    uc c0;
    char pp[2]; /* allways 'pp' */
    uc c1; /* 01 */
    uc c2; /* Bit 0: Linked/Unlinked */
    /* Bit 5: Non-Retain */
    uc x2[2]; /* 05 5A */
    unsigned short number; /* the block's number */
    uc x3[2]; /* ? */
    unsigned short lengthEEPROM; /* size in the eeprom */
    uc x4[2]; /* ? */
    uc c3; /* ? */
    uc c4; /* Bit 0 means write protect */
    uc dateMod[6]; /* modification date */
    uc dateIfc[6]; /* modification date of interface */
    uc x5[2]; /* ? */
    uc x6[4]; /* ? */
    unsigned short length; /* the block's length */
    uc author[8]; /* 8 ascii chars */
    uc family[8]; /* 8 ascii chars */
    uc name[8]; /* 8 ascii chars */
    uc version; /* 4bit.4bit */
    uc x7[11];
    } daveBlockInfo;

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

    Und was soll uns das jetzt sagen? Dies ist der Bausteinheader. Was hat der mit der Bausteinliste zu tun?
    Rainer Hönle
    DELTA LOGIC GmbH

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

  11. #10
    Registriert seit
    29.03.2004
    Beiträge
    5.739
    Danke
    143
    Erhielt 1.686 Danke für 1.225 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,
    einen Teil davon habe ich auch schon entschlüsselt, siehe hier:

    http://www.sps-forum.de/showthread.php?t=28292

    Am einfachsten mal ein Logfile einer Onlinesicht aus dem Step 7 Manager aufzeichnen, da hat man die ganzen Bausteinabfragen drin.

    Ich habe aber noch eine aktuellere (Arbeits-)Version, an der ich immer das eintrage was ich gerade entschlüsseln konnte.

Ähnliche Themen

  1. S5 CPU 102 Bausteinliste nicht vorhanden
    Von jojo2 im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 10.12.2010, 11:52
  2. Antworten: 2
    Letzter Beitrag: 18.02.2009, 22:26
  3. Bausteinliste nach Excel exportieren
    Von Gebs im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 17.10.2008, 08:19
  4. Bausteinliste S7
    Von Erisch im Forum Feldbusse
    Antworten: 3
    Letzter Beitrag: 23.10.2006, 14:13
  5. S5 101 U - Bausteinliste im AG nicht vorhanden
    Von S7_Mich im Forum Simatic
    Antworten: 18
    Letzter Beitrag: 27.05.2004, 09:51

Lesezeichen

Berechtigungen

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