CX Supervisor Fortgeschritten V3 Ohne Rez

Als pdf oder txt herunterladen
Als pdf oder txt herunterladen
Sie sind auf Seite 1von 126

Der einfache Weg zu

komplexenVisualisierungs-Anwendungen

1
Themenübersicht
Datenbank- CX-Supervisor als
Wiederholung
3 Anbindung 45 OPC-Client 100

Daten- ActiveX
aufzeichnung 19 Steuerelemente 67 148

Dateiverwaltung Rezepte _ Optimierung


24 81 127 156

Berichte Windows
Mehrsprachigkeit
ausdrucken 33 90 verriegeln 110

2
Ziele des Trainings

h Erweiterter Überblick über CX-Supervisor und seine


Anwendung geben
h Erlernen der erweiterten Funktionen von CX-Supervisor
h Vermitteln erweiterter Anwendungserfahrungen durch
praktische Arbeit mit einem Übungsprojekt, das während des
Trainings erstellt wird

3
Inhalt – Teil 1a
h Einstieg
h Projekt-Editor & Seiten
h Prozesspunkte (Points) & Variablen
h Grafische Objekte
h Animation
h Grafische Bibliothek

4
Inhalt – Teil 1b
h Diagramme
h Skripte
h Alarme
h SPS-Kommunikation
h Arrays als Kommunikationsvariablen (Verwendung von Alias)
h Benutzer-Zugriffs-Ebenen/ -Beschränkung (Sicherheit)
h Optimieren von Visualisierungs-Anwendungen

5
Inhalt – Teil 2
h Datenaufzeichnung
h Dateiverarbeitung
h Berichte ausdrucken (Reports)
h Datenbank-Anbindung
h Rezepte
h ActiveX Steuerelemente
h CX-Supervisor als OPC-Client
h Mehrsprachigkeit
h Verriegeln des Windows-Betriebssystems

6
Funktionsumfang zur Laufzeit
h Bedienerschnittstelle zum Prozess
h Datenerfassung und Überwachung
h Informations-Management
h Produktionssteuerung
h Aufsichts-Steuerung (Supervising)
h Fertigungs Ablaufsteuerung (Batch sequencing)
h Kontinuierliche Prozess-Steuerung
h Alarm-Überwachung und Aufzeichnung
h Material-Lenkung (Überwachung und Steuerung)
h Simulation und Modellierung durch grafische Animation
h Daten-Aufzeichnung
h Fehler-Aufzeichnung
h Projekt-Editor und Querverweise
h Report-Editor
h Datenbank-Zugriff
7
Technische Merkmale

h Leistungsfähige und einfach zu verwendende Entwicklungsumgebung


h Kommunikationstreiber für OMRON SPS und Temp.-Regler und Motion-
Controller und Modbus-TCP/IP integriert
h Leistungsfähige Skript-Sprache
h Anbindung von Windows-Anwendungen mit OLE oder OPC
h Alarm-Management-System
h Weitreichende Datenaufzeichnungs- und Anzeige- Möglichkeiten
h Berichts-Generierung (inklusive HTML)
h Bibliothek mit vielen grafischen Objekten
h Anbindung externer Datenbanken via ADO / ODBC

8
CX-Supervisor - Produkte
h Entwicklungs-System: CX-SUPERVISOR
h Zur Entwicklung der Anwendung, Freischaltung mit Lizenz
h Runtime System:
h CX-SUPERVISOR-RUN-PLUS oder
h CX-SUPERVISOR-RUN-ME
h Enthält ein USB-Dongle und eine CD mit dem CX-Server
h CX-SUPERVISOR-TRIAL
h Für Schulung und Test
h 30 Tage voll
h danach begrenzt auf 50 Punkte, maximal 2 Stunden online

9
Software Anforderung / Beschränkungen
h Microsoft Windows XP, Vista

Merkmal Machine Edition PLUS

Max. Anz. Benutzer-Punkte 500 / 512,000 8,000 / 8,192,000


/ Max. Anzahl Elemente
(SPS-Array mit 1024 Elementen = 1 Punkt)

Anzahl Alarm-Definitionen 300 5000


Max. Anzahl von Geräten 15 256
(SPS, usw.)
Max. Anzahl von Seiten 100 500

Max. Anzahl von Skripten in 10 100


regelmäßigen Intervallen
Unterstützte Datenbanken Nur MS Access MS Access, SQL, ODBC,
MS Excel, Dbase, CSV

10
Haben Sie Fragen
zu diesem Thema?

11
Datenaufzeichnung

Ein wichtiges Werkzeug


Datenaufzeichnung
h Die Datenaufzeichnung ermöglicht es:
h Die Anzahl der Punkte und/ oder Ausdrücke, die
aufgezeichnet werden zu spezifizieren.
h Einfacher Betrieb, kein Skript benötigt.
h Ansicht dieser Punktwerte zur Laufzeit oder bei späteren
Auswertungen.
h Möglichkeit des Exports der Daten zu anderen Anwendungen
h Möglichkeit die Daten direkt in eine externe Datenbank zu
speichern.

13
Während der Projekt-Entwicklung...

h Einfache Hierarchie in drei Ebenen


h Punkte(Items) – Ein Item ist ein Datenpunkt, der mit seinen
Aufzeichnungseigenschaften aufgezeichnet wird.
h Gruppen – Um ähnliche oder zusammenhängende
Datenpunkte zu erfassen
h Datensätze – Um Gruppen oder auch einzelne Datenpunkte
in einer Datei zu erfassen

14
Zugriff auf Datenaufzeichnungs-Einstellungen
h Im Arbeitsbereich, den Reiter Datenaufzeichnung aktivieren

Datensatz

Datenpunkte

15
Datensätze hinzufügen
h Klicken Sie mit der rechten Maustaste in das
Arbeitsbereichsfeld und wählen Sie Datensatz hinzufügen

h Geben Sie den Namen des Datensatzes ein


h Geben Sie die Aufzeichnungs-Laufzeit ein
h Geben Sie an, wieviele Dateien auf der Festplatte
vorgehalten werden
h Geben Sie an, ob die Datenaufzeichnung bei
Anwendungsstart gestartet werden soll

16
Punkte hinzufügen
h Klicken Sie mit der rechten Maustaste auf den Datensatz und
wählen Sie Punkt hinzufügen
h Datenpunktnamen angeben
h Der aufzuzeichnende Punkt
(Variable) oder Ausdruck wird unter
Ausdruck angegeben
h Datentyp auswählen
h Totzone angeben, um die
Aufzeichnung leicht schwankender
Werte zu vermeiden
h Auswahl, ob der Wert bei Änderung
oder mit festem Intervall
aufgezeichnet wird
h Die Skalierung dient der besseren
Sichtbarkeit der Daten im Diagramm

