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

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

Thema: WinCC per Batch Datei beenden?

  1. #11
    Registriert seit
    18.09.2004
    Ort
    Münsterland/NRW
    Beiträge
    4.719
    Danke
    729
    Erhielt 1.159 Danke für 970 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Mit der Lösung kannst du WinCC aber sauber runter fahren. Du brauchst das Script ja nicht alle 500 ms aufrufen, abhängig davon wie lange deine USV durchhält, reicht es doch wenn du das Script alle x Minuten aufrufst.

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

    Standard

    evtl. bist Du hiermit zufrieden

    https://www.automation.siemens.com/f...en&PageIndex=2

    Gruß.

  3. #13
    Registriert seit
    25.02.2010
    Beiträge
    618
    Danke
    35
    Erhielt 121 Danke für 110 Beiträge

    Standard

    "Reset_WinCC.vbs" geht recht brutal vor beim Beenden. Wenn du mit SQL Datenbanken arbeitest solltest du davon absehen.
    Der Beitrag von marlob ist dann die bessere Alternative.
    Grüsse Holger

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

    Standard

    Zitat Zitat von holgermaik Beitrag anzeigen
    "Reset_WinCC.vbs" geht recht brutal vor beim Beenden. Wenn du mit SQL Datenbanken arbeitest solltest du davon absehen.
    Der Beitrag von marlob ist dann die bessere Alternative.
    Grüsse Holger
    sehe ich auch so, m.M. schiesst reset_wincc einfach alles ab, das ist auch nichts anderes, als den Rechner einfach runterzufahren.

    Für "ShutDown WinCC" (2XV9450-1WC05) verlang Siemens aktuell 500€ Liste... die nehmen's auch wo immer sie's kriegen können...

    Irgendwo gab's noch nen Beitrag, wo grob beschrieben war, was das macht, aber find ich im Moment nicht.

    o.g. Siemensforumsbeitrag ist aber schon ne akzeptable Lösung mit der internen WinCC-Variable.

    Gruß.

  5. #15
    Jennsy ist offline Benutzer
    Themenstarter
    Registriert seit
    13.05.2013
    Beiträge
    81
    Danke
    29
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Zitat Zitat von ducati Beitrag anzeigen
    evtl. bist Du hiermit zufrieden

    https://www.automation.siemens.com/f...en&PageIndex=2

    Gruß.
    danke für die Antwort, ja das wäre schon in etwa was ich mir vorgestellt habe, nur leider habe ich keinen blassen Schimmer, wie ich über VB auf meine WinCC Variablen zugreifen kann? (habe jetzt eine VB Konsolenanwendung erstellt und dann mal angefangen herumzubasteln...doch wie genau das funktionieren sollte weiß ich nicht so recht...hat das vielleicht schon mal jemand ausprobiert?
    Weil wenn ich mein Programm mal versuchsweise starte, stürzt einzig und allein das Konsolenfenster ab

    Code:
     Module Module1
    
        Dim lblCheckWinCC As Object
    
        Private Property szMcp As Object
    
        Sub Main()
            szMcp = CreateObject("WinCC-Runtime-Project") 'hier gebe ich mein Projekt an (inkl. Pfad) 
            If (szMcp.RuntimeProject <> "") Then
                Call szMcp.SetValue("ShutDown", 1) 'Hier den WinCC VariabelnName angeben
                lblCheckWinCC.Caption = "WinCC ShutDown: gesendet"
            End If
        End Sub
    
    
    End Module
    mfG

  6. #16
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.717
    Danke
    443
    Erhielt 920 Danke für 740 Beiträge

    Standard

    Schau Dir mal das Freeware-Tool AutoIt an!

    Damit kannst Du Deine Maus- und Keyboardaktionen beim manuellen Beenden von WinCC aufzeichnen und daraus eine selbständige .exe-Datei erstellen. Die kannst Du in der Batch mit start /wait aufrufen. Dann führt die .exe die zuvor aufgezeichneten Aktionen aus und die Batch wartet auf die Beendigung der .exe.

    AutoIt sind einfache Script-Dateien, so dass Änderungen am Ablauf leicht vorzunehmen sind.
    Geändert von hucki (28.01.2014 um 17:21 Uhr) Grund: Link zur AutoIt-Seite für andere Suchende nachgereicht

  7. Folgender Benutzer sagt Danke zu hucki für den nützlichen Beitrag:

    Jennsy (28.01.2014)

  8. #17
    Jennsy ist offline Benutzer
    Themenstarter
    Registriert seit
    13.05.2013
    Beiträge
    81
    Danke
    29
    Erhielt 1 Danke für 1 Beitrag

    Standard

    So, hier nun "meine Lösung" des Problems (ein bisschen was von all den Vorschlägen, die ich bekommen habe), falls sich jemand auch mal etwas Ähnliches zusammenbasteln möchte:
    Im WinCC:

    • Binäre interne Variable 'ShutDown' erstellen (Startwert = 0)
    • Globales C-Script, welches bei Änderung der Variable 'ShutDown' getriggert wird
      Code:
      int gscAction( void )
      {
      // WINCC:TAGNAME_SECTION_START
      // syntax: #define TagNameInAction "DMTagName"
      // next TagID : 1
      // WINCC:TAGNAME_SECTION_END
      
      // WINCC:PICNAME_SECTION_START
      // syntax: #define PicNameInAction "PictureName"
      // next PicID : 1
      // WINCC:PICNAME_SECTION_END
      int i;
      if (GetTagBit("ShutDown"))
      {
      for (i=0; i<=25000;i++) //Schleife, während ein Bildfenster mit einem Warntext ausgegeben wird
      {
      SetVisible("Home.pdl","BF_Stromausfall",1);    //Return-Type: BOOL 
      }
      DeactivateRTProject ();    //Return-Type: BOOL 
      ExitWinCC ();    //Return-Type: BOOL 
      }
      return 0; 
      }



    • VB Konsolenanwendung im Visual Studio erstellen (WinCC_Close.exe) und Verweis (siehe Anhang) einfügen (geht nur am Rechner, auf dem WinCC installiert ist) und CCMCPAUTSERVERLib importieren

    Code:
    Imports CCMCPAUTSERVERLib
    
    Module Module1
    
        Sub Main()
    
            Dim WinCC As CCMcpAut
            Dim Project As String
            Dim Value As Long
            WinCC = New CCMcpAut
            Project = WinCC.RuntimeProject
            Value = WinCC.SetValue("ShutDown", 1)
        End Sub
    
    End Module


    • diese *.exe Datei dann aus einem *.bat-File heraus starten: (das *.bat-File habe ich in meiner USV-Konfig hinterlegt, und wird ausgeführt, bevor der Server heruntergefahren wird.)

    Code:
    @echo off
         start "" "C:\Dokumente\WinCC_Close.exe"

    mfG Jenny
    Angehängte Grafiken Angehängte Grafiken
    Geändert von Jennsy (05.03.2014 um 15:52 Uhr)

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

    ducati (29.01.2014)

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

    Standard

    kannst Du die exe hier noch irgendwie hochladen, nicht jeder hat ja Visual Studio.

    Code:
    for (i=0; i<=25000;i++) //Schleife, während ein Bildfenster mit einem Warntext ausgegeben wird
    {
    SetVisible("Home.pdl","BF_Stromausfall",1);    //Return-Type: BOOL 
    }
    finde ich nicht so glücklich, da in dieser Zeit keine anderen Scripte ausgeführt werden können und sich WinCC sozusagen aufhängt.

    Gruß.

  11. #19
    Jennsy ist offline Benutzer
    Themenstarter
    Registriert seit
    13.05.2013
    Beiträge
    81
    Danke
    29
    Erhielt 1 Danke für 1 Beitrag

    Standard

    ja, natürlich, ist im Anhang.
    naja, das sollte ja eigentlich auch Sinn und Zweck des Ganzen sein, dass keine Bedienung mehr möglich ist und der Bediener aber noch eine kurze Vorwarnung erhält, dass sich WinCC nun herunterfahren wird. (Skripts, werden ansonsten nur durch User Interaktionen ausgeführt, stellt deshalb auch kein Problem dar)

    Aber wie könnte man es deiner Meinung nach besser lösen, dass dieses Fenster noch ~5 sek. bevor sich WinCC beendet angezeigt wird?

    mfG
    Angehängte Dateien Angehängte Dateien

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

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Jennsy Beitrag anzeigen
    Aber wie könnte man es deiner Meinung nach besser lösen, dass dieses Fenster noch ~5 sek. bevor sich WinCC beendet angezeigt wird?
    Du rufst Dein Script zyklisch alle 1sek auf. In dem Script zählst Du wenn Shutsown==1 eine weitere interne Variable zaehler=zaehler+1
    wenn zaehler==5 dann schliesst Du erst WinCC

    Gruß.

  13. Folgender Benutzer sagt Danke zu ducati für den nützlichen Beitrag:

    Jennsy (29.01.2014)

Ähnliche Themen

  1. FTP Transfer durch Batch Datei
    Von L.T. im Forum PC- und Netzwerktechnik
    Antworten: 0
    Letzter Beitrag: 07.11.2013, 12:09
  2. Batch Datei aus S7 Programm anstoßen
    Von olitheis im Forum Simatic
    Antworten: 11
    Letzter Beitrag: 18.06.2012, 16:58
  3. Aus Excel heraus eine Batch Datei ausführen
    Von olitheis im Forum Hochsprachen - OPC
    Antworten: 13
    Letzter Beitrag: 04.07.2011, 12:58
  4. Batch - Datei in einer Batch - Datei aufrufen
    Von CrazyCat im Forum PC- und Netzwerktechnik
    Antworten: 2
    Letzter Beitrag: 26.01.2006, 09:14
  5. WinCC über Batch-File komplett beenden?
    Von S7_Mich im Forum HMI
    Antworten: 10
    Letzter Beitrag: 18.10.2004, 14:35

Lesezeichen

Berechtigungen

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