WinCC 7.0.2.0 Login Fenster öffnet sich nicht!

SKg

Level-1
Beiträge
357
Reaktionspunkte
40
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

Folgende Zusammenstellung:
2 PC´s

Beide Windows Server 2008 Standart SP2!

Auf beiden ist WinCC 7.0.2.0 Installiert!
Wir verwenden Basic Process Control!

Die Beiden Geräte laufen mit dem selben Projekt,
soll heißen, den einen verwende ich als ES und den anderen als OS, auf dem ES Rechner bearbeite ich das Projekt und spiele es dann anschließend auf die OS Station auf.


Ich verwende einen Silent Login, das Skript prüft den Rechnernamen und loggt sich dan unter einem entsprechenden Benutzer automatisch ein.

Jetzt zu meinem Problem.

Es gibt im Bild ein Textfeld in dem der aktuell angemeldete Benutzer steht.
Wenn man auf das Textfeld klickt, öffnet sich das Login Fenster.

Das funktioniert aber irgendwie nur bei dem ES Rechner, ich bin mir sicher das es bei dem OS Rechner erst auch funktioniert hat (ist schon lange her als ich es eingerichtet habe).

Der Button, zum aufrufen des Login Fensters, unten in der Reihe funktioniert auch nur auf dem ES Rechner.


Das ganze ist unabhängig von dem Benutzer (habe den Administrator auch schon probiert).

Die Rechner hängen nicht am Internet somit fallen automatische Updates von Windows auch raus.

Vielleicht hat ja jemand eine Idee

MFG
 
Naja, aus der Ferne schwer zu sagen, was da jetzt das Problem ist... Verwendest Du Simatic-Logon oder den normalen User-Administrator?

Sieht so aus, als wenn in dem OS-Rechner-Projekt keine Benutzer angelegt sind. Funktioniert denn eine Bedienung von mit Benutzerrechten versehenen Objekten?

Nebenbei ist die Lösung mit den 2 Singlestationen nur bedingt optimal. Entweder solltest Du da das WinCC-Redundancy-Paket für 2 Singlestationen verwenden oder ne Client-Server-Lösung... Aber na gut, das kostet Geld :) Jedenfalls sollte das aber nichts mit Deinem Benutzerrechteproblem zu tun haben.

Gruß.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Naja, aus der Ferne schwer zu sagen, was da jetzt das Problem ist... Verwendest Du Simatic-Logon oder den normalen User-Administrator?

Sieht so aus, als wenn in dem OS-Rechner-Projekt keine Benutzer angelegt sind. Funktioniert denn eine Bedienung von mit Benutzerrechten versehenen Objekten?


Gruß.

Esteinmal Danke für die Antwort!

Wir verwenden kein Simatic Logon!
Die Benutzer sind korrekt angelegt und die Berechtigungen der Objekte funktioniert auch!

Das die zusammenstellung des Systems nicht sehr glücklich gewählt ist weiß ich auch:sad:
Das mit dem kopieren des Projektes und Wiederherstellung der Archive finde ich auch zum K....

MFG
 
Die Beiden Geräte laufen mit dem selben Projekt,
soll heißen, den einen verwende ich als ES und den anderen als OS, auf dem ES Rechner bearbeite ich das Projekt und spiele es dann anschließend auf die OS Station auf.

Ich verwende einen Silent Login, das Skript prüft den Rechnernamen und loggt sich dan unter einem entsprechenden Benutzer automatisch ein.

Hmm, hast Du auf dem OS-Rechner WinCC RC also den WinCCExplorer mit installiert? Kannst Du dort verschiedene Dinge prüfen?

Wie erfolgt den das kopieren? einfach per WindowsExplorer oder von der ES über Projekt laden im Simatic Manager?

Spontan würde ich mal bei dem Silent Login anfangen zu suchen... evtl. deaktivieren und schaun ob das händische Login dann funktioniert.