17
Zur Laufzeit...
h Die Daten werden in einem Verzeichnis aufgezeichnet, dass
Data logging heißt, unter dem Projektverzeichnis
h Nachdem die angegebene Laufzeit abgelaufen ist, werden die
Daten in einer neuen Datei aufgezeichnet.
h Automatische Datei-Löschung eingeschlossen
h Das Format der Daten in der Datei ist:

<Datensatzname><[YYYY MM DD HH]>.dlv
Beispiel... mydataset[2000073111].dlv

18
Data Log Viewer

h Separates Anzeige-Tool für die aufgezeichneten Daten,


kann von der Applikation oder dem Betriebssystem direkt
gestartet werden
h Individuelle analoge und digitale Anzeigen
h Zoom, Schwenk, Punkt- und Farb-Auswahl
h Unterschiedliche Anzeigeformate auswählbar
h Export als CSV, JPG oder Text
h Live-Auffrischung und Aktualisierung

19
Data Log Viewer Aufruf
Ist ein seperates Programm
h Aufruf über Start-Knopf
h Oder zur Laufzeit über Kontextmenü (rechte Maustaste)

20
Data Log Viewer
h Anzeige-Tool für die aufgezeichneten Daten

21
Aufgezeichnete Dateien ansehen
h Wenn eine Datei zur Anzeige geöffnet wird, erscheint folgendes
Fenster:

h Anzuzeigende Punkte auswählen

22
Daten exportieren
h Einrichtung um Daten zu exportieren, in CSV, JPG oder Text-
Format
h Automatische Datei-Namens-Erzeugung
h Möglichkeiten, um zusätzliche Informationen in der Datei zu
hinterlegen, wie z.B. Datum, Uhrzeit, Aufzeichnungsunter-
brechungen, usw.

23
Skript-Funktionen zur Datenaufzeichnung

h ClearLogFile: Löscht die Aufzeichnungs-Datei


h CloseLogFile: Schließt die Aufzeichnungs-Datei
h CloseLogView: Schließt den Data Log Viewer
h ExportAndViewLog: Exportiert und zeigt die Aufzeichnung
h ExportLog: Exportiert die Aufzeichnung
h OpenLogFile: Öffnet die Aufzeichnungs-Datei
h OpenLogView: Öffnet den Data Log Viewer
h StartLogging: Startet die Datenaufzeichnung
h StopLogging: Stoppt die Datenaufzeichnung

24
Beispiel Datenaufzeichnung

25
Anlegen der Gruppen und Punkte im Beispiel

26
Starten, Stoppen, Exportieren im Skript
Mehrere Log-Files
(Chargen) können parallel
offen sein bzw. beschrieben
werden

Hier wird der geschlossene


Log-File komplett in Excel-Format
Exportiert !!

27
Typisches Projekt zur Datenaufzeichnung

Metallteile vorwiegend für die


Automobilindustrie werden
speziell gehärtet und gezielt
abgekühlt.
Aus Qualitätssicht müssen
Temperaturen, Drücke und
Drehzahlen über eine Schicht
bzw. Charge gezielt geloggt
werden.
Über Trend und Loggrafen
dann einsehbar. Zusätzlich
werden die Logdateien in
Excelformat gewandelt.

28
Typisches Projekt zur Datenaufzeichnung

29
Haben Sie Fragen
zu diesem Thema?

30
Dateiverarbeitung

Abspeichern, Exportieren, Importieren


Dateiverarbeitung
h Der CX-Supervisor kann Werte aus komma-separierten Dateien
(CSV) schreiben oder lesen
h Zum Beispiel zum Mitschreiben der aufgetretenen
Bedienungsanforderungen
h Einlesen von variablen Texten für verschiedene Sprachen
h Auf eine Datei kann von verschiedenen Applikationen gleichzeitig
zugegriffen werden

32
Skript-Funktionen für die Dateiverarbeitung
h CloseFile – Geöffnete Datei schließen
h CopyFile – Angegebene Datei kopieren
h DeleteFile – Löscht die angegebene Datei
h FileExists – Überprüft die Existenz einer Datei
h MoveFile – Angegebene Datei wird umbenannt
h OpenFile – Öffnet die angegebene Datei
h PrintFile – Druckt die angegebene Datei
h Read – Liest Daten aus einer geöffneten Datei in einen Punkt
h Write – Schreibt einen Wert in eine geöffnete Datei
h ReadMessage – Liest Text von einer externen Datei
h WriteMessage – Schreibt Text in eine externe Datei
h SelectFile – Benutzerdialog zur Dateiauswahl (Datei öffnen)
h EditFile – Editiermöglichkeit der angegebenen Datei
33
Skript-Beispiel

OpenFile(“c:\lib\scsdata.csv”)
ret = Read(field, temp, pres)
CloseFile()
ret = OpenFile(“data.csv”)
ret = Write(field, temp, pres)
CloseFile()
CopyFile(“data.csv”, “c:\archiv\data.csv”)

