Sie sind auf Seite 1von 126
Der e infache W eg zu komplexenVisualisierungs-Anwendungen 1

Der e infache W eg zu komplexenVisualisierungs-Anwendungen

1

Themenübersicht

Wiederholung 3
Wiederholung
3
Daten- aufzeichnung 19 Dateiverwaltung 24 Berichte ausdrucken 33
Daten-
aufzeichnung
19
Dateiverwaltung
24
Berichte
ausdrucken
33
Datenbank- Anbindung 45 ActiveX Steuerelemente 67 Rezepte 81
Datenbank-
Anbindung
45
ActiveX
Steuerelemente
67
Rezepte
81
Mehrsprachigkeit 90
Mehrsprachigkeit
90
CX-Supervisor als OPC-Client 100
CX-Supervisor als
OPC-Client
100
_ 127
_
127
148 Optimierung 156 Windows verriegeln 110
148
Optimierung
156
Windows
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

Inhalt – Teil 1a

h

Einstieg

h

Projekt-Editor & Seiten

h

Prozesspunkte (Points) & Variablen

h

Grafische Objekte

h

Animation

h

Grafische Bibliothek

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

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

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

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

Software Anforderung / Beschränkungen

h Microsoft Windows XP, Vista

Merkmal

Machine Edition

PLUS

Max. Anz. Benutzer-Punkte / Max. Anzahl Elemente

500 / 512,000

8,000 / 8,192,000

(SPS-Array mit 1024 Elementen = 1 Punkt)

Anzahl Alarm-Definitionen

300

5000

Max. Anzahl von Geräten (SPS, usw.)

15

256

Max. Anzahl von Seiten

100

500

Max. Anzahl von Skripten in regelmäßigen Intervallen

10

100

Unterstützte Datenbanken

Nur MS Access

MS Access, SQL, ODBC, MS Excel, Dbase, CSV

10

Haben Sie Fragen zu diesem Thema?

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.

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

Zugriff auf Datenaufzeichnungs-Einstellungen

h Im Arbeitsbereich, den Reiter Datenaufzeichnung aktivieren

Datenaufzeichnungs-Einstellungen h Im Arbeitsbereich, den Reiter Datenaufzeichnung aktivieren Datensatz Datenpunkte 15
Datenaufzeichnungs-Einstellungen h Im Arbeitsbereich, den Reiter Datenaufzeichnung aktivieren Datensatz Datenpunkte 15

Datensatz

Datenaufzeichnungs-Einstellungen h Im Arbeitsbereich, den Reiter Datenaufzeichnung aktivieren Datensatz Datenpunkte 15

Datenpunkte

Datensätze hinzufügen

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

Arbeitsbereichsfeld und wählen Sie Datensatz hinzufügen h Geben Sie den Namen des Datensatzes ein h Geben
Arbeitsbereichsfeld und wählen Sie Datensatz hinzufügen h Geben Sie den Namen des Datensatzes ein h Geben

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

Punkte hinzufügen

h Klicken Sie mit der rechten Maustaste auf den Datensatz und wählen Sie Punkt hinzufügen

auf den Datensatz und wählen Sie Punkt hinzufügen h Datenpunktnamen angeben h Der aufzuzeichnende

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

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

Data Log Viewer Aufruf

Ist ein seperates Programm

h

Aufruf über Start-Knopf

h

Oder zur Laufzeit über Kontextmenü (rechte Maustaste)

ein seperates Programm h Aufruf über Start-Knopf h Oder zur Laufzeit über Kontextmenü (rechte Maustaste) 20
ein seperates Programm h Aufruf über Start-Knopf h Oder zur Laufzeit über Kontextmenü (rechte Maustaste) 20

20

Data Log Viewer

h Anzeige-Tool für die aufgezeichneten Daten

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:

ansehen h Wenn eine Datei zur Anzeige geöffnet wird, erscheint folgendes Fenster: h Anzuzeigende Punkte auswählen

h Anzuzeigende Punkte auswählen

Daten exportieren

h

h

h

