Technical Forum

Kommunikation / Netzwerke

SIMATIC NET PC Station Status abfragen

Erstellt von emka am 01.06.2012 09:27 (2 Antworten)

« Vorheriges Thema Nächstes Thema »
Seite 1 von 1 (3 Objekte)
  01.06.2012, 09:27
Beigetreten am: 07.03.2012
Letzter Besuch: 06.06.2012
Beiträge: 5
Bewertung:
Bewertung: keine [0 von 5 / 0 mal bewertet]. (0) 
Bewertung: keine [0 von 5 / 0 mal bewertet]. (0) 
Hallo,

man kann auf einer Microbox in der SIMATIC NET Konfigurations-Konsole "PC-Station einstellen" in der Rubrik Autostart neue Anwendungen starten, wenn die PC Station fertig initialisiert ist.

Gibt es eine Möglichkeit, den Zustand (z.b. initializing, ready, ...) der PC Station auch aus einer eigenen Applikation(C#) heraus abzufragen, z.B. durch Abfragen des/Zugriff auf den "SIMATIC NET Benachrichtigungsdienst"?

Hintergrund: Unsere HMI-Applikation soll nach dem Booten der Microbox automatisch gestartet werden. Solange die PC Station noch initialisiert, soll ein Startbild angezeigt werden. Wenn die PC Station bereit ist, kann unsere Applikation auf den SIMATIC NET OPC Server zugreifen und die eigene Initialisierung abschließen.

Viele Grüße
emka
Top
  04.06.2012, 09:16
Beigetreten am: 17.06.2011
Letzter Besuch: 22.05.2013
Beiträge: 1281
Bewertung:
Bewertung: Exzellent [4,05 von 5 / 81 mal bewertet]. (81) 
Benutzer mit speziellen Fachkenntnissen, die einzelne Konferenzen betreuen
Bewertung: keine [0 von 5 / 0 mal bewertet]. (0) 
Hallo,

die PC-Station löst dafür globale Events aus.
Diese können aus der Software abgefragt werden.

Siehe Handbuch PC-Stationen in Betrieb nehmen Kapitel 4.5.3.7.

Gruß / best regards
Rated X
Top
Für diesen Beitrag bedankt sich:
  04.06.2012, 10:46
Beigetreten am: 07.03.2012
Letzter Besuch: 06.06.2012
Beiträge: 5
Bewertung:
Bewertung: keine [0 von 5 / 0 mal bewertet]. (0) 
Bewertung: keine [0 von 5 / 0 mal bewertet]. (0) 

Hallo,

stimmt, da steht es genau beschrieben drin.

Anbei, eine Implementierung in C#:

using System;
using System.Threading;
using System.Windows.Forms;

namespace OpcTesting
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            WaitHandle waitHandle = new EventWaitHandle(false, EventResetMode.ManualReset, @"Global\SimaticNetPcStationUpEvent");
            ThreadPool.RegisterWaitForSingleObject(waitHandle, OpcReady, null, 10000, false);
        }

        void OpcReady(object state, bool timedOut)
        {
            if (timedOut)
            {
                MessageBox.Show("Timeout");
            }
            else
            {
                MessageBox.Show("Ready");
            }
        }

    }
}


Vielen Dank
emka

Top
Seite 1 von 1 (3 Objekte)
Aktionen