3 Ziele des Trainings Erweiterter berblick ber CX-Supervisor
und seine Anwendung geben Erlernen der erweiterten Funktionen von
CX-Supervisor Vermitteln erweiterter Anwendungserfahrungen durch
praktische Arbeit mit einem bungsprojekt, das whrend des Trainings
erstellt wird
5 Inhalt Teil 1b Diagramme Skripte Alarme SPS-Kommunikation
Arrays als Kommunikationsvariablen (Verwendung von Alias)
Benutzer-Zugriffs-Ebenen/ -Beschrnkung (Sicherheit) Optimieren von
Visualisierungs-Anwendungen
Folie 6
6 Datenaufzeichnung Dateiverarbeitung Berichte ausdrucken
(Reports) Datenbank-Anbindung Rezepte ActiveX Steuerelemente
CX-Supervisor als OPC-Client Mehrsprachigkeit Fernzugriff ber
Web-Server Verriegeln des Windows-Betriebssystems Inhalt Teil
2
Folie 7
7 Funktionsumfang zur Laufzeit Bedienerschnittstelle zum
Prozess Datenerfassung und berwachung Informations-Management
Produktionssteuerung Aufsichts-Steuerung (Supervising) Fertigungs
Ablaufsteuerung (Batch sequencing) Kontinuierliche
Prozess-Steuerung Alarm-berwachung und Aufzeichnung
Material-Lenkung (berwachung und Steuerung) Simulation und
Modellierung durch grafische Animation Daten-Aufzeichnung
Fehler-Aufzeichnung Projekt-Editor und Querverweise Report-Editor
Datenbank-Zugriff
Folie 8
8 Technische Merkmale Leistungsfhige und einfach zu verwendende
Entwicklungsumgebung Kommunikationstreiber fr OMRON SPS und
Temp.-Regler und Motion- Controller und Modbus-TCP/IP integriert
Leistungsfhige Skript-Sprache Anbindung von Windows-Anwendungen mit
OLE oder OPC Alarm-Management-System Weitreichende
Datenaufzeichnungs- und Anzeige- Mglichkeiten Berichts-Generierung
(inklusive HTML) Bibliothek mit vielen grafischen Objekten
Anbindung externer Datenbanken via ADO / ODBC
Folie 9
9 CX-Supervisor - Produkte Entwicklungs-System: CX-SUPERVISOR
Zur Entwicklung der Anwendung, Freischaltung mit Lizenz Runtime
System: CX-SUPERVISOR-RUN-PLUS oder CX-SUPERVISOR-RUN-ME Enthlt ein
USB-Dongle und eine CD mit dem CX-Server CX-SUPERVISOR-TRIAL Fr
Schulung und Test 30 Tage voll danach begrenzt auf 50 Punkte,
maximal 2 Stunden online
Folie 10
10 Software Anforderung / Beschrnkungen Microsoft Windows 2000,
XP, Vista Microsoft Windows NT 4.0 (Service Pack 5) MerkmalMachine
EditionPLUS Max. Anz. Benutzer-Punkte / Max. Anzahl Elemente
(SPS-Array mit 1024 Elementen = 1 Punkt) 500 / 512,0008,000 /
8,192,000 Anzahl Alarm-Definitionen3005000 Max. Anzahl von Gerten
(SPS, usw.) 15256 Max. Anzahl von Seiten100500 Max. Anzahl von
Skripten in regelmigen Intervallen 10100 Untersttzte DatenbankenNur
MS AccessMS Access, SQL, ODBC, MS Excel, Dbase, CSV
Folie 11
11 Haben Sie Fragen zu diesem Thema?
Folie 12
Datenaufzeichnung Ein wichtiges Werkzeug
Folie 13
13 Datenaufzeichnung Die Datenaufzeichnung ermglicht es: Die
Anzahl der Punkte und/ oder Ausdrcke, die aufgezeichnet werden zu
spezifizieren. Einfacher Betrieb, kein Skript bentigt. Ansicht
dieser Punktwerte zur Laufzeit oder bei spteren Auswertungen.
Mglichkeit des Exports der Daten zu anderen Anwendungen Mglichkeit
die Daten direkt in eine externe Datenbank zu speichern.
Folie 14
14 Whrend der Projekt-Entwicklung... Einfache Hierarchie in
drei Ebenen Punkte(Items) Ein Item ist ein Datenpunkt, der mit
seinen Aufzeichnungseigenschaften aufgezeichnet wird. Gruppen Um
hnliche oder zusammenhngende Datenpunkte zu erfassen Datenstze Um
Gruppen oder auch einzelne Datenpunkte in einer Datei zu
erfassen
Folie 15
15 Zugriff auf Datenaufzeichnungs-Einstellungen Im
Arbeitsbereich, den Reiter Datenaufzeichnung aktivieren Datensatz
Datenpunkte
Folie 16
16 Datenstze hinzufgen Klicken Sie mit der rechten Maustaste in
das Arbeitsbereichsfeld und whlen Sie Datensatz hinzufgen Geben Sie
den Namen des Datensatzes ein Geben Sie die Aufzeichnungs-Laufzeit
ein Geben Sie an, wieviele Dateien auf der Festplatte vorgehalten
werden Geben Sie an, ob die Datenaufzeichnung bei Anwendungsstart
gestartet werden soll
Folie 17
17 Punkte hinzufgen Klicken Sie mit der rechten Maustaste auf
den Datensatz und whlen Sie Punkt hinzufgen Datenpunktnamen angeben
Der aufzuzeichnende Punkt (Variable) oder Ausdruck wird unter
Ausdruck angegeben Datentyp auswhlen Totzone angeben, um die
Aufzeichnung leicht schwankender Werte zu vermeiden Auswahl, ob der
Wert bei nderung oder mit festem Intervall aufgezeichnet wird Die
Skalierung dient der besseren Sichtbarkeit der Daten im
Diagramm
Folie 18
18 Zur Laufzeit... Die Daten werden in einem Verzeichnis
aufgezeichnet, dass Data logging heit, unter dem Projektverzeichnis
Nachdem die angegebene Laufzeit abgelaufen ist, werden die Daten in
einer neuen Datei aufgezeichnet. Automatische Datei-Lschung
eingeschlossen Das Format der Daten in der Datei ist:.dlv
Beispiel...mydataset[2000073111].dlv
Folie 19
19 Data Log Viewer Separates Anzeige-Tool fr die
aufgezeichneten Daten, kann von der Applikation oder dem
Betriebssystem direkt gestartet werden Individuelle analoge und
digitale Anzeigen Zoom, Schwenk, Punkt- und Farb-Auswahl
Unterschiedliche Anzeigeformate auswhlbar Export als CSV oder Text
Live-Auffrischung und Aktualisierung
Folie 20
20 Data Log Viewer Anzeige-Tool fr die aufgezeichneten
Daten
Folie 21
21 Aufgezeichnete Dateien ansehen Wenn eine Datei zur Anzeige
geffnet wird, erscheint folgendes Fenster: Anzuzeigende Punkte
auswhlen
Folie 22
22 Daten exportieren Einrichtung um Daten zu exportieren, in
CSV oder Text-Format Automatische Datei-Namens-Erzeugung
Mglichkeiten, um zustzliche Informationen in der Datei zu
hinterlegen, wie z.B. Datum, Uhrzeit, Aufzeichnungsunter-
brechungen, usw.
Folie 23
23 Daten- Export- Fenster Datensatz Zu exportierende Punkte
Datenformat Automatische Dateinamen Generierung Zustzliche
Informationen
Folie 24
24 Skript-Funktionen zur Datenaufzeichnung ClearLogFile: Lscht
die Aufzeichnungs-Datei CloseLogFile: Schliet die
Aufzeichnungs-Datei CloseLogView: Schliet den Data Log Viewer
ExportAndViewLog: Exportiert und zeigt die Aufzeichnung ExportLog:
Exportiert die Aufzeichnung OpenLogFile: ffnet die
Aufzeichnungs-Datei OpenLogView: ffnet den Data Log Viewer
StartLogging: Startet die Datenaufzeichnung StopLogging: Stoppt die
Datenaufzeichnung
Folie 25
25 Beispiel Datenaufzeichnung
Folie 26
26 Anlegen der Gruppen und Punkte im Beispiel
Folie 27
27 Starten, Stoppen, Exportieren im Skript Hier wird der
geschlossene Log-File komplett in Excel-Format Exportiert !!
Mehrere Log-Files (Chargen) knnen parallel offen sein bzw.
beschrieben werden
Folie 28
28 Typisches Projekt zur Datenaufzeichnung Metallteile
vorwiegend fr die Automobilindustrie werden speziell gehrtet und
gezielt abgekhlt. Aus Qualittssicht mssen Temperaturen, Drcke und
Drehzahlen ber eine Schicht bzw. Charge gezielt geloggt werden. ber
Trend und Loggrafen dann einsehbar. Zustzlich werden die Logdateien
in Excelformat gewandelt.
32 Dateiverarbeitung Der CX-Supervisor kann Werte aus
komma-separierten Dateien (CSV) schreiben oder lesen Zum Beispiel
zum Mitschreiben der aufgetretenen Bedienungsanforderungen Einlesen
von variablen Texten fr verschiedene Sprachen Auf eine Datei kann
von verschiedenen Applikationen gleichzeitig zugegriffen
werden
Folie 33
33 Skript-Funktionen fr die Dateiverarbeitung CloseFile
Geffnete Datei schlieen CopyFile Angegebene Datei kopieren
DeleteFile Lscht die angegebene Datei FileExists berprft die
Existenz einer Datei MoveFile Angegebene Datei wird umbenannt
OpenFile ffnet die angegebene Datei PrintFile Druckt die angegebene
Datei Read Liest Daten aus einer geffneten Datei in einen Punkt
Write Schreibt einen Wert in eine geffnete Datei ReadMessage Liest
Text von einer externen Datei WriteMessage Schreibt Text in eine
externe Datei SelectFile Benutzerdialog zur Dateiauswahl (Datei
ffnen) EditFile Editiermglichkeit der angegebenen Datei
Folie 34
34 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)
Folie 35
35 Beispiel: Schreiben von Daten in eine EXCEL Datei Nur eine
Datei kann offen sein bzw. beschrieben werden, nicht mehrere !
Zeiger=0 `ffnen der CSV Datei Steuerbit_file =
OpenFile("d:\test\"+Seriennummer+".csv") CloseFile(TRUE)
Folie 36
36 Beispiel: Unicode Dateien mit dem Supervisor einlesen Dies
wird bentigt um variable Texte, die als Meldungen, Hinweise und
nhere Beschreibung im Projekt verwendet werden, auch in
verschiedenen Sprachen darstellen zu knnen. Unicode ist wichtig fr
Kyrillische und asiatische Sprachen. Vorteil: -Es mssen nur die
Texte in den Dateien gendert werden. -Es ist dann nicht mehr ntig
das ganze Projekt neu zu kompilieren und eine neue Sprachdatei zu
erzeugen. -Wenn Texte im Projekt hinzugefgt werden, bedeutet das,
das alle schon erstellten Sprachdateien in den anderen Sprachen
noch einmal bearbeitet werden mssen.
Folie 37
37 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 schlieen @ENDSCRIPT END SUB Datei einlesen mit
VB Script
Folie 38
38 Datei zeilenweise einlesen Eine andere Mglichkeit wre das
zeilenweise Einlesen aus der Datei. Do While f.AtEndOfStream True '
Auf Dateiende abfragen. UnicodeText = f.ReadLine Meldungstext (
Zeile ) = UnicodeText statt [] msen () 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
41 Berichte erstellen Der CX-Supervisor kann Werte in
vorgefertigte Formulardateien (Templates) eintragen, anzeigen und
ausdrucken Dateien knnen folgende Formate
besitzen:.TXT.RTF.HTML
Folie 42
42 Beispiel fr einen Bericht Arbeitsschicht-Bericht Produzierte
Bierfsser2192 Ausgelaufene Bierfsser6 Leer aufgefundene Bierfsser2
Anzahl betrunkener Arbeiter2
44 Vorgabe, der den Punkt einschlieenden Zeichen Die
Textzeichen, die den Beginn und Ende eines Punktnamens markieren,
knnen gendert werden unter: Projekt / Laufzeiteinstellungen /
Punktersetzungseinstellungen...
Folie 45
45 Spezifikations-Symbol-Formate %sfr Punkte mit Texten %dfr
Integer (ganzzahlige) Punkte %xfyfr Punkte mit Fliekommazahlen
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
Folie 46
46 Skript- Funktionen zur Berichtserstellung GenerateReport
Erstellt einen Bericht aus der Formulardatei (Template) PrintReport
Druckt einen Bericht ViewReport Zeigt einen Bericht an
Folie 47
47 Haben Sie Fragen zu diesem Thema?
Folie 48
Datenbanken Die professionelle Art Informationen zu Speichern,
Exportieren oder Importieren
Folie 49
49 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 ermglichen
die vollstndige funktionelle Einbindung in CX-Supervisor
Anwendungen. Datenbank-Mglichkeiten mit der Visualisierung
MerkmalMachine EditionPLUS Untersttzte DatenbankenNur MS AccessMS
Access (*.mdb), MS-Excel (*.xls), Textdateien (*.csv, *.txt) Visual
FoxPro (*.dbf) Die nutzbaren Datenquellen mit der PLUS-Version
knnen je nach installierten Treibern folgende Typen umfassen: *.dsn
- DateiSQL-Server, Dbase, ODBC fr Oracle, Paradox
Folie 50
50 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 Datenstzen, auch Datenbanktabelle oder
Datensatzgruppe oder Arbeitsblatt (Excel) genannt Spalte Datensatz
Datensatz -Tabelle Feld
Folie 51
51 Begriffe in Datenbanken Abfrage: Eine Anfrage zu Feldern
eines Datensatzes, die gewissen Kriterien entsprechen, von einer
oder mehreren Tabellen Zurckgelieferte Daten knnen sortiert werden
Abfragen knnen im Datenbank-Server (Serverabfragen) oder im Client
(Clientabfragen) verarbeitet werden Abfrage-Parameter: Abfragen
knnen feste Kriterien enthalten, aber auch variable Parameter z.B.
frhestes Datum / Letztes Datum oder nur ID Es knnen fr jede Abfrage
unterschiedlich Parameter bermittelt werden
Folie 52
52 Begriffe in Datenbanken Datensatzgruppe = RecordSet: Eine
Menge gleichartiger Datenstze 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
Folie 53
53 Begriffe in Datenbanken Datenbank: Top-Level-Container fr
alle Daten, Tabellen und Serverabfragen
Folie 54
54 Begriffe in Datenbanken Datenbank-Verbindung : Link zur
Datenbank Inklusive DatenbankSpeicherort (Dateiname), Name der
Software, um auf die Datenbank zuzugreifen und optional Anmeldung
mit Name und Passwort Verbindung
Folie 55
55 Zuordnung zu den Feldern Die CX-Supervisor
Datenbank-Funktionalitt baut vollstndig auf die Zuordnung des
CX-Supervisor-Punkts zum Datenbank-Feld auf: Auf mehrere Datenstze
kann gleichzeitig zuge- griffen werden, indem man CX-Supervisor
Array- Punkte verwendet um z.B. eine ganze Seite zu lesen.
Folie 56
56 Zuordnung zu den Feldern Bei einer lesenden Verbindung wird
zur Laufzeit jeder Feldwert in den CX-Supervisor-Punkt
kopiert:
Folie 57
57 Datenstze hinzufgen Datenbanken benutzen ein Konzept mit
Auffang-Datensatz um Felder zum Hinzufgen neuer Felder
bereitzuhalten. Die CX-Supervisor-Feldzu- ordnung hat die
Feldeigenschaft Add um Felder der Datenbank hinzuzufgen. Ein
einfaches Skript kann dann einen neuen Datensatz hinzufgen (und
bergeben). Leerer Datensatz
Folie 58
58 Datenbank-Verbindungs- Editor In einer einfachen
Baumstruktur mit 3 Ebenen Ebene 1) Datenbankverbindung um das
Projekt mit der Datenquelle zu verbinden (DSN, Access-Dateien,
Text-Dateien, usw.) Ebene 2) Datensatz-Tabelle um die angegebene
Tabelle oder Abfrage in der Datenquelle auszuwhlen Ebene 3) Feld um
Supervisor- Punkte den Feldern in der Datenbanktabelle oder Abfrage
zuzuordnen Ebene 3) Parameter fr SQL Parameterbertragung aktivieren
fr Abfragen, die das bentigen.
Folie 59
59 Datenbank-Verbindung konfigurieren Klicken Sie mit der
rechten Maustaste in das Datenbank- Arbeitsbereichsfeld und whlen
Sie Verbindung hinzufgen Geben Sie einen Verbindungsnamen ein Geben
Sie den Namen der Datenbank-Datei an Als Pfad kann auch.\ fr das
Arbeitsverzeichnis angegeben werden oder der Pfad kann auch
weggelassen werden Geben Sie an, ob die Verbindung beim Start der
Anwendung aufgebaut werden soll
Folie 60
60 Datensatz-Tabelle konfigurieren Klicken Sie mit der rechten
Maustaste auf die markierte Verbindung und whlen Sie Datensatz
hinzufgen Geben Sie einen Datensatznamen ein Der Datensatz kann
folgenden Typ haben Tabellenname Serverabfrage SQL-Text Geben Sie
fr eine Access-Datenbank den Tabellennamen an Geben Sie an, ob der
Datensatz automatisch bei Start der Anwendung gelesen werden soll
Geben Sie an, wie der Datensatz verriegelt werden soll
Folie 61
61 Feldzuordnung konfigurieren Klicken Sie mit der rechten
Maustaste auf den markierten Datensatz und whlen Sie Feld hinzufgen
Geben Sie einen Feldnamen ein Geben Sie den Punkt (Variable) an, in
den der Wert aus der Datenbank bertragen werden soll Geben Sie den
Feldnamen in der Tabelle der Datenbank oder die Serverabfrage an,
die mit dem Punkt verlinkt werden soll Geben Sie an, wie auf das
Feld zugegriffen werden soll, Value = Lesen
Folie 62
62 SQL-Parameter konfigurieren Klicken Sie mit der rechten
Maustaste auf den markierten Datensatz und whlen Sie Parameter
hinzufgen Geben Sie den Parameternamen an Geben Sie den Index an,
der zum dazugehrigen Wert des Abfrage- Parameters gehrt Geben Sie
den Datentyp an Geben Sie den zu verbindenden Punkt oder Ausdruck
an Geben Sie an, ob der zu bertragende Wert eine Konstante oder ein
Punkt (Variable) ist
Folie 63
63 Navigation Es gibt CX-Supervisor Skript-Kommandos um zu den
gewnschten Datenstzen zu navigieren, jedes Mal, bevor die
Punktwerte gelesen oder geschrieben werden. Das Lese-Kommando kann
auch automatisch zum nchsten Datensatz navigieren. DBMove(
"Connection1.Recordset2", "Next" ) DBMove(
"Connection1.Recordset2", "Previous" ) DBRead(
"Connection1.Recordset2" ) record_index = DBProperty(
"Connection1.Recordset2", "CurrentRecord" )
Folie 64
64 Skript-Funktionen fr Datenbanken DBAddNew Hinzufgen eines
Datensatzes zu einer Tabelle DBDelete Lschen der angegebenen Anzahl
Datenstze beginnend mit der akt. Position DBExecute Erlaubt die
Ausfhrung mehrerer Kommandos DBGetLastError Gibt die zuletzt
generierte Fehlermeldung des Datenbank-Servers zurck DBMove Zur
Navigation von Datensatz zu Datensatz DBOpen / DBClose ffnet /
Schliet eine Verbindung oder Datensatztabelle DBProperty Gibt die
angefragte Eigenschaft zurck DBRead, DBWrite Liest, Schreibt einen
Datensatz von/zur Datensatztabelle zu den zugeordneten Punkten
DBSChema Gibt Kommandos aus, um Ergebnisse oder Eigenschaften von
Schemas zu lesen oder stellt Kriterien von neuen Schemas ein
DBState Gibt den Zustand der angegebenen Verbindung (Level) zurck
DBUpdate Frischt den neuen Datensatz in einer Tabelle auf
DBSupports Gibt TRUE zurck, wenn die angegebene Tabelle die
angefragte Operation untersttzt
Folie 65
65 Datenbankanbindung unter Visualisierung CX-Supervisor z.B
mit Excel oder Access DBWrite( "Verbindung1.Datensatz1" ) DBAddNew(
"Verbindung1.Datensatz2" ) Nur die CSV oder MDB Datei mu auf dem PC
liegen
Folie 66
66 SQL Datenbank Anbindung an den Supervisor
Folie 67
67 Installieren undeinstellenvon MySql Installieren und
einstellen von MySql
Folie 68
68 Installieren und einstellen von MySql
Folie 69
69 Datenbank und Schnittstelle erstellen
Folie 70
70 EinstellungamSupervisor Einstellung am Supervisor Die
Einstellung erfolgt analog zu einer Access Datenbank, nur whlt 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).
Folie 71 BOFwird nicht true wenn die Datenbank am Anfang steht
DBProperty->EOFohne Einschrnkung DBProperty->Current
Recordzeigt immer einen Satz weiter an als der mit Read angezeigte
DBProperty->Record countohne Einschrnkung DBProperty->Current
pagegibt die Nummer des tatschlich angezeigten Eintrags wieder
DBProperty->Page countwie Record count DBProperty->Page size?
DBProperty->Field countzeigt immer 0 obwohl die Datenbank 13
Felder hat DBStatus->Openohne Einschrnkung DBStatus->Closeist
immer true auch wenn die Datenbank offen ist DBMove->Firstohne
Einschrnkung DBMove->Lastohne Einschrnkung
DBMove->Nextspringt immer 2 Stze weiter Rckgabewert funktioniert
richtig DBMove->NextPageRckgabewert ist 0 obwohl die Funktion
richtig ausgefhrt wurde DBMove->Priviouskeine Reaktion
DBMove->PriviousPagespringt auch zum nchsten Satz wie Next
Rckgabe auch immer 0 DBMove->Positionspringt auch zum nchsten
Satz wie Next Rckgabe auch immer 0 DBRead ohne Einschrnkung">
Requeryohne Einschrnkung DBExcute->SQLes knnen SQL Kommandos an
die Datenbank geschickt werden, fr das ndern von Datenstzen sehr
sinnvoll. Siehe nchste Folie Datenstzebearbeiten in der Datenbank
Datenstze bearbeiten in der Datenbank"> Requeryohne Einschrnkung
DBExcute->SQLes knnen SQL Kommandos an die Datenbank geschickt
werden, fr das ndern von Datenstzen sehr sinnvoll. Siehe nchste
Folie Datenstzebearbeiten in der Datenbank Datenstze bearbeiten in
der Datenbank
Folie 73
73 Datenstze bearbeiten mit SQL Kommandos Supervisor Script:
comandSQL = "UPDATE tabelle1 SET Zhler_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 SQL
Befehl um in der Tabelle1 in der Spalte Zhler den Wert zu verndern.
SET Einen Supervisor int Punkt in Text wandeln und dem Kommando
hinzufgen. 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 Rckgabewert = 0 dann
letzten Fehler abfragen.
Folie 74
74 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
Folie 75
75 Bentigte Punkte PunktTypE/A TypArraygre
Anlage_aktivBooleanSpeicher10Aus / Ein [FALSE]Freigabe in die DB
schreiben cmdSQLTextSpeicher1SQL Komando
Daten_Anlage1IntegerSpeicher90 to 99999999 [0]Beschreibung
Daten_Anlage2IntegerSpeicher90 to 99999999 [0]Beschreibung
Daten_Anlage3IntegerSpeicher90 to 99999999 [0]Beschreibung
Daten_Anlage4IntegerSpeicher90 to 99999999 [0]Beschreibung
DB_AnlageIntegerSpeicher10 to 99999999 [0]Beschreibung
DB_Anlage_aktivBooleanSpeicher1Aus / Ein [FALSE]Beschreibung
DB_Anlage_aktiv1BooleanSpeicher1Aus / Ein [FALSE]Beschreibung
DB_Anlage_aktiv2BooleanSpeicher1Aus / Ein [FALSE]Beschreibung
DB_Anlage_aktiv3BooleanSpeicher1Aus / Ein [FALSE]Beschreibung
DB_Anlage_aktiv4BooleanSpeicher1Aus / Ein [FALSE]Beschreibung
DB_Daten_Anlage1IntegerSpeicher90 to 99999999 [0]Beschreibung
DB_Daten_Anlage2IntegerSpeicher90 to 99999999 [0]Beschreibung
DB_Daten_Anlage3IntegerSpeicher90 to 99999999 [0]Beschreibung
DB_Daten_Anlage4IntegerSpeicher90 to 99999999 [0]Beschreibung
DB_Daten1IntegerSpeicher1-99999999 to 99999999 [0]Beschreibung
DB_Daten2IntegerSpeicher1-99999999 to 99999999 [0]Beschreibung
DB_Daten3IntegerSpeicher1-99999999 to 99999999 [0]Beschreibung
DB_Daten4IntegerSpeicher1-99999999 to 99999999 [0]Beschreibung
DB_Daten5IntegerSpeicher1-99999999 to 99999999 [0]Beschreibung
DB_Daten6IntegerSpeicher1-99999999 to 99999999 [0]Beschreibung
DB_Daten7IntegerSpeicher1-99999999 to 99999999 [0]Beschreibung
loop1IntegerSpeicher10 to 99999999 [0]Schleifenzhler
PunktezeigerTextSpeicher1Beschreibung
sError_DBTextSpeicher1Fehlermeldung sWertTextSpeicher1Daten der
Wandlung ValueToText
Folie 76
76 Schreiben der Daten in die SQL Datenbank 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 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 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
Folie 77
77 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
Folie 78
78 Leseneines Querys aus der SQL Datenbank 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 gewnschten Punkte hinzufgen.
Folie 79
79 Lesen eines Querys aus der SQL Datenbank 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.
Folie 80
80 Haben Sie Fragen zu diesem Thema?
Folie 81
Rezepte Als Anwendung fr Datenbankzugriffe
Folie 82
82 Rezepte mit Datenbanken Erstellen von Tabellen mit Access
Datenbank aufrufen mit Skript-Kommando: RunApplication Arrays von
der Datenbank ber CX-Supervisor in die SPS kopieren
Folie 83
83 Recipes A Recipe is a collection of Points/Variables which
have pre-defined values, and are stored on disc Recipes are
downloaded from the PC to PLCs or other devices which
control/handle the production of the Recipe When a recipe is
downloaded, each point is updated with its pre-defined value A
recipe can be validated while being downloaded, and aborted if
validation fails Recipes can be modified in Runtime mode
Folie 84
84 Recipe Editor In Development Mode... Recipes can be created,
modified and deleted Validation scripts can be created Security
Levels can be assigned Recipes can be printed Information on number
of Project Recipes is provided In Runtime Mode... Project Recipes
can be copied, modified and deleted Recipes can be downloaded to
PLCs or other devices Recipes can be printed
Folie 85
85 Accessing The Recipe Editor By selecting Recipe
Editor...from Ansicht / Fenster menu By pressing CTRL + I keys By
clicking on the Recipe Editor Icon in the Control Bar From
Workspace
Folie 86
86 Recipe Editor User Interface Adding a Recipe Print Recipes
Recipes Information Access Level Recipes
Folie 87
87 Adding Recipes Click on the icon. The following dialog is
displayed Enter a recipe name Enter the recipe description Specify
a validation script if required Add ingredients to the recipe
Folie 88
88 Adding Ingredients to a Recipe Ingredients are added to a
recipe clicking on the Add Ingredient button, from which the
following dialog is displayed The Quantity/Expression is used to
specify the predefined value assigned to the point. It may be a
fixed value or a valid expression. Enter the ingredient name Link
the ingredient to a point Specify the predefined value for the
point Specify if the value can be changed in Runtime Mode
Folie 89
89 Validating a Recipe Validating recipes, before being
downloaded, is an optional security operation that can be done in
Runtime Mode If validations fails, the recipe is not downloaded The
validation code is created through scripts The RETURN statement
causes downloading to be aborted
Folie 90
90 Recipe Security Levels Security levels can be assigned to
recipes to prevent downloading by certain users at Runtime To
assign a security level, select the recipe and click the Security
box on the Editor
Folie 91
91 Using Recipes In Runtime The Recipe Viewer contains a list
of all recipes in the project, and can be accessed by the right
button floating menu Recipes in the Recipe Viewer can be modified,
deleted, downloaded and printed
Folie 92
92 Downloading a Recipe To download a recipe, click on the
icon. A recipe can be downloaded directly using the DownloadRecipe
function The predefined value can be changed, if it is editable
Download the recipe
Folie 93
93 Haben Sie Fragen zu diesem Thema?
Folie 94
ActiveX Steuerelemente Bekannte Elemente von CX-Server-Lite und
anderen Softwaren z.B. VB, knnen auch im Supervisor zum Einsatz
kommen
Folie 95
95 ActiveX Steuerelemente ActiveX ist ein Microsoft Standard fr
Software-Objekte mit eigenstndiger Funktionalitt ActiveX
Steuerelemente knnen auf den Seiten einer CX- Supervisor Anwendung
installiert werden Diese Steuerelemente sind in Dateien mit der
Erweiterung *.ocx enthalten und werden ber Eigenschaften, Methoden
und Events in Visual Basic Skripte eingebunden
Folie 96
96 Whlen Sie OLE in der Box oder dem Balken mit den grafischen
Objekten; es erscheint das dargestellte Dialogfenster zum Einfgen
von OLE Objekten in die Applikation: Installation eines ActiveX
Steuerelementes Whlen Sie das gewnschte ActiveX Steuerelement aus
der vom Betriebssystem registrierten Liste der Steuerelemente
Folie 97
97 Bestandteile eines ActiveX Steuerelementes Eigenschaften:
sind Characteristika des Objektes, z.B. die Farbe der Font, die
Position auf dem Bildschirm, der Name etc. Methoden: sind
Funktionen, die mit diesem Objekt ausgefhrt werden knnen, z.B.
ffnen einer Datei, Drucken etc. Events: sind Benachrichtigungen des
Steuerelementes an die Anwendung, z.B. ber die nderung eines
Zustandes, eines Wertes etc. (die bergabe von Parametern wird nicht
untersttzt)
Folie 98
98 ActiveX Skript-Funktionen GetProperty: Lesen des Wertes
einer Eigenschaft des angegebenen Objektes PutProperty: Schreiben
des Wertes einer Eigenschaft des angegebenen Objektes Execute:
Ausfhren einer Methode des angegebenen Objektes ExecuteVBScript:
Ausfhren des angegebenen Visual Basic Skripts ExecuteJScript:
Ausfhren des angegebenen Java Skripts ExecuteVBScriptFile: Ausfhren
eines in einer Datei enthaltenen Visual Basic Skripts
ExecuteJScriptFile: Ausfhren eines in einer Datei enthaltenen Java
Skripts
101 Events eines Objektes Die Events, die eine ActiveX
Komponente erzeugen kann, sind im Animationseditor aufgefhrt
Events
Folie 102
102 Ein ActiveX Ereignis kann benutzt werden, um die Ausfhrung
eines Scripts zu starten Ereignisse eines Objektes
Folie 103
103 Windows Scripting Host (WSH) Ermglicht die Ausfhrung von
Visual Basic und Java Scripts die Lsung komplexer
Automationsaufgaben mit Hilfe leistungsstarker Scriptfunktionen die
Wiederverwendung bewhrter Programme und Lsungen den Zugriff auf
CX-Supervisor Variablen (Points) oder ActiveX Steuerelemente
Folie 104
104 Beispiel fr ein VBScript Markierungen fr den Beginn und das
Ende eines VB-Scriptes
Folie 105
105 Haben Sie Fragen zu diesem Thema?
Folie 106
CX-Supervisor als OPC-Client Die Verbindung mit Gerten anderer
Hersteller
Folie 107
107 CX-Supervisor und OPC DDE Speicher SPS (CX-Server) OPC
Server ber OPC Version 2.0 Animation Ausdrcke Alarme
Bedingungs-Scripts Rezepte Berichte Datenerfassung Datenbanken
Folie 108
108 Multi-Vendor Lsungen LanNetzwerk CX-Server OPC
CX-Supervisor OMRON SPSen Andere Gerte Lan Anderer OPC-Server Lan
Netzwerk Anderer OPC-Server Andere Gerte
Folie 109
109 Dezentrale Lsungen Lan Netzwerk OPC Server CX-Supervisor VB
Anwendung (ber ActiveX) Wan CX-Supervisor Gerte
Folie 110
110 Konfiguration von OPC-Variablen Whlen Sie OPC/Other im
Dialogfenster fr die Konfiguration von Variablen (Points) Das
Fenster fr die Konfiguration von OPC-Variablen wird geffnet Whlen
Sie aus: Server Gruppe Variable Die Verwendung von Arrays ist
mglich
Folie 111
111 Auswahl des Servers Hinweis: Die Konfiguration des Servers
ist herstellerabhngig. Informieren Sie sich im Handbuch des Servers
ber die Konfigurationsmglichkeiten. Whlen Sie eine der Kommu-
nikationskomponenten aus der Liste aus (vom Betriebssystem
registriert)
Folie 112
112 Auswahl der Gruppe In diesem Dialogfenster stellen Sie ein:
Name der Gruppe Update-Rate fr die gesamte Gruppe ob die Gruppe
beim Start der Applikation aktiviert werden soll
Folie 113
113 Auswahl der Variablen (Item) Geben Sie an: Name der
Variablen ID der Variablen Datentyp ob es sich um ein Array handelt
Wenn die Kommunikation unterbrochen werden sollte, erfolgt ein
automatisches Wiederverbinden.
116 bersetzungs- Tool Im Men Werkzeuge kann ein einfaches
bersetzungs-Tool fr Texte der Kundenanwendung aufgerufen werden.
Einfach gewnschte Sprache von den vorhandenen.LNG- Dateien auswhlen
(dann wird eine neue Spalte fr den zu bersetzenden text
hinzugefgt).
Folie 117
117 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. Whrend der Laufzeit kann
dann eine andere Sprache gewhlt werden, und alle Texte ndern
sich.
Folie 118
118 Skript-Funktion zur Sprachumschaltung SetLanguage: Schaltet
die Anzeigetexte auf die gewnschte Sprache
Folie 119
119 Haben Sie Fragen zu diesem Thema?
Folie 120
Web-Interface Fernzugriff auf Seiten des CX-Supervisors bers
Netz
Folie 121
121 Fernzugriff ber Web-Server A lightweight maintenance
interface via the web A web server allows customers to remotely
monitor the status of their CX- Supervisor application: Point
information Get/Set Values Alarm Data Acknowledge and clear alarms
View the alarm log Error Log See if any errors have occurred
Application See details of the project that is running
Folie 122
122 Haben Sie Fragen zu diesem Thema?
Folie 123
Optimierung der Visualisierungs-Anwendung Diese Hinweise bitte
unbedingt befolgen! DANKE!
Folie 124
124 Optimierungshinweise 1 fr Skripte und Schleifen:
CX-Supervisor ist Ereignisgesteuert nicht Echtzeit So viel wie
mglich von der SPS bearbeiten lassen Lassen Sie Skripte durch
Ereignisse ausfhren oder versuchen Sie das Gleiche durch Animation
von Objekten zu erreichen Skripte mit regelmigem Intervall
verbrauchen eine Unmenge Resourcen des PCs. Vermeiden Sie sie, wenn
irgend mglich
Folie 125
125 Optimierungshinweise 2 Eigenschaften der Punkte richtig
bestimmen: Punkte, die nur gelesen werden, oder nur geschrieben,
nicht als Ein-/Ausgabe definieren Ausgaben nur bei nderung
beschreiben Punkte auf Seiten brauchen nur aufgefrischt werden,
wenn man sie sieht (nicht bentigte Seiten schlieen) Nur Punkte fr
Trends, Alarme und Punkte fr Reports mssen Intervallweise
aufgefrischt werden
Folie 126
126 Optimierung der Kommunikation Array-Punkte helfen das
Kommunikationsaufkommen zu reduzieren. Es ist die wohl effektivste
Mglichkeit die Kommunikation zu optimieren. Trotz Verwendung von
Arrays knnen sinnvolle Namen verwendet werden, durch die Benutzung
der Alias-Mglichkeit Verwenden Sie mglichst wenige unterschiedliche
Aktualisierungsraten. Unterschiedliche Aktualisierungsraten
behindern die automatische Kommunikations-Optimierung Whlen Sie die
Aktualisierungsraten nicht zu klein Fhren Sie ein manuelle
Optimierung durch mit den Skript-Kommandos InputPoint oder
OutputPoint Lassen Sie Ihre Anwendung analysieren unter dem
Menpunkt: Projekt / Anwendung analysieren
Folie 127
127 Haben Sie Fragen zu diesem Thema?
Folie 128
128 Sichern eines Windows PC fr den Betrieb mit einer
Supervisor-Runtime gegen zufllige oder auch absichtliche
Manipulationen des Bedienpersonals August 27th, 2008
Folie 129
129 Was ist zu tun Das Anwendungsprogramm (Runtime) mu beim
Booten gestartet werden Die Windows Shell muss deaktiviert werden
Der Shutdown des PC muss aus der Runtime mglich sein Der manuelle
Start des Task Managers mu blockiert werden Wie gut ist der PC
jetzt gesichert? Der PC mu ohne Login starten
Folie 130
130 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 Bedienoberflche!
Ersatzweise wird hier der Name einer Command Batchdatei eingefgt
die dann sozusagen direkt aus dem Windows System Boot Vorgang die
Supervisor Anwendung startet. (mehr dazu spter)
Folie 131
131 Die Windows Shell muss deaktiviert werden 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 spter noch gezeigt) 1. Regedit
starten und bis in den Pfad der unten in dem Fenster gezeigt ist
durchklicken, dann einen Doppelklick auf Shell.
Folie 132
132 Der manuelle Start des Task Managers mu blockiert werden
Der Start des Taskmanagers mu fr die neue User (User Group)
gesperrt werden Ein neuer Windows User mu angelegt werden,
Supervisor versionsabhngig ein Administrator oder ein Hauptbenutzer
(Poweruser) Der PC mu so eingestellt werden das er anschlieend ohne
manuellen LogIn bootet
Folie 133
133 Der manuelle Start des Task Managers mu blockiert werden 1.
Ein neuer Windows User mu angelegt werden, Supervisor
versionsabhngig ein Administrator oder ein Hauptbenutzer
(Poweruser)
Folie 134
134 Der manuelle Start des Task Managers mu blockiert werden 2.
Der Start des Taskmanagers mu fr 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).
Folie 135
135 Der PC mu ohne Login starten Auf Windows Start und dann auf
ausfhren (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.
Folie 136
136 Das Anwendungsprogramm (Runtime) mu beim booten gestartet
werden Die bereits erwhnte 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
Folie 137
137 Der Shutdown des PC muss aus der Runtime mglich sein
Windows Shutdown auslsen mit einer Zeitverzgerung (zweite Zeile des
Scriptes) Die Supervisor Applikation selbst herunterfahren (erste
Zeile des Scriptes)
Folie 138
138 Der Shutdown des PC muss aus der Runtime mglich sein Der
Windows Shutdown Befehl hat verschiedene Optionen
Folie 139
139 Wie gut ist der PC jetzt gesichert? Aber: Der PC kann zB.
noch im abgesicherten Modus gestartet werden Eine Fehlbedienung
durch das Personal an der Maschine ist nicht mglich zB. durch
Anklicken von Windows Start oder hnlichem Auch wenn Tastatur und
Maus angeschlossen sind gibt es keine Mglichkeit sich einzuloggen
da das Administratorpasswort nicht bekannt ist und der Taskmanager
als normaler user nicht gestartet werden kann Es knnen keine
Zugriffe auf die Festplatte oder andere Datentrger (USB)
durchgefhrt werden, Datei kopieren/lschen/verschieben ist nicht
mglich, und es knne auch keine Spiele transferiert und gestartet
werden