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

Seite 3 von 5 ErsteErste 12345 LetzteLetzte
Ergebnis 21 bis 30 von 43

Thema: Datenbereich konsistent lesen

  1. #21
    Avatar von Larry Laffer
    Larry Laffer ist offline Super-Moderator
    Themenstarter
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.786
    Danke
    398
    Erhielt 2.414 Danke für 2.010 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo ihr Lieben,
    das mit dem Bit (oder Wort) am Anfang und am Ende hat einen funktionellen Nachteil. Die Visu reagiert ja nur auf Wertänderungen. Hier ist es problematisch, den Aufruf des Scriptes an 2 Variablen festzumachen. Davon abgesehen ist es tatsächlich so, dass bei meinen Variablen, die auch jetzt schon dicht beieinander liegen, eine der "mittleren" Variablen nicht passt. Zu meinem großen Glück dient eine davon dann sogar noch zum identifizieren des Datansatzes (Prüfstation erzeugt Datensatz und Teilenummer - Laser ein paar Stationen weiter schreibt die Nummer auf das Teil).

    Da wäre dann die Sache mit dem Vorschlag von Maxl schon etwas eleganter. Leider habe ich die Zeit für den doppelten Datenaustausch nicht. Es wird ca. alle 4 Sek. ein Teil gefertigt - mein Basistakt für die kommunikation mit der SPS ist 1 Sek. - ich habe jede Menge Tags, die mittlerweile alle wegen ihrer Abtastrate schon handverlesen sind.

    Beim Durchlesen der Beschreibung (und in erster Linie durch Beobachten) bin ich dann auf die Array's und Kurven gekommen. Hier liegt mein Fokus allerdings schon auf der Kurve, da ich hier ein Triggerbit und eine dahinter liegende Funktion habe. Meine Kurvendaten werden (obwohl ich eine y=f(x)-Kurve habe) interessanterweise nie durchmischt.

    Ich danke euch in jedem Fall für die Beteiligung.
    Es ist für mich schon merkwürdig, dass es immer ich bin, der über solche Elementar-Probleme stösst. Ärgern kann ich mich darüber, dass es seitens der Hersteller (Siemens) nie Versuche gibt, so etwas zu beheben. Witzig finde ich, dass die angebliche Weiterentwicklung von ProTool (WinCCFlexibel) dieses Problem immer noch hat. Was ist denn dann in Flex weiterentwickelt worden (außer dass man dort einen Text hochkant stellen kann) ?

    Liebe Grüße
    LL

  2. #22
    Registriert seit
    20.06.2003
    Ort
    Sauerland.NRW.Deutschland
    Beiträge
    4.862
    Danke
    78
    Erhielt 805 Danke für 548 Beiträge

    Standard

    ich hab den thread jetzt nur überflogen.

    hast du schon mal an eine rezeptur gedacht?
    die liefert dir einen rückgabewert wenn alle daten gelesen wurden.
    .
    mfg Volker .......... .. alles wird gut ..

    =>Meine Homepage .. direkt zum Download

    Meine Definition von TIA: Total Inakzeptable Applikation

  3. #23
    Avatar von Larry Laffer
    Larry Laffer ist offline Super-Moderator
    Themenstarter
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.786
    Danke
    398
    Erhielt 2.414 Danke für 2.010 Beiträge

    Standard

    Hallo Volker,
    daran habe ich auch schon gedacht ...
    Der Haken dabei ist, dass diese sich zunächst auf der Festplatte ablegen will. Da meine Anwendung sowieso schon im Grenzbereich läuft, habe ich das wieder verworfen. Aus der Beschreibung geht auch nicht sicher hervor, ob mit "Synchronisierung der Daten" dasselbe gemeint ist, wie ich es mal mit "Konsistenz" beschrieben habe ...

    Gruß
    LL

  4. #24
    Registriert seit
    19.09.2005
    Ort
    Freudenstadt
    Beiträge
    811
    Danke
    64
    Erhielt 101 Danke für 64 Beiträge

    Standard

    Zitat Zitat von Larry Laffer Beitrag anzeigen
    Ärgern kann ich mich darüber, dass es seitens der Hersteller (Siemens) nie Versuche gibt, so etwas zu beheben. Witzig finde ich, dass die angebliche Weiterentwicklung von ProTool (WinCCFlexibel) dieses Problem immer noch hat.
    Ohne Siemens in Schutz nehmen zu wollen: Das liegt IMHO an Unzulänglichkeiten im darunterliegenden Kommunikationsprotokoll. Die Blockgröße der Datenübertragung wird bei der S7-Kommunikation ja durch die CPU auf ziemlich kleine Häppchen beschränkt, zu allem Übel dauert die Übertragung von einem Block auch noch relativ lange (je nach Übertragungsweg und Hardware, aber AFAIK mindestens > 5 ms), und als I-Tüpfelchen läuft die Kommunikation offensichtlich noch völlig asynchron zum SPS-Zyklus. Der Vorteil der S7-Kommunikation ist die Tatsache, daß die CPU das schon von alleine kann, also im SPS-Programm dafür nichts implementiert werden muß. Man kann einen PC einfach mit einer beliebigen S7-CPU verbinden und anfangen zu kommunizieren.

    Um unter solchen Voraussetzungen Daten konsistent zu übertragen, muß auf jeden Fall auf beiden Seiten (SPS und PC) noch etwas dazugestrickt werden, in diesem Thread wurden dazu ja schon ein paar Lösungswege aufgezeigt. Dabei geht allerdings der erwähnte Vorteil der S7-Kommunikation verloren, da man bei diesem Kommunikationsprotokoll an derartige Mechanismen anscheinend nicht gedacht hat.


    Gruß Axel
    Man muß sparn wo mn knn!

  5. #25
    Avatar von Larry Laffer
    Larry Laffer ist offline Super-Moderator
    Themenstarter
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.786
    Danke
    398
    Erhielt 2.414 Danke für 2.010 Beiträge

    Standard

    Hallo Axel,
    es hat auch keine Sinn Siemens in Schutz nehmen zu wollen. Ich hatte in einem vergangenem Leben einmal mit Intouch etwas in der Art gemacht. Dort war es kein Problem über den IO-Server mittels unterschiedlicher Zugriffe diese Konsistenz zu erreichen.

    Aber auch für Siemens ist ja nicht wirklicxh ein Problem (siehe Array's oder Kurven). Welchen Unterschied macht es da, eine frei definierte Struktur zusammenhängend zu lesen ?

    Egal ... über den jetzt von mir angewendeten Haken-Trick komme ich ja erstmal weiter ...

    Gruß
    LL

  6. #26
    Registriert seit
    06.10.2004
    Ort
    Kopenhagen.
    Beiträge
    4.635
    Danke
    377
    Erhielt 803 Danke für 644 Beiträge

    Standard

    Hallo LL.

    Du hast vermutlich ein Variabel das den Skript über wertänderung startet.
    Und diese Variabel ist vielleicht das erste Wort in den DB wo alle die Daten liegen ?
    Dann erhaltest Du das Problem, dass Du bereits gesehen hast.

    Einge gaaanz einfache lösung ist diese Variabel am Ende des DB zu plazieren !
    Wenn Protool RT merkt das den Wert geändert ist, und den Skript startet, sind alle die Daten aktuell.
    Jesper M. Pedersen

  7. #27
    Avatar von Larry Laffer
    Larry Laffer ist offline Super-Moderator
    Themenstarter
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.786
    Danke
    398
    Erhielt 2.414 Danke für 2.010 Beiträge

    Standard

    Hallo Jesper,
    ... leider nicht ... wäre aber schön gewesen.
    Um das Script anzustossen benutze ich ein Wort, dass bei jedem neuen Daten-Block um 1 erhöht wird. Dieses Wort steht hinter allen anderen, die zu dem Block gehören ...
    Es wird aber (glaube ich) der DB nicht als Einheit gelesen, sondern dessen Inhalte werden als Einzel-Einheiten (zumindestens bei unterschiedlichen Typen - REAL, INT, DINT, BOOL) geladen - auch wenn sie unmittelbar aufeinander folgen ...

    Gruß
    LL

  8. #28
    Registriert seit
    06.10.2004
    Ort
    Kopenhagen.
    Beiträge
    4.635
    Danke
    377
    Erhielt 803 Danke für 644 Beiträge

    Standard

    Bei mir ist es so das alle die "Nutzdaten" in ein Array-Tag gesammelt sind.
    Dabei wird u.a. sichergestellt das alle daten auf einmal gelesen wird.
    Das "wertänderungs"-tag ist nicht innerhalb diese Array-Tag, aber liegt als das erste nach den Array-Tag.
    Aber mit Array-Tags ist es entweder-oder. Nur INTs, DINTs, REALs usw. Nicht gemisscht.
    Jesper M. Pedersen

  9. #29
    Avatar von Larry Laffer
    Larry Laffer ist offline Super-Moderator
    Themenstarter
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.786
    Danke
    398
    Erhielt 2.414 Danke für 2.010 Beiträge

    Standard

    ... jetzt habe ich es verstanden ...
    Ja, so wie du es vorschlägst habe ich es auch vor (ungefähr). Da ich parallel auch eine Kurve mit aufzeichne, will ich es (das Daten-Array) dem ProTool als Kurve verkaufen ... Dann habe ich hoffentlich alles zusammen (Sammelbit der Kurven-Übertragung).

    Gruß
    LL

  10. #30
    Registriert seit
    19.09.2005
    Ort
    Freudenstadt
    Beiträge
    811
    Danke
    64
    Erhielt 101 Danke für 64 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Larry Laffer Beitrag anzeigen
    Ich hatte in einem vergangenem Leben einmal mit Intouch etwas in der Art gemacht. Dort war es kein Problem über den IO-Server mittels unterschiedlicher Zugriffe diese Konsistenz zu erreichen.
    Das interessiert mich jetzt aber schon. Welche unterschiedlichen Zugriffe waren da denn hilfreich, um die Konsistenz herzustellen ?

    Wir haben hier im Laufe der Jahre schon einige Visu-Systeme im Einsatz gehabt, aber eines war allen gemeinsam: Ohne zusätzliche Unterstützung vom SPS-Programm (z.B. per Handshake) konnte man sich nie hundertprozentig drauf verlassen, daß ein größerer Datenblock der SPS jederzeit konsistent in der Datenbasis des PCs verfügbar ist.


    Gruß Axel
    Man muß sparn wo mn knn!

Ähnliche Themen

  1. Libnodave konsistent DB ?
    Von eloboy im Forum Hochsprachen - OPC
    Antworten: 17
    Letzter Beitrag: 03.03.2011, 12:49
  2. Profibus Zugriff auf PEW/PAW oder konsistent?
    Von Züttu im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 12.11.2010, 15:25
  3. Antworten: 1
    Letzter Beitrag: 10.04.2008, 22:11
  4. Datenbereich Typ Any im FB auslesen
    Von Anonymous im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 04.01.2006, 18:44
  5. Datenbereich LED OP15/ S5
    Von spsbroesel im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 14.12.2004, 08:35

Lesezeichen

Berechtigungen

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