34
Beispiel: Schreiben von Daten in eine EXCEL Datei
Zeiger=0 `öffnen der CSV Datei
Steuerbit_file = OpenFile("d:\test\"+Seriennummer+".csv")

CloseFile(TRUE) Nur eine Datei kann offen


sein bzw. beschrieben
werden, nicht mehrere !

35
Beispiel: Unicode Dateien mit dem Supervisor einlesen
Dies wird benötigt um variable Texte, die als Meldungen, Hinweise und
nähere Beschreibung im Projekt verwendet werden, auch in verschiedenen
Sprachen darstellen zu können.
Unicode ist wichtig für Kyrillische und asiatische Sprachen.

Vorteil:
- Es müssen nur die Texte in den Dateien geändert werden.
- Es ist dann nicht mehr nötig das ganze Projekt neu zu kompilieren
und eine neue Sprachdatei zu erzeugen.
- Wenn Texte im Projekt hinzugefügt werden, bedeutet das, das alle
schon erstellten Sprachdateien in den anderen Sprachen noch
einmal bearbeitet werden müssen.

36
Datei einlesen mit VB Script
Projektscript als Unterprogramm zum Unicode Datei einlesen.
Dateiname wird beim Aufruf übergeben.

SUB Unicode_Datei_lesen( Filename AS TEXT )

tempText = Filename

@VBSCRIPT

Dim fso, f, VBA_Name, Zeile, indirekt

VBA_Name = tempText ‘ ------ Pfad_Unicode


Zeile = 0

Set fso = CreateObject("Scripting.FileSystemObject") ' ----- File Objekt erstellen

Set temp = fso.GetFile(VBA_Name) ' ----- Datei dem File Objekt zuordnen

Set f = temp.OpenAsTextStream(1, -1) ' ----- Datei als Stream öffnen -1 = Unicode Datei

tempText = f.ReadAll ' ----- alles auf einmal

f.Close ' ----- Datei wieder schließen

@ENDSCRIPT

END SUB

37
Datei zeilenweise einlesen
Eine andere Möglichkeit wäre das zeilenweise Einlesen aus der Datei.

Do While f.AtEndOfStream <> True ' Auf Dateiende abfragen.

UnicodeText = f.ReadLine
Meldungstext ( Zeile ) = UnicodeText ‘ statt [] müsen () verwendet werden

Zeile = Zeile + 1
Loop

Ich habe mir dann mit folgendem Supervisor Script geholfen:

tempInt = GetTextLength(tempText) ' ----- komplette Datei aufteilen


Zeiger = 0
FOR iLoop = 0 TO tempInt
tempZeichen = Mid(tempText,iLoop,1)
IF tempZeichen == ";" THEN
Zeiger ++
Meldungstext[Zeiger] = ""
ELSE
Meldungstext[Zeiger] = Meldungstext[Zeiger] + tempZeichen
ENDIF
NEXT

38
Haben Sie Fragen
zu diesem Thema?

39
Berichte ausdrucken

Statistische Informationen präsentieren


Berichte erstellen
h Der CX-Supervisor kann Werte in vorgefertigte Formulardateien
(Templates) eintragen, anzeigen und ausdrucken
h Dateien können folgende Formate besitzen:
h .TXT
h .RTF
h .HTML

41
Beispiel für einen Bericht
Arbeitsschicht-Bericht

Produzierte Bierfässer 2192


Ausgelaufene Bierfässer 6
Leer aufgefundene Bierfässer 2
Anzahl betrunkener Arbeiter 2

42
Beispiel-Formular (Template)
Arbeitsschicht-Bericht

Produzierte Bierfässer ((Barrels))


Ausgelaufene Bierfässer ((Spilled))
Leer aufgefundene Bierfässer ((Empty))
Anzahl betrunkener Arbeiter ((Drunk))

43
Vorgabe, der den Punkt einschließenden Zeichen
h Die Textzeichen, die den Beginn und Ende eines Punktnamens
markieren, können geändert werden unter: Projekt /
Laufzeiteinstellungen / Punktersetzungseinstellungen...

44
Spezifikations-Symbol-Formate
h %s für Punkte mit Texten
h %d für Integer (ganzzahlige) Punkte
h %xfy für Punkte mit Fließkommazahlen

Punkt = “Hallo”
((“Mein Textpunkt ist %s”, Punkt)) ... Mein Textpunkt ist Hallo

Punkt = 25
((“Mein Integerpunkt ist %d”, Punkt)) ... Mein Integerpunkt ist 25

Punkt = 1234.5678
((“Die Gleitkommazahl ist %4f2”, Punkt)) ... Die Gleitkommazahl ist 1234.56

45
Skript- Funktionen zur Berichtserstellung
h GenerateReport – Erstellt einen Bericht aus der
Formulardatei (Template)

h PrintReport – Druckt einen Bericht

h ViewReport – Zeigt einen Bericht an

46
Haben Sie Fragen
zu diesem Thema?

47
Datenbanken

Die professionelle Art Informationen zu Speichern,


Exportieren oder Importieren
Datenbank-Möglichkeiten mit der Visualisierung
Die CX-Supervisor Datenbankanbindung erlaubt schnellen und transparenten Zugriff
auf viele verschiedene Standard-Datenquellen durch die ADO-Datenbanktechnologie
(ADO = Active Data Object).
Umfangreiche Datenbankfunktionen in der Script-Sprache ermöglichen die vollständige
funktionelle Einbindung in CX-Supervisor Anwendungen.

Merkmal Machine Edition PLUS

Unterstützte Datenbanken Nur MS Access MS Access (*.mdb),


MS-Excel (*.xls),
Textdateien (*.csv, *.txt)
Visual FoxPro (*.dbf)
Die nutzbaren Datenquellen mit der PLUS-Version können je nach installierten Treibern
folgende Typen umfassen:
*.dsn - Datei SQL-Server, Dbase,
ODBC für Oracle, Paradox

49
Begriffe in Datenbanken
• Feld: Ein einzelner Datenwert
• Spalte: Eine Menge von Feldern, die alle von der gleichen Sorte sind
und dem gleichen Zweck dienen, auch Attribute genannt
• Datensatz: Entspricht einer Zeile in einer Tabelle und wird mathematisch
auch Tupel genannt
• Datensatz-Tabelle: Eine Menge von gleichartigen Datensätzen, auch Datenbanktabelle
oder Datensatzgruppe oder Arbeitsblatt (Excel) genannt

Spalte Feld Datensatz

Datensatz
-Tabelle

50
Begriffe in Datenbanken

• Abfrage:
– Eine Anfrage zu Feldern eines Datensatzes, die gewissen Kriterien
entsprechen, von einer oder mehreren Tabellen
– Zurückgelieferte Daten können sortiert werden
– Abfragen können im Datenbank-Server (“Serverabfragen”) oder im
Client (“Clientabfragen”) verarbeitet werden

• Abfrage-Parameter:
– Abfragen können feste Kriterien enthalten, aber auch ‘variable’ Parameter
z.B. ‘frühestes Datum’ / ‘Letztes Datum’ oder nur ‘ID’
– Es können für jede Abfrage unterschiedlich Parameter übermittelt werden

51
Begriffe in Datenbanken

• Datensatzgruppe = RecordSet:
– Eine Menge gleichartiger Datensätze
• Nicht zu verwechseln mit dem einzelnen Datensatz = Record
– Meist als ein Ergebnis einer Abfrage
– Kann ein Teil einer Tabelle sein, oder Daten von einer Kombination
von Tabellen

52
Begriffe in Datenbanken
• Datenbank:
– Top-Level-Container für alle Daten, Tabellen und Serverabfragen

53
Begriffe in Datenbanken

• Datenbank-Verbindung:
– Link zur Datenbank
– Inklusive Datenbank–Speicherort (Dateiname), Name der Software, um auf die
Datenbank zuzugreifen und optional Anmeldung mit Name und Passwort

Verbindung

54
Zuordnung zu den Feldern
• Die CX-Supervisor Datenbank-Funktionalität baut vollständig auf die
Zuordnung des CX-Supervisor-Punkts zum Datenbank-Feld auf:

Auf mehrere Datensätze


kann gleichzeitig zuge-
griffen werden, indem man
CX-Supervisor Array-
Punkte verwendet um z.B.
eine ganze Seite zu lesen.

55
Zuordnung zu den Feldern
• Bei einer lesenden Verbindung wird zur Laufzeit jeder Feldwert in den
CX-Supervisor-Punkt kopiert:

56
Datensätze hinzufügen

• Datenbanken benutzen ein


Konzept mit ‘Auffang-Datensatz’
um Felder zum Hinzufügen
neuer Felder bereitzuhalten.
• Die CX-Supervisor-Feldzu-
ordnung hat die Feldeigenschaft
‘Add’ um Felder der Datenbank
hinzuzufügen. Ein einfaches
Skript kann dann einen neuen
Datensatz hinzufügen (und
übergeben).

Leerer
Datensatz

57
Datenbank-Verbindungs- Editor
h In einer einfachen Baumstruktur mit 3 Ebenen

h Ebene 1) Datenbankverbindung –
um das Projekt mit der Datenquelle
zu verbinden (DSN, Access-Dateien,
Text-Dateien, usw.)
h Ebene 2) Datensatz-Tabelle – um
die angegebene Tabelle oder
Abfrage in der Datenquelle
auszuwählen
h Ebene 3) Feld– um Supervisor-
Punkte den Feldern in der
Datenbanktabelle oder Abfrage
zuzuordnen
h Ebene 3) Parameter für SQL –
Parameterübertragung aktivieren für
Abfragen, die das benötigen.

58
Datenbank-Verbindung konfigurieren
h Klicken Sie mit der rechten Maustaste in das Datenbank-
Arbeitsbereichsfeld und wählen Sie Verbindung hinzufügen

h Geben Sie einen Verbindungsnamen ein


h Geben Sie den Namen der Datenbank-Datei an
h Als Pfad kann auch “.\” für das Arbeitsverzeichnis angegeben werden
oder der Pfad kann auch weggelassen werden
h Geben Sie an, ob die Verbindung beim Start der
Anwendung aufgebaut werden soll

59
Datensatz-Tabelle konfigurieren
h Klicken Sie mit der rechten Maustaste auf die markierte
Verbindung und wählen Sie Datensatz hinzufügen

h Geben Sie einen Datensatznamen ein


h Der Datensatz kann folgenden Typ haben
h Tabellenname
h Serverabfrage
h SQL-Text
h Geben Sie für eine Access-Datenbank den
Tabellennamen an
h Geben Sie an, ob der Datensatz
automatisch bei Start der Anwendung
gelesen werden soll
h Geben Sie an, wie der Datensatz verriegelt
werden soll

60
Feldzuordnung konfigurieren
h Klicken Sie mit der rechten Maustaste auf den markierten
Datensatz und wählen Sie Feld hinzufügen

h Geben Sie einen Feldnamen ein


h Geben Sie den Punkt (Variable) an, in
den der Wert aus der Datenbank
übertragen werden soll
h Geben Sie den Feldnamen in der
Tabelle der Datenbank oder die
Serverabfrage an, die mit dem Punkt
verlinkt werden soll
h Geben Sie an, wie auf das Feld
zugegriffen werden soll,
Value = Lesen/Schreiben

61
SQL-Parameter konfigurieren
h Klicken Sie mit der rechten Maustaste auf den markierten
Datensatz und wählen Sie Parameter hinzufügen

h Geben Sie den Parameternamen an


h Geben Sie den Index an, der zum
dazugehörigen Wert des Abfrage-
Parameters gehört
h Geben Sie den Datentyp an
h Geben Sie den zu verbindenden Punkt
oder Ausdruck an
h Geben Sie an, ob der zu übertragende
Wert eine Konstante oder ein Punkt
(Variable) ist

62
Navigation

• Es gibt CX-Supervisor Skript-Kommandos um zu den gewünschten Datensätzen


zu navigieren, jedes Mal, bevor die Punktwerte gelesen oder geschrieben
werden.
• Das Lese-Kommando kann auch automatisch zum nächsten Datensatz
navigieren.

• DBMove( "Connection1.Recordset2", "Next" )


• DBMove( "Connection1.Recordset2", "Previous" )

• DBRead( "Connection1.Recordset2" )
• record_index = DBProperty( "Connection1.Recordset2", "CurrentRecord" )

63
Skript-Funktionen für Datenbanken
h DBAddNew – Hinzufügen eines Datensatzes zu einer Tabelle
h DBDelete – Löschen der angegebenen Anzahl Datensätze beginnend mit der akt. Position
h DBExecute – Erlaubt die Ausführung mehrerer Kommandos
h DBGetLastError – Gibt die zuletzt generierte Fehlermeldung des Datenbank-Servers zurück
h DBMove – Zur Navigation von Datensatz zu Datensatz
h DBOpen / DBClose – Öffnet / Schließt eine Verbindung oder Datensatztabelle
h DBProperty – Gibt die angefragte Eigenschaft zurück
h DBRead, DBWrite – Liest, Schreibt einen Datensatz von/zur Datensatztabelle zu den
zugeordneten Punkten
h DBSChema – Gibt Kommandos aus, um Ergebnisse oder Eigenschaften von Schemas zu
lesen oder stellt Kriterien von neuen Schemas ein
h DBState – Gibt den Zustand der angegebenen Verbindung (Level) zurück
h DBUpdate – Frischt den neuen Datensatz in einer Tabelle auf
h DBSupports – Gibt TRUE zurück, wenn die angegebene Tabelle die angefragte Operation
unterstützt

64
Datenbankanbindung unter Visualisierung – CX-Supervisor z.B
mit Excel oder Access

DBWrite( "Verbindung1.Tab1_RW" )
DBAddNew( "Verbindung1.Tab1add" )

Nur die CSV oder MDB Datei


muß auf dem PC liegen
65
SQL Datenbank
Anbindung an den
Supervisor

66
Installieren und einstellen von MySql

Installation Es müssen folgende Programme/Treiber installiert werden :


1. Den SQL Server mysql-3.23.51-win. Ohne den kann man nicht auf eine SQL
Datenbank zugreifen.
2. Den ODBC Treiber für mysql MYODBC-3.51.03.exe. Damit ist das erstellen
einer Datei dsn sehr einfach.
3. Wenn noch keine Datenbank existiert dann muß MySql- Front noch installiert
werden. In dem Programm werden die Datenbanken erstellt und getestet.

SQL Server wenn der SQL Server schon läuft dann sieht man unten eine grüne Ampel,
ansonsten muß er von Hand gestartet werden (C:\mysql\bin WinMysqladmin )
In diesem Programm kann der Server auch konfiguriert werden (Benutzer )
Dann MySQL Front starten und eine neue Verbindung aufbauen. Für eine lokale
Datenbank gibt man Hostname = localhost ,Benutzer = root und Port 3306.
Die Verbindung erfolgt über TCP/IP auf dem lokalen Rechner. Der Benutzer root
ist ein Standardbenutzer ohne Passwort. Um Benutzer und Passwörter zu ver-
geben muß man bei der Erstellung und Konfiguration der dsn Datei diese mit
angeben.

67
Installieren und einstellen von MySql

my.ini Datei mit dem Programm WinMysqladmin wird auch eine ini Datei erstellt ( Reiter aus-
wählen und Save Modifikation ). In dieser sind die Einstellungen des SQL
Servers und Computer Einstellungen gespeichert.

Netzwerk Auf beiden Rechnern muß MySQL installiert sein. Konfiguration des lokalen
SQL Servers siehe oben. Will man von einem Rechner auf den Rechner mit der
Datenbank zugreifen muß der Hostname oder IP Adresse bekannt sein.
Desweiteren braucht man den Benutzernamen und das Passwort von der Daten-
bank auf die man zugreifen will ( wenn es nicht root ist ).
Um die Verbindung aufzubauen startet man MySQL Front und geht auf
Verbinden. In diesem Fenster gibt man die Parameter für die neue Verbindung
ein. Verbindungsname, Host/ IP = IP Adresse eingeben (z.B. 192.168.120.30)
User = Benutzername oder root, Passwort = wenn benötigt und Datenbank
die man auslesen will. Nachdem man die Eingaben gemacht hat diese Ver-
bindung speichern und dann verbinden mit dem Server.

68
Datenbank und Schnittstelle erstellen

dsn Datei erstellen Die dsn Datei beinhaltet die Verbindungsdaten zur SQL Datenbank.
über Einstellungen\Verwaltung\ODBC Quellen wird der Datenbank eine dsn
Datei zugewiesen über welche der Datenaustausch realisiert wird. Dafür den
Reiter File dsn anwählen und den ODBC Treiber auswählen (MYSqlODBC)
und einen Dateinamen vergeben. Das gilt nur für den Treiber MySQL ODBC
Version 3.51. Mit einem anderem Treiber ist es schwieriger eine Datei dsn zu
erstellen. Vermutung : es muß erst eine System dsn erstellt werden, dann mit
dem gleichen Namen eine Datei dsn.

Datenbank erstellen Beim Start von MySqlFront muß man sich mit dem SQL Server und der Daten-
bank verbinden. Wurde ein anderer Benutzername als "root" vergeben, so ist
dieser zu benutzen, dasselbe gilt für ein Passwort. Wurde die Verbindung her-
erstellt man mit MYSQL Front die Datenbank. Tabelle, Felder festlegen und die
Datentypen der einzelnen Felder. Praktisch die Struktur der Datenbank vor-
geben.

69
Einstellung am Supervisor

Die Einstellung erfolgt analog zu einer Access Datenbank, nur wählt man hier die dsn Datei aus, die man vorher erstellt hat.

Auswahl der Datenquelle

Auswahl der dsn Datei. Sie sollte im


Ordner C:\Programme\Gemeinsame
Dateien\ODBC\Data Sources\
stehen. Bei der Erstellung der Datei
kann man diesen Ordner angeben.

Nach diesen Einstellungen kann man sich zur Datenbank verbinden (SQL Server muß laufen).

70
Lesen und navigieren in der Datenbank

Befehl Beschreibung

DBOpen( „DB Name" ) ohne Einschränkung


DBClose( „DB Name" ) ohne Einschränkung
DBProperty->BOF wird nicht true wenn die Datenbank am Anfang steht
DBProperty->EOF ohne Einschränkung
DBProperty->Current Record zeigt immer einen Satz weiter an als der mit Read angezeigte
DBProperty->Record count ohne Einschränkung
DBProperty->Current page gibt die Nummer des tatsächlich angezeigten Eintrags wieder
DBProperty->Page count wie Record count
DBProperty->Page size ?
DBProperty->Field count zeigt immer 0 obwohl die Datenbank 13 Felder hat
DBStatus->Open ohne Einschränkung
DBStatus->Close ist immer true auch wenn die Datenbank offen ist

DBMove->First ohne Einschränkung


DBMove->Last ohne Einschränkung
DBMove->Next springt immer 2 Sätze weiter Rückgabewert funktioniert richtig
DBMove->NextPage Rückgabewert ist 0 obwohl die Funktion richtig ausgeführt wurde
DBMove->Privious keine Reaktion
DBMove->PriviousPage springt auch zum nächsten Satz wie Next Rückgabe auch immer 0
DBMove->Position springt auch zum nächsten Satz wie Next Rückgabe auch immer 0

DBRead ohne Einschränkung

71
Datensätze bearbeiten in der Datenbank

Befehl Beschreibung
DBDelete( „DB Name" ) es wird der Datensatz gelöscht der mit Current Record angezeigt wird. Beispiel
angezeigt wird Satz 2 und gelöscht wird aber Satz 3
DBWrite hat dasselbe Problem es wird der nächste Satz geändert, nicht der angezeigte
DBAddNew ohne Einschränkung
DBUpdate nur nach einem Datensatz anhängen
DBExecute->Requery ohne Einschränkung
DBExcute->SQL es können SQL Kommandos an die Datenbank geschickt werden, für das
ändern von Datensätzen sehr sinnvoll. Siehe nächste Folie

72
Datensätze bearbeiten mit SQL Kommandos

Supervisor Script:
SQL Befehl um in der Tabelle1 in der Spalte Zähler
den Wert zu verändern. SET
comandSQL = "UPDATE tabelle1 SET Zähler_1 = "
Wert = ValueToText(Count_1_SQL) Einen Supervisor int Punkt in Text wandeln und dem
Kommando hinzufügen.
comandSQL = comandSQL + Wert
comandSQL = comandSQL + " WHERE Position = 0" SQL Befehl um den Wert in jeden Datensatz indem
die Spalte Position auf 0 ist einzutragen.
bResult = DBExecute( "Verbindung_SQL_dsn", "SQL", comandSQL ) SQL Befehl mit der Methode Execute an die
IF !bResult THEN Datenbank schicken.

Status_SQL = DBGetLastError( "Verbindung_SQL_dsn", TRUE )


Ist der Rückgabewert = 0 dann letzten Fehler
ENDIF abfragen.

73
Datenaustausch zwischen
2 Supervisor Applikationen mit der SQL Datenbank
Struktur der SQL Datenbank

Spalte Anlage gibt an aus welcher Anlage die Daten kommen. Ein Datensatz ist
immer einer Anlage zugeordnet.

Spalte aktiv gibt an ob die Anlage Daten übermittelt ( eventuell ob sie vorhanden ist)
und damit die Daten aktuell sind

74
Benötigte Punkte

Punkt Typ E/A Typ Arraygröße

Anlage_aktiv Boolean Speicher 10 Aus / Ein [FALSE] Freigabe in die DB schreiben


cmdSQL Text Speicher 1 SQL Komando
Daten_Anlage1 Integer Speicher 9 0 to 99999999 [0] Beschreibung
Daten_Anlage2 Integer Speicher 9 0 to 99999999 [0] Beschreibung
Daten_Anlage3 Integer Speicher 9 0 to 99999999 [0] Beschreibung
Daten_Anlage4 Integer Speicher 9 0 to 99999999 [0] Beschreibung
DB_Anlage Integer Speicher 1 0 to 99999999 [0] Beschreibung
DB_Anlage_aktiv Boolean Speicher 1 Aus / Ein [FALSE] Beschreibung
DB_Anlage_aktiv1 Boolean Speicher 1 Aus / Ein [FALSE] Beschreibung
DB_Anlage_aktiv2 Boolean Speicher 1 Aus / Ein [FALSE] Beschreibung
DB_Anlage_aktiv3 Boolean Speicher 1 Aus / Ein [FALSE] Beschreibung
DB_Anlage_aktiv4 Boolean Speicher 1 Aus / Ein [FALSE] Beschreibung
DB_Daten_Anlage1 Integer Speicher 9 0 to 99999999 [0] Beschreibung
DB_Daten_Anlage2 Integer Speicher 9 0 to 99999999 [0] Beschreibung
DB_Daten_Anlage3 Integer Speicher 9 0 to 99999999 [0] Beschreibung
DB_Daten_Anlage4 Integer Speicher 9 0 to 99999999 [0] Beschreibung
DB_Daten1 Integer Speicher 1 -99999999 to 99999999 [0] Beschreibung
DB_Daten2 Integer Speicher 1 -99999999 to 99999999 [0] Beschreibung
DB_Daten3 Integer Speicher 1 -99999999 to 99999999 [0] Beschreibung
DB_Daten4 Integer Speicher 1 -99999999 to 99999999 [0] Beschreibung
DB_Daten5 Integer Speicher 1 -99999999 to 99999999 [0] Beschreibung
DB_Daten6 Integer Speicher 1 -99999999 to 99999999 [0] Beschreibung
DB_Daten7 Integer Speicher 1 -99999999 to 99999999 [0] Beschreibung
loop1 Integer Speicher 1 0 to 99999999 [0] Schleifenzähler
Punktezeiger Text Speicher 1 Beschreibung
sError_DB Text Speicher 1 Fehlermeldung
sWert Text Speicher 1 Daten der Wandlung ValueToText

75
Schreiben der Daten in die SQL Datenbank

REM Anlage 1
IF Anlage_aktiv[0]==TRUE THEN
REM Anlage 1 als aktiv melden
cmdSQL = "UPDATE tabelle1 SET aktiv= 1 WHERE Anlage = 1" REM Schleife um die Daten zu übertragen
bResult = DBExecute( "DAS_DB_Anlagen", "SQL", cmdSQL ) FOR loop1= 1 TO 7
IF !bResult THEN cmdSQL = "UPDATE tabelle1 SET "
sError_DB = DBGetLastError( "DAS_DB_Anlagen", TRUE ) sWert = ValueToText(loop1)
ENDIF cmdSQL = cmdSQL + "Daten" + sWert + "= "
sWert = ValueToText(Daten_Anlage1[loop1])
cmdSQL = cmdSQL + sWert +" WHERE Anlage = 1"
bResult = DBExecute( "DAS_DB_Anlagen", "SQL", cmdSQL )
ELSE IF !bResult THEN
REM Anlage 1 als nicht aktiv melden sError_DB = DBGetLastError( "DAS_DB_Anlagen" , TRUE )
cmdSQL = "UPDATE tabelle1 SET aktiv= 0 WHERE Anlage = 1" ENDIF
bResult = DBExecute( "DAS_DB_Anlagen", "SQL", cmdSQL ) NEXT
IF !bResult THEN
sError_DB = DBGetLastError( "DAS_DB_Anlagen", TRUE )
ENDIF
ENDIF

76
Lesen der Daten aus der SQL Datenbank

REM Daten Anlage 1

DBMove( "DAS_DB_Anlagen.Tabelle1", "FirstPage" )


bResult = DBRead( "DAS_DB_Anlagen.Tabelle1" )
IF !bResult THEN
Status_SQL = DBGetLastError( "DAS_DB_Anlagen", TRUE )
ENDIF

DB_Anlage_aktiv1 = DB_Anlage_aktiv
IF DB_Anlage_aktiv1 THEN

FOR loop1 =0 TO 6

intTest = loop1 +1
sWert = ValueToText(intTest)
Punktezeiger = "DB_Daten" + sWert
DB_Daten_Anlage1[loop1] = ^Punktezeiger

NEXT
ENDIF

77
Lesen eines Querys aus der SQL Datenbank

Punkt als Array anlegen und das SQL Query


dem Punkt zuweisen. Er muß nicht mit dem
Index zugewiesen werden (SQL_Daten1[0]).

In der Registerkarte Datenbank eine Tabelle


mit SQL Text anlegen und alle gewünschten
Punkte hinzufügen.

78
Lesen eines Querys aus der SQL Datenbank

comandSQL = "SELECT * FROM tabelle1 WHERE "


Hier werden die Punkte angelegten
comandSQL = comandSQL + Query_Spalte + " = " Array Punkte (z.B. SQL_Daten1)
textTest = ValueToText(Query_Wert) aus der Abfrage dargestellt. Hier
erfolgt der Zugriff über den Index.
comandSQL = comandSQL + textTest
bResult = DBExecute( "DAS_DB_Anlagen.SQL_Text", "Source", comandSQL )
IF !bResult THEN
Status_SQL = DBGetLastError( "DAS_DB_Anlagen", TRUE )
ENDIF

DBExecute( "DAS_DB_Anlagen.SQL_Text", "Requery" )


DBRead( "DAS_DB_Anlagen.SQL_Text" )

79
Haben Sie Fragen
zu diesem Thema?

80
ActiveX Steuerelemente

Bekannte Elemente von CX-Server-Lite und anderen Softwaren


z.B. VB, können auch im Supervisor zum Einsatz kommen
ActiveX Steuerelemente

h ActiveX ist ein Microsoft Standard für Software-Objekte mit


eigenständiger Funktionalität
h ActiveX Steuerelemente können auf den Seiten einer CX-
Supervisor Anwendung installiert werden
h Diese Steuerelemente sind in Dateien mit der Erweiterung *.ocx
enthalten und werden über Eigenschaften, Methoden und Events
in Visual Basic Skripte eingebunden

82
Installation eines ActiveX Steuerelementes
h Wählen Sie OLE in der Box oder dem Balken mit den grafischen
Objekten; es erscheint das dargestellte Dialogfenster zum
Einfügen von OLE Objekten in die Applikation:

h Wählen Sie das


gewünschte ‘ActiveX
Steuerelement’ aus der
vom Betriebssystem
registrierten Liste der
Steuerelemente

83
Bestandteile eines ActiveX Steuerelementes
h Eigenschaften: sind Characteristika des Objektes, z.B. die
Farbe der Font, die Position auf dem Bildschirm, der Name etc.
h Methoden: sind Funktionen, die mit diesem Objekt ausgeführt
werden können, z.B. Öffnen einer Datei, Drucken etc.
h Events: sind ‘Benachrichtigungen’ des Steuerelementes an
die Anwendung, z.B. über die Änderung eines Zustandes,
eines Wertes etc. (die Übergabe von Parametern wird nicht
unterstützt)

84
ActiveX Skript-Funktionen
h GetProperty: Lesen des Wertes einer Eigenschaft des angegebenen
Objektes
h PutProperty: Schreiben des Wertes einer Eigenschaft des
angegebenen Objektes
h Execute: Ausführen einer Methode des angegebenen Objektes
h ExecuteVBScript: Ausführen des angegebenen Visual Basic Skripts
h ExecuteJScript: Ausführen des angegebenen Java Skripts
h ExecuteVBScriptFile: Ausführen eines in einer Datei enthaltenen
Visual Basic Skripts
h ExecuteJScriptFile: Ausführen eines in einer Datei enthaltenen Java
Skripts

85
Eigenschaften eines Objektes - allgemeine Syntax

h GetProperty
h bValue = GetProperty( “MiActiveX”, “Height” )

Name einer
ActiveX Eigenschaft
CX-Supervisor
Varieblen (Point) Steuerelement

h PutProperty
h PutProperty(“MiActiveX”, “Height”, 50 )

ActiveX Wert
Steuerelement Eigenschaft

86
Methoden eines Objektes - allgemeine Syntax

h Execute
h Execute( “MiActiveX”, “AboutBox” )
h Execute( “WebBrowser”, “Navigate2”, “c:\page.html” )

ActiveX
Steuerelement Methode Parameter

87
Events eines Objektes
h Die Events, die eine ActiveX Komponente erzeugen kann, sind
im Animationseditor aufgeführt

Events

88
Ereignisse eines Objektes

h Ein ActiveX Ereignis kann


benutzt werden, um die
Ausführung eines Scripts
zu starten

89
Windows Scripting Host (WSH)

h Ermöglicht
h die Ausführung von Visual Basic und Java Scripts
h die Lösung komplexer Automationsaufgaben mit Hilfe
leistungsstarker Scriptfunktionen
h die Wiederverwendung bewährter Programme und
Lösungen
h den Zugriff auf CX-Supervisor Variablen (Points) oder
ActiveX Steuerelemente

90
Beispiel für ein VBScript

Markierungen für
den Beginn und
das Ende eines
VB-Scriptes

91
Haben Sie Fragen
zu diesem Thema?

92
Mehrsprachigkeit

Texte extrahieren, übersetzen, Sprachen umschalten


Übersetzungs- Tool
• Im Menü ‘Werkzeuge’ kann ein einfaches ‘Übersetzungs-Tool’
für Texte der Kundenanwendung aufgerufen werden.

• Einfach die gewünschte Sprache von den vorhandenen .LNG-


Dateien auswählen (dann wird eine neue Spalte für den zu
übersetzenden text hinzugefügt).

94
Übersetzungs- Tool
• Der Text, der in der
Anwendung vorkommt steht
in der linken Spalte und in
die neue Spalte muss der
neu übersetzte Text
eingetragen werden.

• Das Übersetzungs-Tool
kann auch als Stand-alone-
Tool benutzt werden, und
damit auch zu externen
(Nicht-Programmierern)
geschickt werden.

• Während der Laufzeit kann


dann eine andere Sprache
gewählt werden, und alle
Texte ändern sich.

95
Skript-Funktion zur Sprachumschaltung

h SetLanguage: Schaltet die Anzeigetexte auf die gewünschte


Sprache

96
Haben Sie Fragen
zu diesem Thema?

97
CX-Supervisor als OPC-Client

Die Verbindung mit Geräten


anderer Hersteller
CX-Supervisor und OPC
Bedingungs-Scripts Berichte
Alarme Rezepte Datenerfassung
Ausdrücke Datenbanken
Animation
Über OPC
Version 2.0

Speicher OPC
Server
SPS DDE
(CX-Server)

99
Multi-Vendor Lösungen
CX-Server OPC

Lan Netzwerk

CX-Supervisor
OMRON SPSen
Anderer OPC-Server

Lan Netzwerk

Andere Geräte
Anderer OPC-Server

Lan Netzwerk
Andere Geräte

100
Dezentrale Lösungen

CX-Supervisor

Lan
CX-Supervisor Netzwerk Geräte

OPC Server

VB
Anwendung
(Über ActiveX)

Wan

101
Konfiguration von OPC-Variablen
h Wählen Sie OPC/Other im Dialogfenster für die Konfiguration von
Variablen (Points)
h Das Fenster für die Konfiguration von OPC-Variablen wird geöffnet

h Wählen Sie aus:


h Server
h Gruppe
h Variable
h Die Verwendung von Arrays
ist möglich

102
Auswahl des Servers

h Wählen Sie eine der Kommu-


nikationskomponenten aus der Liste aus
(vom Betriebssystem registriert)

Hinweis: Die Konfiguration des Servers ist herstellerabhängig. Informieren Sie sich im Handbuch des Servers über
die Konfigurationsmöglichkeiten.

103
Auswahl der Gruppe

h In diesem Dialogfenster stellen Sie


ein:
h Name der Gruppe
h Update-Rate für die gesamte
Gruppe
h ob die Gruppe beim Start der
Applikation aktiviert werden soll

104
Auswahl der Variablen (Item)

hGeben Sie an:


h Name der Variablen
h ID der Variablen
h Datentyp
h ob es sich um ein Array handelt

Wenn die Kommunikation unterbrochen werden sollte, erfolgt ein automatisches Wiederverbinden.

105
Haben Sie Fragen
zu diesem Thema?

106
Web-Interface

Fernzugriff auf den Status des CX-Supervisors übers


Netz
Fernwartung

• Grafiklose Fernwartung über das


Internet

• Ein Web-Server erlaubt dem Kunden


über Netzverbindungen den Status der
CX-Supervisor Anwendung zu
überwachen:
– Punktinformation
• Werte Lesen/Sschreiben
– Alarmdaten
• Alarme quittieren und löschen
• Alarmprotokoll anzeigen
– Fehlerprotokoll
• Man sieht, ob Fehler aufgetreten waren
– Applikation
• Informationen über das laufende Projekt

108
Haben Sie Fragen
zu diesem Thema?

109
Optimierung
der Visualisierungs-Anwendung
Diese Hinweise bitte unbedingt befolgen!

DANKE!
Optimierungshinweise 1
h für Skripte und Schleifen:
h CX-Supervisor ist Ereignisgesteuert nicht Echtzeit
h So viel wie möglich von der SPS bearbeiten lassen
h Lassen Sie Skripte durch Ereignisse ausführen oder
versuchen Sie das Gleiche durch Animation von Objekten
zu erreichen
h Skripte mit regelmäßigem Intervall verbrauchen eine
Unmenge Resourcen des PCs. Vermeiden Sie sie,
wenn irgend möglich

111
Optimierungshinweise 2

h Eigenschaften der Punkte richtig bestimmen:


h Punkte, die nur gelesen werden, oder nur geschrieben,
nicht als Ein-/Ausgabe definieren
h Ausgaben nur bei Änderung beschreiben
h Punkte auf Seiten brauchen nur aufgefrischt werden,
wenn man sie sieht (nicht benötigte Seiten schließen)
h Nur Punkte für Trends, Alarme und Punkte für Reports
müssen Intervallweise aufgefrischt werden

112
Optimierung der Kommunikation
h Array-Punkte helfen das Kommunikationsaufkommen zu reduzieren. Es
ist eine effektive Möglichkeit die Kommunikation zu optimieren.
h Trotz Verwendung von Arrays können sinnvolle Namen verwendet
werden, durch die Benutzung der Alias-Möglichkeit
h Verwenden Sie möglichst wenige unterschiedliche Aktualisierungsraten.
Unterschiedliche Aktualisierungsraten behindern die automatische
Kommunikations-Optimierung
h Wählen Sie die Aktualisierungsraten nicht zu klein
h Führen Sie ein manuelle Optimierung durch mit den Skript-Kommandos
‘InputPoint’ oder ‘OutputPoint’
h Lassen Sie Ihre Anwendung analysieren unter dem Menüpunkt:
Projekt / Anwendung analysieren

113
Haben Sie Fragen
zu diesem Thema?

114
Sichern eines Windows PC
für den Betrieb mit einer
Supervisor-Runtime
gegen zufällige
oder auch absichtliche
Manipulationen des Bedienpersonals
August 27th, 2008

115
Was ist zu tun

ƒ Die Windows Shell muss deaktiviert werden

ƒ Der manuelle Start des Task Managers muß blockiert werden

ƒ Der PC muß ohne Login starten

ƒ Das Anwendungsprogramm (Runtime) muß beim Booten gestartet werden

ƒ Der Shutdown des PC muss aus der Runtime möglich sein

ƒ Wie gut ist der PC jetzt gesichert?


116
Die Windows Shell muss deaktiviert werden

ƒ In der Registry muß zum automatischen Öffnen beim Windows Aufstart die
Datei Explorer.exe entfernt werden
Achtung das ist nicht der Datei Explorer sondern die eigentliche Windows
Bedienoberfläche!

ƒ Ersatzweise wird hier der Name einer Command Batchdatei eingefügt die
dann sozusagen direkt aus dem Windows System Boot Vorgang die
Supervisor Anwendung startet. (mehr dazu später)

117
Die Windows Shell muss deaktiviert werden
1. Regedit starten und bis in den Pfad der unten in dem Fenster gezeigt ist
durchklicken, dann einen Doppelklick auf Shell.
2. Explorer.exe entfernen und C:\WINDOWS\SYSTEM32\START.CMD
eingetragen

3. Die Datei START.CMD wird im Pfad C:\WINDOWS\SYSTEM32 abgelegt


(wie die Datei START.CMD aussieht wird später noch gezeigt)

118
Der manuelle Start des Task Managers
muß blockiert werden

ƒ Ein neuer Windows User muß angelegt werden, Supervisor


versionsabhängig ein Administrator oder ein Hauptbenutzer (Poweruser)

ƒ Der Start des Taskmanagers muß für die neue User (User Group) gesperrt
werden

ƒ Der PC muß so eingestellt werden das er anschließend ohne manuellen


LogIn bootet

119
Der manuelle Start des Task Managers
muß blockiert werden
1. Ein neuer Windows User muß angelegt werden, Supervisor
versionsabhängig ein Administrator oder ein Hauptbenutzer (Poweruser)

120
Der manuelle Start des Task Managers
muß blockiert werden
2. Der Start des Taskmanagers muß für den neuen User gesperrt werden
indem der User an dieser Stelle entfernt wird (das unten gezeigte Fenster
erscheint wenn man unter C:\Windows\system32 auf taskmgr.exe mit
rechter Maustaste klickt, dann mit linker Maustaste auf Properties und auf
den Reiter security).

121
Der PC muß ohne Login starten

Auf Windows „Start“ und dann auf „ausführen“ („run“) klicken.


Dort eingeben „Control Userpasswords2“.
In dem dann erscheinenden Fenster unter dem Reiter „Users“
die Option
„Users must enter a user name and password to use this computer“
deaktivieren.

122
Das Anwendungsprogramm (Runtime)
muß beim booten gestartet werden

ƒ Die bereits erwähnte Command Batch Datei, Name ist z.B. START.CMD
muß z.B. mit Notepad erstellt werden und in dem angegebenen Pfad
(c:\windows\system32)) abgelegt werden
ƒ In die Datei wird zum Starten der Supervisor Runtime einfach der Pfad und
der Name der *.SR2 Datei (Runtime Startdatei CX-Supervisor) eingetragen

123
Der Shutdown des PC muss aus der
Runtime möglich sein

ƒ Die Supervisor Applikation selbst herunterfahren (erste Zeile des Scriptes)

ƒ Windows Shutdown auslösen mit einer Zeitverzögerung (zweite Zeile des


Scriptes)

124
Der Shutdown des PC muss aus der
Runtime möglich sein
ƒ Der Windows Shutdown Befehl hat verschiedene Optionen

125
Wie gut ist der PC jetzt gesichert?

ƒ Eine Fehlbedienung durch das Personal an der Maschine ist nicht möglich
zB. durch Anklicken von Windows „Start“ oder ähnlichem

ƒ Auch wenn Tastatur und Maus angeschlossen sind gibt es keine


Möglichkeit sich einzuloggen da das Administratorpasswort nicht bekannt
ist und der Taskmanager als „normaler user“ nicht gestartet werden kann
ƒ Es können keine Zugriffe auf die Festplatte oder andere Datenträger (USB)
durchgeführt werden, Datei kopieren/löschen/verschieben ist nicht
möglich, und es könne auch keine Spiele transferiert und gestartet werden
ƒ Aber: Der PC kann zB. noch im abgesicherten Modus gestartet werden

126

Das könnte Ihnen auch gefallen