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

Ergebnis 1 bis 10 von 10

Thema: Speichern von Datensätzen - WinCC flexible

  1. #1
    Registriert seit
    13.09.2005
    Beiträge
    633
    Danke
    8
    Erhielt 8 Danke für 6 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    WinCC flexible ver*rscht mich offenbar.

    Wenn ich Rezepturen ändere und speichere, werde ich zwar nach der Bestätigung für das Überschreiben des alten Datensatzes gefragt, aber wenn ich den Datensatz erneut lade, steht noch immer der selbe Mist drin.

    Wo soll ich mit der Suche mit dem Fehler beginnen?
    Kennt jemand dieses Problem?

    Eigentlich sollte das "ja" tatsächlich ja heißen und den alten Mist überschreiben.
    Zitieren Zitieren Speichern von Datensätzen - WinCC flexible  

  2. #2
    CrazyCat ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    13.09.2005
    Beiträge
    633
    Danke
    8
    Erhielt 8 Danke für 6 Beiträge

    Standard

    Was ich vergessen habe:

    Als Statuswert wird zuerst 2 "Auftrag läuft" und anschließend 12 "Auftrag mit Fehler abgebrochen" ausgegeben.

    Leider gibt es in WinCC flexible keine so umfangreichen Statuswortlisten wie in S7.

    Kann mir also jemand sagen worauf ich achten soll/muss um den Fehler zu finden oder zu beheben?

  3. #3
    Registriert seit
    13.09.2005
    Beiträge
    19
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Also bei mir klappt das. War zwar am Anfang auch etwas verwirrt. Gerade wenn man mit Skripten arbeitet kommt es schon mal vor dass zwei Aufgaben gleichzeitig abgearbeitet werden und dann gibt es Fehler. Was hast du für ein Panel? Pc? Ich habe einfach die Systemmeldeanzeige dafür hergenommen. Die sagt dir relativ zuverlässig wo es klemmt. Was du machen solltest - Verlängere die Anzeigezeit.

    Gruß, Christian

  4. #4
    CrazyCat ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    13.09.2005
    Beiträge
    633
    Danke
    8
    Erhielt 8 Danke für 6 Beiträge

    Standard

    Wie verlängere ich die Anzeigezeit?

    Ich arbeite mit einem MP370 und Skripten.

    Allerdings habe ich bereits versucht diese Aufgabe in das Skript zu integrieren, mit dem selben Erfolg -> Abbruch wegen Fehler.

    Muss ich die Skriptbearbeitung anhalten, bis das Speichern des Datensatzes abgeschlossen ist?

    Die Skripte werden ja im Prinzip zyklisch durch eine Endlosschleife abgearbeitet.

    Mit Systenmeldeanzeige ist eine Meldeanzeige gemeint, welche anstehende und unquittierte Meldungen des Typs "System" anzeigt, oder?

  5. #5
    Registriert seit
    20.06.2003
    Ort
    Sauerland.NRW.Deutschland
    Beiträge
    4.850
    Danke
    78
    Erhielt 800 Danke für 543 Beiträge

    Standard

    Zitat Zitat von CrazyCat
    Die Skripte werden ja im Prinzip zyklisch durch eine Endlosschleife abgearbeitet.
    heisst das, das ein script permanent läuft?
    das solltest du in jedem fall vermeiden. ein script schluckt enorme systemrecourcen.
    sehr wahrscheinlich, das du dadurch so viele fehler hast.
    (ist das noch das gleiche projekt, wo du probs mit 2 scripten hattest? das würde das nämlich erklären)
    lass mal ein script im pc laufen und schau dir im taskmanager die cpu-auslastung an

    @c.glas
    >>Was du machen solltest - Verlängere die Anzeigezeit.

    für diese meldungen lege ich immer ein meldearchiv an. eine lange einblendung der systemmeldungen kann auch sehr lästig sein.
    Geändert von volker (04.07.2006 um 09:54 Uhr)
    .
    mfg Volker .......... .. alles wird gut ..

    =>Meine Homepage .. direkt zum Download

    Meine Definition von TIA: Total Inakzeptable Applikation

  6. #6
    Registriert seit
    13.09.2005
    Beiträge
    19
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Diese Scrip aber nur auf eine Tasteereignis oder Variablenänderung aufrufen!

    Dieses habe ich im Siemens Support-Forum gepostet:
    https://www.automation.siemens.com/W...x?PostID=13595


    Ich hab's! Ich habe ein Skript geschrieben das den Bearbeitungsstatus der Lade und Schreiboperation auswertet. Sieht so aus... ...vielleicht kann es ja jemand brauchen.

    'Hmi Start -> Aktuellen Datensatz laden und an die Steuerung übergeben -> Statusbits zuruecksetzten'
    '
    'Bearbeitungsstatus der Lade und Schreibfunktionen
    '2 = Systemfunktion wird gerade ausgeführt.
    '4 = Systemfunktion wurde erfolgreich beendet.
    '12 = Systemfunktion wurde nicht ausgeführt, weil ein Fehler aufgetreten ist.
    '
    'Nur bei Fehler Systemmeldung ausgeben

    'DATENSATZ LADEN'
    LoadDataRecord "Bearbeitungsprogramm", SmartTags("BpHmiCpuKommunikation.BpAktuellerDatensatzname"), SmartTags("DatensatzLadenStatus")
    Do While SmartTags("DatensatzLadenStatus") = 2
    'Nichts'
    Loop
    If SmartTags("DatensatzLadenStatus") = 4 Then
    ResetBit SmartTags("DatensatzWurdeGeaendert")
    End If
    If SmartTags("DatensatzLadenStatus") = 12 Then
    SetBit SmartTags("DatensatzWurdeGeaendert")
    ShowSystemAlarm "Datensatz laden fehlgeschlagen"
    End If

    'Wenn richtig geladen DATENSATZ SCHREIBEN'
    If Not SmartTags("DatensatzWurdeGeaendert") Then
    SetDataRecordToPLC "Bearbeitungsprogramm", SmartTags("BpHmiCpuKommunikation.BpAktuellerDatensatzname"), hmiOff, SmartTags("DatensatzSchreibenStatus")
    End If
    Do While SmartTags("DatensatzSchreibenStatus") = 2
    'Nichts'
    Loop
    If SmartTags("DatensatzSchreibenStatus") = 4 Then
    ResetBit SmartTags("DatensatzNochNichtInSteuerung")
    End If
    If SmartTags("DatensatzSchreibenStatus") = 12 Then
    SetBit SmartTags("DatensatzNochNichtInSteuerung")
    ShowSystemAlarm "Datensatz schreiben fehlgeschlagen"
    End If


    Die Verlängerung der Anzeigezeit für die ShowSystemAlarm ist irgenwo in den Geräteeinstellungen.

  7. #7
    CrazyCat ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    13.09.2005
    Beiträge
    633
    Danke
    8
    Erhielt 8 Danke für 6 Beiträge

    Standard

    So jetzt funktioniert es.

    Die Systemmeldeanzeige bringt's wirklich.

    Grund für den Fehler war ein Verweis auf eine alte Variable, die nicht mehr in der Steuerung existiert.
    Ist zwar etwas komisch, denn normalerweise müßte dies bei der Generierung sofort als Fehler gemeldet werden, was nicht der Fall war.

    Die Meldeanzeige hat es mir dann aber doch mitgeteilt, das wegen dieser falschen Zuordnung nicht gespeichert werden kann.

    @c.glas: Das haben die in den Geräteeinstellungen versteckt? Da kann ich lange in den Meldeanzeigeeinstellungen suchen.
    Danke, ich werde dort die Anzeigezeit hinaufsetzen oder ein Meldearchiv verwenden, je nachdem was besser funktioniert.

    @Volker: Das Skript läuft exakt 59 Sekunden und wird dann abgebrochen und mit der nächsten vollen Minute erneut gestartet.
    Dies reduziert die Ressourcenbelastung etwas, da erst nach ca. 5 Minuten Dauerlauf des Skript erhebliche Verzögerungen auftraten.

    Ich weiß, es ist keine astreine Lösung, aber die Siemens - CPU läuft bereits am Limit. Ich mußte also etwas auslagern und das kann ich einstweilen nur so bewerkstelligen.

    Es ist das gleiche Monsterprojekt, bei dem ich bereits mit den 2 gleichzeitig laufenden Skripten Probleme hatte, richtig.
    Wenn ich jetzt noch das Problem mit den Timern hinbekomme bin ich so gut wie fertig. (Gottseidank, noch mehr könnte ich dem System wahrscheinlich ohnehin nicht zumuten)

    Naja, ein paar kleine kosmetische Operationen wird es schon noch geben, aber die Funktionen wären dann alle erledigt.

  8. #8
    Registriert seit
    28.06.2006
    Ort
    Königreich Neuseeland
    Beiträge
    2.027
    Danke
    133
    Erhielt 96 Danke für 76 Beiträge

    Standard

    Zitat Zitat von CrazyCat
    Grund für den Fehler war ein Verweis auf eine alte Variable, die nicht mehr in der Steuerung existiert.
    Ist zwar etwas komisch, denn normalerweise müßte dies bei der Generierung sofort als Fehler gemeldet werden, was nicht der Fall war.
    Nein,
    warum sollte das bei der Generierung gemeldet werden ?

    Flexible weis doch nicht, welche Variablen du in der Steuerung hast.
    Das fällt erst auf, wenn in Runtime eine Funktion aktiv wird, die auf die nicht existente Variable zugreift.

  9. #9
    Registriert seit
    20.06.2003
    Ort
    Sauerland.NRW.Deutschland
    Beiträge
    4.850
    Danke
    78
    Erhielt 800 Danke für 543 Beiträge

    Standard

    protool hat das gemacht.
    flex macht das scheinbar nicht mehr automatisch. dazu muss man im script rechte maustaste und syntax prüfen oder so ähnlich.
    .
    mfg Volker .......... .. alles wird gut ..

    =>Meine Homepage .. direkt zum Download

    Meine Definition von TIA: Total Inakzeptable Applikation

  10. #10
    CrazyCat ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    13.09.2005
    Beiträge
    633
    Danke
    8
    Erhielt 8 Danke für 6 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich hatte die Variable in Step7 und in flexible gelöscht, ich hatte nur vergessen sie aus der Rezeptur auch zu entfernen.

    Das muss auf jeden Fall dem Generator auffallen.


    Interessanterweise wurde die Variable in der Rezeptur nicht rot sondern grau hinterlegt.

Ähnliche Themen

  1. Antworten: 12
    Letzter Beitrag: 01.11.2011, 22:33
  2. String in UDT speichern und mit WinCC Flexible 2008 auslese
    Von SenderTs im Forum Programmierstrategien
    Antworten: 0
    Letzter Beitrag: 18.08.2010, 11:30
  3. Antworten: 5
    Letzter Beitrag: 22.07.2010, 09:28
  4. Antworten: 11
    Letzter Beitrag: 17.07.2006, 12:46
  5. Antworten: 0
    Letzter Beitrag: 21.04.2006, 14:13

Lesezeichen

Berechtigungen

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