Einrichtung um Daten zu exportieren, in CSV, JPG oder Text- Format

Automatische Datei-Namens-Erzeugung

Möglichkeiten, um zusätzliche Informationen in der Datei zu hinterlegen, wie z.B. Datum, Uhrzeit, Aufzeichnungsunter- brechungen, usw.

Informationen in der Datei zu hinterlegen, wie z.B. Datum, Uhrzeit, Aufzeichnungsunter- brechungen, usw. 23

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

Beispiel Datenaufzeichnung

Beispiel Datenaufzeichnung 25

25

Anlegen der Gruppen und Punkte im Beispiel

Anlegen der Gruppen und Punkte im Beispiel 26
Anlegen der Gruppen und Punkte im Beispiel 26

Starten, Stoppen, Exportieren im Skript

Starten, Stoppen, Exportieren im Skript Hier wird der geschlossene Log-File komplett in Excel-Format Exportiert !! Mehrere

Hier wird der geschlossene

Log-File komplett in Excel-Format

Exportiert !!

Mehrere Log-Files (Chargen) können parallel offen sein bzw. beschrieben werden

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.

Typisches Projekt zur Datenaufzeichnung

Typisches Projekt zur Datenaufzeichnung 29

Haben Sie Fragen zu diesem Thema?

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

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

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”)

Beispiel: Schreiben von Daten in eine EXCEL Datei

