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

Seite 2 von 4 ErsteErste 1234 LetzteLetzte
Ergebnis 11 bis 20 von 38

Thema: Wann liest WinCCflex SmartTags in einem Script ein ??

  1. #11
    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
    Komisch, was hast du denn für eine Aktualisierungsrate? Wenn das stimmt müsste das ja auch funktionieren wenn man die Aktualisierungsrate auf 1 Minute stellt.

  2. #12
    Registriert seit
    05.10.2005
    Beiträge
    188
    Danke
    31
    Erhielt 16 Danke für 14 Beiträge

    Standard

    scripte finde ich immer wieder lustig mit siemens.
    eigene Erfahrung:
    ich nutze sie immer zyklisch vorlaufend und warte (wenn 250ms eingestellt sind) 500ms bis ich das script aufrufe.
    bei einem 477er oder 677er läuft der opc sehr schnell und es ist weniger nötig.
    es kann sein, dass in den werten vom script einfach immer 0.0 steht. einfache alle tmp löschen und das projekt als neu kompilieren (schon 2x mit sp3 gehabt) und, oh wunder, es läuft.
    scripte immer mit rückmeldung verarbeiten. da flex nur eins abarbeiten kann und alle anderen erst nach ablauf des vorangegangenen dran sind. gibt lustige effekte wenn ein script nen fehler/nicht ausgeführt werden kann und der rest erst zeitversetzt ausgeführt wird.
    das flex sich die variablen bei "zyklisch bei verwendung" immer frisch holt, schein nach meinem gefühl (subjektiv) jeh nach sp und update mal gut, mal weniger sauber zu funktionieren. jedefalls bei scripten oder bildwechsel.
    sehr interessant finde ich es es wenn man in den grenzbereich geht. z.b. Mp377 mit über 500 variablen. da kann mir keiner erklären nach welcher priorität die variablen aktualisiert werden. dort kommt es bei gleich parametrierten variablen vor, das eine schneller als die andere aktualisiert wird.
    mein tipp: sicherheit einbauen (rückmeldugen) und scripte frühzeig ins projekt einbauen und ausprobieren.

    MEINE MEINUNG

  3. #13
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.727
    Danke
    398
    Erhielt 2.402 Danke für 2.001 Beiträge

    Standard

    Hallo,
    das Problem hier ist m.E. vielschichtiger als es aussieht.
    Es hat sicher etwas mit der Anzahl der zu pollenden Variablen zu tun und auch mit dem Aufruf-Intervall - klar.
    Es hat in erster Linie etwas mit dem Verstreuungsgrad der Variablen zu tun. Habe ich z.B. 500 Variablen in einem DB schön hintereinander so ist es für die Visu weniger problematisch, das zu Aktualisieren als wenn es 50 Variablen in vielen verschiedenen DB's sind.
    Das sollte immer beachtet werden.
    Unter diesen Gesichtspunkten kann die Aussage von Funky schon stimmen ...

    Gruß
    Larry

  4. #14
    Registriert seit
    09.08.2006
    Beiträge
    3.629
    Danke
    912
    Erhielt 656 Danke für 542 Beiträge

    Standard

    Hallo,
    in dem Zusammenhang würde mich einmal interessieren, zu welchem Zeitpunkt des SPS-Zyklus, der Wert von der Visu aus dem DB geholt wird. Passiert das immer im Zykluskontrollpunkt der SPS, oder kann es auch vorkommen, dass während der Abarbeitung eines FB auch "gleichzeitig" ein DB von der Visu gelesen wird?

    Gruß.

  5. #15
    Registriert seit
    13.10.2007
    Beiträge
    12.038
    Danke
    2.789
    Erhielt 3.273 Danke für 2.159 Beiträge

    Standard

    Irgendwie ist das ja wieder so ein leidiges Siemens Problemm, warum können
    die da nicht eine funktion einbauen, wo Ereignisgesteuert für ein Bereich eine
    Datenkosistenz möglicht ist, in der Art einer Struktur, die mit einen Bit angesteuert
    wird und mit einen anderen Bit Quittiert wird (mal abgesehen von einer Rezeptur)
    So etwas hätte zumindest bestantteil eines Pflichtenheftes für das TIA Portal sein
    müssen.

    Kollege setzt mittlerweile kein Flex mehr ein, sondern schreibt seine HMI mit Hochsprache
    und bindet Sie über OPC an, er kennt die ganzen Probleme nicht die uns so beschäftigen.

  6. #16
    Registriert seit
    09.08.2006
    Beiträge
    3.629
    Danke
    912
    Erhielt 656 Danke für 542 Beiträge

    Standard

    Zitat Zitat von rostiger Nagel Beitrag anzeigen
    Kollege setzt mittlerweile kein Flex mehr ein, sondern schreibt seine HMI mit Hochsprache
    und bindet Sie über OPC an, er kennt die ganzen Probleme nicht die uns so beschäftigen.
    Interessant wäre aber, ob er in Summe für das Programmieren seiner "eigenen" Visusoftware weniger Zeit benötigt (hat) als wir für die Problemlösung bei WinCC(flex)...

  7. #17
    Registriert seit
    13.10.2007
    Beiträge
    12.038
    Danke
    2.789
    Erhielt 3.273 Danke für 2.159 Beiträge

    Standard

    Mittlerweile hat er das gut im Griff, wenn
    ich so schaue, was ich für eine Zeit in
    Flex. Projekte stecke, bin ich überzeugt
    das er mit der Hochsprache schneller
    am Ziel ist.
    - - -
    Wer als Werkzeug nur einen Hammer hat, sieht in jedem Problem einen Nagel.

  8. #18
    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 Larry Laffer Beitrag anzeigen
    Es hat in erster Linie etwas mit dem Verstreuungsgrad der Variablen zu tun. Habe ich z.B. 500 Variablen in einem DB schön hintereinander so ist es für die Visu weniger problematisch, das zu Aktualisieren als wenn es 50 Variablen in vielen verschiedenen DB's sind.
    Wie kommst du zu dieser Feststellung? Bei WinCCflexible ist es gehopst wie gesprungen ob die Daten aus einem oder 500 verschiedenen DBs kommen, denn das Programm packt überhaupt nichts. Es wird jede der 500 Variablen einzeln angefragt. Die einzige Möglichkeit die Daten zu packen besteht darin, diese als Array anzulegen.
    Bei richtigen Leitsystemen mit ordentlichen Anbindungstreibern sieht das anders aus. Oder du hast einen Tuningsatz (abgesägter Krümmer, Kolbenfenster) bei WinCCflex eingebaut.

  9. #19
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.192
    Danke
    925
    Erhielt 3.292 Danke für 2.661 Beiträge

    Standard

    Zitat Zitat von Funky Beitrag anzeigen
    Hingegen rechnet man zuerst mit den Variablen werden diese vor der Rechenoperation von Skript aktualisiert.
    Das ist leider nicht ganz richtig und funktioniert wohl nur zufällig.

    Ein Script wartet nicht auf das Lesen der Smarttag-Variablen, egal wie kurz der Erfassungszyklus eingestellt ist. Ein Script arbeitet mit dem Variablenwert des letzten vorherigen Lesens oder dem Startwert, wenn die Variable noch nie gelesen wurde. Befindet sich in einem Bild ein Scriptaufruf, dann wird von der flexible RT beim Bildaufbau das Lesen der erkennbar im Script verwendeten Variablen angestoßen.

    Sicheres/konsistentes Lesen von SPS-Variablen mit Statusanzeige bzw. Done-Event geht mit der Systemfunktion GetDataRecordTagsFromPLC
    Wenn ein Script auf das Schreiben oder Lesen von Variablen warten soll und/oder man kein zyklisch fortlaufendes Lesen vieler Variablen verwenden will, dann kann man das z.B. so lösen: Codebeispiel

    @van
    schau Dir mal diesen Thread zu Deinem Problem an, besonders ab Beitrag #12, wo ein sicherer Export von Speicherbereichen aus der CPU in eine CSV-Datei beschrieben ist (ereignisgesteuert, kein Warten im Script).

    @RN
    Daß man "bei Siemens" für das konsistente Lesen eine Rezeptur braucht, will ich Siemens nicht als negativ ankreiden. Irgendwie muß man der RT ja besonders mitteilen können, daß man im Gegensatz zu normalen Variablenzugriffen eine Quittierung der aktuellen Lesung wünscht. Ich übersetze einfach das Wort "Rezeptur" in das allgemeinere Wort "Datensatz".
    Zu Deinem Kollegen: er wird aus Geschwindigkeitsgründen ebenfalls bei jedem OPC-Zugriff entscheiden müssen, ob er auf das tatsächliche Lesen der Variablen warten will oder ob der Wert der letzten Lesung ausreicht. Dieses Problem ist nicht Siemens-spezifisch.

    @Thomas_v2.1
    Wird eigentlich das Lesen einer Rezeptur von WinCC flexible irgendwie gepackt? Oder die Nutzung von GetDataRecordTagsFromPLC?

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  10. #20
    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
    Zitat Zitat von PN/DP Beitrag anzeigen
    Wird eigentlich das Lesen einer Rezeptur von WinCC flexible irgendwie gepackt? Oder die Nutzung von GetDataRecordTagsFromPLC?
    Nach meinen Erkenntnissen nicht, auch nicht wenn die Variablen direkt hintereinander liegen.
    Diese Logik scheint bei WinCCflexible überhaupt nicht zu existieren. Wenn man z.B. 8 Bits aus einem Byte einzeln adressiert (meinetwegen M0.0 bis M0.7) wird dafür 8 mal das MB0 eingelesen.

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

    PN/DP (28.01.2013)

Ähnliche Themen

  1. Wie springe ich in einem Winccflex script?
    Von Bensen83 im Forum HMI
    Antworten: 4
    Letzter Beitrag: 16.03.2011, 20:10
  2. Wann leuchtet ein Leuchtdrucktaster ???
    Von Wondermike_2000 im Forum Programmierstrategien
    Antworten: 29
    Letzter Beitrag: 31.01.2011, 20:09
  3. Antworten: 8
    Letzter Beitrag: 14.09.2010, 12:06
  4. Wann wurde ein Eingang aktiv?
    Von DannyMTK im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 01.03.2010, 13:52
  5. Antworten: 4
    Letzter Beitrag: 17.11.2005, 11:13

Lesezeichen

Berechtigungen

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