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

Ergebnis 1 bis 7 von 7

Thema: DP Float Werte Konsistent übertragen >32Byte

  1. #1
    Registriert seit
    20.04.2011
    Beiträge
    18
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    von einem DP Slave können mit einem Befehlsbyte verschiedene Datensätze angefordert werden welche 53-125 Byte (Float) enthalten. Zu dem Gerät gibt es natürlich auch eine GSD Datei die Module für 8, 16, 32 und 62 Worte (STD und Kons.) enthalten sind.

    Leider verfügt die Komponente des DP Slave nur über zwei Steckplätze und die maximale Länge Konsistenter Daten in der CPU* ist auf 32Byte begrenzt. Im Universalmodul kann ich zwar die die Konsistenz von Bereich auf Einheit ändern, jedoch nur auf Byte/Wort.

    Da es sich bei den zu übertragenden Werten fast ausschließlich um Messwerte Handelt fürchte ich es könnte ab und an Unsinn in den Messwerten stehen wenn diese nicht zusammenhängend übertragen werden, also mindestens zu 4Byte Blöcken.


    Hat jemand eine Idee wie ich an diese Daten sinnvoll verarbeiten kann ohne Gefahr zulaufen häufig Unfug in den Werten zu haben? Die Werte gehen auch aufs WinCC und Teilweise in Archive, seltsame Ausreißer durch nicht komplett geladene Floatzahlen währen hier nicht gut.




    Gruß
    Deathfun



    *314C 2-DP und 414 2-DP
    Zitieren Zitieren DP Float Werte Konsistent übertragen >32Byte  

  2. #2
    Registriert seit
    29.03.2004
    Beiträge
    5.793
    Danke
    144
    Erhielt 1.706 Danke für 1.238 Beiträge

    Standard

    Wenn die Module sinnvoll aufgebaut sind sollte es keine Überschneidung eines 4-Byte Real Wertes auf zwei Blöcke geben.
    Wenn du einen 32 Byte Block konsistent lesen kannst, ließen sich dort 8 Real Zahlen konsistent unterbringen.
    4 Bytes kannst du auch konsistent über PED/PAD übertragen, ohne die SFC14/15.
    Oder die legst deinen Slave ins Prozessabbild und greifst dann über E/A darauf zu, das ist immer konsistent.

  3. #3
    deathfun ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    20.04.2011
    Beiträge
    18
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo Thomas,

    du meinst also ich könnte ohne Probleme einen Inkonsistenten PEW Bereich für den Slave anlegen und mit Doppelwortzugriffen die Daten einzeln Werte (Schleife) auslesen?

    Wenn dem so ist, sehr gut! Danke für deine Hilfe, war mir nicht sicher ob die Daten Zusammenhängend im Prozessabbild liegen.


    ´
    Gruß
    Deathfun

  4. #4
    Registriert seit
    29.03.2004
    Beiträge
    5.793
    Danke
    144
    Erhielt 1.706 Danke für 1.238 Beiträge

    Standard

    Ab CPUs mit einem bestimmten Firmwarestand ist das möglich, siehe:
    http://support.automation.siemens.co...iew/de/8751062

    Zugriffe auf Peripherieadressen benötigen aber ordentlich Zykluszeit. Ich würde trotzdem auf die jeweiligen Blöcke mit den SFCs zugreifen.

    Es kann auch sein dass ein 32-Byte Block zusammengehört. Ich hatte kürzlich einen Slave dem ich erst eine Nummer für einen angeforderten Datensatz schicken musste, und er mir dann in der Antwort die Nummer zurückgemeldet hat und ich dann die nachfolgenden Daten (32 Bytes) anhand dieser Nummer zuordnen konnte. D.h. hier war eine Konsistenz über die 32 Bytes notwendig.

  5. #5
    deathfun ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    20.04.2011
    Beiträge
    18
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo Thomas,

    es ist hier ähnlich. Ich schicke dem Slave ein Befehls Byte mit Informationen was genau ich haben möchte und dieser Antwortet nun mit 126Byte (1 x Befehls Byte + 29 x FloatWerte).


    Ich hätte nun aus deiner vorherigen Antwort verstanden, dass ich statt der Module mit 8, 16, 32, 62 Wörtern Konsistent Lesen einfach das Universal Modul nehme und einen entsprechend Großen Eingangsbereich für die Werte anlege. Diesen würde ich nun über zwei AnyPointer und BlockMove Stück für Stück in DWords in einen DB schreiben.

    Falls du mit den SFC die SFC14/15 meinst so funktionieren diese doch nur mit Konsistenten Daten oder? Die SPS (später wohl die og. 400er) hat natürlich noch reichich anderes zu tun und darf sich daran nicht aufhängen. Wie also sollte ich es am besten anstellen?



    Gruß
    Deathfun

  6. #6
    Registriert seit
    29.03.2004
    Beiträge
    5.793
    Danke
    144
    Erhielt 1.706 Danke für 1.238 Beiträge

    Standard

    Wenn deine CPU nur max. 32 Byte konsistente Daten unterstützt, kannst du mit dem Universalmodul auch nichts dran ändern. Und das scheint eine relativ alte 314 zu sein bei der man wahrscheinlich auch noch nicht die Größe des Prozessabbilds einstellen kann, und das auch bestimmt nur max. 128 Bytes groß ist.

    Bist du dir sicher mit deinem 1x Befehlsbyte und 29x Float? Dann wäre ein Modul ja kürzer als 32 Byte. Stört aber auch nicht, solange die 4 Bytes eines Floats innerhalb eines konsistenten Moduls liegen.
    Ich würde 4 Stück der angebotenen 32 Byte Module (oder was auch immer dein Slave anbietet) in die Konfig reinziehen und dort Konsistenz über gesamte Länge einstellen. Im Programm dann 4x DPRD_DAT für jedes Modul aufrufen. Mehr kannst du mir der CPU imho nicht rausreißen.

  7. #7
    deathfun ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    20.04.2011
    Beiträge
    18
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Thomas,

    ganz so einfach ist es dann doch nicht. Gerne würde ich mehrere 32Byte Module, die oben genannten 8Wort Module, nehmen und sie stecken. Leider sind nur 2 Steckplätze vorhanden, also maximal 64Byte der benötigten (29x4Byte + 1Byte) 116Byte.


    Gruß
    Deathfun

Ähnliche Themen

  1. Antworten: 15
    Letzter Beitrag: 14.05.2012, 06:43
  2. Werte jedes Monat von DB übertragen
    Von Andy258 im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 22.11.2010, 13:39
  3. Antworten: 1
    Letzter Beitrag: 10.04.2008, 22:11
  4. Werte in Excel übertragen
    Von Fluffi im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 28.11.2007, 21:19
  5. DB-Baustein (Werte) ins EXCEL übertragen
    Von ernestol im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 05.03.2006, 19:02

Lesezeichen

Berechtigungen

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