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

Seite 4 von 5 ErsteErste ... 2345 LetzteLetzte
Ergebnis 31 bis 40 von 41

Thema: Archivierung Zeitgesteuert aktivieren

  1. #31
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.718
    Danke
    398
    Erhielt 2.399 Danke für 1.999 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    @Harald:
    wenn Flex die Variable ohne die SmartTags-Angabe schluckt (also nicht anmeckert) dann sollte es auch funktionieren. Das System findet dann ja ein Objekt mit dem es arbeiten kann.
    Aber wir sprechen hier ja von TIA - und da wurden ja viele Zahnräder anscheinend wieder neu erfunden und manche vielleicht auch erst gar nicht eingebaut ...

    Gruß
    Larry

  2. #32
    Uli001 ist offline Benutzer
    Themenstarter
    Registriert seit
    08.01.2015
    Ort
    Leipzig
    Beiträge
    37
    Danke
    3
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Hallo,

    ich lese die Beiträge mit Begeisterung. Nur umsetzen kann ich die am Wochenende leider nicht. Ich werde mir das aber am Montag natürlich anschauen. Ich werde auch mal neue Variablen anlegen. Ich bin halt auch sehr verwirrt warum das Script permanent aufgerufen wird. Da dieser Aufruf immer wieder erfolgt bin ich erst auf die Auswertung des „alten“ Zustandes (M_Stopp_Archive_Old) gekommen.
    Ich verwende übrigens TIA V12 SP1 (glaube ich) Update 4. Mal schauen ob ich Montag was Neues berichten kann. Ein Aufschrei das es jetzt geht wäre schön.

    Schönes WE
    Uli

  3. #33
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.718
    Danke
    398
    Erhielt 2.399 Danke für 1.999 Beiträge

    Standard

    ... nicht nur du bist gespannt ...

  4. #34
    Registriert seit
    17.02.2009
    Ort
    Niederrhein
    Beiträge
    86
    Danke
    10
    Erhielt 8 Danke für 7 Beiträge

    Standard

    Zitat Zitat von ukofumo Beitrag anzeigen
    Nachtrag,
    ich habs mit TIA-WinCC V13 (Updatestand müsst ich montag nochmal nachschauen) probiert, alledings auch nur mit der Runtime- Simulation getestet.
    ob sich das bei nem Realen Panel dann anderst verhält...

    mir sind auch noch ein paar weitere mir merkwürdige eigenheiten aufgefallen:
    Code:
    'wenn ich im Script eine HMI-Bit-Variable mit:
    Variable_XY = 1
    'wird die Variable auf "1" gesetzt
    
    Variable_XY = 0
    'bewirkt komischer weise aber überhaupt nix (?)  die Variable bleibt auf "1"
    Zumal ich Bit-Variablen ja eig. auch eher mit "TRUE" und "FALSE" traktieren würde....
    Code:
    Variable_XY = True
    Variable_XY = False
    
    Beide Varianten bewirken aber überhaupt nix!
    deshalb dann letztlich über die "SetTag-Funktion"....



    nehme ich aber eine INT-Variable (oder DINT)
    Code:
    Variable_INT = Variable_INT +1
    
    oder
    Variable_INT = Variable_INT -1
    funktioniert das klaglos, bei jedem Scriptaufruf zählt die Variable eins hoch... (bzw. eins runter)

    Sodele, hat mich jetzt nicht in ruhe gelassen....!
    und ich kann da etwas "Entwarnung" geben....

    Hab heut morgen nochmal mit nem Kollegen probiert....
    WinCC flex 2008 --> alles gut --> alle Varianten funktionieren!
    TIA-WinCC V13 --> wie oben beschrieben

    Ich muss allerdings dazu sagen das auf dem Rechner beides installiert ist!!!
    (also Classic Step7 (V5.5) & WinCC flex 2008 (SP3) als auch TIA-Portal Step7 V13 & WinCC V13 (noch ohne SP1)

    Hatte an anderer Stelle ja schon geschrieben das wir derzeit neue Lappis fürn Service aufsetzen...

    Haben dann mal eins von dehnen mit frisch installiertem TIA-Portal WinCC V13 SP1 genommen und siehe da es funzt DOCH!
    scheint so das bei der TIA Installation bei dem anderen Rechner was "krumm" ist.

    Gruß ukofumo
    Gruß ukofumo

    Es ist vollkommen egal, wie oft man im Leben hinfällt. Es ist nur wichtig, wie oft man wieder aufsteht.

  5. #35
    Uli001 ist offline Benutzer
    Themenstarter
    Registriert seit
    08.01.2015
    Ort
    Leipzig
    Beiträge
    37
    Danke
    3
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Moin,

    es wird allerhöchste Zeit, dass ich mich auch mal wieder zu Wort melde. Ich habe die letzten Zwei Tag noch einmal intensiv an dem Problem gearbeitet und wollte eigentlich schon folgenden Satz schreiben.

    „Jetzt will ich mal etwas Lichts ins dunkle bringen. Vorab gleich die Enttäuschende Meldung: Es hat alles nichts geändert.“
    ABER
    Das Blatt hat sich gewendet. Gestern hatte ich dann doch einen Durchbruch. Ich habe mir den vorhergehenden Projektstand noch einmal geschnappt und für diese Problem bei Null angefangen. Step by Step baute ich das Problem neu auf.
    - Button zum setzen einer HMI Variable und Anzeige über Rechteck (Farbwechsel)
    - Script wie in #29 eingefügt
    - HMI-Variable mit PLC-Variable verbunden (anzeige über weites Rechteck)
    Ups: die Variable „Testvariable“ fängt an zu flackern und das Script wir sporadisch (dachte ich zumindest) aufgerufen.
    Lösung: Beim Anlegen der HMI-Variable steht bei Verbindung (CPU315….) drin. Es wird also automatisch eine Verbindung zur CPU hergestellt auch wenn bei PLC-Variable „undefiniert“ drin steht. Hier musste ich auch die Verbindung löschen damit die Variable nicht mehr von der PLC beeinfluss wird. Ab jetzt hatte ich ruhe mit unkontrollierten aufrufen meines Scripts.
    Problem 1 war also gelöst. Jetzt ging es an das Script ran. Hier mußte ich einiges Testen bis ich die Richtige Lösung für die IF-Abfragen hatte. Hier nun das Script.
    Code:
    On Error Resume Next
    If TP_ArchivPause = True Then
        'SetTag "Test_Bit_1", 0
        StopLogging hmiAlarmLog, "STQ_Archiv"
        ShowSystemAlarm "Archivierung angehalten STQ-Archiv"
    ElseIf TP_ArchivPause = False Then
        'SetTag "Test_Bit_1", 1
        StartLogging hmiAlarmLog, "STQ_Archiv"
        ShowSystemAlarm "Archivierung gestartet STQ-Archiv"
    End If
    If Err.Number <>0 Then
        ShowSystemAlarm "Error '" & CStr(Err.Number) & " " & Err.Description
        Err.Clear
        Exit Sub
    End If
    Was soll ich sagen? Getestet und als GUT befunden. Das Test_Bit_1 wird nicht mal benötigt.

    VIELEN DANK für die Diskussion und die Tipps/Hinweise. Das Problem gilt für mich vorerst als gelöst. Ich hoffe auf weiter tolle Unterstützung bei weiteren Fragen die mit Sicherheit aufkommen. Ich fange ja gerade erst an mit der Programmierung.

  6. #36
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.184
    Danke
    923
    Erhielt 3.290 Danke für 2.659 Beiträge

    Standard

    Sagte ich doch - nochmal komplett frisch anfangen.
    Gibt es in dem TIA sowas wie "temporäre Dateien löschen" oder "alles neu generieren"?

    Übrigens ist die ElseIf-Abfrage überflüssig, ein einfaches Else tut es auch

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  7. #37
    Uli001 ist offline Benutzer
    Themenstarter
    Registriert seit
    08.01.2015
    Ort
    Leipzig
    Beiträge
    37
    Danke
    3
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Einfach alles neu hat es nicht gebracht. Die "automatische" Zuordnung einer HMI-Variable zur PLC war trotzdem wieder da und hatte das anfangs versaut. Vielleicht könnte es aber auch daran liegen, dass es mal ein V5.5 Projekt war und wir es ins TIA übernommen haben.

    Ja, eine Else würde es auch machen. Ich wollte hier aber auf Nummer sicher gehen. Ich hatte ja schon den Fall wo immer der Else-Zweig durchlaufen wurde. Da hatte ich aber nicht die unkontrollierten aufrufe des Scripts. Die sind nun Geschichte und ich mit dem Teil glücklich.
    Gibt es bei dem MP277 eigentlich sowas wie eine MassageBox? Ich glaube was gelesen zu haben das es dies nicht gibt. Würde gerne noch eine Meldung auf dem Display anzeigen wenn das Archivieren wieder aktiviert wurde.

    VG Uli

  8. #38
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.184
    Danke
    923
    Erhielt 3.290 Danke für 2.659 Beiträge

    Standard

    Eine MassageBox gibt es leider nicht, eine aufpoppende MessageBox übrigens auch nicht

    Das liegt nicht an dem MP277 sondern an dem WinCC flexible bzw. Advanced.

    Du könntest auf einem Bild etwas malen, was wie eine Messagebox aussieht und in dem Skript eine Panelvariable setzen, welche die Sichtbarkeit der "Messagebox"-Elemente steuert. Die [OK]-Schaltfläche der "Messagebox" rücksetzt die Variable und schaltet die Elemente dadurch wieder unsichtbar. Allerdings sieht man diese "Messagebox" nur in dem Bild, in dem sie gemalt ist.

    Oder einfacher: Du setzt in der Steuerung eine Variable, welche im Panel eine quittierpflichtige Meldung auslöst. Dann poppt die Meldung in jedem Bild auf.

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  9. Folgender Benutzer sagt Danke zu PN/DP für den nützlichen Beitrag:

    Uli001 (28.01.2015)

  10. #39
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.184
    Danke
    923
    Erhielt 3.290 Danke für 2.659 Beiträge

    Standard

    Ein Nur-Else ohne erneute Bedingung liest und versteht sich einfacher als ElseIf und bietet weniger Möglichkeiten für Tippfehler.

    Die "sicherheitshalber" erneute Abfrage der TP_ArchivPause-Variable im Else-Zweig kann auch kontraproduktiv sein, wenn nämlich die Variable im IF-Zweig rückgesetzt wird. Dann wird der ElseIf-Zweig wahr ...

    Boolsche Logik ist schon sicher genug, es gibt nur Wahr oder Falsch und nichts dazwischen. Wenn eine Bool-Aussage nicht wahr ist, dann ist sie falsch.

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  11. #40
    Uli001 ist offline Benutzer
    Themenstarter
    Registriert seit
    08.01.2015
    Ort
    Leipzig
    Beiträge
    37
    Danke
    3
    Erhielt 2 Danke für 2 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    quittierpflichtige Meldung wird der Weg der Lösung sein. Ich habe ja keine Ahnung welches Bild gerade angezeigt wird.

    wenn nämlich die Variable im IF-Zweig rückgesetzt wird. Dann wird der ElseIf-Zweig wahr ...
    Richtig aber doch falsch. Bei einer If Then Else Anweisung wird der Reihe nach geprüft.

    Code:
    if x=1 Then
                  'Abarbeitung wenn X=1
                  'Springen zu End IF
    ElseIF x=2 Then
                  'Abarbeitung wenn X=2
                  'Springen zu End IF
    Else
                   'Abarbeitung wenn X nicht 1 und 2
                   'Springen zu End IF
    EndIF
    Es wird immer der Zweig abgearbeitet der als erstes die Bedinung erfüllt. Alle anderen Zweige werden Ignoriert auch wenn die Bedingung durch die Abarbeitung eines Vorhergehenden Zweiges auf einmal TRUE wird. Leider habe ich den Nachweis jetzt auf die Schnelle nicht gefunden. Hier ein Auszug aus dem Bereich SCL:
    Wenn die erste Bedingung (<Bedingung1>) erfüllt ist, werden die Anweisungen (<Anweisungen1>) nach THEN ausgeführt. Nach der Bearbeitung der Anweisungen wird die Programmbearbeitung nach END_IF fortgesetzt.

    Wenn die erste Bedingung nicht erfüllt ist, wird die zweite Bedingung (<Bedingung2>) geprüft. Wenn die zweite Bedingung (<Bedingung2>) erfüllt ist, werden die Anweisungen <Anweisungen2> nach THEN ausgeführt. Nach der Bearbeitung der Anweisungen wird die Programmbearbeitung nach END_IF fortgesetzt.

    Wenn keine der Bedingungen erfüllt ist, werden die Anweisungen (<Anweisungen0>) nach ELSE ausgeführt und danach wird die Programmbearbeitung nach END_IF fortgesetzt.
    Genauso kenn ich es auch bei VB und gehe mal davon aus, dass es hier auch so umgesetzt ist.

    VG Uli

  12. Folgender Benutzer sagt Danke zu Uli001 für den nützlichen Beitrag:

    PN/DP (28.01.2015)

Ähnliche Themen

  1. Step 7 Neuen Wert laden, zeitgesteuert
    Von S-Victor im Forum Simatic
    Antworten: 9
    Letzter Beitrag: 13.06.2013, 18:11
  2. Script in Flexible zeitgesteuert aufrufen
    Von Bensen83 im Forum HMI
    Antworten: 5
    Letzter Beitrag: 17.09.2011, 11:25
  3. Antworten: 2
    Letzter Beitrag: 09.09.2011, 08:02
  4. DALI Gruppe oder EVG zeitgesteuert (mittel Scheduler) ansprechen
    Von t.arni im Forum Sonstige Steuerungen
    Antworten: 1
    Letzter Beitrag: 09.08.2010, 17:10
  5. Step7 Ausgaänge Zeitgesteuert setzen
    Von buffi4711 im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 23.09.2006, 14:23

Stichworte

Lesezeichen

Berechtigungen

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