Zeiger=0 `öffnen der CSV Datei Steuerbit_file = OpenFile("d:\test\"+Seriennummer+".csv")

= OpenFile("d:\test\"+Seriennummer+".csv") C l o s e F i l e ( T R U E

CloseFile(TRUE)

Nur eine Datei kann offen sein bzw. beschrieben werden, nicht mehrere !

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.

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 Zeile = 0

Set fso = CreateObject("Scripting.FileSystemObject")

Set temp = fso.GetFile(VBA_Name)

Set f = temp.OpenAsTextStream(1, -1)

tempText = f.ReadAll

f.Close

@ENDSCRIPT

END SUB

‘ ------ Pfad_Unicode

' ----- File Objekt erstellen

' ----- Datei dem File Objekt zuordnen

' ----- Datei als Stream öffnen -1 = Unicode Datei

' ----- alles auf einmal

' ----- Datei wieder schließen

Datei zeilenweise einlesen

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

Do While f.AtEndOfStream <> True

UnicodeText = f.ReadLine Meldungstext ( Zeile ) = UnicodeText

Zeile = Zeile + 1

Loop

' Auf Dateiende abfragen.

‘ statt [] müsen () verwendet werden

Ich habe mir dann mit folgendem Supervisor Script geholfen:

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

ELSE

' ----- komplette Datei aufteilen

Meldungstext[Zeiger] = Meldungstext[Zeiger] + tempZeichen

NEXT

ENDIF

38

Haben Sie Fragen zu diesem Thema?

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

Beispiel für einen Bericht

Arbeitsschicht-Bericht

Produzierte Bierfässer

2192

Ausgelaufene Bierfässer

6

Leer aufgefundene Bierfässer

2

Anzahl betrunkener Arbeiter

2

Beispiel-Formular (Template)

Arbeitsschicht-Bericht

Produzierte Bierfässer

((Barrels))

Ausgelaufene Bierfässer

((Spilled))

Leer aufgefundene Bierfässer

((Empty))

Anzahl betrunkener Arbeiter

((Drunk))

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

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))

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

Mein Integerpunkt ist 25

Die Gleitkommazahl ist 1234.56

Skript- Funktionen zur Berichtserstellung

h

GenerateReport – Erstellt einen Bericht aus der Formulardatei (Template)

h

PrintReport – Druckt einen Bericht

h

ViewReport – Zeigt einen Bericht an

Haben Sie Fragen zu diesem Thema?

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

Feld Datensatz Spalte Datensatz -Tabelle
Feld
Datensatz
Spalte
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

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

Begriffe in Datenbanken

Datenbank:

– Top-Level-Container für alle Daten, Tabellen und Serverabfragen

Begriffe in Datenbanken • Datenbank: – Top-Level-Container für alle Dat en, 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
Verbindung

Zuordnung zu den Feldern

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

Zuordnung des CX-Supervisor-Punkts zum Datenbank-Feld auf: Auf mehrere Datensätze kann gleichzeitig zuge- griffen

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

Zuordnung zu den Feldern

Bei einer lesenden Verbindung wird zur Laufzeit jeder Feldwert in den CX-Supervisor-Punkt kopiert:

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

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).

hinzuzufügen. Ein einfaches Skript kann dann einen neuen Datensatz hinzufügen (und übergeben). Leerer Datensatz 57
Leerer Datensatz
Leerer
Datensatz

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.

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

Arbeitsbereichsfeld und wählen Sie Verbindung hinzufügen h Geben Sie einen Verbindungsnamen ein h Geben Sie

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

Datensatz-Tabelle konfigurieren

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

markierte Verbindung und wählen Sie Datensatz hinzufügen h Geben Sie einen Datensatznamen ein h Der

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

den markierten Datensatz und wählen Sie Feld hinzufügen h Geben Sie einen Feldnamen ein h Geben

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

markierten Datensatz und wählen Sie Parameter hinzufügen h Geben Sie den Parameternamen an h Geben Sie

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" )

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

Visualisierung – CX-Supervisor z.B mit Excel oder Access DBWrite( "Verbindung1.Tab1_RW" ) DBAddNew(

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

InstallierenInstallieren undund einstelleneinstellen vonvon MySqlMySql

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

InstallierenInstallieren undund einstelleneinstellen vonvon MySqlMySql

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

DatenbankDatenbank undund SchnittstelleSchnittstelle erstellenerstellen

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

EinstellungEinstellung amam SupervisorSupervisor

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

man hier die dsn Datei aus, die man vorher erstellt hat. Auswahl der Datenquelle Auswahl der

Auswahl der Datenquelle

aus, die man vorher erstellt hat. Auswahl der Datenquelle Auswahl der dsn Datei. Sie sollte im

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

LesenLesen undund navigierennavigieren inin derder DatenbankDatenbank

Befehl

Beschreibung

DBOpen( „DB Name" ) DBClose( „DB Name" ) DBProperty->BOF DBProperty->EOF DBProperty->Current Record DBProperty->Record count DBProperty->Current page DBProperty->Page count DBProperty->Page size DBProperty->Field count DBStatus->Open DBStatus->Close

ohne Einschränkung ohne Einschränkung wird nicht true wenn die Datenbank am Anfang steht ohne Einschränkung zeigt immer einen Satz weiter an als der mit Read angezeigte ohne Einschränkung gibt die Nummer des tatsächlich angezeigten Eintrags wieder wie Record count ? zeigt immer 0 obwohl die Datenbank 13 Felder hat ohne Einschränkung 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

DatensDatensäätzetze bearbeitenbearbeiten inin derder DatenbankDatenbank

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

DatensDatensäätzetze bearbeitenbearbeiten mitmit SQLSQL KommandosKommandos

Supervisor Script:

comandSQL = "UPDATE tabelle1 SET Zähler_1 = "

Wert = ValueToText(Count_1_SQL)

comandSQL = comandSQL + Wert

comandSQL = comandSQL + " WHERE Position = 0"

bResult = DBExecute( "Verbindung_SQL_dsn", "SQL", comandSQL )

IF !bResult THEN

Status_SQL = DBGetLastError( "Verbindung_SQL_dsn", TRUE )

ENDIF

"Verbindung_SQL_dsn", TRUE ) ENDIF SQL Befehl um in der Tabelle1 in der Spalte Zähler den
"Verbindung_SQL_dsn", TRUE ) ENDIF SQL Befehl um in der Tabelle1 in der Spalte Zähler den
"Verbindung_SQL_dsn", TRUE ) ENDIF SQL Befehl um in der Tabelle1 in der Spalte Zähler den
"Verbindung_SQL_dsn", TRUE ) ENDIF SQL Befehl um in der Tabelle1 in der Spalte Zähler den
"Verbindung_SQL_dsn", TRUE ) ENDIF SQL Befehl um in der Tabelle1 in der Spalte Zähler den

SQL Befehl um in der Tabelle1 in der Spalte Zähler den Wert zu verändern. SET

Einen Supervisor int Punkt in Text wandeln und dem Kommando hinzufügen.

SQL Befehl um den Wert in jeden Datensatz indem die Spalte Position auf 0 ist einzutragen.

SQL Befehl mit der Methode Execute an die Datenbank schicken.

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

SQL Befehl mit der Methode Execute an die Datenbank schicken. Ist der Rückgabewert = 0 dann

73

DatenaustauschDatenaustausch zwischenzwischen 22 SupervisorSupervisor ApplikationenApplikationen mitmit derder SQLSQL DatenbankDatenbank

Struktur der SQL Datenbank

der SQL SQL Datenbank Datenbank Struktur der SQL Datenbank Spalte Anlage gibt an aus welcher Anlage
der SQL SQL Datenbank Datenbank Struktur der SQL Datenbank Spalte Anlage gibt an aus welcher Anlage

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

BenBenöötigtetigte PunktePunkte

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

SchreibenSchreiben derder DatenDaten inin diedie SQLSQL DatenbankDatenbank

REM Anlage 1 IF Anlage_aktiv[0]==TRUE THEN REM Anlage 1 als aktiv melden cmdSQL = "UPDATE tabelle1 SET aktiv= 1 WHERE Anlage = 1" bResult = DBExecute( "DAS_DB_Anlagen", "SQL", cmdSQL ) IF !bResult THEN sError_DB = DBGetLastError( "DAS_DB_Anlagen", TRUE ) ENDIF

= DBGetLastError( "DAS_DB_Anlagen", TRUE ) ENDIF ELSE REM Anlage 1 als nicht aktiv melden cmdSQL =

ELSE REM Anlage 1 als nicht aktiv melden cmdSQL = "UPDATE tabelle1 SET aktiv= 0 WHERE Anlage = 1" bResult = DBExecute( "DAS_DB_Anlagen", "SQL", cmdSQL ) IF !bResult THEN sError_DB = DBGetLastError( "DAS_DB_Anlagen", TRUE ) ENDIF ENDIF

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

LesenLesen derder DatenDaten ausaus derder SQLSQL DatenbankDatenbank

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

ENDIF

NEXT

LesenLesen eineseines QuerysQuerys ausaus derder SQLSQL DatenbankDatenbank

Querys aus aus der der SQL SQL Datenbank Datenbank Punkt als Array anleg en und das
Querys aus aus der der SQL SQL Datenbank Datenbank Punkt als Array anleg en und das

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

LesenLesen eineseines QuerysQuerys ausaus derder SQLSQL DatenbankDatenbank

Querys aus aus der der SQL SQL Datenbank Datenbank comandSQL = "SELECT * FROM tabelle1 WHERE
Querys aus aus der der SQL SQL Datenbank Datenbank comandSQL = "SELECT * FROM tabelle1 WHERE

comandSQL = "SELECT * FROM tabelle1 WHERE " comandSQL = comandSQL + Query_Spalte + " = " textTest = ValueToText(Query_Wert) 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" )

Hier werden die Punkte angelegten Array Punkte (z.B. SQL_Daten1) aus der Abfrage dargestellt. Hier erfolgt der Zugriff über den Index.

79

Haben Sie Fragen zu diesem Thema?

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

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:

zum Einfügen von OLE Objekten in die Applikation: h Wählen Sie das gewünschte ‘ActiveX Steuerelement’

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)

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

Eigenschaften eines Objektes - allgemeine Syntax

h

h

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

h bValue = GetProperty( “MiActiveX”, “Height” ) Name einer CX-Supervisor Varieblen (Point) ActiveX

Name einer CX-Supervisor Varieblen (Point)

“Height” ) Name einer CX-Supervisor Varieblen (Point) ActiveX Steuerelement Eigenschaft PutProperty h

ActiveX

Steuerelement

Eigenschaft

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

h PutProperty(“MiActiveX”, “Height”, 50 ) ActiveX Steuerelement E i g e n s c h a

ActiveX

Steuerelement

h PutProperty(“MiActiveX”, “Height”, 50 ) ActiveX Steuerelement E i g e n s c h a

Eigenschaft

Wert

Methoden eines Objektes - allgemeine Syntax

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

Execute( “WebBrowser”, “Navigate2”, “c:\page.html” ) ActiveX Steuerelement M e t h o d e Parameter 87

ActiveX

Steuerelement

Methode

Execute( “WebBrowser”, “Navigate2”, “c:\page.html” ) ActiveX Steuerelement M e t h o d e Parameter 87

Parameter

Events eines Objektes

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

Events
Events

Ereignisse eines Objektes

Ereignisse eines Objektes h Ein ActiveX Ereignis kann benutzt werden, um die Ausführung eines Scripts zu

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

Beispiel für ein VBScript

Beispiel für ein VBScript Markierungen für den Beginn und das Ende eines VB-Scriptes 91

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

Beispiel für ein VBScript Markierungen für den Beginn und das Ende eines VB-Scriptes 91

Haben Sie Fragen zu diesem Thema?

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.

für Texte der Kundenanwendung aufgerufen werden. • Einfach die gewünschte Sprache von den vorhandenen

• 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).

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

Ü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.

werden. • Während der Laufzeit kann dann eine andere Sprache gewählt werden, und alle Texte ändern

95

Skript-Funktion zur Sprachumschaltung

h SetLanguage: Schaltet die Anzeigetexte auf die gewünschte Sprache

Haben Sie Fragen zu diesem Thema?

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

und OPC Bedingungs-Scripts B e r i c h t e Alarme Ausdrücke Rezepte Datenerfassung Datenbanken

Ausdrücke

Rezepte
Rezepte

Datenerfassung

Datenbanken

h t e Alarme Ausdrücke Rezepte Datenerfassung Datenbanken Animation Über OPC Version 2.0 OPC Speicher Server

Animation

Über OPC Version 2.0 OPC Speicher Server SPS DDE (CX-Server)
Über OPC
Version 2.0
OPC
Speicher
Server
SPS
DDE
(CX-Server)

Multi-Vendor Lösungen

Multi-Vendor Lösungen CXCX--ServerServer OPCOPC Lan Netzwerk AndererAnderer OPCOPC--ServerServer Lan Netzwerk
CXCX--ServerServer OPCOPC Lan Netzwerk AndererAnderer OPCOPC--ServerServer Lan Netzwerk AndererAnderer
CXCX--ServerServer OPCOPC
Lan
Netzwerk
AndererAnderer OPCOPC--ServerServer
Lan
Netzwerk
AndererAnderer OPCOPC--ServerServer
Lan
Netzwerk

CXCX--SupervisorSupervisor

OPCOPC--ServerServer Lan Netzwerk CX CX - - Supervisor Supervisor OMRON SPSen Andere Geräte Andere Geräte 100
OPCOPC--ServerServer Lan Netzwerk CX CX - - Supervisor Supervisor OMRON SPSen Andere Geräte Andere Geräte 100

OMRON SPSen

Andere Geräte

Andere Geräte

OPCOPC--ServerServer Lan Netzwerk CX CX - - Supervisor Supervisor OMRON SPSen Andere Geräte Andere Geräte 100

Dezentrale Lösungen

CXCX--SupervisorSupervisor

Dezentrale Lösungen CX CX - - Supervisor Supervisor CX CX - - Supervisor Supervisor VB VB
Dezentrale Lösungen CX CX - - Supervisor Supervisor CX CX - - Supervisor Supervisor VB VB

CXCX--SupervisorSupervisor

CX - - Supervisor Supervisor CX CX - - Supervisor Supervisor VB VB Anwendung Anwendung (
CX - - Supervisor Supervisor CX CX - - Supervisor Supervisor VB VB Anwendung Anwendung (

VBVB AnwendungAnwendung ((ÜÜberber ActiveX)ActiveX)

VB VB Anwendung Anwendung ( ( Ü Ü ber ber ActiveX) ActiveX) Netzwerk Lan Geräte OPC
VB VB Anwendung Anwendung ( ( Ü Ü ber ber ActiveX) ActiveX) Netzwerk Lan Geräte OPC
Netzwerk

Netzwerk

Netzwerk
Netzwerk
Lan
Lan
VB VB Anwendung Anwendung ( ( Ü Ü ber ber ActiveX) ActiveX) Netzwerk Lan Geräte OPC
VB VB Anwendung Anwendung ( ( Ü Ü ber ber ActiveX) ActiveX) Netzwerk Lan Geräte OPC

Geräte

OPCOPC ServerServer

Wan

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

für die Konfiguration von OPC-Variablen wird geöffnet h Wählen Sie aus:   h Server h Gruppe
für die Konfiguration von OPC-Variablen wird geöffnet h Wählen Sie aus:   h Server h Gruppe
für die Konfiguration von OPC-Variablen wird geöffnet h Wählen Sie aus:   h Server h Gruppe

h

Wählen Sie aus:

 

h

Server

h

Gruppe

h

Variable

h

Die Verwendung von Arrays ist möglich

Auswahl des Servers

Auswahl des Servers h Wählen Sie eine der Kommu- nikationskomponenten aus der Liste aus (vom Betriebssystem
Auswahl des Servers h Wählen Sie eine der Kommu- nikationskomponenten aus der Liste aus (vom Betriebssystem

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

Auswahl der Gruppe h In diesem Dialogfenster stellen Sie ein: h Name der Gruppe h Update-Rate
Auswahl der Gruppe h In diesem Dialogfenster stellen Sie ein: h Name der Gruppe h Update-Rate

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

Auswahl der Variablen (Item)

Auswahl der Variablen (Item) h Geben Sie an: h h h Datentyp h Name der Variablen
Auswahl der Variablen (Item) h Geben Sie an: h h h Datentyp h Name der Variablen

hGeben Sie an:

h

h

h Datentyp

h

Name der Variablen

ID der Variablen

ob es sich um ein Array handelt

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

Haben Sie Fragen zu diesem Thema?

Haben Sie Fragen zu diesem Thema? 106

Web-Interface

Fernzugriff auf den Status des CX-Supervisors übers Netz

Fernwartung

Fernwartung • Grafiklose Fernwartung über das Internet • Ein Web-Server erlaubt dem Kunden über Netzverbindungen

• 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

Haben Sie Fragen zu diesem Thema?

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

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

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

Haben Sie Fragen zu diesem Thema?

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

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?

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)

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

entfernen und C:\WINDOWS\SYSTEM32 \ START.CMD eingetragen 3. Die Datei START.CMD wird im Pfad C:\WINDOWS\SYSTEM32

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

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

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

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)

Windows User muß angelegt werden, Supervisor versionsabhängig ein Administrator oder ein Hauptbenutzer (Poweruser) 120
Windows User muß angelegt werden, Supervisor versionsabhängig ein Administrator oder ein Hauptbenutzer (Poweruser) 120
Windows User muß angelegt werden, Supervisor versionsabhängig ein Administrator oder ein Hauptbenutzer (Poweruser) 120
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).

auf taskmgr.exe mit rechter Maustaste klickt, dann mit linker Maustaste auf Properties und auf den Reiter

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.

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

der S upervisor Runtime einfach der Pfad und der Name der *.SR2 Datei (Runtime Startdatei CX-Supervisor)

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)

(erste Zeile des Scriptes) Windows Shutdown auslösen mit einer Zeitverzögerung (zweite Zeile des Scriptes) 124
(erste Zeile des Scriptes) Windows Shutdown auslösen mit einer Zeitverzögerung (zweite Zeile des Scriptes) 124
(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

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

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