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

Seite 2 von 5 ErsteErste 1234 ... LetzteLetzte
Ergebnis 11 bis 20 von 43

Thema: Datenbereich konsistent lesen

  1. #11
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    mal um die ecke gedacht: mit dem "send to visu" von der cpu das "read from plc" im protool anstoßen?
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  2. #12
    Avatar von Larry Laffer
    Larry Laffer ist offline Super-Moderator
    Themenstarter
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.728
    Danke
    398
    Erhielt 2.406 Danke für 2.002 Beiträge

    Standard

    ... wo hast du das denn gefunden ..? Wenn es das gibt, dann geht das natürlich genauso gut. Es geht mir ja nur darum, dass ein Datenblock als Einheit gelesen (aktualisiert) wird ...

  3. #13
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    hab ich nicht gefunden, mir nur aus deiner aussage "von der visu aus gibts das ja auch" zusammengereimt ... wie stößt man das von der visu aus an?
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  4. #14
    Avatar von Larry Laffer
    Larry Laffer ist offline Super-Moderator
    Themenstarter
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.728
    Danke
    398
    Erhielt 2.406 Danke für 2.002 Beiträge

    Standard

    Die Visu macht etwas ähnliches bei ARRAY's und STRING's im Allgemeinen und Kurven im Besonderen.
    Ich habe auch schon darüber nachgedacht, aus meinem Mischmasch ein Array zu machen - das Problem ist dabei nur, dass es relativ viele REAL-Var's beinhaltet, daneben aber auch einen String, ein Date, einige INT's und einige Bool's.
    Jetzt könnte ich ja hergehen und aus Allem ein ARRAY of BYTE (z.B.) machen ... aber wie mache ich aus den Bytes hinterher via Script wieder einen Real in PT ? Hier wäre jetzt einen Art AT-Befehl genau das, was ich bräuchte. Dann hätte ich die Lösung schon selbst ...

    ...

  5. #15
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    das lässt mich nicht los ... die kurvenübertragung macht das, was du willst, oder? funktioniert nur nicht mit zusammengewürfelten daten ... aber wie die z.b. INT-werte in dem DB aussehen ist dem protool ja egal ... weiter schreibst du, du möchtest die daten in excel haben, da ich weiß, dass du kurven in excel bekommst, solltest du auch diese werte in excel bekommen und dann aufdröseln, was IMHO in VB recht gut funktionieren sollte, vielleicht sogar besser als im protool-skript ... ist das soweit das, was du dir vorstellst?

    mit dem array of byte ist es ja das selbe, wenn ich dir da glauben schenke, habe im handbuch nur nicht die stelle gefunden, deswegen hab ich mich auf die kurven bezogen ... bytes würden sich leichter zu einem real zusammen pappen lassen, aber du müßtest auch INT werte zusammenfriemeln ...

    aber irgendwie sieht mir das sehr nach einer bastellösung aus und wenn es ums basteln geht, kommt libnodave ins spiel ... die widerspruchsfreiheit müßteste damit auch gewährleisten können und du kannst direkt aus excel heraus operieren ...
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  6. #16
    Avatar von Larry Laffer
    Larry Laffer ist offline Super-Moderator
    Themenstarter
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.728
    Danke
    398
    Erhielt 2.406 Danke für 2.002 Beiträge

    Standard

    Zitat Zitat von vierlagig Beitrag anzeigen
    das lässt mich nicht los ...
    Hallo 4L,
    das finde ich nett ...
    Ich habe auch noch ein wenig darüber nachgedacht.

    Die Lösung, die Aktion mittels Libnodave oder AGLink an Excel zu übertragen erscheint mir an dieser Stelle übertrieben.

    Die andere Variante, die dir nicht so gut gefällt (ARRAY of INT oder DINT) rückt für mich immer mehr in den Fokus. Problematisch sind im Augenblick nur die REAL's. Hier sei aber gesagt, dass diese nur aus Bequemlichkeit existieren. Da ich mich sowieso bei allen Messwerten nur für max. 2 Nachkommastellen interessiere könnte ich genausogut alles mit 100 multiplizieren und in der Visu wieder zurückrechnen. Hier würden sogar INT's gehen, da keiner meiner Messwerte über 250 kommt. Der Date-Wert läßt sich so auch übertragen, wobei hier in der Visu letztlich das Klartext-Datum interessant ist, das ich mir in der SPS auch bilden kann. Die BOOL-Werte liegen sowieso hintereinander und passen somit prima in 2 INT's Ausmaskieren kann VB-Script ja.

    Somit ... wenn nicht noch jemand mit der Super-Idee um die Ecke kommt, dann wird es wohl morgen so von mir umgesetzt.

    In diesem Sinne ...

    Liebe Grüße
    LL

  7. #17
    Registriert seit
    20.11.2004
    Ort
    Linz, OÖ
    Beiträge
    1.365
    Danke
    96
    Erhielt 177 Danke für 133 Beiträge

    Standard

    Zitat Zitat von johnij Beitrag anzeigen
    @LL
    In der Zukunft bist du gezwungen mit WCF zu arbeiten.

    Viele Grüße
    johnij
    die typische Siemens-Denkweise................ geht das nicht in den Kopf von den Leuten bei Siemens, dass der Kunde nicht immer das will wozu er von Siemens gezwungen wird?


    Zitat Zitat von Larry Laffer
    Die andere Variante, die dir nicht so gut gefällt (ARRAY of INT oder DINT) rückt für mich immer mehr in den Fokus. Problematisch sind im Augenblick nur die REAL's. Hier sei aber gesagt, dass diese nur aus Bequemlichkeit existieren. Da ich mich sowieso bei allen Messwerten nur für max. 2 Nachkommastellen interessiere könnte ich genausogut alles mit 100 multiplizieren und in der Visu wieder zurückrechnen. Hier würden sogar INT's gehen, da keiner meiner Messwerte über 250 kommt. Der Date-Wert läßt sich so auch übertragen, wobei hier in der Visu letztlich das Klartext-Datum interessant ist, das ich mir in der SPS auch bilden kann. Die BOOL-Werte liegen sowieso hintereinander und passen somit prima in 2 INT's Ausmaskieren kann VB-Script ja.
    also mir erscheint das als sinnvollste Lösung


    Das Problem mit der "Konsistenz" ist übrigens bei WinCCflex genau das gleiche - hatten (soweit mir bekannt ist) vor letztes Jahr bei einer Anlage genau das gleiche Problem - mittels Triggerbit wurde PLC-Variablen in eine Datenbank übertragen - teilweise waren es aber noch "alte" Stände.
    Abhilfe schafft hier ein "Doppelter Handshake" (PLC kopiert Daten in Schnittstelle - setzt anschließend 1. Triggerbit - 1. Triggerbit wird von Visu quittiert - PLC setzt dadurch 2. Triggerbit - mit 2. Triggerbit werden Daten weggeschrieben - die Triggerbits und die eigentlichen Prozessdaten werden haben gleiche Aktualisierungszeit - durch diese bewusst Verzögerung kann angenommen werden, dass die Daten in WinCCflex aktuall sind - ist aber eine Zeitfrage)

    mfg Maxl
    Bin aufgrund §2 der "Rechte des Betreibers" der Forum-Regeln nicht mehr aktiv, da nicht nicht akzeptiere, dass Informationen und Erkenntnisse ohne Quellangabe weitergegeben werden sollen. Jedem steht frei, auf die gleichen Erkenntnisse durch Eigenversuche zu kommen, vor allem Buchautoren.

  8. #18
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.227
    Danke
    534
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard

    Das Problem besteht im übrigen auch bei libnodave, hatte ich mal festgestellt. Das hängt auch davon ab, wo in dem Variablenpulk die Quitt-Var steht und wo beim Start der Aktualisierung der aktuelle "Datenzeiger" (ich nenn das mal so) gerade ist. Das ganze ist ja zwischen SPS-Zyklus und HMI (oder PC) nicht synchron.

    Ich hab mal eine interessante Variante gesehen (glaube bei den BIS von Balluff wird das verwendet). Dort wurde ein Bit am Anfang des Datenbereiches und eines am Ende getoggelt, die Bits waren immer gleich. Also beide False oder beide True. Wenn man Daten emfängt, prüft man beide Bits. Sind die gleich, ist der komplette Datensatz übertragen, egal wo gestartet wurde und wo damit dann geendet. Erst wenn beide Bit gleich sind, liest man die Daten aus, dannach quittieren und weiter.

    Oder man fügt zwischen Trigger und Lesen einen sicheren Zeitverzug ein, wobei mit dann die Variante von Maxl besser gefällt.
    Geändert von Ralle (11.08.2008 um 20:53 Uhr)
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  9. Folgender Benutzer sagt Danke zu Ralle für den nützlichen Beitrag:

    vierlagig (11.08.2008)

  10. #19
    Registriert seit
    20.11.2004
    Ort
    Linz, OÖ
    Beiträge
    1.365
    Danke
    96
    Erhielt 177 Danke für 133 Beiträge

    Standard

    Zitat Zitat von Ralle Beitrag anzeigen
    Ich hab mal eine interessante Variante gesehen (glaube bei den BIS von Balluff wird das verwendet). Dort wurde ein Bit am Anfang des Datenbereiches und eines am Ende getoggelt, die Bits waren immer gleich. Also beide False oder beide True. Wenn man Daten emfängt, prüft man beide Bits. Sind die gleich, ist der komplette Datensatz übertragen, egal wo gestartet wurde und wo damit dann geendet. Erst wenn beide Bit gleich sind, liest man die Daten aus, dannach quittieren und weiter.
    Ich denke das ist nur möglich, wenn der Datenblock zusammenhängend ist - in dem Fall ist die Variante mit dem ARRAY OF INT besser. Außerdem weiß man bei Systemen wie Protool oder Flex ja nicht, in welcher Reihenfolge die Tags ausgelesen werden.
    Oder man fügt zwischen Trigger und Lesen einen sicheren Zeitverzug ein, wobei mit dann die Variante von Maxl besser gefällt.
    es bleibt die Frage, ob das die "schnelle Prozessdatenerfassung" erlaubt.
    Bin aufgrund §2 der "Rechte des Betreibers" der Forum-Regeln nicht mehr aktiv, da nicht nicht akzeptiere, dass Informationen und Erkenntnisse ohne Quellangabe weitergegeben werden sollen. Jedem steht frei, auf die gleichen Erkenntnisse durch Eigenversuche zu kommen, vor allem Buchautoren.

  11. #20
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.227
    Danke
    534
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    @maxl

    Korrekt, ich war einfach mal davon ausgegangen, man legt das hintereinander in einen DB, vonr ein Bit, hinten ein Bit. Dann hat man wenigstens die Chance, aber ob es funktioniert, muß man auch da testen.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

Ä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
  •