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

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

Thema: Multi-Module in GSD-Datein erstellen und Hex-Kodierung der Datentypen

  1. #1
    Registriert seit
    11.07.2007
    Beiträge
    9
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Rotes Gesicht


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo ,

    möchte in einer original GSD ein Multi-Modul erstellen.
    Nach dem Beispiel
    Module = "CP5611-Slave" 2xByte,1xDWord,1xByte,1xByte,\
    2xByte,1xDWord,1xByte,1xByte,\
    4xByte,4xByte
    EndModule

    Mit Benennung der Submodule.
    z.B. SPS-Steuer(Bytes), Diagnose(Bytes), Seriennummer(DWord)

    Suche ebenfals die Bezeichener für Char, dWord.
    Habe aus anderen GSD-Datein ermittelt das:
    0x3n (n=0-F in Hex anzahl der Einheiten+1)
    0x3n Byte E/A [0x1n Input; 0x2n Output];
    0x7n Word E/A [0x5n input; 0x6n Output];

    Suche noch nach den anderen Kodierungen.
    Hätte sie jemand vieleicht.
    Danke in voraus .
    Zitieren Zitieren Multi-Module in GSD-Datein erstellen und Hex-Kodierung der Datentypen  

  2. #2
    Registriert seit
    18.09.2007
    Beiträge
    7
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Das gleiche möchte ich auch.

    Ich habe mir deshalb folgende Beispiele aus den Specs von den GSD Dateien gesucht:

    Code:
    ;Output module byte-organized
    Module = "1 Byte DO " 0x20
    EndModule
    ;Input/output module byte-organized
    Module = "1 Byte DI/DO " 0x30
    EndModule
    Module = "2 Byte DI/DO " 0x31
    EndModule
    Obiger Code weckte in mir die Vermutung:

    0x1X = Input; 0x2X = Output; 0x3X = I/O

    Und das X die Anzahl der Bytes angibt in der Form: Byteanzahl = X + 1

    Wenn ich mir dann jedoch folgendes Beispiel ansehe, werden meine Vermutungen hinfällig - da lediglich das Letzte zu passen scheint:

    Code:
    ;Module selection 1
    Module= "selection 1 20Byte I/O PPO type1" 0xF3,0xF3,0xF1
    EndModule
    ;Modul selection 2
    Module= "selection 2 16Byte I/O PPO type2" 0xF3,0xF3
    EndModule
    ;Modul selection 3
    Module= "selection 3 2Byte I, 7Byte O" 0x11,0x26
    EndModule
    Das Letzte Module entspricht wieder dem obigen Schema, nicht jedoch die anderen beiden. Ich suche dringend eine Doku wie sich diese Hex-Werte berechnen, ich brauch das für eine Softwareapplikation im Rahmen einer Diplomarbeit.

    Vielen Dank
    Defa

  3. #3
    Registriert seit
    18.09.2007
    Beiträge
    7
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Ich habe in den tiefen der Uni-Bibo Dokumetation zum Thema entdeckt:

    Code:
    HEX  Parameter-Art      Datenformat              Parameterlänge
    0x1X Digitaler Eingang, Konsitenz: Byteweise; X+1 Bytes
    0x2X Digitaler Ausgang, Konsitenz: Byteweise; X+1 Bytes
    0x3X Digitaler I/O,     Konsitenz: Byteweise; X+1 Bytes
    
    0x5X Analoger Eingang, Konsitenz Wortweise (2 Byte); X+1 Wörter 
    0x6X Analoger Ausgang, Konsitenz Wortweise (2 Byte); X+1 Wörter 
    0x7X Analoger I/O,     Konsitenz Wortweise (2 Byte); X+1 Wörter 
    
    0x9X Digitaler Eingang, Konsitenz: Gesamtlänge (Bytes); X+1 Bytes
    0xAX Digitaler Ausgang, Konsitenz: Gesamtlänge (Bytes); X+1 Bytes
    0xBX Digitaler I/O,     Konsitenz: Gesamtlänge (Bytes); X+1 Bytes
    
    0XDX Analoger Eingang, Konsitenz: Gesamtlänge (Wörter); X+1 Wörter
    0xEX Analoger Ausgang, Konsitenz: Gesamtlänge (Wörter); X+1 Wörter
    0xFX Analoger I/O,     Konsitenz: Gesamtlänge (Wörter); X+1 Wörter
    Damit erklärt sich auch obiges Beispiel:

    Code:
    ;Module selection 1
    Module= "selection 1 20Byte I/O PPO type1" 0xF3,0xF3,0xF1
    EndModule
    Laut Text soll das Modul 20Byte I/O sein

    damit ergibt sich:

    0xF3 = 8 Byte Analog I/O +
    0xF3 = 8 Byte Analog I/O +
    0xF1 = 4 Byte Analog I/O

    = 2 * 8 Byte Analog I/O + 1 * 4 Byte Analog I/O = 20 Byte

    bye
    defa
    Geändert von defa (27.09.2007 um 14:16 Uhr)
    Zitieren Zitieren Des Rätsels Lösung  

  4. #4
    Flummy33 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    11.07.2007
    Beiträge
    9
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Hallo an alle.
    Vielen dank für die Mithilfe.
    War auf Anlagen-Inbetriebnahme.
    Sie leuft.
    Zitieren Zitieren Danke  

  5. #5
    Registriert seit
    18.09.2007
    Beiträge
    7
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Leider hat meine Doku scheinbar doch noch Lücken. So finde ich in "Real-Life"-GSD Dateien auch folgende Hex Werte:

    Code:
    0x4X; 0x8X und 0xCX
    Diese Werte sind jedoch in meine Quelle nicht dokumentiert - weiss jemand was sie bedeuten?

    bye
    defa

  6. #6
    Flummy33 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    11.07.2007
    Beiträge
    9
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Helfen vielleicht diese Angaben.
    Habe sie aus der siem8095.gsd


    ; BYTE MODULES (spezielle Kennungsformate)
    ; input * byte constcy * byte data * 1..64 byte

    Module = " 1byte DI/constcy 1byte " 0x40,0x00
    EndModule
    Module = " 2byte DI/constcy 1byte " 0x40,0x01
    EndModule
    Module = " 4byte DI/constcy 1byte " 0x40,0x03
    EndModule
    Module = " 8byte DI/constcy 1byte " 0x40,0x07
    EndModule
    Module = "16byte DI/constcy 1byte " 0x40,0x0F
    EndModule
    Module = "32byte DI/constcy 1byte " 0x40,0x1F
    EndModule
    Module = "64byte DI/constcy 1byte " 0x40,0x3F
    EndModule

    ; input * complete constcy * byte data * 1..64 byte

    Module = " 1byte DI/constcy complete" 0x40,0x80
    EndModule
    Module = " 2byte DI/constcy complete" 0x40,0x81
    EndModule
    Module = " 4byte DI/constcy complete" 0x40,0x83
    EndModule
    Module = " 8byte DI/constcy complete" 0x40,0x87
    EndModule
    Module = "16byte DI/constcy complete" 0x40,0x8F
    EndModule
    Module = "32byte DI/constcy complete" 0x40,0x9F
    EndModule
    Module = "64byte DI/constcy complete" 0x40,0xBF
    EndModule

    ; input * word constcy * word data * 1..64 byte

    Module = " 1word AI/constcy 1word " 0x40,0x40
    EndModule
    Module = " 2word AI/constcy 1word " 0x40,0x41
    EndModule
    Module = " 4word AI/constcy 1word " 0x40,0x43
    EndModule
    Module = " 8word AI/constcy 1word " 0x40,0x47
    EndModule
    Module = "16word AI/constcy 1word " 0x40,0x4F
    EndModule
    Module = "32word AI/constcy 1word " 0x40,0x5F
    EndModule
    Module = "64word AI/constcy 1word " 0x40,0x7F
    EndModule

    ; input * complete constcy * word data * 1..64 byte

    Module = " 1word AI/constcy complete" 0x40,0xC0
    EndModule
    Module = " 2word AI/constcy complete" 0x40,0xC1
    EndModule
    Module = " 4word AI/constcy complete" 0x40,0xC3
    EndModule
    Module = " 8word AI/constcy complete" 0x40,0xC7
    EndModule
    Module = "16word AI/constcy complete" 0x40,0xCf
    EndModule
    Module = "32word AI/constcy complete" 0x40,0xDF
    EndModule
    Module = "64word AI/constcy complete" 0x40,0xFF
    EndModule


    Ende Teil 1
    Zitieren Zitieren Helfen vielleicht diese Angaben.  

  7. #7
    Flummy33 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    11.07.2007
    Beiträge
    9
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard

    ; output * byte constcy * byte data * 1..64 byte

    Module = " 1byte DO/constcy 1byte " 0x80,0x00
    EndModule
    Module = " 2byte DO/constcy 1byte " 0x80,0x01
    EndModule
    Module = " 4byte DO/constcy 1byte " 0x80,0x03
    EndModule
    Module = " 8byte DO/constcy 1byte " 0x80,0x07
    EndModule
    Module = "16byte DO/constcy 1byte " 0x80,0x0F
    EndModule
    Module = "32byte DO/constcy 1byte " 0x80,0x1F
    EndModule
    Module = "64byte DO/constcy 1byte " 0x80,0x3F
    EndModule

    ; output * complete constcy * byte data * 1..64 byte

    Module = " 1byte DO/constcy complete" 0x80,0x80
    EndModule
    Module = " 2byte DO/constcy complete" 0x80,0x81
    EndModule
    Module = " 4byte DO/constcy complete" 0x80,0x83
    EndModule
    Module = " 8byte DO/constcy complete" 0x80,0x87
    EndModule
    Module = "16byte DO/constcy complete" 0x80,0x8F
    EndModule
    Module = "32byte DO/constcy complete" 0x80,0x9F
    EndModule
    Module = "64byte DO/constcy complete" 0x80,0xBF
    EndModule

    ; output * word constcy * word data * 1..64 byte

    Module = " 1word AO/constcy 1word " 0x80,0x40
    EndModule
    Module = " 2word AO/constcy 1word " 0x80,0x41
    EndModule
    Module = " 4word AO/constcy 1word " 0x80,0x43
    EndModule
    Module = " 8word AO/constcy 1word " 0x80,0x47
    EndModule
    Module = "16word AO/constcy 1word " 0x80,0x4F
    EndModule
    Module = "32word AO/constcy 1word " 0x80,0x5F
    EndModule
    Module = "64word AO/constcy 1word " 0x80,0x7F
    EndModule

    ; output * complete constcy * word data * 1..64 byte

    Module = " 1word AO/constcy complete" 0x80,0xC0
    EndModule
    Module = " 2word AO/constcy complete" 0x80,0xC1
    EndModule
    Module = " 4word AO/constcy complete" 0x80,0xC3
    EndModule
    Module = " 8word AO/constcy complete" 0x80,0xC7
    EndModule
    Module = "16word AO/constcy complete" 0x80,0xCf
    EndModule
    Module = "32word AO/constcy complete" 0x80,0xDF
    EndModule
    Module = "64word AO/constcy complete" 0x80,0xFF
    EndModule
    Zitieren Zitieren Helfen vielleicht diese Angaben.  

  8. Folgender Benutzer sagt Danke zu Flummy33 für den nützlichen Beitrag:

    Larry Laffer (06.10.2007)

  9. #8
    Flummy33 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    11.07.2007
    Beiträge
    9
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard

    0xC0 Input/Output
    z.B.

    0xC0, Out-Block, In-Block (Beliebige Kennung )
    [0xC0, 0x5F, 0x5F]
    wenn 0x5F = 16 Word Out dann => 32 Word In / 32 Word out

    würde nach der siem089d.gsd passen.

    Weitere Vorschläge.

    Gruß Flummy33
    Zitieren Zitieren Habe eine Vermutung  

  10. #9
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.710
    Danke
    398
    Erhielt 2.397 Danke für 1.997 Beiträge

    Standard

    Ich muss mich hier mal mit hereinhängen ...

    @Flummy33:
    Hat deine selbstgebaute GSD-Datei den Sinn, dass du den CP5611 in der HW-Konfig bezüglich des von dir geplanten Dantenaustausches besser beschreiben kannst ?
    Steht dann bei dir in der HW-Konfig für dein Gerät der Übertragungsbereich im Klartext und nicht:
    DP-Kennung:47 , Bezeichnung:Universalmodul , Länge:16 Byte
    usw.
    usw. ...?

    Wenn ja, dann würde ich deine GSD-Datei gerne einmal im Auszug sehen. Das Thema interessiert mich nämlich auch ...

  11. #10
    Flummy33 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    11.07.2007
    Beiträge
    9
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    @Larry ;

    Der Sinn des Ganzen liegt in der Schnittstellen Beschreibung.
    Ich möchte in dem ich das Modul XYZ in die Adresstabelle des Teilnehmers ziehe gleich die komplette Schnittstelle mit allen Beschreibungen erhalten.
    (Leider nur bedingt erfolgreich)
    In der Definition des Moduls als 0 Modul
    ##########################################
    Module = "TT2200" 0x30, 0x30, 0x30, 0x30, 0x70, 0x70, 0x35
    EndModule
    ;
    ##########################################
    In der Bezeichnungsspalte kommt dann immer der Eintrag TT2200.
    Hätte aber gerne für jeden Block einen eigene drin.
    Da ziel ist es 1-n WIG-Schweißgeräte über einen Sub-Master zu Steuern.
    Einsatz eine "CP_5614_A2" Master-Slave Karte.
    Die Slave- Schnittstelle wird über "PC-Station Einstellen" in GSD Vorm geladen und die gleiche erhält der Haupt-Master.
    Der H-Master soll da nur noch Station Ready & Start mitteilen und Fertig & IO/NIO so wie die Errors erhalten.
    Die Programmwahl und die Ist- Aufzeichnung macht der Sub-Master.
    Was ich noch nicht ausprobiert habe ist
    ################################################
    Module = "STB" 0x10, "Status-M" 0x10, "Hand" 0x10, "PNR_01" 0x10, "U-Soll" 0x50, "A-Soll" 0x50, "Reserve" 0x15,
    "Error" 0x20, "Status-S" 0x10, "Hand" 0x10, "Reserve" 0x10, "U-Ist" 0x60, "A-Ist" 0x60, "Rest" 0x25
    EndModule
    ;
    ################################################
    Traue mich noch nicht will ich noch suche wie man die GSD Dateien bei bedarf aus dem Simatic NCM wieder entfernt.

    Gruß Flummy33
    Zitieren Zitieren Module in der GSD  

Ähnliche Themen

  1. Suche GSD Datein
    Von eisblue im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 21.03.2010, 16:04
  2. Probleme mit dem anzeigen von csv-Datein auf einem PC.
    Von din im Forum Sonstige Steuerungen
    Antworten: 2
    Letzter Beitrag: 30.05.2009, 09:53
  3. WMF Datein in Codesysvisu benutzen
    Von lorenz2512 im Forum CODESYS und IEC61131
    Antworten: 2
    Letzter Beitrag: 22.03.2009, 10:55
  4. Kodierung
    Von kendoku im Forum Simatic
    Antworten: 12
    Letzter Beitrag: 23.01.2008, 17:39
  5. SQL Datein spliten
    Von DOT_no im Forum HMI
    Antworten: 0
    Letzter Beitrag: 11.10.2006, 14:42

Lesezeichen

Berechtigungen

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