Was ist mit dem Rechnernamen? Sind die beide identisch?

Und Du kannst ja mal in den Updates für WinCC schauen, ob da was mit der Benutzeranmeldung gibt. die x.x.x.0 Versionen haben schon mal die eine oder andere Macke. Über ein Update auf 7.0.2.10 bzw. 7.0.3.6 würde ich nachdenken...

Aber wie gesagt, ne konkrete Fehleranalyse kann ich hier schlecht machen, da bräuchte man schon das Projekt und müsste schaun was Ihr wo und warum so macht....

Gruß.
 
Hallo ducati,

Auf dem OS Rechner ist RT installiert und auf dem ES Rechner ist RC installiert.
Die Beiden Rechner haben unterschiedliche Namen WWES01 und WWOS01.
Ich kopiere die Projekte mit dem "Projekt Duplikator" und mache dann noch einige Änderungen auf dem OS Rechner (Rechnername und Verbindungen).

Die beiden Rechner sind mit einem H-System Verbunden, für jeden Rechner gibt es einen CP (daher die änderungen in den Verbindungen).
REDCONECT möchte mein Chef nicht haben :-(

Ohne Silent Login werd ich mal probieren.

MFG
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Auf dem OS Rechner ist RT installiert

Das erschwert die Fehlersuche ungemein... Ich würd in dem Fall auch auf dem OS Rechner RC installieren. Und in dem Zuge das ganze System updaten, wenns nicht ne "lebenswichtige" Maschine ist oder in den Systemdingen (@) zuviel geändert wurde....

Viel Erfolg.
 
Hallo

ich hatte mal wieder Zeit an dem System zu arbeiten.
Es gibt doch noch einen unterschied in der Hardware der beiden Rechner.

Das Projekt ist als 4 Monitor System Projektiert!

Der ES Rechner hat eine 2'er Monitor Karte und es sind 2 Monitore angeschlossen!
Der OS Rechner hat eine 4'er Monitor Karte und es sind nur 2 Monitore angeschlossen!

Ich habe inzwischen rausgefunden das sich das Login Fenster doch öffnet aber es irgendwo versteckt ist.

Ich kann es mit der Tastenkombination ALT+TAB zwar anwählen aber es springt nicht in den Vordergrund.

Folgendes Skript wird zum aufrufen des Login Fensters verwendet:

#include "apdefap.h"
void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{
#pragma code("pdlrtapi.dll")
#include "pdlrtint.h"
#pragma code()
if ( SSMIsUserNameEnable( lpszPictureName ))
{
PDLRTAllowSetForegroundWindow(NULL,NULL,NULL);
PASSLoginDialog (SSMGetScreen( lpszPictureName ));
}
}


Das Skript wird vom System ohne Fehler oder Warnungen übersetzt!

Die Funktion "PASSLoginDialog ()" erwartet die Monitornummer,
ich habe jetzt das gefühl das die Nummer durch die Funktion "SSMGetScreen( lpszPictureName )" falsch ermittelt wird.

Wenn ich eine 1 reinschreibe öffnet sich das Loginfenster auf Monitor 1.
Ich bin leider nicht so gut in C-Skripten vorallem hakt es immer bei den Variablen definitionen.
Wie bekomme ich am besten raus welcher wert mir mit "SSMGetScreen( lpszPictureName )" übermittelt wird!

MFG
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das Projekt ist als 4 Monitor System Projektiert!

Wie wärs als 2 Monitor-Projekt einzustellen?

Ansonsten:

Code:
#include "apdefap.h"
void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{
#pragma code("pdlrtapi.dll")
#include "pdlrtint.h"
#pragma code()
[B]char monitor[100];[/B]
if ( SSMIsUserNameEnable( lpszPictureName ))
{
PDLRTAllowSetForegroundWindow(NULL,NULL,NULL);
[B]monitor=SSMGetScreen( lpszPictureName );
printf("Monitornummer von SSMGetScreen: %s \r\n", monitor);
PASSLoginDialog (monitor);[/B]}
}

Der Datentyp sollte char sein....
ist ungetestet, printf gibt den text im APDIAG aus.

Gruß.
 
Wie wärs als 2 Monitor-Projekt einzustellen?

Gruß.

2 Monitore reichen in Zukunft nicht aus.
Der OS Rechner bzw. seine Monitore etc. stehen in einem Raum der durch eine Gaslöschanlage geschützt ist die anderen beiden sollen in einen anderen Raum aufgebaut werden aber mein Chef hat sich noch kein Plätzchen dafür ausgesucht!

ducati: Für dein Skript brauche ich doch ein Diagnosefenster (Objekt) oder?
Wie legt man das nochmal an? Wir hatten das im Lehrgang aber der ist schon ewig lang her und ich verwende das Diagnosefenster eigentlich nicht!

MFG
 
Code:
#include "apdefap.h"
void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{
#pragma code("pdlrtapi.dll")
#include "pdlrtint.h"
#pragma code()
[B]char monitor[100];[/B]
if ( SSMIsUserNameEnable( lpszPictureName ))
{
PDLRTAllowSetForegroundWindow(NULL,NULL,NULL);
[B]monitor=SSMGetScreen( lpszPictureName );
printf("Monitornummer von SSMGetScreen: %s \r\n", monitor);
PASSLoginDialog (monitor);[/B]}
}

Da Script ist so nicht ganz korrekt.
-monitor muß als char* monitor deklariert werden
-%s ist dann auch nicht richtig, es muß dann %d heißen!

Dann funktioniert das Script auch!

Und was ist dabei rausgekommen?

Wenn ich auf Monitor 1 den Login anklicke hat sich das Fenster auf Monitor 3 geöffnet der natürlich nicht angesteckt war!

Es scheint so zu sein das sich die Rangierung der Monitore in Windows nicht mit der Rangierung von Win CC deckt.
Ich hatte die Anordnung der Monitore in Windows geändert weil die Monitore übereinander montiert sind ich mußte vorher immer rechts aus Monitor 1 raus um auf Monitor 2 zu gelangen.

Problem gelöst!!:D

Für die die es interressiert:

Das Diagnosefenster ist ein "Aplikationsfenster" mit dem Fensterinhalt "Global Script" und der Vorlage "GSC-Diagnose".
Das ist sehr hilfreich wenn man das gefühl hat das ein Script nicht richtig ausgeführt wird!
Ich werde mir jetzt fest ein Diagfenster in mein Projekt einbauen das ich bei bedarf aufrufen kann.

MFG
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das Diagnosefenster ist ein "Aplikationsfenster" mit dem Fensterinhalt "Global Script" und der Vorlage "GSC-Diagnose".
Das ist sehr hilfreich wenn man das gefühl hat das ein Script nicht richtig ausgeführt wird!
Ich werde mir jetzt fest ein Diagfenster in mein Projekt einbauen das ich bei bedarf aufrufen kann.

MFG

Naja, oder APDIAG halt, wenn grad kein Diagnosefenster im Projekt eingebaut ist. Zu mal im GSC-Diagnosefenster auch nur etwas erscheint, wenn es grad aktiv ist. Wenn ich ein Script in nem normalen Bild testen muss, geht's nur mit APDIAG.

Gruß.
 
Naja, oder APDIAG halt, wenn grad kein Diagnosefenster im Projekt eingebaut ist. Zu mal im GSC-Diagnosefenster auch nur etwas erscheint, wenn es grad aktiv ist. Wenn ich ein Script in nem normalen Bild testen muss, geht's nur mit APDIAG.

Gruß.[/QUOTE]

Das mit dem APDIAG sagt mir jetzt garnichts.
Was ist das genau?
MFG
 
Zurück
Oben