Applikation zu Steuerung & Regelung - Siemens AG · A1 Im Teil A1 erfahren Sie alles, um sich einen...

106
Applikation zu Steuerung & Regelung PC-basierte Automatisierung mit SIMATIC WinAC Anbindung von Datenbanken über offene Schnitt- stellen mittels OPC-XML, programmiert in C# .net

Transcript of Applikation zu Steuerung & Regelung - Siemens AG · A1 Im Teil A1 erfahren Sie alles, um sich einen...

Applikation zu Steuerung & Regelung

PC-basierte Automatisierung mit SIMATIC WinAC

Anbindung von Datenbanken über offene Schnitt-stellen mittels OPC-XML, programmiert in C# .net

Gewährleistung, Haftung und Support

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 2/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Gewährleistung, Haftung und Support

Für die in diesem Dokument enthaltenen Informationen übernehmen wir keine Gewähr.

Unsere Haftung, gleich aus welchem Rechtsgrund, für durch die Verwendung der in diesem Dokument beschriebenen Beispiele, Hinweise, Programme, Projektierungs- und Leistungsdaten usw. verursachte Schäden ist ausgeschlossen, soweit nicht z.B. nach dem Produkthaftungs-gesetz in Fällen des Vorsatzes, der grober Fahrlässigkeit, wegen der Verletzung des Lebens, des Körpers oder der Gesundheit, wegen einer Übernahme der Garantie für die Beschaffenheit einer Sache, wegen des arglistigen Verschweigens eines Mangels oder wegen Verletzung wesentlicher Vertragspflichten zwingend gehaftet wird. Der Schadensersatz wegen Verletzung wesentlicher Vertragspflichten ist jedoch auf den vertragstypischen, vorhersehbaren Schaden begrenzt, soweit nicht Vorsatz oder grobe Fahrlässigkeit vorliegt oder wegen der Verletzung des Lebens, des Körpers oder der Gesundheit zwingend gehaftet wird. Eine Änderung der Beweislast zu Ihrem Nachteil ist hiermit nicht verbunden.

Die Applikationsbeispiele sind unverbindlich und erheben keinen Anspruch auf Vollständigkeit hinsichtlich Konfiguration und Ausstattung sowie jeglicher Eventualitäten. Sie stellen keine kundenspezifische Lösungen dar, sondern sollen lediglich Hilfestellung bieten bei typischen Aufgaben-stellungen. Sie sind für den sachgemäßen Betrieb der beschrieben Produkte selbst verantwortlich. Diese Applikationsbeispiele entheben Sie nicht der Verpflichtung zu sicherem Umgang bei Anwendung, Installation, Betrieb und Wartung. Durch Nutzung dieses Applikationsbeispiels erkennen Sie an, dass Siemens über die oben beschriebene Haftungs-regelung hinaus nicht für etwaige Schäden haftbar gemacht werden kann. Wir behalten uns das Recht vor, Änderungen an diesem Applikations-beispiel jederzeit ohne Ankündigung durchzuführen. Bei Abweichungen zwischen den Vorschlägen in diesem Applikationsbeispiel und anderen Siemens Publikationen, wie z.B. Katalogen, hat der Inhalt der anderen Dokumentation Vorrang.

Copyright© 2005 Siemens A&D. Weitergabe oder Vervielfältigung dieser Applikationsbeispiele oder Auszüge daraus sind nicht gestattet, soweit nicht ausdrücklich von Siemens A&D zugestanden.

Bei Fragen zu diesem Beitrag wenden Sie sich bitte über folgende E-Mail-Adresse an uns:

mailto:[email protected]

Vorwort

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 3/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Vorwort

Ziel der Applikation Zum schnellen Einstieg in die PC-basierte Automatisierung mit SIMATIC WinAC wurden acht Beispiele entwickelt. Sie bestehen aus Beispielcode und einer ausführlichen Dokumentation. Anhand dieser Beispiele können Sie als Anwender sich aufgabenbezogen in die einzelnen Themen einarbeiten.

Kerninhalte dieser Applikation Folgende Kernpunkte werden in dieser Applikation behandelt:

• Anbindung von Datenbanken an WinAC RTX

• Grundlagen zu Microsoft .net

• Datenbankzugriffe über die ADO.net Schnittstelle

• Grundlagen zu Microsoft ACCESS und MySQL

Abgrenzung Diese Applikation enthält keine vertiefende Beschreibung

• zum Aufbau von Datenbanken

• zu Grundlagen von OPC XML

• zur Programmierung in C#

Grundlegende Kenntnisse über diese Themen werden voraus gesetzt oder können in anderen Applikationen dieser Applikationsreihe nachgelesen werden. Referenzen finden Sie in den Literaturangaben.

Die einzelnen Beispiele Um PC-basierte Automatisierung optimal einsetzen zu können, haben wir für die vier typischen Aufgabenbereiche (Steuern, Kommunikation, Visualisierung, Technologie) jeweils ein Beispiel aus der „klassischen“ SPS-Welt und jeweils eines aus der „offenen“ PC-Welt entwickelt.

Die folgende Abbildung zeigt alle acht Beispiele mit ihrer Zuordnung zu den jeweiligen Aufgabenbereichen. Das vorliegende Beispiel zum Thema „Datenaustausch über OPC XML“ ist mit einem roten Rand markiert.

Abbildung 0-1

Vorwort

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 4/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Grundlage der Beispiele Als gemeinsamer Aufhänger ist allen Beispielen ein fiktiver „Mischprozess“ zu Grunde gelegt. Anhand dieses „Mischprozesses“ werden die unterschiedlichen Aufgabenstellungen und Automatisierungskomponenten aus dem Produktspektrum der PC-basierten Automatisierung appliziert.

Anlagenbild Folgendes Bild zeigt das Anlagenbild des „Mischprozesses“. Der rote Rahmen zeigt Ihnen, welche Komponenten in dem vorliegenden Beispiel behandelt werden.

Vorwort

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 5/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Abbildung 0-2

Lösungsgrundansatz der vorliegenden Applikation Für die Applikation werden unterschiedliche Komponenten (Hard- und Software) benötigt. Diese werden zum Teil mit dieser Applikation mitgeliefert, teilweise stellen Sie die Komponenten zur Verfügung.

SIMATIC Standard - komponenten

BERO-

Sensor

Applikations - software

... Stellen Sie bereit ...wird mit der Applikation geliefert

SIMATIC - Standard - komponenten

MOBY-

komponenten

Applikations - software

... Stellen Sie bereit ...wird mit der Applikation

Standard-SIMATIC Standard - komponenten

BERO-

Sensor

Applikations - software

... Stellen Sie bereit ...wird mit der Applikation geliefert

SIMATIC - Standard - komponenten

Windows

komponenten

Applikations - software

... Stellen Sie bereit ...wird mit der Applikation

+

Um welche Komponenten es dabei im Einzelnen geht und wie deren Zusammenspiel miteinander funktioniert, wird in dieser Dokumentation beschrieben.

Vorwort

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 6/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Vorwort

Aufbau des Dokuments Die Dokumentation der vorliegenden Applikation ist in folgende Hauptteile gegliedert.

Teil Beschreibung Hinweis

A1 Im Teil A1 erfahren Sie alles, um sich einen Überblick zu verschaffen. Sie lernen die verwendeten Komponenten (Standard Hard- und Softwarekomponenten und die zusätzlich entwickelte Software) kennen. Die dargestellten Funktionseckdaten zeigen die Leistungsfähigkeit der vorliegenden Applikation.

A2 Im Teil A2 wird auf die detaillierten Funktionsabläufe der beteiligten Hard- und Softwarekomponenten eingegangen. Sie benötigen diesen Teil nur, wenn Sie den Detailablauf und das Zusammenspiel der Lösungskomponenten kennen lernen wollen.

Sie können diesen Teil überspringen, wenn Sie die Applikation zunächst anhand der Step- by- Step- Anweisungen einmal testen wollen

B Der Teil B führt Sie Schritt für Schritt durch den Aufbau und die Inbetriebnahme der Applikation.

C Der Teil C ist dann interessant, wenn Sie auf Basis der vorliegenden Software eine Erweiterung/Anpassung an Ihre Anlage vornehmen möchten.

D Im Teil D „Anhang“ finden Sie weiter führende Informationen, wie z. B. Literaturangaben und einen Feedbackbogen, mit dem Sie uns Kommentare zum vorliegenden Dokument übermitteln können.

Referenz zum Automation and Drives Service & Support Dieser Beitrag stammt aus dem Internet Applikationsportal des Automation and Drives Service & Support. Durch den folgenden Link gelangen Sie di-rekt zur Downloadseite dieses Dokuments.

http://support.automation.siemens.com/WW/view/de/21576581

Vorwort

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 7/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Inhaltsverzeichnis

Inhaltsverzeichnis......................................................................................................... 7

Teil A1: Applikationsbeschreibung............................................................................. 9

1 Automatisierungsaufgabe ........................................................................... 10 Allgemeine Aufgabenstellung..................................................................... 10

2 Die Automatisierungslösung....................................................................... 12 2.1 Übersicht zur Gesamtlösung .......................................................................... 16 2.2 Beschreibung der Funktionalitäten der Applikation ........................................ 19 2.3 Alternativlösungen .......................................................................................... 21 2.4 Erforderliche Komponenten ............................................................................ 23

3 Leistungseckdaten ....................................................................................... 27

Teil A2: Funktionsmechanismen............................................................................... 28

4 Funktionsmechanismen............................................................................... 29 4.1 Grundlagen: PC-basierte Steuerung mit SIMATIC ......................................... 29 4.2 Web Services, IIS und OPC XML-DA............................................................. 29 4.3 Die Microsoft .NET Plattform .......................................................................... 29 4.4 Grundlagen der Programmiersprache C#....................................................... 30 4.5 Grundlagen der ADO.NET Schnittstelle ......................................................... 31 4.6 Grundlagen zu ACCESS ................................................................................ 35 4.7 Grundlagen zu MySQL ................................................................................... 36

Teil B: Installation der Beispielapplikation .............................................................. 38

5 Installation der Hard- und Software ............................................................ 39 5.1 Vorbereitende Installation ............................................................................... 39 5.2 Hardwareinstallation ....................................................................................... 40 5.3 Installation von WinAC RTX ........................................................................... 42 5.4 Installation des MySQL Datenbankservers..................................................... 43 5.5 Installation und Einrichtung der Internet-Informationsdienste......................... 45 5.6 Installation des STEP 7 Projektes .................................................................. 48 5.7 Installation des Windows Bridge- Clients........................................................ 49 5.8 Konfiguration und Programmierung der WinAC ............................................. 49 5.9 Konfiguration der MySQL Datenbank ............................................................. 49 5.10 Konfiguration und Programmierung der ACCESS Datenbank ....................... 50

6 Bedienung der Applikation .......................................................................... 51 6.1 Bedienung der MySQL Datenbank ................................................................. 51 6.2 Bedienung der Windows Applikation (Bridge-Client) ...................................... 54 6.2.1 Automatikbetrieb............................................................................................. 58 6.2.2 Handbetrieb .................................................................................................... 62 6.2.3 VIEW (Visualisierung)..................................................................................... 65

Vorwort

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 8/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

6.3 Bedienen des S7 Steuerungsprogramms....................................................... 66

Teil C: Programmbeschreibung ................................................................................ 71

7 Erläuterung zum Code der einzelnen Elemente ........................................ 72 7.1 Überblick über die einzelnen Softwarekomponenten ..................................... 72 7.2 Rezeptursteuerung (S7 Steuerungsprogramm).............................................. 72 7.2.1 Programmstrukturen ....................................................................................... 72 7.2.2 Programmablauf ............................................................................................. 73 7.2.3 Funktions- und Organisationsbausteinüberblick............................................. 75 7.2.4 Datenbausteinüberblick .................................................................................. 80 7.2.5 Beschreibung ausgewählter Codeauszüge .................................................... 82 7.3 Bridge-Client (C# Programm) ......................................................................... 84 7.3.1 Funktionsweisen des Clients .......................................................................... 84 7.3.2 OPC-XML Zugriff (C# Windowsprogramm) .................................................... 88 7.3.3 Datenbankzugriffe (C# Windowsprogramm)................................................... 90 7.3.4 Visualisierung (C# Windowsprogramm) ......................................................... 98 7.4 Datenbankstruktur (ACCESS / MySQL) ......................................................... 98 7.4.1 Tabellen .......................................................................................................... 98

8 Anpassung der Programme....................................................................... 100 8.1 Veränderungen im S7-Programm................................................................. 100 8.2 Anpassung der C# Applikation ..................................................................... 101 8.3 Erstellung eines Strong Typed DataSets...................................................... 102

Teil D: Anhang .......................................................................................................... 105

9 Literaturangaben ........................................................................................ 105

Teil A1: Applikationsbeschreibung

Übersicht

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 9/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Fehl

er! U

nbek

annt

er N

ame

für D

okum

ent-

Eige

nsch

aft

Teil A1: Applikationsbeschreibung

Übersicht

Inhalt Teil A1 Im Teil A1 erfahren Sie alles, um sich einen Überblick zu verschaffen. Sie lernen die verwendeten Komponenten (Standard Hard- und Softwarekomponenten und die zusätzlich entwickelte Software) kennen.

Die dargestellten Funktionseckdaten zeigen die Leistungsfähigkeit der vorliegenden Applikation.

Ziel Teil A1 Der Teil A1 dieses Dokuments soll dem Leser

• das Automatisierungsproblem klarmachen

• eine Lösungsmöglichkeit aufzeigen

• die Leistungsfähigkeit der Gesamtapplikation aufzeigen.

Behandelte Themen

Kap. Titel Seite 1 Automatisierungsaufgabe 10 2 Die Automatisierungslösung 12 2.1 Übersicht zur Gesamtlösung 17 2.2 Beschreibung der Funktionalitäten der Applikation 19 2.3 Alternativlösungen 21 2.4 Erforderliche Komponenten 23 3 Leistungseckdaten 27

Teil A1: Applikationsbeschreibung

Automatisierungsaufgabe

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 10/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Fehl

er! U

nbek

annt

er N

ame

für D

okum

ent-

Eige

nsch

aft

1 Automatisierungsaufgabe

Anforderung Im Bereich der industriellen Automatisierung werden häufig Industrie PCs eingesetzt, die zur Visualisierung dienen. Parallel dazu existiert eine Steuerung, welche die Anlage steuert. Häufig stellt sich das Problem, dass Daten einer Datenbank in die Steuerung und umgekehrt transferiert werden sollen.

Allgemeine Aufgabenstellung Es soll ein Datenaustausch zwischen einer Datenbank und einer SIMATIC Steuerung per OPC XML Server stattfinden. Als Steuerung soll SIMATIC WinAC RTX zum Einsatz kommen.

Kontext dieser Automatisierungsaufgabe Die Applikationsbeispiele zum Thema, zu welchem auch dieses Dokument gehört, beruhen auf der oben dargestellten Misch- und Abfüllanlage für Erfrischungsgetränke. Dabei wird der Mischprozess von der Software-Steuerung SIMATIC WinAC RTX gesteuert.

Allgemeine Technologische Aufgabenstellung Diese Applikation zeigt, wie die SIMATIC WinAC RTX mit Datenbanken über den SIMATIC OPC-XML Server interagieren kann. Dazu werden die Standardkomponenten des Microsoft .NET Frameworks eingesetzt, welches kostenfrei erhältlich ist.

Um das Beispiel etwas konkreter zu gestalten, zeigen wir Ihnen die rezepturbasierte Steuerung des Mischprozesses in der WinAC, wobei die Rezepte aus der Datenbank eingelesen werden und zusätzlich noch Qualitätsdaten zurück in die Datenbank geschrieben werden.

Im Mittelpunkt steht allerdings die Anbindung der WinAC RTX Steuerung mittels OPC-XML Server an eine Datenbank.

Konkrete Technologische Aufgabenstellung Die MS ACCESS (MySQL) Datenbank soll mit einer WinAC RTX kommunizieren. Eine Windows Applikation, die auch zur Visualisierung dient, soll dabei als Bridge- Client zwischen Datenbank und Steuerung eingebunden werden. Der Datenaustausch soll über diese Applikation erfolgen.

Anforderungen an die Lösung • Die Applikation soll folgende Funktionalität bieten:

1. Rezepturverarbeitung ruht zunächst

2. Start der Rezeptur mit vorgewähltem Rezept

3. Steuerung fordert Daten beim Windows Client an

Teil A1: Applikationsbeschreibung

Automatisierungsaufgabe

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 11/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Fehl

er! U

nbek

annt

er N

ame

für D

okum

ent-

Eige

nsch

aft

4. Verarbeitung des Rezeptes anhand der Rezeptur (dynamisch)

5. Nach Fertigstellung der Rezeptur werden die benötigte Zeit des Rezeptes und die Protokolldaten der einzelnen Schritte in die Datenbank gespeichert.

• Funktionalität auf große Mengengerüste anwendbar

• Das Rezepturprogramm in der Steuerung soll von der Client-Applikation aus voll bedienbar sein.

• Alle Funktionen müssen auch vom S7-Programm in der WinAC aus über eine Variablen Tabelle bedienbar sein.

• Die angeschlossene Peripherie wird von einem Simulationsbaustein nachgebildet.

• Es müssen verschiedene dynamische Rezepte in die Steuerung übertragbar sein.

• Nach jedem Rezepturdurchlauf müssen die WinAC Qualitätsdaten an die Datenbank übermittelt werden.

• Es sollen standardisierte Kommunikationsmechanismen genutzt werden.

Teil A1: Applikationsbeschreibung

Die Automatisierungslösung

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 12/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Fehl

er! U

nbek

annt

er N

ame

für D

okum

ent-

Eige

nsch

aft

2 Die Automatisierungslösung

Einleitung In diesem Kapitel erfahren Sie konkret, wie die vorliegende Applikation die in Kapitel 1 genannte Automatisierungsaufgabe löst. Dabei wird aufgezeigt, was die Applikation leisten kann, welche Teilmodule sie enthält und wie diese funktionieren. Die Beschreibung des Funktionsmechanismus hält sich dabei bewusst auf einem globalen Niveau. Ein tiefer gehendes Verständnis wird Ihnen im Teil A2 dieser Dokumentation vermittelt, den Sie allerdings nur dann benötigen, wenn Sie Hintergrundwissen, den Detailablauf und das Zusammenspiel der Lösungskomponenten kennen lernen wollen.

Inhalt dieses Kapitels

Kap. Titel Seite 2 Die Automatisierungslösung 12 2.1 Übersicht zur Gesamtlösung 17 2.2 Beschreibung der Funktionalitäten der Applikation 19 2.3 Alternativlösungen 22 2.4 Erforderliche Komponenten 23

Lösungsmöglichkeiten Zur Lösung solcher Aufgaben ist eine Lösung mit WinAC RTX in Verbindung mit dem OPC Server geradezu prädestiniert. WinAC RTX bringt die Steuerungsfunktionalität auf den PC. Der OPC Server bietet die Möglichkeit, Daten zwischen Windowsapplikationen und der Steuerung auszutauschen. Dies funktioniert sowohl lokal als auch verteilt mit anderen Rechnern.

Beispielapplikation Als Beispiel für eine solche Automatisierungslösung stellen wir Ihnen hier die Anbindung einer ACCESS oder MySQL Datenbank an die WinAC RTX Steuerung vor.

Nutzen Mit der komplett vorbereiteten und ablauffähigen Applikationssoftware ergibt sich für Sie folgender Nutzen:

• Möglichkeiten zur Erstellung einer dynamischen Rezeptursteuerung in der WinAC werden aufgezeigt

• Grundlagen, die benötigt werden um einen individuellen Datenaustausch zwischen Datenbanken und WinAC mit Hilfe eines OPC Servers auszutauschen

Teil A1: Applikationsbeschreibung

Die Automatisierungslösung

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 13/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Fehl

er! U

nbek

annt

er N

ame

für D

okum

ent-

Eige

nsch

aft

– Programmierung einer Datenbankanbindung mit Hilfe von ADO.NET

– Programmierung eines OPC – Clients (kurz)

Diese Applikation Diese Applikation beschreibt ein Applikationsbeispiel, das mit Hilfe einer selbst erstellten Windows Applikation eine Verbindung zu einer MS Access (bzw. MySQL) Datenbank aufbaut und die Daten als Rezepturinformation über den OPC-XML Server in die WinAC RTX überträgt. Umgekehrt empfängt die Windows Applikation von der Steuerung Qualitätsdaten die anschließend in der Datenbank gespeichert werden.

Hinweis Sie benötigen zum Testen dieser Applikation keinen realen Mischprozess, da dieser von einem Funktionsbaustein innerhalb der Steuerung simuliert wird.

Architektur dieser Applikation Das folgende Bild verdeutlicht den Aufbau der Gesamtapplikation.

Abbildung 2-1

Windows PC

Intranet / Internet

Windows PC

Prozessanschluss

Loka

ler C

lient

Rem

ote

Clie

nt

WinAC RTX

OPC-Client

OPC-ClientMySQL

Access

MySQL

Access

Der OPC Client (im Folgenden auch Bridge Client genannt) bildet die zentrale Komponente der Verbindung von WinAC RTX mit der Datenbank. Er sendet und empfängt Daten jeweils zur Steuerung und zur Datenbank.

Teil A1: Applikationsbeschreibung

Die Automatisierungslösung

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 14/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Fehl

er! U

nbek

annt

er N

ame

für D

okum

ent-

Eige

nsch

aft

Aufbau der Applikation (alle Komponenten lokal) Im folgenden Bild wird der grundsätzliche technologische Aufbau der Lösung dargestellt. Der Datenaustausch zwischen WinAC RTX und der Datenbank erfolgt über die Windows Applikation Bridge-Client.

Der detaillierte Datenaustausch zwischen den einzelnen Komponenten wird in Kapitel 2.2 Beschreibung der Funktionalitäten der Applikation aufgezeigt.

Abbildung 2-2 Lokale Installation

Aufbaumöglichkeit 2 (Datenbank auf entfernten Server) Mit der vorliegenden Applikation ist es möglich, dass die Datenbank (ACCESS / MySQL) auf einem entfernten Server liegt. Mit den entsprechenden Einstellungen im Client wird die Verbindung zum Server hergestellt.

Abbildung 2-3

WinAC Station Datenbank Server

Industrial Ethernet (IE)

Datenbank

WinACDB_xy Bridge-Client

WinAC Station Datenbank Server

Industrial Ethernet (IE)

Datenbank

WinACDB_xy

WinACDB_xy Bridge-Client

Aufbaumöglichkeit 3 (Datenbank und Client auf entfernten Rechner) Als dritte Möglichkeit des Hardwareaufbaus kann der Bridge Client auch auf einem entfernten Rechner installiert werden. Mit den entsprechenden Einstellungen im Client können die Verbindungen frei gewählt werden.

Teil A1: Applikationsbeschreibung

Die Automatisierungslösung

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 15/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Fehl

er! U

nbek

annt

er N

ame

für D

okum

ent-

Eige

nsch

aft

Abbildung 2-4

WinAC Station Datenbank Server

WinACDB_xy

Bridge Station

DatenbankBridge-Client

Industrial Ethernet (IE)

WinAC Station Datenbank Server

WinACDB_xy

WinACDB_xy

Bridge Station

DatenbankBridge-Client

Industrial Ethernet (IE)

Hinweis Die drei dargestellten Möglichkeiten bilden nur eine Auswahl der Aufbaumöglichkeiten. Im folgenden werden nur die beiden ersten erläutert.

Das Mengengerüst des Beispiels Tabelle 2-1

Kriterium Leitungseckdaten

Ladespeicherbedarf Ca. 5400 Bytes Arbeitsspeicherbedarf Ca. 4000 Bytes Zyklisches, asynchrones lesen 7 Worte Anwendergesteuertes, synchrones Schreiben 7 Worte pro Rezeptschritt,

bedeutet in Summe zwischen 14 ... 140 DBW + ca. 3 Byte Steuercodes

Hinweis Die dynamischen Rezepte sind durch die Größe des Rezepturbausteins auf 20 Einzelschritte begrenzt. Eine Erweiterung der Rezepturgröße ist sehr einfach möglich (siehe Kapitel 8 Anpassung der Programme).

Kundennutzen der Automatisierungslösung Im Vergleich zu klassischen Rezeptursteuerungen, die ohne PC durchgeführt werden, profitiert der Kunde bei dieser Lösung in vielfacher Weise:

• Die Lösung beinhaltet eine einfache Visualisierung • Für die Fehleranalyse werden Qualitäts- und Fehlerdaten des

Prozesses in der Datenbank archiviert

Teil A1: Applikationsbeschreibung

Die Automatisierungslösung

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 16/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Fehl

er! U

nbek

annt

er N

ame

für D

okum

ent-

Eige

nsch

aft

• Klassische Steuerungsfunktionalitäten sind in gewohnter Weise mit WinAC realisierbar und kommunizieren über die OPC-XML Client Anbindung mit Windows Applikationen (sowohl lokal als auch über Netzwerke hinweg mit Datenbanken)

• Mit der individuell implementieren Client-Applikation kann ein leistungsfähiger Datenaustausch mit Standarddatenbanken erzielt werden. Dabei können sowohl Datenbank als auch Client-Applikation auf verschiedenen Rechnern (über Ethernet verbunden) laufen. (Jede der drei Teilapplikationen WinAC, Bridge-Client und Datenbank können im Bedarfsfall auf jeweils einem Rechner laufen)

• Durch die dynamische Gestaltung des C# Programms können die Codeelemente wieder in neuen Projekten Verwendung finden.

Lerninhalte dieser Applikation Nach dem Studium dieses Applikationsbeispieles haben Sie folgendes gelernt:

• Wie Sie einen OPC-XML Zugriff auf Daten von WinAC RTX von einer C# Applikation aus programmieren

• Wie die ADO.Net Schnittstelle funktioniert

• Wie die Anbindung einer ACCESS/MySQL Datenbank über ADO.NET erfolgt

2.1 Übersicht zur Gesamtlösung

Darstellung der beteiligten Komponenten Das folgende Übersichtsbild zeigt den HW-Aufbau der Beispielapplikation, sowie die darauf befindlichen Standard- und Anwendersoftware-Komponenten.

Bitte beachten Sie, dass die Applikation ohne Peripherie in Betrieb genommen wird. Hierfür gibt es einen Simulationsbaustein im S7 Programm, welcher die Peripherie simuliert. Für den realen Anschluss von Peripherie muss das S7 Programm geändert werden. (siehe Kapitel 8.1 Veränderungen im S7-Programm)

Teil A1: Applikationsbeschreibung

Die Automatisierungslösung

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 17/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Fehl

er! U

nbek

annt

er N

ame

für D

okum

ent-

Eige

nsch

aft

Abbildung 2-5

• STEP 7 • .NET Framework• Visual Studio .NET• Client

PG/PC • WinAC RTX (+ SIMATIC NET) mit

integrierter Ethernet-Schnittstelle• CP 5613 (PCI Einsteckkarte)• Client Applikation • Internet Information Server (IIS)• .NET Framework • OPC- XML Server / Client• PHP (optional)

WinAC Station, Rack PC

Industrial Ethernet

Erläuterung zu den Komponenten Die WinAC Station beinhaltet die Software SPS, den OPC Server und stellt die Daten der Steuerung bereit

Grundsätzliche Funktionalität der Lösung Der Bridge - Client liest die Rezepturdaten aus einer der beiden Datenbanken aus und schreibt sie in einen Datenbaustein der Steuerung (grüne Kommunikationslinien). Zusätzlich werden Qualitätsdaten in die Datenbank zurückgeliefert (rote Kommunikationslinien). Die Steuerung liefert außerdem noch bei Bedarf Visualisierungsdaten zurück (blaue Kommunikationslinie). Die folgende Zeichnung vermittelt einen Überblick über die Softwarelösung.

Teil A1: Applikationsbeschreibung

Die Automatisierungslösung

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 18/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Fehl

er! U

nbek

annt

er N

ame

für D

okum

ent-

Eige

nsch

aft

Überblick zur Softwarelösung Abbildung 2-6

Teil A1: Applikationsbeschreibung

Die Automatisierungslösung

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 19/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Fehl

er! U

nbek

annt

er N

ame

für D

okum

ent-

Eige

nsch

aft

2.2 Beschreibung der Funktionalitäten der Applikation

Lösungselemente der Applikation Die Applikation besteht aus mehreren Lösungselementen, die sehr variabel und offen miteinander verknüpft sind:

Abbildung 2-7

Windows PC

Internet Informations-dienste (IIS)

SIMATIC NET OPC Server

SOPCWeb – Web Service

Intranet / Internet

Windows PC

Prozessanschluss

SOAP

Loka

ler C

lient

Rem

ote

Clie

nt

WinAC RTX

MySQLMySQL

Bridge-Client

SOAPSOAP DataSetDataSet

MS Jet OLE DB Dataprovider

MS Jet OLE DB Dataprovider

Bridge-Client

DataSetDataSetSOAPSOAP

ADO.NETADO.NET

Access

MySQL .NetDataproviderMySQL .NetDataprovider

ADO.NETADO.NET

Beschreibung der Lösungselemente Tabelle 2-2

Nr. Element Beschreibung

1 WinAC RTX Eine Steuerung mit Echtzeitfähigkeit. Sie übernimmt die eigentliche Steuerung des Mischprozesses

2 SIMATIC NET OPC Server

Stellt eine Verbindung zwischen der Steuerung und dem Internet Informationsdiensten her

3 Internet Informationsdienste (IIS)

Stellen eine SOAP basierte Webverbindung für lokale Clients, als auch Remote Clients zum OPC Server her.

4 OPC- Client (im Folgenden als Bridge-Client bezeichnet)

Ruft die Daten von der Datenbank mit Hilfe von ADO.NET Mechanismen ab und leitet Sie an den OPC Server weiter. Zusätzlich stellt der Client noch eine kleine Visualisierung zum Bedienen und Beobachten des S7 Programms bereit.

5 ADO.NET Datenbankanbindungs-Architektur für .NET Framework.

Teil A1: Applikationsbeschreibung

Die Automatisierungslösung

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 20/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Fehl

er! U

nbek

annt

er N

ame

für D

okum

ent-

Eige

nsch

aft

6 MySQL Dataprovider Stellt die Daten einer MySQL Datenbank der ADO.NET Architektur (DataSet usw.) bereit.

7 MS Jet OLE DB Dataprovider

Stellt die Daten einer Jet fähigen Datenbank (z.B.: MS Access) der ADO.NET Architektur (DataSet usw.) bereit.

8 MS ACCESS Daten-bank

Datenbank zur Haltung der Rezeptur- und Qualitätsdaten.

9 MySQL Datenbank Datenbank zur Haltung der Rezeptur- und Qualitätsdaten. 10 SOAP Protokoll SOAP ist ein Protokollstandard auf XML Basis der zur verteilten

Kommunikation in Rechnernetzen verwendet wird.

Ablauf ausgewählter Kernfunktionalitäten Die folgenden Tabellen beschreiben, welche Aktionen die Applikation durchführt, damit ausgewählte Kernfunktionalitäten erfüllt werden:

Verbinden des OPC- Clients mit dem Server Tabelle 2-3

Nr. Aktion Erläuterung

1 Initialisierung des Webservice Objects

Eine Instanz der Webreferenz wird erstellt und mit den Initialisierungsdaten gefüllt (Timeout, URL, usw.)

2 Anfordern einer WebResponse durch den Client

Mit Hilfe dieses Mechanismus wird die Existenz, sowie die Verfügbarkeit des OPC_XML Servers geprüft.

3 Betriebsstatus des Servers abfragen

Als weitere Kontrolle wird eine Statusinformation des Servers angefordert.

4 Bei Bedarf: Herstellen der Verbindung

Bei Fehlern werden entsprechende Meldungen angezeigt und keine Verbindung hergestellt.

Verbinden des Clients mit der Datenbank Tabelle 2-4

Nr. Aktion Erläuterung

1 Öffnen der Verbindung zur Datenbank.

Mit Hilfe des DataAdapters (Connection) wird die Access (MySQL) Datenbank für Verbindungen geöffnet.

2 Speichern der Daten im DataSet

Die Fill Methode des Datenadapters füllt ein DataSet mit den Daten der Datenbank.

3 Schliessen der Verbindung zur Datenbank

Der DataAdapter schließt die Verbindung zur Datenbank automatisch wieder, wenn alle Anforderungen bearbeitet wurden. Die Daten werden im DataSet gehalten und können geändert werden.

Teil A1: Applikationsbeschreibung

Die Automatisierungslösung

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 21/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Fehl

er! U

nbek

annt

er N

ame

für D

okum

ent-

Eige

nsch

aft

Datenaustausch zwischen Datenbank und S7 Steuerung Tabelle 2-5

Nr. Aktion Erläuterung

1 Start der Steuerung Die Steuerung kann über das „Start“ Bit im DB_Command_Glob Datenbaustein entweder durch die Steuerung, oder durch den Client starten.

2 Die Steuerung sendet eine Rezeptdatenanforderung.

Im Datenbaustein DB_Command_Glob setzt die Steuerung das Bit „DataRequest“.

3 OPC- Client bestätigt die Anforderung und sendet die Rezeptdaten in den Datenbaustein DB_Recipe.

Im Datenbaustein DB_Command_Glob der Steuerung setzt der Client das Bit „DataRequest“ zurück und setzt das Bit „DataRequestAk“.

4 Der OPC- Client sendet eine Datensendebestätigungsnachricht

Der Client sendet mit Hilfe eines synchronen Schreibbefehls die Rezeptdaten in den Datenbaustein DB_Recipe der Steuerung. Anschließend wird das Bit „DataSend“ im DB_Command_Glob der Steuerung gesetzt.

5 Die Steuerung sendet eine Datenempfangsnachricht und startet das Rezepturprogramm

Die WinAC setzt das „DataSend“ Bit wieder zurück und aktiviert das Bit „DataSendAk“.

Vorteile dieser Lösung • Die Datenbankanbindung kann über frei wählbare Wege weitgehend

unabhängig von Firewalls erfolgen.

• Individuelle und flexible, selbst erstellte Datenbankanbindung

• Skalierbare und flexible, selbst erstellte Visualisierung des S7-Programms

• Flexible, sehr leistungsfähige Rezeptur- und Datenlogging-Applikationen

2.3 Alternativlösungen

Alternative Softwarelösungen Mit den dargestellten Mechanismen können beliebige Datenanbindungs- Module in den Steuerungszyklus von WinAC RTX eingebunden werden, wie z.B.:

• Batch Komponenten (PCS7)

• Archivierungstools (z.B.: WinCC )

• Bedienen und Beobachten mit klassischen Mitteln, wie WinCC

• Einsatz des Produktes Siemens Industrial Data Bridge an Stelle des Bridge - Clients

Teil A1: Applikationsbeschreibung

Die Automatisierungslösung

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 22/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Fehl

er! U

nbek

annt

er N

ame

für D

okum

ent-

Eige

nsch

aft

Alternative Hardwarelösungen Hardwarelösungen von Siemens und anderen Herstellern können auch mit dem OPC Server kommunizieren, wie zum Beispiel:

• Linux PC (über SOAP Protokoll)

• Windows PC

• Rechner über Intra- oder Internet verbunden

Teil A1: Applikationsbeschreibung

Die Automatisierungslösung

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 23/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Fehl

er! U

nbek

annt

er N

ame

für D

okum

ent-

Eige

nsch

aft

2.4 Erforderliche Komponenten

Nachfolgende Tabellen enthalten die Hard- und Software-Komponenten für die jeweiligen Stationen. Die unten aufgeführten Komponenten können Sie direkt in der Siemens A&D Mall unter www.ad.siemens.com/mall bestellen.

Hardware-Komponenten für Industrie PC Für diese Applikation benötigen Sie lediglich einen Industrie PC. Tabelle 2-6

Komponente Anz. MLFB/Bestellnummer Hinweis

Industrie PC SIMATIC Rack PC IL 40 S

1 6AG4011-0AA21-0KX0 Konfigurator: siehe FAQ ID 17128155

Kommunikationsprozessor CP 5613 A2 für PROFIBUS, PCI-KARTE

1 6GK1 561-3AA01 Wird nur benötigt falls die Programmierung des Hilfe des Clients über PROFIBUS erfolgen soll

Ethernetkabel gekreuzt

1 je nach Hersteller Nur falls Client auf dem PG/PC laufen soll oder die Programmierung über Ethernet erfolgen soll.

Hardware-Komponenten für das PG/PC Tabelle 2-7

Komponente Anz. MLFB/Bestellnummer Hinweis

Programmiergerät Power PG

1 6ES7751-.....-.... Konfigurator: siehe FAQ ID 17128155; CP 5611 integriert

Software-Komponenten auf der SIMATIC PC-Station (WinAC Station) Alternativ zur MS Access Datenbank kann auch eine MySQL Datenbank eingesetzt werden. Tabelle 2-8

Komponente Anz. MLFB/Bestellnummer Hinweis

SIMATIC WinAC RTX V4.1 1 6ES7671-0RC04-0YA0 SIMATIC NET CD ist im WinAC Paket enthalten.

Teil A1: Applikationsbeschreibung

Die Automatisierungslösung

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 24/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Fehl

er! U

nbek

annt

er N

ame

für D

okum

ent-

Eige

nsch

aft

Internet-Informationsdienste (IIS)

1 Bestandteil des Windows Betriebssystems (Nur Windows 2000 Prof. / Windows XP Prof.)

.NET Framework V1.1 1 Download über folgenden Link http://go.microsoft.com/fwlink/?LinkId=9832

MySQL V4.0.20D für Windows (optional)

1 Kostenlos (Bitte Lizenzrechte beachten!)

Download über folgenden Link http://www.mysql.de/ (Laden Sie bitte die Server Version herunter)

MySQL Control Center (Optional)

1 Es wird empfohlen dieses Programm zur effektiven Erstellung und Bearbeitung von MySQL Datenbanken mit zu installieren.

Download über folgenden Link http://www.mysql.de/

Teil A1: Applikationsbeschreibung

Die Automatisierungslösung

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 25/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Fehl

er! U

nbek

annt

er N

ame

für D

okum

ent-

Eige

nsch

aft

Software-Komponenten auf dem PG/PC Tabelle 2-9

Komponente Anz. MLFB/Bestellnummer Hinweis

STEP 7 V5.3 1 6ES7810-4CC07-0YA5 .NET Framework V1.1 1 kostenlos Download über

folgenden Link http://go.microsoft.com/fwlink/?LinkId=9832 (optional)

Microsoft Visual Studio .NET 2003 Professional (optional)

1 Zu Bestellen über Ihren Administrator oder über den Link http://www.microsoft.com/

ByteFx .NET Data Provider Library (optional bei Verwendung von MySQL und Neuübersetzung des C# Codes)

1 kostenlos (Bitte Lizenzrechte beachten!)

Download unter dem Link http://www.byte.fx/.

Beispielprojekt Die vorliegende Beispielapplikation besteht aus folgenden Komponenten: Tabelle 2-10

Komponente Hinweis

21576581_WinAC_SO_CODE_v10_e.zip Darin sind enthalten:

Diese Datei enthält alle links aufgeführten ZIP- Dateien. Es ist somit eine Sammlung des gesamten Applikationscodes und der zugehörigen Daten (STEP 7 Programm für die WinAC RTX, Quellcode für Visual Studio C#.NET und Datenbanken)

• STEP7_Prj.zip

S7 Projekt mit Konfiguration und Code, der direkt in die WinAC RTX geladen werden kann.

• Client_Application.zip Die ausführbare Datei der Client-Applikation

• Client_Source.zip Der Quellcode der Client-Applikation

• RecipeAdministration.mdb ACCESS Datenbankfile

• MySQL_DB.zip MySQL Datenordner 21576581_WinAC_SO_DOKU_v10_d.pdf Dieses Dokument

Teil A1: Applikationsbeschreibung

Die Automatisierungslösung

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 26/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Fehl

er! U

nbek

annt

er N

ame

für D

okum

ent-

Eige

nsch

aft

Aufwand Programmierung / Projektierung Falls Sie eine vergleichbare Applikation selbst von Grund auf erstellen möchten, sind die im folgenden aufgeführten Aufwände zu planen. Nutzen Sie vorliegende Applikation, so ist die Applikation in maximal zwei Tagen in Betrieb.

• Für die Implementierung einer vergleichbaren Applikation wird bei mittleren SIMATIC Vorkenntnissen ein Aufwand von 12 Manntagen für die Programmierung des S7-Programms angesetzt.

• Für die Programmierung der Client Applikation sind, bei guten Windows Programmierkenntnissen, ca.19 Manntage zu kalkulieren

• Zur Erstellung der Datenbanken sind ca. 2 Tage bei Datenbankkenntnissen zu veranschlagen.

• Für die Integration aller Komponenten sind nochmals ca. 6 Tage anzusetzen.

Hinweis Die oben geschätzten Aufwände sind grobe Richtwerte und können je nach Vorkenntnissen deutlich größer oder kleiner ausfallen.

Teil A1: Applikationsbeschreibung

Leistungseckdaten

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 27/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Fehl

er! U

nbek

annt

er N

ame

für D

okum

ent-

Eige

nsch

aft

3 Leistungseckdaten

Eckdaten von Systemsoftware und Projektierung Nachfolgende Tabelle informiert über die Eckdaten der Systemsoftware und Projektierung. Sie erhalten damit einen Überblick über die Leistungsfähigkeit dieser Applikation und ihrer Komponenten. Tabelle 3-1

Merkmal Wert Hinweis

Übertragungszeit der Rezepturdaten von der Access Datenbank WinAC

Ca. 4s Maximal 20

Einzelschritte (14 Byte pro Schritt) in dieser Applikation

(einfach zu erweitern).

Abhängig von der Prozessorgeschwindigkeit, ablaufender Software, Größe der Rezeptur sowie der Verbindung zur Datenbank (lokal/verteilt) bzw. zur WinAC (lokal/verteilt).

Übertragungszeit der Rezeptdaten von der MySQL Datenbank WinAC

Ca. 3s Maximal 20

Einzelschritte (14 Byte pro Schritt) in dieser Applikation

(einfach zu erweitern).

Abhängig von der Prozessorgeschwindigkeit, ablaufender Software, Größe des Rezeptes sowie der Verbindung zur Datenbank (lokal/verteilt) bzw. zur WinAC (lokal/verteilt).

Übertragungszeit der Qualitätsdaten aus der WinAC Datenbank

< 1s (Abhängig von der

Datenmenge)

Hinweis Die maximale Größe eines Datenbausteins in der WinAC RTX beträgt 65536 Byte daraus ergeben sich (1 Schritt ^ 14 Byte ) höchstens 4680 Einzelschritte. Sollten mehr Schritte benötigt werden sind umfassende Änderungen am STEP 7 sowie am C# Programm nötig.

Teil A2: Funktionsmechanismen

Leistungseckdaten

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 28/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Fehl

er! U

nbek

annt

er N

ame

für D

okum

ent-

Eige

nsch

aft

Teil A2: Funktionsmechanismen

Übersicht

Inhalt Teil A2 Im Teil A2 wird auf die detaillierten Funktionsabläufe der beteiligten Hard- und Softwarekomponenten eingegangen. Sie benötigen diesen Teil nur, wenn Sie den Detailablauf und das Zusammenspiel der Lösungskomponenten kennen lernen wollen.

Hier finden Sie Informationen zur Lösungsstruktur der Applikation. Beispielsweise werden an dieser Stelle Grundlagen und Funktionen der ADO.NET Schnittstelle erläutert.

Ziel Teil A2 Der Teil A2 dieses Dokuments soll dem Leser

• alle vorkommenden Funktionselemente verständlich machen

• die Komponenten aufzeigen, die einfach in eigene Anwendungen integrierbar sind.

Behandelte Themen

Kap. Titel Seite 4 Funktionsmechanismen 29 4.1 Grundlagen: PC-basierte Steuerung mit SIMATIC 30 4.2 Web Services, IIS und OPC XML-DA 30 4.3 Microsoft .NET Plattform 30 4.4 Grundlagen der Programmiersprache C# 31 4.5 Grundlagen der ADO.NET Schnittstelle 32 4.6 Grundlagen zu ACCESS 36 4.7 Grundlagen zu MySQL 37

Teil A2: Funktionsmechanismen

Funktionsmechanismen

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 29/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Fehl

er! U

nbek

annt

er N

ame

für D

okum

ent-

Eige

nsch

aft

4 Funktionsmechanismen

Was können Sie mit diesem Kapitel anfangen? Grundsätzlich ist die vorliegende Applikation sofort einsatzfähig. Mit der Installationsanleitung können Sie die Applikation in Betrieb nehmen, ohne dieses Kapitel durchgearbeitet zu haben. Wollen Sie jedoch verstehen, was hinter den Kulissen geschieht, dann ist die Lektüre dieses Kapitels empfehlenswert. Auch wenn Sie bestimmte Module der Applikation für Ihre Anforderungen variieren möchten, benötigen Sie tiefer gehende Informationen.

4.1 Grundlagen: PC-basierte Steuerung mit SIMATIC

Die Grundlagen zur PC-basierten Steuerung SIMATIC WinAC RTX finden sie im Dokument /1/.

4.2 Web Services, IIS und OPC XML-DA

Die Grundlagen zu Web Services, zu den Internet-Informationsdiensten (IIS) und zu den Grundlagen zur OPC XML-DA Schnittstelle finden Sie in /2/.

4.3 Die Microsoft .NET Plattform

Übersicht .NET ist eine plattformübergreifende Technik von Microsoft, die es ermöglicht, Software weitgehend plattformunabhängig zu entwickeln. Die Common Language Runtime (CLR) dient dabei als Laufzeitumgebung für die verschiedenen .NET Sprachen (C#, C++, usw.). Der Programmcode wird beim Kompilieren nicht in einen maschinenlesbaren Binärcode gewandelt, sondern in die so genannte Intermediate Language (IL).

Wird ein Programm nun gestartet, dann wird dieser IL Code vom JIT (Just in Time) Compiler vor dem Ausführen in einen maschinennahen Code übersetzt.

Als Programmierumgebung kommt bei .NET das Microsoft Visual Studio .NET 2003 zu Einsatz. Der Bridge Client dieser Applikation wurde komplett mit dieser Umgebung entwickelt.

Vorteile Eine in .NET programmierte Windows Applikation kann nicht nur auf einem PC, sondern auch auf anderen Geräten (z.B.: Panels mit Windows CE und .NET Framework) Verwendung finden. Zusätzlich können für .NET Anwen-dungen auch einfache und übersichtliche Datenbankanbindungen und Webanwendungen (ASP.NET) erstellt werden.

Teil A2: Funktionsmechanismen

Funktionsmechanismen

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 30/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Fehl

er! U

nbek

annt

er N

ame

für D

okum

ent-

Eige

nsch

aft

.NET Framework Eine Übersicht über die in .NET verwendeten Komponenten sehen Sie in der folgenden Darstellung. Abbildung 4-1

.NET-Plattform

VISU

AL

STU

DIO

.NET

Betriebssystem

Common Language Runtime (CLR)

Klassenbibliothek

ADO.NET

ASP.NET Win Forms

Common Language Spezifikation

Unterstützte Programmiersprachen

C#,Visual C++ .NET,VisualBasic .NET

4.4 Grundlagen der Programmiersprache C#

Einleitung Die Programmiersprache C# wurde speziell für den Einsatz des .NET Frameworks entwickelt und vereint die Vorteile von verschiedenen Programmiersprachen miteinander. Sie lehnt sich vom Syntax her sehr stark an C++ und Java an, einige Konstrukte wurden auch von Visual Basic übernommen (z.B.: SWITCH). C# wurde komplett objektorientiert gestaltet.

Unterschiede C# und C++ In der Vergangenheit wurden die meisten Windows Anwendungen mit der Programmiersprache C++ entwickelt. Im Folgenden sollen nun die beiden Programmiersprachen C# und C++ kurz miteinander verglichen werden, um sowohl die Leistungsfähigkeit, als auch das gute Handling der Sprache zu verdeutlichen.

Die unten aufgeführten Unterschiede gelten für C++ im „unmanaged mode“. Dieser Modus stellt die bis zur Einführung von .NET verwendete native Programmierung von Windows Applikationen dar. Wird C++ im „managed mode“ auf Basis der .NET Bibliothek ausgeführt, so gelten ähnliche Eigenschaften wie bei C#.

Teil A2: Funktionsmechanismen

Funktionsmechanismen

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 31/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Fehl

er! U

nbek

annt

er N

ame

für D

okum

ent-

Eige

nsch

aft

Tabelle 4-1

Hinweis C++ (unmanaged) C#

Destruktoren Destruktor muss selbst programmiert werden

Automatisches Garbage Collecting, d.h. Objekte werden automatisch gelöscht, wenn keine Referenz mehr auf sie existiert

Vererbung Mehrfachvererbung möglich Keine Mehrfachvererbung möglich

Klassendefinition Aufgeteilt in 2 Dateien (Header Datei *.h, Implementierungsdatei *.cpp)

Eine Datei, welche Quellcode enthält (*.cs)

Zeiger Ungeprüfte Zeiger sind möglich Statt ungeprüften Zeigern werden Referenzen verwendet, welche bereits zur Entwurfszeit geprüft werden.

Speicherverwaltung Vom Entwickler zu organisieren Automatische Speicherverwaltung

Globale Daten Globale Daten und Methoden können verwendet werden.

Programme bestehen nur noch aus Klassen ohne Globale Daten und Methoden.

4.5 Grundlagen der ADO.NET Schnittstelle

Im Folgenden werden die Schnittstelle ADO.NET erläutert. Dabei werden Grundkenntnisse auf dem Gebiet der Datenbanken vorausgesetzt.

Einleitung Grundsätzlich bestehen Datenbanken aus einer oder mehreren Tabelle(n), welche miteinander in Beziehung stehen und entsprechend verknüpft werden können.

Um innerhalb von selbst erstellten Programmen auf diese Datenbanken zugreifen zu können, wurde die ADO.NET Schnittstelle geschaffen. Diese Schnittstelle ermöglicht ein einheitliches Arbeiten unabhängig von der Art der Datenbank.

ADO.NET steht für „Active Data Object“ und bildet die auf .NET basierende Datenbankzugriffsschnittstelle.

Die Daten werden dabei nicht mehr wie bei ADO in einem RecordSet gehalten, sondern in einem DataSet, welches intern mit Hilfe einer XML Struktur gespeichert wird. Vorteil dieser Methode ist eine wesentlich einfachere und übersichtlichere Datenverarbeitung und Organisation.

Unter ADO.NET werden 2 Arten des Datenaustauschs verwendet:

Teil A2: Funktionsmechanismen

Funktionsmechanismen

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 32/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Fehl

er! U

nbek

annt

er N

ame

für D

okum

ent-

Eige

nsch

aft

• der verbundene Datenaustausch und

• der unverbundene Datenaustausch.

Schematische Darstellung der beiden Datenaustausch-Arten Abbildung 4-2

DataReader

Verbundene Datenverarbeitung

(.NET Data Provider)

Unverbundene Datenverarbeitung

(DataSet)

Connection

Command

Parameter

Transaction

DataAdapter

SelectCommand

InsertCommand

UpdateCommand

DeleteCommand

DataTableCollection

DataTable

DataRowCollection

DataColumnCollection

ConstraintCollection

DataRelationCollection

XML-File (Stream)ACCESS

MySQL

Die beiden Arten werden im Folgenden erläutert.

Verbundener Datenaustausch Der verbundene Datenaustausch enthält alle Verbindungen zur Datenbank. Die Verbindungen werden über einen Datenadapter bewerkstelligt, der vom jeweiligen .NET Dataprovider zur Verfügung gestellt wird. Dataprovider sind Bibliotheken, welche Standard ADO.NET Funktionen für die verschiedenen Datenbanken bereitstellen.

Durch sie wird eine einheitliche Vorgehensweise beim Kommunizieren mit der Datenbank möglich. Der Datenadapter stellt dabei verschiedene Kommandos zur Verfügung. Er baut die Verbindung zur Datenbank nur dann auf, wenn es nötig ist und schließt nach dem Übertragen der Daten die Verbindung sofort wieder. Nach einem erfolgreichen Verbindungsaufbau können die Daten in ein DataSet übertragen werden. Ein DataSet ist ein spezieller Ablageort für eine oder mehrere Datenbanktabellen im Hauptspeicher des PCs.

Teil A2: Funktionsmechanismen

Funktionsmechanismen

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 33/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Fehl

er! U

nbek

annt

er N

ame

für D

okum

ent-

Eige

nsch

aft

Unverbundener Datenaustausch Der unverbundene Datenaustausch erfolgt nach der Übertragung der Daten aus der Datenbank in das DataSet. Dabei wird auf die Daten im DataSet zugegriffen, ohne eine Onlineverbindung zur Datenbank. Nach der Bearbeitung kann das DataSet entweder wieder zurück in die Datenbank übertragen werden, oder in ein XML File gespeichert werden.

Provider Ein .NET Datenprovider stellt die ADO.NET Funktionalitäten für eine bestimmte Datenbank bereit. Durch die Vereinheitlichung der Schnittstellen wird ein identisches Programmieren von Applikationen unabhängig von der eingesetzten Datenbank ermöglicht.

DataSets Ein DataSet enthält eine bestimmte Datenmenge einer Datenbank (besteht aus einer oder mehreren Daten Tabellen). Der Zugriff auf die Daten im DataSet erfolgt strukturiert über die Eigenschaften des DataSets.

DataSets können typisiert und untypisiert definiert werden. Dabei stellt ein typisiertes DataSet die Tabellen und Spalten einer Datenbank direkt als Eigenschaften mit den aus der Datenbank bekannten Namen bereit. Vorteil dieser Variante ist, dass zur Entwurfszeit mit den Tabellennamen gearbeitet werden kann.

Zum Beispiel könnte im DataSet „DataSetFull“ auf ein Element der Tabelle „Expiry“ aus der Zeile „1“ und der Spalte „Method“ mit folgendem Statement zugegriffen werden. DataSetFull.Expiry[1].Method

Untypisierte DataSets werden dagegen über Indexe angesprochen.

Der gleiche Elementaufruf würde wie folgt lauten:

DataSetFull.Tables["Expiry"].Rows[1].ItemArray[1];

Vorteil dieser Adressierung ist eine größere Flexibilität, mit dem Nachteil, dass bereits zur Entwurfszeit fest stehen muss, an welcher Stelle die jeweiligen Spalten im ItemArray zu finden sind.

Vorteile bei der Verwendung von DataSets DataSets ermöglichen eine Offline Datenverarbeitung von Teilen einer Datenbank. Der Hauptvorteil beim Verwenden eines DataSets liegt in der besseren Skalierbarkeit der Datenbankanwendung. Bei einer Verbindung zum Datenbankserver sind vielfältige administrative Informationen vom Datenbankmanagementsystem zu halten, und je nach Art der Hard- und

Teil A2: Funktionsmechanismen

Funktionsmechanismen

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 34/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Fehl

er! U

nbek

annt

er N

ame

für D

okum

ent-

Eige

nsch

aft

Softwarekomponenten des Systems gibt es eine maximal zulässige Anzahl von Verbindungen.

Wird ein Konzept mit Online Datenverarbeitung verwendet, sind bei der Erledigung der Aufgaben zu jeder Zeit die Clients mit dem Server verbunden. Da die Verwaltung der Verbindungen Ressourcen im Server verbraucht, ist die Anzahl der maximalen Verbindungen begrenzt. Die maximale Verbindungsanzahl entspricht im allgemeinen der Menge der Clients, welche mit Daten der Datenbank arbeiten.

Verwendet man dagegen ein .NET Konzept (Offline Datenverarbeitung), so können wesentlich mehr Clients an die Datenbank angebunden werden.

Beispiel:

Bei einer durchschnittlichen Verbindungszeit der Clients zum Server von 5% der Gesamtverarbeitungszeit, können 20 mal soviel Clients mit Daten der Datenbank arbeiten, als mit der verbundenen Methode.

DataAdapter Ein DataAdapter stellt die Verbindung zwischen Datenbank und DataSet her, beendet sie und führt zusätzliche Operationen, wie Update, Insert, usw. durch. Der Zugriff auf die Datenbank erfolgt über SQL Befehle. Soll ein DataSet wieder zurück in die Datenbank geschrieben werden, kann die Fill Methode des Adapters verwendet werden. Dies funktioniert allerdings nur, wenn pro DataAdapter nur eine Tabelle verwendet wird. Es können allerdings mehrere DataAdapter auf ein DataSet angewendet werden.

Connections Connections werden für einen oder mehrere DataAdapter konfiguriert und stellen eine Verbindung zur jeweiligen Datenbank her. Der DataAdater öffnet und schließt sie je nach Bedarf.

Problem - Optimistisches locking Der neue Ansatz mit unverbundener Datenverarbeitung hat allerdings nicht nur Vorteile. Dies wird deutlich, wenn man mit dem DataSet verarbeitete Daten wieder zurück in die Datenbank schreiben möchte. Wird die selbe Tabelle von einem anderen Client zur selben Zeit verarbeitet und verändert in die Datenbank geschrieben, bevor der Datensatz unseres DataSets zurückgeschrieben wurde, so kommt es beim Update mit dem DataAdapter zu einer Fehlermeldung.

Als nächstes müsste der Fehler ausgewertet und das DataSet selbst in Abhängigkeit der aktuellen Datensätze der Datenbank überarbeitet werden. Diese Art der Datenverarbeitung wird als optimistisches locking bezeichnet.

Im Gegensatz dazu wird in der verbundenen Datenverarbeitung, wie sie bisher in der Datenbankwelt eingesetzt wird, erst auf mögliche Fehler geprüft und danach eine Transaktion durchgeführt. Dieses Verfahren wird als pessimistisches locking bezeichnet.

Teil A2: Funktionsmechanismen

Funktionsmechanismen

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 35/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Fehl

er! U

nbek

annt

er N

ame

für D

okum

ent-

Eige

nsch

aft

In der vorliegenden Applikation wurde dieses Problem umgangen, indem die Schreibvorgänge sich lediglich auf protokollarische Funktionen beziehen, welche fortlaufend Daten loggen. Mit Hilfe einer Autoinkrement Funktionalität in den ID Feldern der Datenbank und dem Weglassen dieser Felder im DataSet wird beim Updaten ein Insert SQL Befehl an die Datenbank übergeben, wodurch die ID immer automatisch inkrementiert wird.

Hinweis Bei umfangreicheren Datenmanipulationen auf Basis des DataSets muss unbedingt eine genaue Ausnahmebehandlung implementiert werden.

4.6 Grundlagen zu ACCESS

Unterschiede zwischen Desktop- und Datenbank mit Managementsystem In der vorliegenden Applikation werden alternativ zueinander zwei Datenbanken angeboten. Eine Desktopdatenbank (ACCESS) und eine Datenbank mit Datenbankmanagementsystem (MySQL).

Die Unterschiede zwischen beiden Datenbanktypen sind auf den ersten Blick eher gering. Bei genauer Betrachtung werden allerdings wichtige Unterschiede deutlich. Das Verwaltungsprogramm einer Desktopdatenbank wird auf jeder verteilten Station ausgeführt. Der Zugriff erfolgt auf eine gemeinsame Datenbasis, was zu Konflikten führen kann.

Bei einer Datenbank mit Managementsystem greifen alle Arbeitsstationen indirekt über das Verwaltungsprogramm (Server) auf die Datenbasis zu. Der Server verwaltet hierbei alle Zugriffe auf die Datenbasis allein. Es kann also nicht zu Zugriffskonflikten kommen.

Warum ACCESS ACCESS ist allgemein eine Desktopdatenbank für Büroaufgaben in kleinem Umfang. Daraus ergibt sich die Problematik, dass sie nicht so leistungsfähig wie eine leistungsstarke SQL Datenbank mit Server-Client Architektur ist.

Durch die Integration in die Office Suite von Microsoft liegt sie allerdings sehr vielen Büro- und Arbeitsplatzrechnern bei und kann ohne großen Installationsaufwand sofort genutzt werden. ACCESS bietet zusätzlich noch den Vorteil grafisch und leicht verständlich Datenbanken zu entwerfen und mit Daten zu füllen. Über spezielle Exportfunktionen können in ACCESS erstellte Datenbanken auch in andere Datenbanken konvertiert werden. (z.B. in eine MS SQL Datenbank)

ACCESS ist bei vorhandenen Grundkenntnissen auf dem Gebiet von Datenbanken sehr selbsterklärend und einfach zu bedienen.

Für genaue Informationen über die Verwendung von ACCESS lesen Sie bitte die Einführung in der Onlinehilfe.

Teil A2: Funktionsmechanismen

Funktionsmechanismen

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 36/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Fehl

er! U

nbek

annt

er N

ame

für D

okum

ent-

Eige

nsch

aft

ACCESS unter ADO.NET Auf ACCESS kann unter ADO.NET über einen oleDbDataprovider (mit Microsoft Jet Engine) zugegriffen werden. Die Daten können dann anschließend mit Hilfe von DataSets verarbeitet werden.

Visual Studio bietet zum Anbinden von Datenbanken einen Assistenten an, mit welchem eine einfache Integration von ACCESS Datenbanken in Windows Applikationen ermöglicht wird.

Ausführliche Informationen zur Verwendung des Assistenten finden Sie unter 7.3.3 Datenbankzugriffe (C# Windowsprogramm).

4.7 Grundlagen zu MySQL

Einleitung MySQL ist ein SQL Datenbanksystem, welches auf sehr vielen Plattformen verfügbar ist. MySQL stellt dabei Funktionalitäten bereit, welche sonst nur von sehr teueren Datenbanksystemen bekannt sind. Durch die Bereitstellung des Systems unter Open Source Bedingungen erfreut sich MySQL zunehmender Beliebtheit.

Funktionsweise von MySQL MySQL kann auf einer Vielzahl von Plattformen installiert werden, in unserem Applikationsbeispiel wird allerdings lediglich auf eine Windows basierte Version Bezug genommen. Auf dem Rechner, welcher die Daten in der Datenbank verwalten soll, muss ein MySQL Server installiert werden.

Siehe dazu Kapitel 5.4 Installation des MySQL Datenbankservers

Auf dem Rechner mit dem OPC Client muss mindestens die Clientsoftware (vorgestellter Bridge- Client) installiert werden. Es ist auch möglich, den OPC Server und den MySQL Server auf dem gleichen Rechner zu installieren. Siehe dazu Kapitel 5.7 Installation des Windows Bridge- Clients.

Lizenzrechtliche Bemerkungen MySQL AB veröffentlichte bisher den MySQL Server sowohl unter der GPL (General Public License) als auch als Kauflizenz (geringer Preis). Die GPL besagt dabei, dass der Quellcode frei verfügbar ist und in eigene Projekte mit eingearbeitet werden darf unter der Vorraussetzung, dass die erstellten Projekte wieder mit Quellcode veröffentlicht werden müssen. Der Client (DLL Bibliothek) wurde bisher unter der LGPL (Less General Public License) veröffentlicht. Die LGPL ist eine weniger restriktive Lizenz, die das verwenden in eigenen Projekten ohne Offenlegung des Quellcodes ermöglicht.

Aktuell trägt sich MySQL AB mit dem Gedanken, den Client auch unter die GPL zu stellen. Für Sie als Kunde würde es bedeuten, dass Sie entweder

Teil A2: Funktionsmechanismen

Funktionsmechanismen

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 37/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Fehl

er! U

nbek

annt

er N

ame

für D

okum

ent-

Eige

nsch

aft

das Programmprojekt offen legen, oder eine Serverlizenz erwerben müssen.

Hinweis Wenn Sie zum Speichern ihrer Steuerungsdaten eine MySQL Datenbank verwenden möchten, sollten Sie unbedingt die genauen Lizenzbedingungen des Herstellers einsehen.

Teil B: Installation der Beispielapplikation

Funktionsmechanismen

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 38/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Fehl

er! U

nbek

annt

er N

ame

für D

okum

ent-

Eige

nsch

aft

Teil B: Installation der Beispielapplikation

Übersicht

Inhalt Teil B Der Teil B führt Sie Schritt für Schritt durch den Aufbau und die Inbetriebnahme der Applikation.

Ziel Teil B Der Teil B dieses Dokuments soll dem Leser

• die Installation des Beispiels mit allen HW-/SW Komponenten erklären

• die Bedienung der Applikation zeigen

Behandelte Themen

Kap. Titel Seite 5 Installation der Hard- und Software 40 5.1 Vorbereitende Installation 40 5.2 Hardwareinstallation 41 5.3 Installation von WinAC RTX 43 5.4 Installation des MySQL Datenbankservers 44 5.5 Installation und Einrichtung der Internet-Informationsdienste 46 5.6 Installation des STEP 7 Projektes 48 5.7 Installation des Windows Bridge- Clients 49 5.8 Konfiguration und Programmierung der WinAC 50 5.9 Konfiguration der MySQL Datenbank 50 5.10 Konfiguration und Programmierung der ACCESS Datenbank 50 6 Bedienung der Applikation 52 6.1 Bedienung der MySQL Datenbank 52 6.2 Bedienung der Windows Applikation (Bridge-Client) 55 6.3 Bedienen des S7 Steuerungsprogramms 67

Teil B: Installation der Beispielapplikation

Installation der Hard- und Software

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 39/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Fehl

er! U

nbek

annt

er N

ame

für D

okum

ent-

Eige

nsch

aft

5 Installation der Hard- und Software

5.1 Vorbereitende Installation

Einleitung Die Installation von STEP 7 und der SIMATIC NET Software muss unbedingt vor der Installation von WinAC RTX erfolgen. Es wird dringend geraten die hier angegebene Installationsreihenfolge einzuhalten.

Hinweise Installieren Sie bitte die angegebene Software auf einem neu installierten Windows System.

Bevor Sie diese Applikation für einen realen Prozess verwenden, setzen

Sie sich bitte mit dem Thema Netzwerksicherheit auseinander. In dieser Applikation wurde zur besseren Verständlichkeit auf die Sicherheits-aspekte verzichtet.

STEP 7 Die Installation von STEP 7 erfolgt auf dem PG/PC, welcher für die Projektierung und Programmierung der Automatisierungsstationen vorgesehen ist. Alternativ können Sie STEP 7 auch auf dem PC (WinAC Station) installieren, auf dem WinAC laufen soll.

Auf die Beschreibung der Installation von STEP 7 wird an dieser Stelle verzichtet. Die Installation findet in gewohnter Windows-Umgebung statt und ist selbsterklärend.

SIMATIC NET Die SIMATIC NET PC Software wird auf dem PC (WinAC Station) installiert, auf welchem auch WinAC installiert werden soll. Das Softwarepaket enthält alle benötigten Hilfsmittel zur Einrichtung und zum Betrieb einer PC-Station.

Seit der STEP 7 Version 5.2 wird zur Inbetriebnahme von PC-Stationen das Verfahren „Advanced PC Configuration“ benutzt. Dieses ermöglicht die Projektierung von PC-Stationen direkt in STEP 7. Vor der Benutzung von „Advanced PC Configuration“ empfiehlt es sich unbedingt die Lektüre von /4/.

Microsoft Visual Studio .NET 2003 Falls Sie die Windows - Applikation (Bridge-Client) Ihren Wünschen anpassen möchten, dann installieren Sie bitte zuvor das Microsoft Visual Studio .NET 2003 auf ihrem PG/PC oder dem Industrie PC. Legen Sie dazu die Installations- CD 1 ein, Starten Sie die Datei Setup.exe und folgen Sie den Anweisungen.

Teil B: Installation der Beispielapplikation

Installation der Hard- und Software

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 40/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Fehl

er! U

nbek

annt

er N

ame

für D

okum

ent-

Eige

nsch

aft

Installation des Byte FX .NET DataProviders Falls Sie die C# Windows Applikation (Bridge-Client) ändern möchten müssen Sie den Byte FX.NET DataProvider auf ihrem Rechner installieren. Wenn Sie den Bridge-Client nur ausführen möchten benötigen Sie die folgende Installation nicht. Tabelle 5-1

Nr. Aktion

1 Falls noch nicht erfolgt, laden Sie die Byte FX Bibliothek bitte unter http://www.bytefx.com in der Rubrik download herunter.

2 Entpacken Sie das zip Archiv und führen Sie die Datei „Setup.exe“ aus. Folgen Sie den Anweisungen.

Hinweis Bitte informieren Sie sich vor der Verwendung dieses Providers bitte umfassend über die Lizenzrechte dieser Bibliothek. Alternativ zur Verwendung des genannten Providers kann auch ein ODBC Treiber für MySQL verwendet werden.

! Achtung

Auch wenn Sie die MySQL Datenbankanbindung nicht verwenden möchten, müssen Sie die Bibliothek dennoch installieren, da sonst beim Übersetzen der Windows Applikation Fehler auftreten. (Gilt nur falls Sie den Quellcode neu übersetzen möchten)

5.2 Hardwareinstallation

Installation des IPC Bauen Sie den PC anhand der mitgelieferten Aufbauanleitung auf und verbinden Sie ihn für den Fall, dass Sie den Client und die Datenbanken auf dem PG installiert haben mit einem gekreuzten TCP/IP Kabel (cross over) mit dem PG/PC. Führen Sie anschließend die Anweisungen im folgenden Abschnitt durch.

Verwenden Sie den Industrie PC zur Haltung der Daten und zur Ausführung des Bridge Clients, so können Sie den folgenden Abschnitt überspringen.

Einstellen der Ethernet Adresse Stellen Sie im Fall der Nutzung eines entfernten Clients die folgenden Adressen bei den beiden Ethernetkarten ein.

Teil B: Installation der Beispielapplikation

Installation der Hard- und Software

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 41/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Fehl

er! U

nbek

annt

er N

ame

für D

okum

ent-

Eige

nsch

aft

Tabelle 5-2

Nr. Aktion

1 Klicken die im „Startmenü“ des jeweiligen Rechners auf den Button „Netzwerkumgebung“.

2 Klicken Sie nun auf die Schaltfläche „Anzeigen aller Netzwerkverbindungen“.

3

Wählen Sie nun die von ihnen verdrahtete Verbindung aus, und klicken Sie mit der rechten Maustaste auf die Verbindung und anschließend auf „Einstellungen“

4 Klicken Sie im Einstellungen Dialog auf „Internet Protokoll (TCP/IP)“ doppelt.

5

Stellen Sie nun bei „IP Adresse“ für den Industrie PC die Adresse 192.168.115.10 und im PG/PC die Adresse 192.168.115.20 ein. Als Subnet Maske stellen Sie (falls nicht schon automatisch eingefügt) die Maske „255.255.255.0“ ein. Bestätigen Sie die beiden Dialoge nun mit „OK“ und bestätigen Sie die Sicherheitsabfragen und schließen Sie die Fenster wieder.

Teil B: Installation der Beispielapplikation

Installation der Hard- und Software

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 42/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Fehl

er! U

nbek

annt

er N

ame

für D

okum

ent-

Eige

nsch

aft

Hinweis Die hier gezeigte Vorgehensweise sollte nur bei Intranets oder kleinen Netzwerken durchgeführt werden, da auf jegliche Sicherheitsvorkehrungen verzichtet wurde. Arbeiten Sie in einem Firmennetzwerk (Intranet usw.), konsultieren Sie bitte vorher umgehend Ihren Systemadministrator, bevor Sie ihre Netzwerkeinstellungen ändern!

Installation des CP 5613 Bauen Sie den CP 5613 entsprechend der beiliegenden Einbauanleitung /8/ in einen freien PCI- Steckplatz des Rack PC´s ein. Die Treiber für den CP sind bereits mit der SIMATIC NET PC Software installiert worden.

Für weitere Hinweise zum Einbau von PCI- Karten in den Rack PC konsultieren Sie bitte das PC Handbuch /7/.

5.3 Installation von WinAC RTX

Hinweis Zum Installieren von WinAC RTX V4.0 benötigen Sie Administratorrechte („ADMIN“) für Ihr Betriebssystem.

Nachfolgende Tabelle beschreibt die Installation von WinAC RTX. Tabelle 5-3

Nr. Aktion 1 Das Setup-Programm startet automatisch, wenn Sie die WinAC RTX CD

einlegen. Sollte dies nicht geschehen, führen Sie das Programm „Setup.exe“ auf der CD aus.

2 Nach der Auswahl der Sprache wird ein Dialogfeld angezeigt, welches Sie durch die Installationsaufgaben führt.

3 Betätigen Sie den Button „Venturcom RTX installieren“ und folgen Sie den Anweisungen im Dialogfeld. Es wird Arcence RTX (ehemals Venturcom RTX) auf Ihrem PC installiert. Hinweis Die Lizenznummer (Runtime PAC Number) und die E-Mail Adresse für die Lizenzierung von Ardence RTX finden Sie auf der Rückseite der WinAC RTX CD Hülle. Hinweis Sollte während der Installation der Ardence RTX- Erweiterungen die Fehlermeldung „Your System is using a HAL that is not supported by RTX 5.12“ erscheinen, lesen Sie bitte den FAQ mit der ID 717053416 auf der A&D Support Homepage (www.ad.siemens.com/support).

Teil B: Installation der Beispielapplikation

Installation der Hard- und Software

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 43/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Fehl

er! U

nbek

annt

er N

ame

für D

okum

ent-

Eige

nsch

aft

Nr. Aktion 4 Nach dem Neustart des PC müssen Sie die Funktionalität der Ardence RTX-

Erweiterungen überprüfen. Klicken Sie dazu im „WinAC RTX V4.0 Setup“ Dialog auf den Kreis „Schritt 2“. Sie erhalten Anweisungen zum Testen der RTX- Erweiterungen.

5 Durch Klicken auf den Kreis „Schritt 3“ im Installationsdialog wird die Installation der WinAC RTX Software gestartet. Folgen Sie den Anweisungen des Setup Programms.

5.4 Installation des MySQL Datenbankservers

Installation und Konfiguration von MySQL Um MySQL ordnungsgemäß zu installieren führen Sie bitte folgende Schritte aus: Tabelle 5-4

Nr. Aktion

1 Laden Sie die aktuelle MySQL Version unter WWW.MySQL.DE herunter.2 Dearchivieren Sie das ZIP File mit einem Dearchivierungsprogramm

(unter Windows XP mit rechter Maustaste auf den Ordner klicken, „Alle extrahieren“ wählen und den Anweisungen folgen).

3 Rufen Sie im gerade erstellten Ordner die Datei „Setup.exe“ mit Hilfe eines Doppelklicks auf. Folgen Sie den Anweisungen und legen Sie ein Verzeichnis zur Installation an, welches Sie sich notieren.

4 Wenn MySQL bereits installiert war so müssen Sie die Datei My.ini aus dem Windows Verzeichnis entfernen. (wird neu erstellt, wenn der Server zum ersten Mal gestartet wurde)

5 Wechseln sie nun in das gewählte Verzeichnis und starten Sie dort im

Ordner „BIN“ die Datei „WinMySQLAdmin.exe“ 6 Es erscheint dieses

Dialogfeld. Tragen Sie einen Nutzernamen und ein Passwort ihrer Wahl ein und klicken Sie bitte anschließend auf OK.

Teil B: Installation der Beispielapplikation

Installation der Hard- und Software

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 44/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Fehl

er! U

nbek

annt

er N

ame

für D

okum

ent-

Eige

nsch

aft

7 Es erscheint nun eine kleine rot leuchtende Ampel in der Infoleiste,

sie gibt den Status des MySQL Servers an.

– Rot bedeutet, dass der Server gerade gestoppt ist. – Grün sagt aus, dass der Server gestartet ist.

8 Klicken Sie nun mit der rechten Maustaste auf die Ampel und wählen Sie „Win NT -> Install the Service“ und bestätigen Sie die Sicherheitsabfrage. Der MySQL Server wurde nun als Windows Service installiert. Sollte dieser Punkt nicht im Menü angeboten werden dann ist der Service bereits installiert.

9 Öffnen Sie das Kontextmenü von mysqladmin wieder und wählen Sie nun „Win NT -> Start the Service“ und bestätigen Sie die Sicherheitsabfrage.

Die Ampel sollte nun grün leuchten (Server gestartet).

10 Klicken Sie nun mit der rechten Maustaste wieder auf die Ampel und wählen Sie nun „Show me“.

11

Es öffnet sich dieser Dialog.

Teil B: Installation der Beispielapplikation

Installation der Hard- und Software

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 45/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Fehl

er! U

nbek

annt

er N

ame

für D

okum

ent-

Eige

nsch

aft

12 Klicken Sie anschließend auf den Reiter my.ini Setup.

Betätigen Sie nun den Button „Create Short Cut on Start Menu“. Das Administrationstool wird nun bei jedem Systemstart mit gestartet und zeigt so immer den aktuellen Zustand des Servers, mit Hilfe der Ampel, an.

13 Klicken Sie nun mit der rechten Maustaste auf die Ampel im Dialog und wählen Sie „hide me“ um das Dialogfeld wieder in die Infoleiste zu legen. Der MySQL Server ist nun installiert und einsatzfähig. Mehr zur Bedienung und Programmierung erfahren Sie im Kapitel 5.9 Konfiguration der MySQL Datenbank.

5.5 Installation und Einrichtung der Internet-Informationsdienste

Die Internet-Informationsdienste (IIS – Internet Information Services) stellen die Funktionalität zur Bereitstellung von Webservices zur Verfügung. Daher wird IIS auf dem PC installiert, auf welchem der OPC-Server läuft – also auf der WinAC Station.

Installation Zur Installation der IIS befolgen Sie die folgenden Schritte. Halten Sie zur Installation Ihre Windows Installations- CD bereit. Die Installation der IIS muss unbedingt vor Installation des Microsoft .NET Frameworks 1.1 erfolgen. Sollten Sie das .NET Framework bereits installiert haben beachten Sie den Hinweis am Ende der Installationstabelle. Tabelle 5-5

Nr. Aktion 1 Öffnen Sie den „Software“ Dialog über:

Start Einstellungen Systemsteuerung Software 2 Wählen Sie „Windows-Komponenten hinzufügen/entfernen“ aus. 3 Wählen Sie in der Komponentenliste „Internet-Informationsdienste (IIS)“

aus, indem Sie den Haken davor setzen. 4 Wechseln Sie über den Button „Details...“ in den „Internet-

Informationsdienste (IIS)“ Dialog. 5 Wählen Sie in der Liste „Unterkomponenten“ nur folgende Einträge aus:

• Gemeinsame Dateien • Internet-Informationsdienste Snap-In • Personal Web-Manager (nur Windows 2000) • WWW-Server Bestätigen Sie die Auswahl mit „OK“.

6 Starten Sie die Installation mit dem Button „Weiter >“ und folgen Sie den Anweisungen des Installationsprogramms.

Teil B: Installation der Beispielapplikation

Installation der Hard- und Software

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 46/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Fehl

er! U

nbek

annt

er N

ame

für D

okum

ent-

Eige

nsch

aft

Nr. Aktion 7 Wenn Ihre WinAC Station einen Internetanschluss besitzt, überprüfen Sie

unter dem Link http://windowsupdate.microsoft.com/, ob wichtige Updates für den IIS vorhanden sind. Sie können vorhandene Updates auch manuell unter www.microsoft.com/downloads herunterladen und installieren.

Hinweis Wenn Sie das „Microsoft .NET Framework 1.1“ bereits vor der Installation von IIS installiert haben (Das Framework ist im „Software“ Dialog in der Systemsteuerung aufgelistet), befolgen Sie die folgenden Schritte: 1. Öffnen Sie die DOS-Eingabeaufforderung über: Start Ausführen...

„cmd“ eingeben OK 2. Geben Sie

„%systemroot%\Microsoft.NET\Framework\v1.1.4322\aspnet_regiis –i“ ein und betäten Sie Return.

3. Starten Sie den PC neu.

Einrichtung Um den Zugriff von Applikationen auf den SIMATIC NET OPC Server über OPC XML-DA zu ermöglichen muss der Internet-Informationsdienst (IIS) entsprechend konfiguriert werden. Die nachfolgende Tabelle erläutert, wie der IIS für diesen Zugriff eingerichtet wird.

Dabei werden für den Zugriffsschutz die Standardeinstellungen beibehalten. Das bedeutet, dass jeder Nutzer Zugriff auf den Webservice hat. Deshalb sollten Sie dieses Beispiel nur innerhalb eines abgetrennten Netzwerks oder Intranets betreiben.

Tabelle 5-6

Nr. Aktion Anmerkung 1 Öffnen Sie die „Internet Information Services“

über: Start Systemsteuerung Verwaltung

Internetdienste-Manager Hinweis Sollte der Punkt Verwaltung nicht angeboten werden dann gehen Sie über: Start Ausführen und geben den folgenden String ein: %SystemRoot%\System32\Inetsrv\iis.msc

2 Wählen Sie im Kontextmenü des Zweiges „Standardwebsite“ (rechter Mausklick auf diesen) Neu Virtuelles Verzeichnis

Teil B: Installation der Beispielapplikation

Installation der Hard- und Software

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 47/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Fehl

er! U

nbek

annt

er N

ame

für D

okum

ent-

Eige

nsch

aft

Nr. Aktion Anmerkung 3 Klicken Sie im „Assistent zum Erstellen

virtueller Verzeichnisse“ auf „Weiter“.

4 Tragen Sie im Feld „Alias:“ „OPC.Simatic.NET“ ein und klicken Sie auf „Weiter >“.

5 Wählen Sie über den Button „Durchsuchen...“ das Unterverzeichnis „\opc2\binXML“ in Ihrem SIMATIC.NET Installationsverzeichnis aus. Dieses Verzeichnis enthält die Datei „sopcweb.asmx“. Betätigen Sie den Button „Weiter >“.

6 Wählen Sie im Fenster „Zugriffsberechtigungen“ nur folgende Punkte aus: • Lesen • Skripts ausführen (z.B. ASP) Betätigen Sie den Button „Weiter >“.

7 Betätigen Sie den Button „Fertigstellen“ um den Assistenten abzuschließen. Unter dem Eintrag „Standardwebsite“ sollte nun der Eintrag „OPC.Simatic.NET“ sichtbar sein.

8 Schließen Sie die Konfigurationskonsole.

Hinweis Die Internet Informations- Dienste (IIS) sind ein einfacher Webserver.

Verwenden Sie einen Arbeitsplatzrechner in einer Domain (z.B.: Firmennetzwerk), wird dieser Dienst meist von den zuständigen Administratoren aus Sicherheitstechnischen Gründen deaktiviert.

Im Allgemeinen werden zur Sicherstellung eines Netzwerkes die folgenden Mechanismen verwendet:

• Policies, welche in Domains verwendet werden • Scriptfile, welches im Internet- Explorer vom Proxy Server geladen wird • *.ini Files beim Systemstart des Arbeitsplatzrechners

Teil B: Installation der Beispielapplikation

Installation der Hard- und Software

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 48/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Fehl

er! U

nbek

annt

er N

ame

für D

okum

ent-

Eige

nsch

aft

5.6 Installation des STEP 7 Projektes

Informationen zur Konfiguration der WinAC RTX und des Komponenten Konfigurators entnehmen Sie bitte dem Dokument /1/.

Projekt installieren Zum Öffnen und Anpassen des STEP 7 Projekts an Ihre Konfiguration gehen Sie wie folgt vor: Tabelle 5-7

Nr. Aktion Hinweis / Erklärung 1 Konfigurieren Sie bitte auf der PC Station

(Industrie PC) den Komponenten Konfigurator wie im Kapitel 4.7 von Dokument /2/ beschrieben ist. Stellen Sie für die Station einem OPC Server unter Index 1 und eine WinAC RTX unter Index 2 ein.

Optional können Sie noch einen IE (Industrial Ethernet) Adapter auf Index 3 installieren (Anpassung der MAC Adresse in HW-Konfig nötig). Die aufgeführte Installation des PROFIBUS IF Moduls ist ebenfalls optional.

2 Öffnen Sie den SIMATIC Manager. 3 Dearchivieren Sie das Archiv

21576581_WinAC_SO_CODE_v10_e.zip über das Menü „Datei > Dearchivieren...“

Nach der Dearchivierung können Sie das Projekt gleich öffnen.

4 Starten Sie die WINLC RTX über START>SIMATIC>PC BASED Control WINLC RTX Öffnen Sie die Hardware Konfiguration

(Doppelklick auf Konfiguration im Ordner PCWinAC) und laden Sie diese auf die WINLC Wählen Sie nun bitte alle Bausteine im Bausteincontainer bis auf die beiden Variabelentabellen und die Struktur UDT1 aus und klicken Sie auf den Button „In Steuerung laden“.

Hinweis Achten Sie darauf, dass im Stationsmanager unter Stationsname

PCWinAC eingestellt ist.

Teil B: Installation der Beispielapplikation

Installation der Hard- und Software

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 49/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Fehl

er! U

nbek

annt

er N

ame

für D

okum

ent-

Eige

nsch

aft

5.7 Installation des Windows Bridge- Clients

Die Installation erfolgt mit Hilfe der im Archiv Client_Application.zip befindlichen Setup.exe. Starten Sie die Datei und folgen Sie den Anweisungen im Programm.

Hinweis Bevor Sie die Client Funktionalität prüfen können, müssen Sie das Microsoft .NET Framework installieren.

5.8 Konfiguration und Programmierung der WinAC

Die Konfiguration und Programmierung erfolgt auf die gleiche Art, wie sie im Dokument /1/ beschrieben wurde.

5.9 Konfiguration der MySQL Datenbank

Installation der MySQL Datenbank Um die mitgelieferte MySQL Datenbank im Server zu installieren, gehen Sie bitte wie folgt vor: Tabelle 5-8

Nr. Aktion

1 Entpacken Sie das mitgelieferte Zip Archiv „MySQL_DB.ZIP“ mit Hilfe eines Dearchivierungs-Programmes. (unter Windows XP mit rechter Maustaste auf den Ordner „Alle extrahieren“ wählen und den Anweisungen folgen ).

2 Stoppen Sie den MySQL Server wie in Kapitel 5.4 Installation des MySQL Datenbankservers gezeigt, mit Hilfe der Ampel.

3 Kopieren Sie den entpackten Ordner in das Verzeichnis „C:\mysql\data“. (alternativ zum Laufwerk c: wählen Sie bitte das von Ihnen festgelegte Laufwerk). Hinweis: Es muss sich um den Ordner RecipeAdministration handeln, welcher im Archiv abgelegt wurde. Falls Sie einen „neuen Ordner erstellen“ vorm dearchivieren gewählt haben, so wählen Sie bitte den Ordner in der tiefsten Ebene aus. Im zu kopierenden Ordner dürfen sich keine Unterordner befinden!

4 Starten Sie nun den Server wieder mit Hilfe der Ampel.

Teil B: Installation der Beispielapplikation

Installation der Hard- und Software

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 50/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Fehl

er! U

nbek

annt

er N

ame

für D

okum

ent-

Eige

nsch

aft

5.10 Konfiguration und Programmierung der ACCESS Datenbank

Überblick Die in Microsoft Office Professionell mitgelieferte Desktopdatenbank

ACCESS verfügt über vielfältige Erstellungs- und Bearbeitungsfunktionen.

Folgende Funktionalitäten stellt ACCESS für die Verarbeitung von Daten bereit.

• Anlegen, Bearbeiten von Tabellen

• Erstellen von Abfragen (Views)

• Erstellen von Berichten

• Internetseiten u. v. a. m.

• Export der Daten und Strukturen in MS SQL und andere Datenbanken

Zum Erstellen von neuen Datenbanken können Sie einen Assistenten verwenden. Detaillierte Informationen zur Arbeit mit ACCESS finden Sie in der Online Hilfe.

Installation Kopieren Sie die ACCESS Datenbank Datei RecipeAdministration.mdb bitte in ein Verzeichnis Ihrer Wahl.

Teil B: Installation der Beispielapplikation

Bedienung der Applikation

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 51/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Fehl

er! U

nbek

annt

er N

ame

für D

okum

ent-

Eige

nsch

aft

6 Bedienung der Applikation

6.1 Bedienung der MySQL Datenbank

Sie können dieses Kapitel überspringen falls Sie die Applikation zunächst testen möchten. Es empfiehlt sich allerdings die Anweisungen kurz zu testen da so eine ordnungsgemäße Funktionalität der Datenbank getestet werden kann.

Arbeiten mit SQL Befehlen unter MySQL Wie jedes Datenbanksystem besitzt MySQL auch eine SQL Befehlskonsole, in welcher einzelne SQL Statements eingegeben oder Scripte (mehrere SQL Befehle, welche die Konsolenlänge überschreiten dürfen) ausgeführt werden können.

Um SQL Befehle an den auf Ihrem Rechner installierten MySQL Server zu senden, gehen Sie wie folgt vor:

Teil B: Installation der Beispielapplikation

Bedienung der Applikation

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 52/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Fehl

er! U

nbek

annt

er N

ame

für D

okum

ent-

Eige

nsch

aft

Tabelle 6-1

Nr. Hinweis

1 Öffnen Sie den Ordner „C:\mysql\bin“ mit dem Explorer. Hinweis: Der Ordner befindet sich je nach System (wird bei der Installation von ihnen festgelegt) an einer anderen Stelle.

2 Klicken Sie mit der rechten Maustaste auf die Datei „mysql.exe“ und wählen Sie „Verknüpfung erstellen“.

3 Klicken Sie nun mit der rechten Maustaste auf die Verknüpfung und wählen Sie Einstellungen. Hinweis: Die Verknüpfung enthält immer im Symbol einen kleinen Pfeil.

4

Ergänzen Sie nun unter Ziel die Zeichenfolge „-u root“ so, dass das Ziel den im Bild dargestellten Eintrag entspricht. Klicken Sie nun auf OK.

5 Starten Sie die Datei „mysql.exe“ im Verzeichnis „C:\MySQL\BIN“ . Sie sind nun mit dem Nutzernamen „root“ in der Datenbank angemeldet.

6 Es erscheint eine MySQL Konsole.

7 Geben Sie nun zum Wechseln der Datenbank das Kommando

Use RecipeAdministration + ENTER ein.

Teil B: Installation der Beispielapplikation

Bedienung der Applikation

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 53/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Fehl

er! U

nbek

annt

er N

ame

für D

okum

ent-

Eige

nsch

aft

8 Wenn Sie nun alle Spalten der Expiry Tabelle anzeigen möchten, dann geben Sie folgendes SQL Kommando ein: Select * from Expiry; Die Konsole zeigt nun die Expiry Tabelle an.

Hinweis: Jedes SQL Kommando muss mit einem Semikolon abgeschlossen werden!

Arbeiten mit dem MySQL Control Center Um komfortabel MySQL Datenbanken erstellen und verarbeiten zu können, sollten Sie zusätzlich zum MySQL Server das MySQL Control Center installieren.

Die Bedienung erfolgt weitgehend intuitiv und selbsterklärend. Grundkenntnisse auf dem Gebiet der Datenbanken sind allerdings Voraussetzung für ein effektives Arbeiten mit dem MySQL CC.

Für genaue Informationen zur Bedienung des Control Centers informieren Sie sich bitte in der Online Hilfe oder auf der MySQL Homepage

( http://www.mysql.de ).

Teil B: Installation der Beispielapplikation

Bedienung der Applikation

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 54/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Fehl

er! U

nbek

annt

er N

ame

für D

okum

ent-

Eige

nsch

aft

6.2 Bedienung der Windows Applikation (Bridge-Client)

Der Bridge- Client besteht aus zwei Windows Formularen, welche die Funktionen Bridging und Visualisierung abdecken.

Überblick Hauptfenster Das Grundformular, dass die Bridge Funktion zur Verfügung stellt, hat das unten aufgeführte Design. Abbildung 6-1

Dabei werden die folgenden Bedienelemente in insgesamt 9 Elementgruppen zusammengefasst.

Bedienelemente des Hauptfensters Tabelle 6-2

Elementgruppe Element Bedeutung

OPC Settings local

Verwenden der URL für einen lokalen OPC-XML Zugriff.

distributed

Verwenden der URL für einen entfernten OPC-XML Server.

OPC Server URL OPC URL zur Angabe der Position des OPC-XML Servers.

Teil B: Installation der Beispielapplikation

Bedienung der Applikation

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 55/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Fehl

er! U

nbek

annt

er N

ame

für D

okum

ent-

Eige

nsch

aft

Recipe Number Recipe Number Enthält ein Edit Feld zur Eingabe des gewünschten Rezeptes.

Control Mode Auto

Stellt den Verarbeitungsmodus des Clients auf Automatikbetrieb. Das heißt, dass mit Hilfe des Start Buttons eine komplette Inbetriebsetzung des Bridge - Clients erfolgt (Verbinden mit Datenbank, Verbinden mit OPC Server usw.).

Manual

Stellt den Verarbeitungsmodus des Clients auf Handbetrieb. Das heißt, dass die Inbetriebsetzung des Bridge- Clients einzeln von Hand erfolgt. In der Elemente Gruppe „Manual Mode„ befinden sich die entsprechenden Buttons.

Kind of Database ACCESS

Legt die aktive Rezeptdatenbank auf ACCESS fest.

MySQL

Legt die aktive Rezeptdatenbank auf MySQL fest.

Auto Mode Start

Startet den Automatikmodus für den Client.

STOP

Stoppt den Automatikmodus des Clients wieder.

Manual Mode Connect to OPC

Mit diesem Button wird eine Verbindung des Clients zum OPC Server aufgebaut.

Connect to DB

Dieser Button verbindet den Client mit der eingestellten Datenbank und füllt das DataSet mit Daten.

Start Polling

Dieser Button startet das automatische Abfragen der Statuswerte der Steuerung mit Hilfe von Subscriptions.

STOP Polling

Stoppt das Automatische Abfragen des Statuswerte.

Teil B: Installation der Beispielapplikation

Bedienung der Applikation

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 56/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Fehl

er! U

nbek

annt

er N

ame

für D

okum

ent-

Eige

nsch

aft

transfer Recipe

Transferiert das ausgewählte Rezept in die Steuerung.

update DB

Dieser Button schreibt das DataSet zurück in die Datenbank und aktualisiert die einzelnen Tabellen.

ACCESS Connec-tion

position

In diesem Textfeld wird die Position der ACCESS Datenbank angegeben.

search

Dieser Button öffnet einen „Datei öffnen“ Dialog mit welchem sich die ACCESS Datenbank einfacher auffinden lässt.

user name

In diesem Textfeld kann der Nutzername für einen ACCESS Datenbankzugriff eingegeben werden. (bleibt bei dieser Applikation immer frei)

password

Passwort dient zur Eingabe des Passwortes. (bleibt bei dieser Applikation immer frei)

MySQL Connection Server name Für den Zugriff auf eine MySQL Datenbank wird hier der Name des MySQL Servers eingegeben.

name of the data-base

Geben Sie in diesem Textfeld den Datenbanknamen ein. Er lautet RecipeAdministration.

user name

In diesem Textfeld kann der Nutzername für einen MySQL Datenbankzugriff eingegeben werden. (root)

password

In diesem Textfeld kann das Passwort für einen MySQL Datenbankzugriff eingegeben werden. (bleibt bei dieser Applikation immer frei)

PLC Controlling Start S7 Program

Startet die Ausführung des Rezeptes in der S7.

STOP S7 Program

Stoppt die Ausführung des Rezeptes in der S7.

Teil B: Installation der Beispielapplikation

Bedienung der Applikation

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 57/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Fehl

er! U

nbek

annt

er N

ame

für D

okum

ent-

Eige

nsch

aft

VIEW

Dieser Button öffnet die Visualisierung des Prozesses.

Hauptfenster

In der Statusleiste werden die folgenden Informationen des Clients angezeigt: • Status des S7 Programms • Aktuell bearbeiteter Schritt • Status der OPC Verbindung • Status der Call-back- Funktion • Datenbankverbindungsstatus • Aktuelles Datum / Uhrzeit

Überblick Visualisierung Durch den VIEW Button in Hauptfenster wird das Visualisierungsfenster geöffnet. Folgendes Bild zeigt einen Überblick des Visualisierungsfensters. Abbildung 6-2

Bedienelemente des Visualisierungsfensters Tabelle 6-3

Elementgruppe Element Bedeutung

Visualization current step nr. Dieses Label gibt den aktuell verarbeiteten Schritt zurück.

current recipe Ausgabe des aktuellen Rezeptes. passed time Zeigt die bereits für das Rezept

benötigte Zeit.

Teil B: Installation der Beispielapplikation

Bedienung der Applikation

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 58/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Fehl

er! U

nbek

annt

er N

ame

für D

okum

ent-

Eige

nsch

aft

Mit Hilfe dieser animierten Grafik können Sie den Zustand des Tankes ermitteln. (Wasserstand, Temperatur, Rührer in Betrieb usw.)

Recipe DB In dieser Tabelle werden die in der Datenbank verfügbaren Rezepte angezeigt. Zusätzlich wird bei laufendem S7 Programm der aktuell verarbeitete Schritt markiert.

Operation

Dieser Button startet das S7 Programm in der Steuerung.

Mit Hilfe dieses Buttons wird das Programm in der Steuerung gestoppt.

Das Timer Intervall legt fest, wie häufig beim OPC Server nach neuen Visualisierungsdaten angefragt werden soll.

Hauptfenster

Dieser Button startet die automatische Abfrage der Visualisierungsdaten.

Zum Stoppen der automatischen Abfrage des OPC – Servers klicken Sie bitte diesen Button.

Die beiden Balken wiederspiegeln die Timer Aktivität (oberer Balken), sowie den asynchronen Aufruf der Rückruffunktion (call-back).

6.2.1 Automatikbetrieb

Vorgehensweise Wenn Sie die Rezeptverarbeitung im Automatischen Modus starten möchten, so gehen Sie bitte folgendermaßen vor:

Teil B: Installation der Beispielapplikation

Bedienung der Applikation

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 59/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Fehl

er! U

nbek

annt

er N

ame

für D

okum

ent-

Eige

nsch

aft

Tabelle 6-4

Nr. Aktion

1 Vorbereitende Schritte: • Falls noch nicht geschehen führen Sie bitte die in Kapitel 5 Installation

der Hard- und Software genannten Installationen durch. • Sollte die WinAC RTX noch nicht gestartet sein, dann starten Sie bitte

jetzt (siehe Kapitel 5 im Dokument /1/). 2 Starten Sie die ausführbare Datei ClientBridge.exe unter „Start>Siemens

Software>ClientBridge“. 3 Geben Sie unter „OPC Server URL“ die für Sie gültige URL ein.

Hinweis: • Läuft der Client auf dem gleichen Rechner wie die WinAC auch, dann

ist als URL http://localhost/OPC.Simatic.NET/sopcweb.asmx einzustellen.

• Ist der Client auf einem anderen Rechner installiert, dann muss anstelle von „localhost“ eine IP Adresse (bzw. Rechnername) übergeben werden. z.B.: http://192.168.115.10/OPC.Simatic.NET/sopcweb.asmx

• Alternativ zur Eingabe per Hand können Sie auch die Buttons „local“ bzw. „distributed“ verwenden.

4 Wählen Sie nun die zu verwendende Datenbank aus. Grundsätzlich unterscheidet sich die Funktionalität der beiden Datenbanken nicht.

Teil B: Installation der Beispielapplikation

Bedienung der Applikation

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 60/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Fehl

er! U

nbek

annt

er N

ame

für D

okum

ent-

Eige

nsch

aft

5

Je nach verwendeter Datenbank werden die Eingabemasken für die Verbindungseinstellungen der betreffenden Datenbank aktiviert. Tragen Sie die entsprechenden Daten zur jeweiligen Datenbank ein. Hinweis: • Wenn Sie die mitgelieferte ACCESS Datenbank verwenden möchten,

so müssen Sie die Datei RecipeAdministration im ihnen gewählten Verzeichnisses suchen. Den Benutzernamen und das Passwort lassen Sie bitte frei.

• Für die Verwendung der MySQL Datenbank tragen Sie bitte folgendes

ein: – server name : localhost (oder IP Adresse vom entfernten

Rechner) – name of database : RecipeAdministration – user name : root – password:

6 Klicken Sie auf den „Start“ Button unter dem Punkt „Auto Mode“.

Teil B: Installation der Beispielapplikation

Bedienung der Applikation

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 61/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Fehl

er! U

nbek

annt

er N

ame

für D

okum

ent-

Eige

nsch

aft

7 Sie können nun beobachten wie die einzelnen Verbindungen aufgebaut werden. • Zunächst wird die Verbindung zur gewünschten Datenbank hergestellt.

Anschließend werden die Daten eingelesen. (Gibt im Statusfeld 5 die Meldung „Connected to ACCESS“ oder „...to MySQL“ aus.)

• Nun wird automatisch die Verbindung zum OPC Server hergestellt,

sowie die Subscriptions angemeldet. Im Statusfeld 3 werden die

Meldungen „registering OPC“ und

anschließend „registering Subscriptions“ angezeigt.

Nach der Anmeldung der Subscriptions schaltet der Client den polling Modus ein, welcher die Statuswerte automatisch abfragt. Der Polling Modus ist immer dann in Betrieb, wenn im Statusfeld 4 ein Balken

fortwährend in Bewegung ist.

8 Tragen Sie im Textfeld des Punktes „Recipe Number “ das von Ihnen gewünschte Rezept ein.

9 Klicken Sie auf den Button „Start S7 Program“ im Punkt „PLC Controlling“. Der Client überträgt nun den Startbefehl in die Steuerung. Anschließend erfolgt der Datenaustausch zwischen Steuerung und Client. Die Statusfelder 1, 2, 3 und 4 informieren Sie bei laufender Steuerung stets über den Status des Programms, den aktuellen Schritt, den Verbindungsstatus zum OPC Server und über die automatische Lesefunktion.

10 Nach Fertigstellung des Rezeptes werden die im DataSet gespeicherten Qualitäts- und Protokolldaten in der jeweiligen Datenbank gespeichert. Im Statusfeld 1 wird die Meldung „recipe finish“ ausgegeben. Der Client wartet nun auf die nächste Rezeptanforderung. Um den Client zu stoppen oder eine Änderung der Parameter vorzunehmen, klicken Sie auf den „STOP“ Button im Punkt „Auto Mode“.

Teil B: Installation der Beispielapplikation

Bedienung der Applikation

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 62/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Fehl

er! U

nbek

annt

er N

ame

für D

okum

ent-

Eige

nsch

aft

Hinweis Sollte in einem der automatisch ablaufenden Schritte eine Fehlermeldung angezeigt werden, dann kann mit Hilfe des Handbetriebes jeder Schritt einzeln vollzogen werden, um mögliche Fehler (z.B.: falsche Adressen usw.) zu beheben.

6.2.2 Handbetrieb

Falls Sie das Programm eventuell Ihren speziellen Wünschen anpassen möchten oder Fehler des automatischen Modus beheben möchten, bietet sich der Handbetrieb des Clients an, um die Funktionalitäten des Clients einzeln aufzurufen. Beachten Sie bitte, dass die Funktionen in der hier beschriebenen Reihenfolge ausgeführt werden müssen, um Abhängigkeitsfehler zu vermeiden.

Mit der dargestellten Vorgehensweise erreichen Sie den gleichen Zustand der Anwendung, wie im oben genannten automatischen Betrieb.

Vorgehensweise Tabelle 6-5

Nr. Aktion

1 Vorbereitende Schritte: • Falls noch nicht geschehen führen Sie bitte die in Kapitel 5 Installation

der Hard- und Software gennanten Installationen durch. • Sollte die WinAC RTX noch nicht gestartet sein, dann starten Sie bitte

jetzt (siehe Kapitel 5 in Dokument /1/). 2 Starten Sie die ausführbare Datei ClientBridge.exe unter „Start>Siemens

Software>ClientBridge“. 3 Wählen Sie unter „OPC Server URL“ die für Sie gültige URL ein.

Hinweis: • Läuft der Client auf dem gleichen Rechner, wie die WinAC auch, dann

ist als URL http://localhost/OPC.Simatic.NET/sopcweb.asmx einzustellen.

• Ist der Client auf einem anderen Rechner installiert, dann muss anstelle von „localhost“ eine IP Adresse (bzw. Rechnername) übergeben werden. z.B.: http://192.168.115.10/OPC.Simatic.NET/sopcweb.asmx

• Alternativ zur Eingabe per Hand können Sie auch die Buttons „local“ bzw. „distributed“ verwenden.

Teil B: Installation der Beispielapplikation

Bedienung der Applikation

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 63/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Fehl

er! U

nbek

annt

er N

ame

für D

okum

ent-

Eige

nsch

aft

4 Wählen Sie nun die zu verwendende Datenbank aus. Grundsätzlich unterscheidet sich die Funktionalität der beiden Datenbanken nicht.

5

Je nach verwendeter Datenbank werden die Eingabemasken für die Verbindungseinstellungen der betreffenden Datenbank aktiviert. Tragen Sie die entsprechenden Daten zur jeweiligen Datenbank ein. Hinweis: • Wenn Sie die mitgelieferte ACCESS Datenbank verwenden möchten,

so müssen Sie die Datei RecipeAdministration im von Ihnen gewählten Verzeichnis suchen. Den Benutzernamen und das Passwort lassen Sie bitte frei.

• Für die Verwendung der MySQL Datenbank tragen Sie bitte folgendes

ein: – server name : localhost (oder IP Adresse vom entfernten

Rechner) – name of database : RecipeAdministration – user name : root – password:

6 Klicken Sie nun im Punkt „Manual Mode“ auf

„Connect To DB“. Daraufhin erscheint im Statusfeld 5 die Meldung

„connected to My...“ . Die Datenbank wurde geöffnet und die Daten in das DataSet übertragen.

7 Klicken Sie nun auf „Connect to OPC“

Teil B: Installation der Beispielapplikation

Bedienung der Applikation

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 64/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Fehl

er! U

nbek

annt

er N

ame

für D

okum

ent-

Eige

nsch

aft

8 Sie können nun beobachten, wie die Verbindung zum OPC Server aufgebaut wird. Im Statusfeld 3 werden die Meldungen „registering OPC“

und anschließend „registering Subscriptions“

angezeigt. 9 Sie können nun mit „Start Polling“

und „STOP Polling“ die automatische Werteabfrage ein- bzw. ausschalten.

10 Nach dem Einschalten des polling modus, wird im Statusfeld 4 ein Balken angezeigt, welcher so lange der polling modus aktiv ist, fortwährend in Bewegung ist.

11 Mit dem Button „Transfer Recipe“ können Sie zu Testzwecken ein Rezept aus der Datenbank in die Steuerung übertragen. Hinweis: Bedingung für die Verwendung dieser Testfunktion ist eine

vorher erfolgte Datenbankverbindung, sowie eine bereits erfolgte Verbindung zum OPC Server.

12 Die Schaltfläche „Update DB“ dient zum Testen der Updatefunktion der Datenbank, da ein Update im automatischen Betrieb nur nach Fertigstellung eines Rezeptes erfolgt. Hinweis: Bedingung für die Verwendung dieser Testfunktion ist eine

vorher erfolgte Datenbankverbindung, sowie eine bereits erfolgte Verbindung zum OPC Server.

13

Tragen Sie im Textfeld des Punktes „Recipe Number“ das von Ihnen gewünschte Rezept ein.

14

Klicken Sie auf den Button „Start S7 Program“ im Punkt „PLC Controlling“. Der Client überträgt nun den Startbefehl in die Steuerung. Anschließend erfolgt der Datenaustausch zwischen Steuerung und Client.

15 Nach Fertigstellung des Rezeptes werden die im DataSet gespeicherten Qualitäts- und Protokolldaten in der jeweiligen Datenbank gespeichert. Im Statusfeld 1 wird die Meldung „recipe finish“ ausgegeben.

16 Um den Client neu zu parametrieren oder zu stoppen, klicken Sie bitte auf „STOP Polling“ im Punkt „Manual Mode“. Wenn Sie anschließend die Verbindungsparameter ändern, müssen Sie die Abfolge ab Punkt 6 dieser Schritt für Schritt Anleitung wiederholen.

Teil B: Installation der Beispielapplikation

Bedienung der Applikation

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 65/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Fehl

er! U

nbek

annt

er N

ame

für D

okum

ent-

Eige

nsch

aft

6.2.3 VIEW (Visualisierung)

Zur einfachen Bedienung und besseren Übersicht wurde in den Client eine Visualisierung mit einfacher Grundfunktionalität integriert. Zur Verwendung der Visualisierung gehen Sie bitte folgendermaßen vor:

Vorgehensweise Tabelle 6-6

Nr. Aktion

1 Voraussetzung für die Verwendung der Visualisierung ist die Verbindung mit dem OPC - Server und das erfolgte Einlesen der Rezepturdaten. Beide Zustände erreichen Sie über den Automatik- oder Handbetrieb des Clients.

2 Starten Sie nun das Steuerungsprogramm mit Hilfe des „Start S7 Program“ Buttons.

3 Um das Visualisierungsfenster zu öffnen, klicken Sie den Button „View“ .

4

Es erscheint das dargestellte Fenster. Auf der linken Seite ist eine schematische Zeichnung des Tanks mit den jeweils dazugehörigen Informationen zu sehen. Auf der rechten Seite ist die Tabelle mit den Rezepturen untergebracht.

5 Um die Busbelastung nicht unnötig zu erhöhen, wurde die Visualisierung nicht sofort gestartet, sondern muss über den Button „Start Visualization“ gestartet bzw. mit „STOP Visualization“ wieder gestoppt werden, falls die Visualisierung nicht mehr benötigt wird. Klicken Sie nun auf den Button „Start Visualization“.

Teil B: Installation der Beispielapplikation

Bedienung der Applikation

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 66/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Fehl

er! U

nbek

annt

er N

ame

für D

okum

ent-

Eige

nsch

aft

6

Die Visualisierung zeigt nun die aktuellen Daten des Prozesses an. Zusätzlich wird der gerade verarbeitete Prozessschritt der Steuerung in der Rezepturtabelle kenntlich gemacht.

7

Im Punkt „operation“ kann der Prozess mit Hilfe der beiden Buttons „start mix“ und „STOP mix“ gestartet bzw. gestoppt werden.

8 Mit Hilfe der Einstellung unter „timer intervall“ wird die Zykluszeit der Subscription Abfrage auf den gewünschten Wert eingestellt.

9 Die beiden Balken geben, wie oben beschrieben, über die Timer/Subscription Aufrufe Auskunft.

10 Zum Schließen des Fensters klicken Sie bitte auf den „<< CLOSE <<“ Button.

Hinweis: Falls Sie die Visualisierung noch nicht mit dem Button „STOP Visualization“ beendet haben, so fragt diese weiter im Hintergrund Steuerungsdaten ab und verbraucht somit Buskapazität.

11 Sollten Sie die Visualisierung nicht mehr benötigen, dann klicken Sie bitte auf „STOP Visualization“.

6.3 Bedienen des S7 Steuerungsprogramms

Das Steuerungsprogramm in der WinAC Steuerung kann zum einem mit Hilfe der im STEP 7 Projekt befindlichen Variablentabelle gesteuert werden. Alternativ geht dies auch über die Steuerungsfunktionen des Clients.

Bedienung über die Variabelentabelle Die Bedienung über die Variabelentabelle setzt voraus, dass der Client sich in Betrieb befindet, alle Verbindungen aufgebaut sind und die Daten aus der jeweiligen Datenbank geladen wurden.

Teil B: Installation der Beispielapplikation

Bedienung der Applikation

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 67/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Fehl

er! U

nbek

annt

er N

ame

für D

okum

ent-

Eige

nsch

aft

Tabelle 6-7

Nr. Aktion

1 Vorbereitende Schritte: • Falls noch nicht geschehen führen Sie bitte die in Kapitel 5 Installation

der Hard- und Software genannten Installationen durch. • Sollte die WinAC RTX noch nicht gestartet sein, dann starten Sie bitte

jetzt (siehe Kapitel 5 in Dokument /1/). 2 Öffnen Sie den SIMATIC Manager 3 Klicken Sie nun auf das Menü „Datei -> Öffnen“ und wählen Sie das STEP

7 Projekt „WinAC_OPC_XML_ADO_NET28“ aus und bestätigen Sie den Dialog.

4

Öffnen Sie bitte die Variablentabelle VAT_de (bzw. VAT_engl) mit einem Doppelklick im Bausteinordner des STEP 7 Projektes.

1 2

Teil B: Installation der Beispielapplikation

Bedienung der Applikation

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 68/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Fehl

er! U

nbek

annt

er N

ame

für D

okum

ent-

Eige

nsch

aft

5

Es erscheint die dargestellte Variabelentabelle. Sie teilt sich in die drei Teile „Steuern“, „Beobachten der Statuswerte“ und „Beobachten der aktuellen Prozesswerte“ auf.

6 Klicken Sie zunächst auf den Button zum Beobachten der Steuerung.

Teil B: Installation der Beispielapplikation

Bedienung der Applikation

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 69/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Fehl

er! U

nbek

annt

er N

ame

für D

okum

ent-

Eige

nsch

aft

7 Setzen Sie im Steuerfeld der Variable "DB_Command_Glob".CurrentRecipe eine „1“ ein und klicken Sie auf

den Button „Steuern“ .

Hinweise • Unter Current Recipe wird das zu verarbeitende Rezept ausgewählt, in

unserem Fall wird Rezept 1 verarbeitet. • Prüfen Sie bitte vorher, ob das Rezept vorhanden ist! • Die Auswahl des gewünschten Rezeptes erfolgt immer von der

Steuerung aus mit höherer Priorität. Wird in der Steuerung kein Wert eingegeben (0), so wird automatisch der Wert im Dialogfeld („Recipe Number“) des Clients verwendet.

8 Nachdem die gewünschte Rezeptnummer im Statuswert der Steuerung erschienen ist, geben Sie nun im Steuerfeld der Variable "DB_Command_Glob".Start eine „1“ ein und klicken Sie wieder auf

„Steuern“ .

Hinweis Zum einfachen Steuern der Werte benutzen Sie die Tastenkombinationen: „<Strg> + 1“ für den Wert „true“ und „<Strg> + 0“ für den Wert „false“

9 Sie können nun beobachten, wie der Datenaustausch zwischen der Steuerung und dem Client erfolgt. • Zunächst wird die Variable "DB_Command_Glob".DataRequest auf

„1“ gesetzt, wodurch die Steuerung dem Client signalisiert, dass sie Daten anfordert.

• Im nächsten Schritt löscht der Client diese Variable wieder und setzt als Quittierung die Variable "DB_Command_Glob".DataRequestAk auf „1“.

• Nachdem nun die Rezepturdaten in die Steuerung übertragen wurden, setzt der Client die Variable "DB_Command_Glob".DataSend.

• Die Steuerung bestätigt den Empfang durch setzen der Variable "DB_Command_Glob".DataSendAk und startet die Rezeptabarbeitung, was durch die Variable "DB_Command_Glob".PLCProgramRun signalisiert wird.

10 Während der Rezeptverarbeitung können im 3. Bereich der Variablen Tabelle die aktuellen Werte des Prozesses verfolgt werden. Die Steuerung erhält während der Abarbeitung des Rezeptes keine Daten vom Client.

11 Nach der Fertigstellung des Rezeptes wird der Wert der Variable "DB_Command_Glob".CurrentRecipe wieder auf „0“ gesetzt und die Steuerung wartet auf ein erneutes Starten mit Hilfe der Start Variablen.

Teil B: Installation der Beispielapplikation

Bedienung der Applikation

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 70/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Fehl

er! U

nbek

annt

er N

ame

für D

okum

ent-

Eige

nsch

aft

Bedienung über die Windows Applikation Die Bedienung des S7 Programms mit Hilfe des Clients erfolgt sowohl über das Hauptfenster des Clients als auch über das Visualisierungsfenster. Nähere Informationen dazu finden Sie im Kapitel 6.2.1 Automatikbetrieb .

Teil C: Programmbeschreibung

Bedienung der Applikation

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 71/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Fehl

er! U

nbek

annt

er N

ame

für D

okum

ent-

Eige

nsch

aft

Teil C: Programmbeschreibung

Übersicht

Inhalt Teil C Der Teil C ist dann interessant, wenn Sie auf Basis der vorliegenden Software eine Erweiterung oder Anpassung an Ihre Anlage vornehmen möchten.

Ziel Teil C Dieser Teil der Dokumentation soll

• dem Leser Details aus dem Code einiger Kernprogrammteile erläutern

• Hinweise liefern, wo Erweiterungen sinnvoll sind

Voraussetzung Dies ist keine Einführung in die STEP 7 Sprache AWL, FUP oder die Objektorientierte Sprache C#. Der Leser sollte die Grundlagen dieser Sprachen beherrschen.

Hilfreich ist es vor der Code-Beschreibung die Kapitel im Teil A1 und A2 zu lesen.

Behandelte Themen

Kap. Titel Seite 7 Erläuterung zum Code der einzelnen Elemente 73 7.1 Überblick über die einzelnen Softwarekomponenten 73 7.2 Rezeptursteuerung (S7 Steuerungsprogramm) 73 7.3 Bridge-Client (C# Programm) 85 7.4 Datenbankstruktur (ACCESS / MySQL) 99 8 Anpassung der Programme 101 8.1 Veränderungen im S7-Programm 101 8.2 Anpassung der C# Applikation 102 8.3 Erstellung eines Strong Typed DataSets 103

Teil C: Programmbeschreibung

Erläuterung zum Code der einzelnen Elemente

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 72/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

7 Erläuterung zum Code der einzelnen Elemente

7.1 Überblick über die einzelnen Softwarekomponenten

Rezeptursteuerung (STEP 7 Projekt mit S7 Steuerungsprogramm) Das STEP 7 Projekt enthält das Steuerungsprogramm, welches sowohl die Simulation der Peripherie als auch die Verarbeitung der Rezepturen bereit stellt.

Client- Bridge Diese unter Visual Studio .NET 2003 entwickelte Windows Applikation kommuniziert mit der WinAC und schickt je nach Bedarf neue Rezepturdaten oder liest aktuelle Werte der Steuerung ein.

Zusätzlich liest die Applikation die Rezepturdaten aus einer Datenbank und schreibt die Qualitätswerte eines Rezeptes in eine Datenbank.

ACCESS Datenbank Auf Basis der MS Jet Engine kann in Windows Applikationen auf eine ACCESS Datenbank zugegriffen werden. Dabei wird eine ACCESS Datei und die Login Daten per Verbindungsstring an die Jet Engine übertragen.

Ein anschließender Zugriff in der Windows Anwendung ist wie bei herkömmlichen Datenbanken möglich.

MySQL Datenbank MySQL ist eine sehr leistungsfähige Datenbank auf Basis eines Datenbankmanagementsystems. Durch die Client Server Architektur sind auch verteilte Zugriffe noch performant möglich.

Bei größeren Datenmengen und vielen Clients ist immer eine Datenbank mit Datenbankmanagementsystem vorzuziehen.

7.2 Rezeptursteuerung (S7 Steuerungsprogramm)

7.2.1 Programmstrukturen

Interaktion der Bausteine Die folgende Grafik verdeutlicht die Interaktion zwischen den einzelnen Bausteinen. Die Datenübergabe erfolgt im wesentlichen beim Bausteinaufruf. In einigen Ausnahmen werden von Bausteinen auch Globaldatenzugriffe vorgenommen, welche in dieser Grafik zur besseren Übersicht aufgezeigt werden.

Teil C: Programmbeschreibung

Erläuterung zum Code der einzelnen Elemente

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 73/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Abbildung 7-1

DB3DB3

DB_RecipeDB_RecipeDB_Command_GlobDB_VisualDB_Visual

OPC-ServerOPC-Server

OB1

OB_main_cycl

OB1

OB_main_cycl

DB1

FB1

FB_WorkStep

DB1DB1

FB1

FB_WorkStep

DB225DB225

FB225

FB_Simulation

DB2

FB2

FB_WorkingOfSteps

DB2DB2

FB2

FB_WorkingOfSteps

FB3

FB_DBIndex

Datenzugriff

Bausteinaufruf

7.2.2 Programmablauf

Programmablaufplan Nachfolgend wird das S7-Programm beschrieben, das die Rezepturverarbeitung in der WinAC bereitstellt. Grundsätzlich wird die Verarbeitung im OB1 begonnen.

Teil C: Programmbeschreibung

Erläuterung zum Code der einzelnen Elemente

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 74/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Tabelle 7-1

Flussdiagramm Beschreibung

OB1 Zyklus STARTOB1 Zyklus START

FB_WorkingOfSteps StartFB_WorkingOfSteps Start

FB_SimulationFB_Simulation

FB_DBIndexFB_DBIndex

FB_WorkStepFB_WorkStep

OB1 Zyklus ENDEOB1 Zyklus ENDE

FB_WorkingOfSteps EndeFB_WorkingOfSteps Ende

Start des Organisationsbausteins OB1. Übergabe der einzelnen Kommandos an den FB_WorkingOfSteps und Aufruf des Bausteins. Übergabe der Peripheriedaten an den Simulationsbaustein und Aufruf des Bausteins. Starten des Datenermittlungsbausteins und Übergabe der Ergebnisse an den Baustein FB_WorkStep. Aufruf des Schrittbearbeitungsbausteines und Übergabe der Aktualwerte. Ende des Rezepturverarbeitungsbausteins. Ende des Organisationsbausteins OB1.

Programmablaufdiagramm Zum besseren Verständnis werden hier die grundsätzlichen Abläufe im Programm als Programmablaufplan dargestellt.

Teil C: Programmbeschreibung

Erläuterung zum Code der einzelnen Elemente

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 75/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Tabelle 7-2

Ablaufdiagramm Beschreibung

START

Sende DatenanfoderungSende Datenanfoderung

Senden der SendebestätigungSenden der Sendebestätigung

Starte RezepturStarte Rezeptur

Setze Variable i = 0Setze Variable i = 0

Ermitteln der Anzahl der AblaufschritteErmitteln der Anzahl der Ablaufschritte

Lesen der Daten für Schritt iLesen der Daten für Schritt i

Starten der Abarbeitung von Schritt i Starten der Abarbeitung von Schritt i

Schreiben der Stausinformationen Schreiben der Stausinformationen

i = i +1i = i +1

Zurücksetzen der Instanzen,

und warten auf Neustart

Zurücksetzen der Instanzen,

und warten auf Neustart

Letzter Schritt?

nein

ja

Letzter Schritt?

Letzter Schritt?

nein

ja

nein

ja

Sind Daten gesendet worden

?

Sind Daten gesendet worden

?

Starten der Rezepturverarbeitung (DB_Command_Glob.Start). Setzen des Bits DB_Command_Glob.DataRequest. Prüfen der Variable DB_Command_Glob.DataSend . Setzen der Variable DB_Command_Glob.DataSendAk. Eigentliche Rezepturverarbeitung beginnt. Anzahl der Schritte wird im DB_Command_Glob übergeben. Lesen der Daten durch Aufruf des FB_DBIndex. Starten der Verarbeitung durch Aufruf des FB_Workstep. Die Statusinformationen werden mit Hilfe des OB1 in den DB_Visual geschrieben.

7.2.3 Funktions- und Organisationsbausteinüberblick

Alle hier vorgestellten Bausteine können als AWL, sowie als FUP betrachtet werden, wobei die Kommentare in AWL detaillierter sind.

Teil C: Programmbeschreibung

Erläuterung zum Code der einzelnen Elemente

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 76/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

OB1 OB_Main_Cycle Der OB1 ruft den Baustein FB_WorkingOfSteps mit den aus dem globalen Datenbausteinen ermittelten Werten auf und überträgt die Peripheriedaten des FB_WorkStep Bausteins in den globalen Datenbaustein DB_Visual.

FB1 (FB_WorkStep) Mit Hilfe dieses Bausteins wird ein einzelner Rezepturschritt ausgeführt. Die Ausführung beginnt mit der Übergabe der Sollwerte an die Eingänge, und dem Setzen des „Start“ Eingangs. Die unten stehende Grafik soll das Aufrufverhalten verdeutlichen. Die Verarbeitung des Rezeptschrittes wird mit dem Eingang „Start“ gestartet. Der Baustein führt nun die gewünschte Methode aus. Während der Bearbeitung des Schrittes wird der Ausgang Busy auf eins gesetzt. Nach Abarbeitung des Rezepturschrittes wird das Ready Bit für einen SPS Zyklus gesetzt und der Busy Ausgang rückgesetzt.

Abbildung 7-2

Start

Busy

Ready

Parameter des FB 1 (FB_WorkStep ) Bausteins An den mit Per... gekennzeichneten Parametern werden die Daten des Simulationsbausteins übergeben. Die Parameter ohne Per Präfix sind Übergabepunkte für die Sollwerte des aktuellen Schrittes und werden vom Baustein gelesen und geschrieben. Tabelle 7-3

Name Typ/ Datentyp

Bedeutung

Ingredient IN / INT Gibt die Art der im Schritt zugeführten Zutat an. Method IN/INT Gibt die Art der Verarbeitung des Schrittes an. Mix IN/INT Gibt die Menge der zuzuführenden Zutat an. Reset IN/BOOL Reset (setzt den Baustein zurück) Speed IN/INT Gibt die Geschwindigkeit des Rührmotors an. Start IN / BOOL Mit diesem Parameter wird der Arbeitsschritt

gestartet. Temperature IN/INT Gibt die zu erreichende Temperatur an.

Teil C: Programmbeschreibung

Erläuterung zum Code der einzelnen Elemente

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 77/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Unity IN/INT Mit Unity wird die Einheit der einzubringenden Zutat bestimmt.

Busy OUT/ BOOL

Ist dieses Bit gesetzt, so wird der Arbeitsschritt ausgeführt.

Ready OUT/ BOOL

Nach Fertigstellung des Schrittes wird dieser Ausgang kurzzeitig gesetzt.

PerFilligLevel IN/OUT INT

Gibt den aktuellen Füllstand des Tanks an.

PerTemperature IN/OUT INT

Gibt die aktuelle Temperatur des Tanks an.

PerStirring- Speed

IN/OUT INT

Gibt die aktuelle Geschwindigkeit des Rührers an.

PerStirring IN/OUT BOOL

Gibt an, ob der Rührer eingeschaltet ist.

PerHeating IN/OUT BOOL

Gibt an, ob die Tankheizung in Betrieb ist.

PerCooling IN/OUT BOOL

Signalisiert den Betrieb des Kühlgerätes im Tank.

PerValve1, Per-Valve2, Per-Valve3

IN/OUT BOOL

Signalisiert den offenen Zustand der Ventile (2x Einlass (1..2) und einmal Auslass (Valve 3).

SP_Temp IN/OUT INT

Gibt den Sollwert der Temperatur an.

SP_Fill IN/OUT INT

Gibt die Menge der einzufüllenden Zutat an.

StepNr IN/OUT INT

Dieser Parameter gibt den aktuell in Bearbeitung befindlichen Schritt zurück.

FB 2 (FB_WorkingOfSteps) Der Funktionsbaustein FB2 bildet das Herzstück des Rezepturprogramms. Er führt zu Beginn eine Schrittkette aus, welche die Datenanforderung und das Quittieren nach Datenerhalt bewerkstelligt. Der FB2 kommuniziert mit dem Bridge-Client. Nach Erhalt der Daten ruft er die Funktionsbausteine FB_Simulation, FB_DBIndex und FB_WorkStep auf (Funktionsbeschrei-bung erfolgt in den folgenden Punkten).

Er prüft die Abarbeitung der einzelnen Schritte und bewerkstelligt die Messung der verstrichenen Zeit bis zum aktuellen Zeitpunkt.

Teil C: Programmbeschreibung

Erläuterung zum Code der einzelnen Elemente

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 78/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Parameter des FB 2 (FB_WorkingOfSteps) Tabelle 7-4

Name Typ / Datentyp

Bedeutung

RecipeDBNr IN / INT Übergabe der Nummer des Datenbausteins, welcher die Rezepte enthält.

Reset IN/BOOL Setzt alle Funktionsbausteine zurück. RequiredTime OUT/INT Gibt die für das abgeschlossene Rezept benötigte

Zeit in Sekunden zurück. CurrentStep IN/OUT

INT Gibt den aktuell verarbeiteten Schritt zurück.

DataRequest INT/OUT BOOL

Übergabe der Rezeptdatenanforderung

DataRequestAk IN/OUT BOOL

Übergabe der Quittierung der Rezeptdatenanforderung.

DataSend IN/OUT BOOL

Übergabe der Sendebestätigung (Vom Bridge Client aus).

DataSendAk IN/OUT BOOL

Übergabe der Empfangsbestätigung (zum Bridge-Client).

GoneTime IN/OUT INT

Übergabe der aktuell verstrichenen Zeit für das laufende Rezept.

MixProportion IN/OUT INT

Übergabe des aktuellen Füllstandes des Tankes.

NrOfSteps IN/OUT INT

Übergabe der Anzahl der Arbeitsschritte des aktuellen Rezeptes.

PLCProgram-Run

IN/OUT BOOL

Übergabe des Rezeptverarbeitungszustandes (1 Rezept wird verarbeitet).

RecipeFinish IN/OUT BOOL

Wird gesetzt, nach dem das Rezept vollständig ausgeführt wurde.

Start IN/OUT BOOL

Startet die Ausführung des Rezeptes.

FB3 (FB_DBIndex) Der Funktionsbaustein FB3 dient zum Ermitteln der Daten eines Verarbeitungsschrittes aus dem Rezeptdatenbaustein DB_Recipe. Durch Übergabe der Nummer des Datenbausteins, welches das Rezept enthält (in dieser Applikation DB2000) und der Angabe des zu verarbeitenden Schrittes, werden aus dem Datenbaustein die jeweiligen Daten ermittelt und an den aufrufenden Baustein (in unserer Applikation FB2) zurück geliefert.

Das Betrachten des Bausteins ist nur in AWL möglich.

Teil C: Programmbeschreibung

Erläuterung zum Code der einzelnen Elemente

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 79/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Parameter des FB3 (FB_DBIndex) Tabelle 7-5

Name Typ / Datentyp

Bedeutung

NrGlobDB IN/INT Übergabe der Nummer des globalen Datenbausteins, welcher die Rezepturen beinhaltet.

IndexOfSet IN/INT Zu verarbeitender Schritt im Rezeptur DB (in unserer Applikation maximal 20 möglich).

Amount OUT/INT Gibt die Menge der Zutat zurück, welche in den Tank gefüllt werden soll.

Ingredient OUT/INT Gibt die Art der Zutat, welche eingefüllt werden soll, zurück.

Proceed OUT/INT Gibt die anzuwendende Methode des Schrittes an (z.B.: Rühren, Heizen, Einlassen, usw.).

Speed OUT/INT Gibt die Geschwindigkeit des Rührers zurück. StepNr OUT/INT Gibt die Schrittnummer des gewählten Schrittes

zurück. Temperature OUT/INT Gibt die zu erreichende Temperatur zurück. Unity OUT/INT Gibt die Einheit der einzufüllenden Zutat an.

FB225 (FB_Simulation) Mit dem Simulationsbaustein FB225 wird die Peripherie der Abfüllanlage simuliert. Dabei stellt der Baustein verschiedene Ein/Ausgangsparameter zur Verfügung. (Ventile, Heizungsschalter, usw.)

Wird beispielsweise der Eingang Heizung (heating) auf eins gesetzt, so wird allmählich die Temperatur angehoben.

Parameter des FB225 (FB_Simulation) Tabelle 7-6

Name Typ / Datentyp

Bedeutung

StartFlag IN/BOOL Wird dieser Eingang gesetzt, arbeitet der Simulationsbaustein.

Reset IN/BOOL Durch setzen dieses Einganges wird der Baustein zurückgesetzt.

TimerFlag OUT/BOOL Stellt eine Kippstufe mit 0.5 Sec Trigger Time bereit.

cooling IN/OUT BOOL

Lesen und Schreiben des Klimaanlagenzustandes.

Teil C: Programmbeschreibung

Erläuterung zum Code der einzelnen Elemente

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 80/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

fillinglevel IN/OUT INT

Gibt den Flüssigkeitsstand im Tank zurück.

heating IN/OUT INT

Lesen und Schreiben des Heizungszustandes.

Stirring IN/OUT BOOL

Lesen und Schreiben des Rührerzustandes.

StirringSpeed IN/OUT INT

Lesen und Schreiben der Rührgeschwindigkeit.

Temperature IN/OUT INT

Gibt die aktuelle Temperatur zurück.

Valve1, Valve2, Valve3

IN/OUT BOOL

Lesen und Schreiben der Zustände der Ventile.

7.2.4 Datenbausteinüberblick

DB2000 (DB_Recipe) Als Zwischenspeicher für Rezepturdaten ist der DB2000 der wichtigste Datenbaustein. In ihm wird das komplette zu bearbeitende Rezept abgelegt.

Der DB2000 besteht dabei aus 20 Einzelschritten, die jeweils aus der Datenstruktur UDT1 (UDT_Recipe) gebildet werden.

Abbildung 7-3

Teil C: Programmbeschreibung

Erläuterung zum Code der einzelnen Elemente

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 81/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Daten des DB2000 (DB_Recipe) Die Daten des Rezeptdatenbausteins setzen sich aus 20 UDT1 Strukturen zusammen. Es ergeben sich folgende Parameter für den Schritt 1. Im Client wird direkt auf diesen Baustein zugegriffen.

Alle darauf folgenden Parameter sind bis auf die Schrittnummer äquivalent. Tabelle 7-7

Name Datentyp Bedeutung

Step1.StepNr INT Enthält die Nummer des Schrittes zur sicheren Identifizierung.

Step1.Procced INT Enthält die Kennzeichnung der Verarbeitungsmethode des Schrittes (Heizen, Kühlen, Einlassen, usw.)

Step1.Ingredient INT Gibt die zu verwendende Zutat an. Step1.Amount INT Speichert die Menge der benötigten Zutat. Step1.Unity INT Angabe der Einheit der benötigten Zutat. Step1.Tem-perature

INT Enthält die zu erreichende Temperatur.

Step1.Speed INT Gibt die Rührgeschwindigkeit des Rührers an.

DB3000 (DB_Command_Glob) Zum Austausch von Befehlen und Zuständen zwischen Steuerung und Bridge-Client wurde der DB3000 in das Rezepturprogramm integriert. Im Bridge Client wird direkt auf diesen Baustein zugegriffen.

Daten des DB3000(DB_Command_Glob) Tabelle 7-8

Name Datentyp Bedeutung

Start BOOL Mit diesem Bit wird die Rezeptur gestartet.

Reset BOOL Durch das Reset Bit werden alle Bausteine zurückgesetzt.

DataRequest BOOL Das DataRequest Bit wird von der Steuerung gesetzt, um Rezeptdaten vom Bridge Client anzufordern.

DataRequestAk BOOL Der Bridge Client setzt dieses Bit zur Quittierung der Datenanforderung.

DataSend BOOL DataSend wird vom Bridge Client gesendet, wenn die Daten übertragen wurden.

DataSendAk BOOL Mit DataSendAk sendet die Steuerung ein Bit zur Quittierung des Datenempfangs.

PLCProgramRun

BOOL Mit Hilfe dieses Bits wird an den Bridge Client die Information übergeben, dass die Steuerung das Rezept bearbeitet.

Teil C: Programmbeschreibung

Erläuterung zum Code der einzelnen Elemente

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 82/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

RecipeFinish BOOL Wurde das Rezept fertiggestellt, so setzt die Steuerung dieses Bit.

RequiredTime INT Rückgabe der benötigten Zeit in Sekunden. CurrentStep INT Der Integerwert CurrentStep gibt den aktuell von

der Steuerung bearbeiteten Schritt zurück. NrOfSteps INT Übergabe der Gesamtanzahl der Schritte im

Rezept. MixProportion INT Gibt den momentanen Füllstand im Tank für

Analysezwecke zurück. GoneTime DINT Rückgabe der momentan für das Rezept

benötigten Zeit.

DB4000 (DB_Visual) Der Bridge-Client verfügt über eine integrierte Visualisierung. Die Visualisierung wird zur Vermeidung von Unnützen Kommunikationsbelastungen nur bei Bedarf gestartet. Um die Aktualwerte der Steuerung an den Bridge Client zu übergeben, wurde ein separater Visualisierungsdatenbaustein angelegt, welcher die Aktualwerte der Rezepturverarbeitung in Echtzeit (Aktualisierung erfolgt bei jedem Zyklusdurchlauf) speichert.

Daten des DB4000(DB_Visual) Bei den Variablen des DB4000 handelt es sich um die Parameterdaten des Funktionsbausteins FB_WorkStep. Die Namen der Variablen sind bis auf den Präfix Per identisch. Da die Bedeutung und die Datentypen identisch sind, wird in diesem Abschnitt auf eine detaillierte Beschreibung verzichtet (siehe Abschnitt Parameter des FB1 (FB_WorkStep)).

7.2.5 Beschreibung ausgewählter Codeauszüge

Codeauszug der Datenanforderung des S7 Programms Der folgende Codeauszug aus dem FB2 (WorkingOfSteps) zeigt den Schritt 1 der Schrittkette, welcher nach dem Starten der Rezepturverarbeitung die Rezepturdaten vom Client anfordert.

Netzwerk 1: Datenanforderungsschritt (Schritt1) / Data request step (step 1)

U Start // Startbit gesetzt? / If the StartFlag is set

S #FStartData // setze FStartdata (Schritt1)

/ then set FStartData (Step 1) Flag

O #FdataRequestAk // Die Rücksetzung mit nächsten Schritt,

/ Resetting by Step 2 (FDataRequestAk)

O #Reset // oder Reset Bit / or reset flag.

R #FStartData

Teil C: Programmbeschreibung

Erläuterung zum Code der einzelnen Elemente

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 83/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

U #FStartData

= #DataRequest // Setze DataRequest auf 1, wenn Schritt 1 aktiv

/ set DataRequest if the Step 1 is aktive

R #RecipeFinisch // rücksetzen des RecipeFinisch Bits

/ reset RecipeFinisch flag

Beschreibung des Datenanforderungsschrittes Die OPC Variablen (übermittelt mit global DB DB_Command_Glob) werden im OB1 an den FB2 (FB_WorkingOfSteps) übergeben. Die Namen und Werte der vier Variablen „Start“, „DataRequest“, “Reset“ und „RecipeFinisch“ sind gleich den im global DB gespeicherten Namen und Daten.

So bald der Wert im Start Bit gesetzt wird, aktiviert das Netzwerk den Schrittspeicher FdataRequestAk und gibt die Datenanforderung mit dem Bit DataRequest an den OPC Server zurück. Gleichzeitig wird der Zustand „Rezept fertig „(RecipeFinisch) zurückgesetzt.

Codeauszug der Verarbeitung eines Rezepturschrittes im S7 Programm Der folgende Codeauszug zeigt den Aufruf des FB1 (FB_WorkStep) innerhalb des Funktionsbausteins FB2 (FB_WorkingOfSteps) im Netzwerk 6.

Netzwerk 6: Aufruf des Einzelarbeitsschrittes / Call the single work step

CALL "FB_WorkStep" , "DB_WorkStep"

Start := #StartWorkStep // Start über das StartWorkStep Bit

/ Starting by setting the StartWorkStep flag

Incredient :="DB_FB_DBIndex".Ingredient // Übergabe der verwendeten Zutat

/ handing over the used ingredient

Mix :="DB_FB_DBIndex".Amount // Übergabe der verwendeten Menge

/ transfer the needed amount of ingredient

Unity :="DB_FB_DBIndex".Unity // Übergabe der Einheit der Zutat

/ handing over the unity of ingredient

Temperature :="DB_FB_DBIndex".Temperature // Übergabe der Sollw. d. Temp.

/ handing over the wished temperature

Speed :="DB_FB_DBIndex".Speed // Übergabe des Sollw. der Rührgeschw.

/ transfer set point of the stirring speed

Method :="DB_FB_DBIndex".Proceed // Übergabe der gewünschten Methode

/ handing over the wished method

Reset :=#Reset

Busy :=

Ready :=

Teil C: Programmbeschreibung

Erläuterung zum Code der einzelnen Elemente

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 84/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

StepNr :="DB_FB_DBIndex".StepNr //Übergabe des aktuellen Schrittes

/ handing over the current step

SP_Temp :=

SP_Fill :=

PerFillingLevel :="DB_Simulation".fillinglevel // Übergabe des akt. Füllst.

/ handing over the current fillinglevel

PerTemperature := "DB_Simulation".temperature //Übergabe der akt. Temp.

/ handing over the current temperature

PerStirringSpeed:= "DB_Simulation".stirringspeed // Übergabe der akt.

Rührgeschw. / transfer current stirring speed

PerStirring := "DB_Simulation".stirring // Übergabe des akt. Rührer Zust.

/ handing over the current state of stirring

PerHeating := "DB_Simulation".heating // Übergabe des akt. Zust. d.

Heizung / transfer current state of heating

PerCooling := "DB_Simulation".cooling // Überg. des akt. Kühlungs Zust.

/ handing over the current state of cooler

PerValve1 := "DB_Simulation".valve1 // Übergabe des akt. Ventil 1 Zust.

/ handing over the current state of valve 1

PerValve2 := "DB_Simulation".valve2 // Übergabe des akt. Ventil 2 Zust.

/ handing over the current state of valve 2

PerValve3 := "DB_Simulation".valve3 // Übergabe des akt. Ventil 3 Zust.

/ handing over the current state of valve 3

...

Beschreibung des Aufrufes der Schrittverarbeitung Das dargestellte Netzwerk ruft den Baustein FB 1 (FB_WorkStep) auf und übergibt die dafür nötigen Sollwerte aus dem Instanzdatenbaustein des Indizierungsfunktionsbausteins FB 3 (FB_DBIndex). Zusätzlich werden die aktuellen Werte (mit Präfix Per ... gekennzeichnet) vom Instanzdatenbaustein des Simulationsbausteins (FB_Simulation) in den Datenbaustein geschrieben und gelesen (bidirektional). Die Verarbeitung wird über die lokale Variable #StartWorkstep gestartet. Das Rücksetzen erfolgt mit Hilfe der lokalen Variable #Reset.

7.3 Bridge-Client (C# Programm)

7.3.1 Funktionsweisen des Clients

Überblick Der Client wurde mit der Programmiersprache C# für das .NET Framework entwickelt.

Teil C: Programmbeschreibung

Erläuterung zum Code der einzelnen Elemente

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 85/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Er vereint 3 Grundfunktionalitäten, welche miteinander Daten austauschen in einer Oberfläche. Den OPC-XML Zugriff, Datenbankzugriffe mit Hilfe von ADO.NET sowie eine Visualisierung der Rezepturverarbeitung. Die detaillierte Beschreibung der einzelnen Funktionalitäten erfolgt in den folgenden Kapiteln.

Der Client besteht grundsätzlich aus 2 Formularklassen, wobei die Grundfunktionalität (Austausch von Daten zwischen Datenbank und WinAC) vom Formular „basicForm“ bereitgestellt wird. Die Formularklasse „VisualForm“ stellt die Visualisierung (nur kurz dokumentiert) bereit.

Zur besseren Verständlichkeit wurde auf die Kapselung der Funktionalitäten in separate Klassen verzichtet.

Ablaufdiagramm Die grundsätzliche Funktionsweise des Automatikbetriebes soll mit diesem Ablaufdiagramm verdeutlicht werden.

Teil C: Programmbeschreibung

Erläuterung zum Code der einzelnen Elemente

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 86/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Abbildung 7-4

Zurücksetzen der Schrittkette,

und warten auf Neustart

Zurücksetzen der Schrittkette,

und warten auf Neustart

STARTSTART

Verbinden mit dem OPC ServerVerbinden mit dem OPC Server

Verbinden mit der DatenbankVerbinden mit der Datenbank

Starten der ÜberwachungStarten der Überwachung

Wurde ein neuer Schritt

begonnen ?

nein

ja

Wurde ein neuer Schritt

begonnen ?

nein

ja

nein

ja

werden Daten angefordert

?

nein

ja

werden Daten angefordert

?

Laden der Daten in das DataSetLaden der Daten in das DataSet

Daten in Steuerung übertragenDaten in Steuerung übertragen

nein

ja

wurden Daten von der Steuerung

erhalten?

nein

ja

wurden Daten von der Steuerung

erhalten?

Protokollieren der Schrittlaufzeit im Dataset Protokollieren der Schrittlaufzeit im Dataset

Wurde das Rezept fertiggestellt

?

nein

ja

Updaten der Datenbank Updaten der Datenbank

Protokollieren der Rezeptlaufzeit im Dataset

Protokollieren der Rezeptlaufzeit im Dataset

nein

ja

nein

jawerden neue Daten angefordert

?

Starten der ÜberwachungStarten der Überwachung

StopButton betätigt

?

Teil C: Programmbeschreibung

Erläuterung zum Code der einzelnen Elemente

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 87/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Methodenaufrufstruktur (vereinfacht) Einen grundsätzlichen Überblick über den konkreten Ablauf des Programms gibt die folgende Ablaufstruktur, die das Zusammenspiel der Kernmethoden darstellt. Ein Überblick der wichtigsten Methoden wird im Punkt „wichtige Methoden“ vermittelt. Abbildung 7-5

Private void DefineVarAndConst()• Initialisierung der OPC Variablen für die Steuerungskomandos

Private void StartClient_Click()• Verbindung zur Datenbank aufbauen und DataSet füllen• Verfügbarkeit des Web Service prüfen und Verbindung aufbauen• Status (Betriebszustand) des OPC-Servers prüfen • Subscription anmelden• Zeitgeber starten

Private void timer1_Tick(...)• Zeitgeber mit voreingestelltem Intervall Zyklischer Aufruf

nach Ablauf derAktualisierungszeit

Private void SubScrCallback(...)• Abfrage der geänderten OPC Variablen

Buttonbetätigung durch Anwender

Asynchrones Abfragen der Subscription anstoßen

Wurden Rezeptdaten angefordert ?

Wurde ein Rezept fertiggestellt?

Private void TransferRecipe(...)• Übertragungsliste erstellen• Rezepturdaten übertragen

Private void E2_Finisch(...)• Statuswerte lesen und in DataSet schreiben• DataSet in Datenbank übertragen

Wichtige Methoden Eine Aufstellung der wichtigsten Methoden des basicForm Formulars zeigt die folgende Tabelle. Tabelle 7-9

Methode Erläuterung

Start_Client_Click Diese Buttonklickmethode führt im Automatikmodus die folgenden Schritte zum Start des Clients durch. Schritt 1: Verbinden mit der Datenbank (ConnectToMySQLDB / ConnectToACCESSDB) Schritt 2: Verbinden mit dem OPC Server (ConnectToOPCXML) Schritt 3: Subscription anmelden (RegisterSubscription) Schritt 4: Abfragetimer starten

ConnectToMySQLDB Diese Methode stellt eine Verbindung zur MySQL Datenbank her und füllt die Daten der Tabellen „Expiry“, „Protocol“ und „Quality“ in das DataSet „DataSetFull“

Teil C: Programmbeschreibung

Erläuterung zum Code der einzelnen Elemente

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 88/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

ConnectToACCESSDB Diese Methode stellt eine Verbindung zur ACCESS Datenbank her und füllt die Daten der Tabellen „Expiry“, „Protocol“ und „Quality“ in das DataSet „DataSetFull“

ConnectToOPCXML Diese Methode testet den Webservice sowie den Status des OPC Servers und gibt ein Statusdialogfenster zurück

RegisterSubscription RegisterSubscription meldet die abzufragenden Daten der Kommandovariablen beim OPC Server an.

timer1_Tick Wenn der Timer abgelaufen ist, wird die Abfrage der Subscription Anfrage an den Server geschickt.

SubScrCallback Wird vom Server eine Änderung an den angemeldeten Daten festgestellt wird im Client diese Methode aufgerufen. Mit Hilfe dieser Methode wird ausgewertet welcher Wert sich geändert hat und wie darauf zu reagieren ist. Die drei wichtigsten Werte Änderungen sind: • Daten angefordert ?

a. TransferRecipe • Aktueller Schritt geändert?

b. E1_StepChanged • Aktuelles Rezept fertig?

c. E2_Finisch

E1_StepChanged Dieses Event schreibt die Daten (Laufzeit, Zeitstempel, Füllstand usw. ) des gerade ausgeführten Einzelschrittes in die Tabelle „Protocol“ des DataSetFull.

E2_Finisch Dieses Event schreibt die Daten (Laufzeit, Zeitstempel usw. ) des gerade ausgeführten Rezeptes in die Tabelle „Quality“ des DataSetFull.

7.3.2 OPC-XML Zugriff (C# Windowsprogramm)

Grundlagen Der Zugriff auf den OPC Server erfolgt wie in /2/ beschrieben mit Hilfe von Subscriptions und synchronen Aufrufen.

Übertragung der Rezepturdaten in die Steuerung Die Übertragung der Rezepturdaten erfolgt mit Hilfe eines synchronen OPC-XML Schreibbefehls. Die Methode TransferRecipe überträgt ein

Teil C: Programmbeschreibung

Erläuterung zum Code der einzelnen Elemente

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 89/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Rezept in die Steuerung. Der folgende Codeauszug zeigt die wichtigsten Routinen dieser Methode.

Codeauszug private void TransferRecipe(int NrOfRecipe) { // Check the number of steps and position in the table int PosRecipe; int NrOfSteps=HowMuchSteps(NrOfRecipe,DataSetFull,out PosRecipe); // Generate the writelist for write method // Setup the items of the list WDataItemList.Items = new ItemValue[(NrOfSteps*7)+1]; for(int i=0;i<((NrOfSteps*7)+1);i++) { WDataItemList.Items[i] = new ItemValue(); } // Assigning the itemnames of the items in the list // Assining dynamicaly for better performance // i represents the step number of write list and j represents the row in the database int j=0; string js=""; for (int i=0;i<NrOfSteps*7;i=i+7) { j++; js=Convert.ToString(j); // Assining the step name "PCWinAC.WinLC RTX.DB_Recipe.Step j .StepNr" for step j WDataItemList.Items[i].ItemName= cstation+"."+cPLC+"."+cRecipeDB+"."+cUDT+js+"."+cINStepNr; … // and so on (for the next 6 values) } // Adding the name NumberOfSteps for the DB_Command_Glob // "PCWinAC.WinLC RTX.DB_Command_Glob.NrOfSteps"; WDataItemList.Items[(NrOfSteps*7)].ItemName= cstation+"."+cPLC+"."+cCommandDB+"."+cINNrOfSteps; j=0; // write database values to writelist for (int i=0;i<(NrOfSteps*7);i=i+7) { js=Convert.ToString(j); // transfer the database value of “OrderNumber” form database to “StepNumber” of writelist WDataItemList.Items[i].Value =DataSetFull.Expiry[j+PosRecipe].OrderNumber; WDataItemList.Items[i+1].Value=DataSetFull.Expiry[j+PosRecipe].Method; … // and so on (for the next 6 values) j++; } … … // Write the item list to OPC Server WriteItemList(ref WDataItemList);

}

Teil C: Programmbeschreibung

Erläuterung zum Code der einzelnen Elemente

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 90/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Erläuterung zur TransferRecipe Methode Der Methode wird die gewünschte Rezeptnummer übergeben. Zu Beginn des Methodenaufrufes wird die Anzahl der Schritte des jeweiligen Rezeptes sowie die Position in der Ablauf (Expiry) Tabelle ermittelt. Anschließend erstellt der Client eine Schreibliste zur Übertragung der einzelnen Daten in Abhängigkeit von der Schrittanzahl. Im nächsten Schritt werden die einzelnen Werte des Rezeptes aus dem DataSet in die Schreibliste übertragen. Als letztes erfolgt der Aufruf der Methode WriteItemList, welche die Schreibliste in den OPC Server (bzw. die Steuerung) überträgt.

7.3.3 Datenbankzugriffe (C# Windowsprogramm)

Grundlagen Wie in Kapitel 4.5 Grundlagen der ADO.NET Schnittstelle gezeigt, bietet der .NET DataAdapter eine komfortable Möglichkeit auf eine Datenbank zuzugreifen. Dafür werden die .NET Provider für die einzelnen Datenbanktypen benötigt. In der vorgestellten Applikation kommen die beiden Provider Microsoft Jet 4.0 OLE DB Provider für einen ACCESS, und der ByteFx .NET DataProvider für den Zugriff auf eine MySQL Datenbank zum Einsatz.

Microsoft Jet 4.0 OLE DB Provider (für ACCESS Anbindung) Der MS Jet 4.0 OLE DB Provider ist bereits im Visual Studio mit integriert und kann mit Hilfe der beiden Anweisungen using System.Data; using System.Data.OleDb;

eingebunden werden.

Byte FX .NET DataProvider (für MySQL Anbindung) Der Byte FX Provider ist eine Bibliothek mit dem Interface eines DataProviders für .NET und kann frei verwendet werden. Seine Installation wurde bereits in Kapitel 5.1 Vorbereitende Installation behandelt.

Die folgende Anleitung zeigt, wie der Byte FX Provider in ein Visual Studio Projekt eingebunden werden kann.

Einbindung des Byte FX .NET DataProviders in ein VS 2003 Projekt Tabelle 7-10

Nr. Aktion

1 Öffnen Sie Visual Studion falls noch nicht geschehen. Öffnen Sie Ihr Projekt, in welches Sie die Bibliothek einbinden möchten, oder erstellen Sie ein neues Projekt.

Teil C: Programmbeschreibung

Erläuterung zum Code der einzelnen Elemente

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 91/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

2 Klicken Sie im Projektmappen- Explorer mit der rechten Maustaste auf „Verweise“ und wählen sie „Verweis hinzufügen“.

3

Es sollten im folgenden Dialog im Reiter „.NET“ die beiden Einträge “ByteFX.MySqlClient.Design“ und „ByteFX.MySQLClient.dll“ vorhanden sein. Hinweis: Falls diese Einträge nicht vorhanden sind, so klicken Sie bitte auf „Durchsuchen...“ und fügen die beiden DLL Bibliotheken „ByteFX.MySqlClient.Design.dll“ und „ByteFX.MySqlClient.dll“ aus dem Installationspfad der Bibliotheken hinzu.

4 Wählen Sie “ByteFX.MySqlClient.Design“ aus, klicken Sie auf den Button „Auswählen“, führen Sie dies nun auch für den Eintrag „ByteFX.MySQLClient.dll“ aus und klicken Sie anschließend auf „Ok“.

5 Tragen Sie nun zur Integration der Bibliothek in den Definitionsteil vor Beginn des Namespaces ihres Projektes die folgenden Definitionen ein. using ByteFX; using ByteFX.Data; using ByteFX.Data.MySqlClient; using ByteFX.Data.MySqlClient.Design; Die Integration ist damit abgeschlossen.

Erstellen einer DataSet-basierten Datenbankverbindung (ACCESS) Im Folgenden soll die Erstellung eines DataGrids (Datentabelle), welche eine ACCESS Datenbank abfragt, mit Hilfe der oleDbDataAdapter Komponente gezeigt werden. Sie benötigen zum Nachvollziehen eine Microsoft Visual Studio .NET 2003 Entwicklungsumgebung sowie die mitgelieferte Datei RecipeAdministration.mdb.

Teil C: Programmbeschreibung

Erläuterung zum Code der einzelnen Elemente

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 92/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Tabelle 7-11

Nr. Aktion

1 Öffnen Sie, falls noch nicht geschehen das Visual Studio und klicken Sie auf „Datei->Neu ->Projekt“. Wählen Sie bei Projekttypen „Visual C#- Projekte“ und bei Vorlagen „Windows-Anwendung“. Wählen Sie nun einen Ort und Namen für Ihr Projekt und erstellen Sie das Projekt.

2

Klicken Sie nun in der Toolbox auf den Reiter „Daten“ und ziehen Sie per drag and drop den „OleDbDataAdapter“ auf ihr Formular.

3 Es öffnet sich der Datenadapter-Konfigurations-Assistent. • Klicken Sie nun auf den Button „Weiter“. • Betätigen Sie den Button „neue Verbindung“.

4 Klicken Sie auf den Reiter „Provider“ und wählen Sie anschließend den „Microsoft Jet 4.0 OLE DB Provider“ aus. Klicken Sie nun auf den „Next“ Button.

5

Klicken Sie nun auf den Durchsuchen Button, um die ACCESS Datei (RecipeAdministration.mdb) und Ihren Pfad aufzusuchen. Stellen Sie die Passwortspezifikationen (in der ACCESS Datenbank wird kein Passwort verwendet) ein und klicken Sie anschließend auf „Ok“.

1.

2.

Teil C: Programmbeschreibung

Erläuterung zum Code der einzelnen Elemente

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 93/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

6

Fahren Sie mit dem Assistenten fort und markieren Sie im Dialog für den Abfragetyp „SQL- Anweisungen verwenden“. Folgen Sie den weiteren Anweisungen.

7

• Im Dialog „SQL- Anweisungen generieren“ klicken Sie auf den „Abfrage-Generator“

• Fügen Sie die Tabelle „Expiry“ hinzu und schließen Sie den „Tabelle hinzufügen“ Dialog.

• Klicken Sie einen Haken in der „Expiry“ Tabelle unter „*(AlleSpalten)“ und schließen Sie den Abfrage Generator mit Klick auf den „Ok“ Button.

Teil C: Programmbeschreibung

Erläuterung zum Code der einzelnen Elemente

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 94/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

8

Im Assistenten ist nun die automatisch erstellte SQL Anweisung zu sehen.Folgen Sie nun dem Assistenten weiter und klicken Sie auf „Fertigstellen“.

9

Mit Hilfe des Assistenten wurde ein neuer DataAdapter und eine neue Connection für die Verbindung zu einer OLE Datenbank erstellt.

10 Klicken Sie jetzt mit der rechten Maustaste auf den „oleDbDataAdapter“ und wählen sie DataSet generieren.

11 Visual Studio erstellt nun ein XML File mit dem Namen „DataSet1“, welches die Struktur der ausgewählten Daten als XML Struktur enthält. Zusätzlich wird ein C# File mit dem Namen „DataSet1.CS“, welches die typisierten Strukturen in Form der Klasse DataSet1 enthält, erstellt. Als Instanz der Klasse „DataSet1“ wird nun noch die im Formular sichtbare Komponente „dataSet11“ erstellt.

12 Ziehen Sie nun aus der Toolbox unter „Windows Forms“ ein

„DataGrid“ in Ihr Formular und passen Sie seine Größe so an, dass es das Formular nicht ganz bedeckt.

13 • Wählen Sie durch Klick mit der rechten Maustaste auf das DataGrid die „Eigenschaften“ aus.

• Stellen Sie bei „DataSource“ „dataSet11“ , und bei „DataMember“ die Tabelle „Expiry“ ein.

14 Fügen Sie nun durch drag and drop noch einen Button hinzu.

Teil C: Programmbeschreibung

Erläuterung zum Code der einzelnen Elemente

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 95/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

15 Klicken Sie doppelt auf den Button und fügen Sie in die nun gezeigte Methode folgende Codezeile ein:

oleDbDataAdapter1.Fill(dataSet11); 16

Starten Sie die Anwendung durch drücken der “F5” Taste. Sobald das Formular angezeigt wird, können Sie auf den selbst erstellten Button klicken und das DataGrid wird mit den Daten der Tabelle gefüllt.

Mit Hilfe dieser kleinen Einführung konnte deutlich gemacht werden, wie schnell sich typisierte DataSets erstellen und verwenden lassen. Auf die Erstellung von typisierten DataSets mit mehreren Tabellen, wie sie in dieser Applikation eingesetzt wurden, wird in Kapitel 8.3 Erstellung eines Strong Typed DataSets eingegangen.

Äquivalenz von MySQL und ACCESS Durch den Einsatz von .NET Datenadaptern, ist der Quellcode zum Datenaustausch mit den beiden Datenbanken nahezu identisch. Auch wird stets nur ein DataSet für beide Datenbanken verwendet. Unterschiede in der Verarbeitung der Daten sind nur beim Verbinden zur Datenbank und Füllen des DataSets sowie beim Updaten (Zurückschreiben der Daten) der Datenbank auszumachen.

Die folgenden Codebeispiele beziehen sich auf die Verwendung einer ACCESS Datenbank. Der Quellcode für eine MySQL Verarbeitung unterscheidet sich nur geringfügig vom vorgestellten Code und ist im mitgelieferten Projekt detailliert auskommentiert.

Teil C: Programmbeschreibung

Erläuterung zum Code der einzelnen Elemente

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 96/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Codeauszug der Verbindung zur Datenbank (Connection) string connectionstring; // generate the connection string connectionstring="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\RecipeAdministration.mdb;USER ID=;PASSWORD=;"; // generate the OleDbConnection1 oleDbConnection1 = new OleDbConnection(connectionstring); // open the connection oleDbConnection1.Open();

Erläuterung zum Codeauszug - Verbinden zur Datenbank Zu Beginn einer Verarbeitung von Datenbankdaten muss zunächst eine Verbindung (Connection) zur Datenbank hergestellt werden. Für diese Verbindung wird stets ein sogenannter ConnectionString (Verbindungszeichenfolge) verwendet, durch welche alle Verbindungsinformationen an den Dataprovider übergeben werden.

Der ConnectionString unterscheidet sich allerdings bei beiden Datenbanken.

Im ACCESS ConnectionString wird lediglich die Position der ACCESS Datei (Pfad und Dateiname *.mdb) sowie die Nutzerinformation übergeben.

Der MySQL Byte FX .NET Provider benötigt hingegen einen ConnectionString mit folgenden Angaben. myConnString = "Persist Security Info=False; database=Recipe; server=localhost;Connect Timeout=30;

user id=Admin;pwd=;";

Im MySQL ConnectionString werden Angaben zur Sicherheit, zum Server (Name und Ort) und zur Bezeichnung der Datenbank übermittelt.

Nach Erstellung des ConnectionString wird eine neue Verbindung erstellt und anschließend geöffnet.

Codeauszug - Erstellung der DataAdapter // generate a new OleDb DataAdapter for Expiry table with SQL statement and the open connection

oleDbDataAdapterExpiry=new OleDbDataAdapter("SELECT * FROM Expiry ORDER BY ID",oleDbConnection1);

// generate a new OleDb DataAdapter for the Protocol table with SQL statement and the open connection

oleDbDataAdapterProtocol=new OleDbDataAdapter("SELECT * FROM protocol",oleDbConnection1);

// generate a new OleDb DataAdapter for the Quality table with SQL statement and the open connection

oleDbDataAdapterQuality=new OleDbDataAdapter("SELECT * FROM quality",oleDbConnection1);

Teil C: Programmbeschreibung

Erläuterung zum Code der einzelnen Elemente

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 97/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Erläuterung zur Erstellung der DataAdapter Für ein einfaches Updaten der Datenbank wurde für jede Tabelle ein eigener DataAdapter generiert. Die Erstellung erfolgt mit der Übergabe eines SQL Abfragestrings und der Angabe der oben erstellten connection.

Codeauszug - Füllen des DataSets // declare DataSetFull as the main data handle object

private NewDataSet DataSetFull; // fill the dataset table Expiry with the table data of the OleDbDataAdapterExpiry

oleDbDataAdapterExpiry.Fill(DataSetFull,"expiry"); // fill the dataset table Protocol with the table data of the OleDbDataAdapterProtocol

oleDbDataAdapterProtocol.Fill(DataSetFull,"protocol"); // fill the dataset table Quality with the table data of the OleDbDataAdapterQuality

oleDbDataAdapterQuality.Fill(DataSetFull,"quality");

Erläuterung zum Füllen des DataSets Um die Daten des Datenadapters in das DataSet einzufügen, wird das DataSet als Parameter in der DataAdapter.Fill Methode übergeben. Zusätzlich wird eine Kennung (meist der Tabellenname) zur Identifikation der Tabelle an die Methode gereicht. Alle Tabellen werden in das selbe DataSet eingefüllt.

Codeauszug - Aktualisieren der Datenbank // generate a new OleDb command handler for the Expiry table

oleDBCommandBuilderExpiry = new OleDbCommandBuilder(oleDbDataAdapterExpiry);

// generate a new OleDb command handler for the Protocol table oleDBCommandBuilderProtocol = new OleDbCommandBuilder(oleDbDataAdapterProtocol);

// generate a new OleDb command handler for the Quality table oleDBCommandBuilderQuality =

new OleDbCommandBuilder(oleDbDataAdapterQuality);

// update the database with // the help of oleDbDataAdapter

oleDbDataAdapterExpiry.Update(DataSetFull,"Expiry"); oleDbDataAdapterProtocol.Update(DataSetFull,"Protocol"); oleDbDataAdapterQuality.Update(DataSetFull,"Quality");

Erläuterung zum Aktualisieren der Datenbank Nach der Bearbeitung der einzelnen Daten innerhalb des DataSets (DataSetFull) können die Daten mit der Methode Update des betreffenden DataAdapters wieder zurück in die Datenbank geschrieben werden. Mit Hilfe der Update Methode werden automatisch die SQL Kommandos zur Tabellenverarbeitung an die Datenbank gesendet.

Voraussetzung für die Verwendung der Update Methode ist das Anlegen eines CommandBuilders, welcher die Befehle für den jeweiligen DataAdapter generiert.

Teil C: Programmbeschreibung

Erläuterung zum Code der einzelnen Elemente

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 98/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Hinweis Das Updaten der Datenadapter über Update erfolgt mit dem optimistischen locking. Sie sollten in einer Anwendung deshalb eine umfassende Fehlerbehandlung für den Fall vorsehen, dass die Datenbank von mehreren Nutzern simultan schreibend genutzt wird.

7.3.4 Visualisierung (C# Windowsprogramm)

Der Programm Code der Visualisierung des Bridge Clients gleicht im wesentlichen dem Code welcher in /2/ vorgestellt wird.

7.4 Datenbankstruktur (ACCESS / MySQL)

Überblick Die beiden Datenbanken bestehen insgesamt aus 11 Tabellen, wovon 3 wesentliche hier näher gezeigt werden sollen.

1. Expiry (Ablauf) Tabelle (enthält die Rezepturen)

2. Protocol (Protokollierungs-) Tabelle

3. Quality (Qualitäts-) Tabelle

7.4.1 Tabellen

Expiry Tabelle Das folgende Bild zeigt einen Ausschnitt aus der verwendeten Ablauftabelle, welche alle Informationen der Rezeptur enthält. Abbildung 7-6

Erläuterung zur Expiry Tabelle Die wichtigste Tabelle in der Rezepturdatenbank ist die Expiry Tabelle. Sie enthält die für das Rezept notwendigen Ablaufinformationen, jede Zeile entspricht dabei einem Einzelschritt eines Rezeptes. Die bedeutsamsten Spalteneinträge sind die Methode (Method), welche Auskunft über das auszuführende Verfahren gibt, die Zutat (Ingredient), die Einfüllmenge (Amount) und die zu erreichende Temperatur (Temp).

Protocol Tabelle Zur Protokollierung der Schrittdaten wurde die Protocol Tabelle entworfen, welche im folgenden Bild dargestellt ist:

Teil C: Programmbeschreibung

Erläuterung zum Code der einzelnen Elemente

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 99/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Abbildung 7-7

Erläuterung zur Protcol Tabelle Die Protocol Tabelle speichert pro fertig gestelltem Schritt die Nummer des laufenden Rezeptes (RecipeNumber), den verarbeiteten Schritt (StepNumber), die bereits verstrichene Zeit (GoneTime), einen Zeitstempel und Informationen zur betreffenden Steuerung (Station, PLC). Die Daten werden allerdings erst nach Fertigstellung eines Rezeptes in die Datenbank geschrieben.

Quality Tabelle Die Tabelle Quality speichert Informationen zu den fertig gestellten Rezepten. Abbildung 7-8

Erläuterung zur Quality Tabelle In der Quality Tabelle werden Informationen zu den fertiggestellten Rezepten gespeichert. Dabei wird jeweils die betreffende Rezeptnummer (RecipeNumber), die für das Rezept benötigte Zeit (RequiredTime), als auch ein Zeitstempel und Informationen zur Steuerung gespeichert. Jede Zeile entspricht einem fertiggestellten Rezept.

Teil C: Programmbeschreibung

Anpassung der Programme

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 100/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

8 Anpassung der Programme

8.1 Veränderungen im S7-Programm

Vorliegendes Beispiel Das mit dieser Applikation mitgelieferte S7-Programm zeigt lediglich vier wichtige Punkte:

• Datenaustausch mit dem OPC Server (bzw. WinAC)

• Datenaustausch mit einer ACCESS / MySQL Datenbank

• Datenaufbereitung für beide Richtungen

• Visualisierung der wichtigen Daten

Anpassung für größere Rezepte Die Anzahl der maximalen Rezeptureinzellschritte ist derzeitig auf maximal 20 beschränkt. Zusätzlich wird diese Anzahl auch immer mindestens im Arbeitsspeicher der WinAC benötigt, da es sich um einen vordefinierten globalen Datenbaustein handelt. Sinnvoller wäre hier eine dynamische Anpassung des Datenbausteins in Abhängigkeit von den verwendeten Einzelschritten.

Um eine einfache Aufstockung des Datenbausteins zu erreichen, legen Sie zusätzlich zu den vorhandenen Schritten im Datenbaustein DB2000 (DB_Recipe) noch die gewünschte Anzahl von Schritten als UDT Struktur (UDT_Recipe) mit dem Namen Stepxx an. Abbildung 8-1

Anpassung für reale Peripherie Innerhalb der vorliegenden Applikation wird die Peripherie nur simuliert. Zur Verwendung von externer Peripherie ist es erforderlich eine Simatic ET 200 Station mit analogen und digitalen Ein- und Ausgängen zu verwenden.

Im S7 Programm entfernen Sie dafür bitte den Simulationsbaustein FB_Simulation.

Teil C: Programmbeschreibung

Anpassung der Programme

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 101/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Abbildung 8-2

DB3DB3

DB_RecipeDB_RecipeDB_Command_GlobDB_VisualDB_Visual

OPC-ServerOPC-Server

OB1

OB_main_cycl

OB1

OB_main_cycl

DB1

FB1

FB_WorkStep

DB1DB1

FB1

FB_WorkStep

DB225DB225

FB225

FB_Simulation

DB2

FB2

FB_WorkingOfSteps

DB2DB2

FB2

FB_WorkingOfSteps

FB3

FB_DBIndex

Datenzugriff

Bausteinaufruf

Verknüpfen Sie anschließend die Peripheriedaten (PerFillingLevel, PerValve1, usw.), welche im FB_WorkingOfSteps (Netzwerk 6) an den FB_WorkStep übergeben werden mit den realen Eingängen.

Zusätzlich wird es sicherlich notwendig sein, die Werte zu normieren. Zur Normierung kann wiederum ein Funktionsbaustein verwendet werden, welcher prinzipiell auf die gleiche Weise wie den Simulationsbaustein verwendet werden kann (Instanzdaten direkt übergeben).

8.2 Anpassung der C# Applikation

Fehlerbehandlung beim Schreiben eines DataSets in eine Datenbank (Updaten) Wie oben bereits erwähnt, ist die Verarbeitung von Tabellendaten mit Hilfe von DataSets sehr komfortabel. Einzige Ausnahme ist hier mit Abstand die automatische Updatefunktion mit Hilfe des DataAdapters.

Werden die Daten während der Verarbeitung im DataSet innerhalb der Datenbank verändert, erscheint unter Umständen eine Fehlermeldung während des automatischen Updates.

Um einen solchen Fehler abzufangen, muss geprüft werden, um welchen Wert es sich handelt. Dieser Wert wird anschließend erneut aus der Datenbank eingelesen, und das DataSet entsprechend angepasst.

Das DataSet sollte nun komplett in die Datenbank geschrieben werden können.

Verändern der Datenbankeigenschaften im C# Programm Falls Sie die Datenbankeigenschaften ihren Vorstellungen anpassen möchten, so müssen Sie das typisierte DataSet neu erstellen (siehe Kapitel

Teil C: Programmbeschreibung

Anpassung der Programme

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 102/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

8.3 Erstellung eines Strong Typed DataSets) zusätzlich müssen Sie die Methode „TransferRecipe“ ändern.

Falls Sie die Tabellennamen ändern möchten Sind zusätzlich umfangreiche Änderungen nötig welche sich auf die einzelnen Methoden ConnectToACCESSDB, ConnectToMySQL, E1_StepChanged, E2_Finish, WriteFinishToDataSet, WriteStepToDataSet, HowMuchSteps, CheckRecipe sowie die Methode btnUpdate_Click beziehen.

Ändern des Stations- und Steuerungsnamens Möchten Sie den Namen der Station oder der Steuerung im Step 7 Projekt ändern, so müssen Sie die folgenden Zeilen im Deklarationsteil des C# Programmes anpassen: private const string cstation ="PCWinAC"; private const string cPLC="WinLC RTX";

Passen Sie diese Einstellungen im Quellfile „BasicForm.CS“ und im Quellfile „VisualForm.CS“ an.

8.3 Erstellung eines Strong Typed DataSets

Problematik Innerhalb der Visual Studio 2003 .NET Entwicklungsumgebung ist es nicht möglich für die ACCESS (bzw. MySQL) Datenbank ein typisiertes DataSet mit mehreren Tabellen, mit Hilfe des Assistenten zu erstellen. Innerhalb der C# Applikation wurde ein solches DataSet eingesetzt. Folgende Anleitung zeigt Ihnen, wie Sie es mit Hilfe eines kleinen C# Projektes von Hand selbst erstellen können.

Sie benötigen diese Vorgehensweise zur Anpassung des C# Programmes, falls Sie eine andere Datenbank verwenden möchten oder Sie die Tabelleneigenschaften (Spaltennamen, Tabellennamen usw.) ändern wollen.

Sie benötigen diese Vorgehensweise nicht, falls Sie lediglich den Inhalt der Tabellen ändern möchten.

Lösung Ein strong typed DataSet ist eine Ableitung der Klasse DataSet, welche die Namen der Tabellen und jeweiligen Spalten als Eigenschaften der Klasse „NewDataSet“ enthält. Diese Ableitung kann mit Hilfe des Programmes xsd.exe (zu finden im Verzeichnis C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\Bin) aus einem XML File, welches die Struktur der Daten enthält, erstellt werden. Das XML File wird wiederum aus einem untypisierten DataSet mit der Methode „DataSetx.FillSchema“ erstellt.

Teil C: Programmbeschreibung

Anpassung der Programme

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 103/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Durchführung Tabelle 8-1

Nr. Aktion

1 Öffnen Sie das Visual Studio .NET 2003 und erstellen Sie ein neues C# Projekt.

2 Fügen Sie den Codeauszug aus Kapitel 7.3.3 Datenbankzugriffe (C# Windowsprogramm) unter dem Punkt „Codeauszug der Verbindung zur Datenbank (Connection)“ in ihr Projekt ein und ändern Sie den Code bei Bedarf (Quelle der Datenbank usw.).

3 Generieren Sie nun mit Hilfe des folgenden Codes 3 DataAdapter. oleDbDataAdapter1=new OleDbDataAdapter("SELECT * FROM Expiry",oleDbConnection1); oleDbDataAdapter2=new OleDbDataAdapter("SELECT RecipeNumber,RequiredTime,DTStamp,Station,PLC FROM Quality",oleDbConnection1); oleDbDataAdapter3=new OleDbDataAdapter("SELECT NumberOfRecipe, StepNumber, GoneTime, MixProportion, DTStamp, Station, PLC FROM Protocol",oleDbConnection1); dataSet1 = new DataSet(); Hinweis: Geben Sie bitte bei den Tabellen Protocol und Quality im SQL String nicht * als Spaltenname an, da sonst die ID, welche nicht mit übernommen werden darf, eingefügt wird.

4 Füllen Sie die Adapter nun mit der Methode “FillSchema”. Der in Hochkomma angegebene Name stellt die später im DataSet verfügbare Bezeichnung dar. oleDbDataAdapter1.FillSchema(dataSet1,SchemaType.Mapped,"Expiry"); oleDbDataAdapter2.FillSchema(dataSet1,SchemaType.Mapped,"Quality"); oleDbDataAdapter3.FillSchema(dataSet1,SchemaType.Mapped,"Protocol");

5 Die Methode “WriteXmlSchema” des DataSets erzeugt nun ein XML File an der angegebenen Stelle. dataSet1.WriteXmlSchema("C:\\DataSetFull.xsd");

6 Kopieren Sie diese Datei in das Verzeichnis „C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\Bin“ Hinweis: Das Verzeichnis kann je nach Installation variieren.

Teil C: Programmbeschreibung

Anpassung der Programme

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 104/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

7 Rufen Sie die Datei xsd.exe mit den folgenden Parametern auf. xsd.exe /d /l:C# DataSetFull.xsd Hinweis: Der Parameteraufruf kann wie unter Kapitel 6.1 Bedienung der MySQL Datenbank mit Hilfe einer Verknüpfung erfolgen.

8 Die nun erstellte Datei DataSetFull.cs kopieren Sie bitte in das Projektverzeichnis des Projektes, in welchem Sie den typisierten Zugriff auf die Datenbank einfügen / ändern wollen. Binden Sie die erzeugte Klasse nun im Projektmappeneditor mit Hilfe der rechten Maustaste auf „Verweise>Verweis hinzufügen...“ ein.

9 Mit dem Kommando private NewDataSet DataSetFull; können Sie die erstellte Klasse NewDataSet als DataSetFull instanzieren und fortan mit typisierten Aufrufen verwenden.

Teil D: Anhang

Literaturangaben

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 105/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

Teil D: Anhang

9 Literaturangaben

Literaturangaben Diese Liste ist keinesfalls vollständig und spiegelt nur eine Auswahl an geeigneter Literatur wieder.

Weitere Literatur finden Sie auch bei A&D Service & Support. Sie finden ihn im Internet unter: http://support.automation.siemens.com (Geben Sie dort die Beitrags ID in das Suchfeld ein). Tabelle 9-1

Nr. Themengebiet Titel /1/ Applikationsbeispiel zu PC-basierter

Automatisierung mit SIMATIC WinAC im A&D Service & Support

PC-based Automation: Grundlagen für Lösung von Automatisierungsaufgaben auf Basis von WinAC RTX Beitrags ID: 21004765

/2/ Applikationsbeispiel zu PC-basierter Automatisierung mit SIMATIC WinAC im A&D Service & Support

PC-based Automation: Anlagenvisualisierung mit Visual Basic .NET über die OPC XML-DA Schnittstelle Beitrags ID: 21004994

/3/ Beschreibung der Funktionen und der Bedienung von WinAC RTX V4.0. Zu finden auf der WinAC RTX V4.0 CD oder direkt vom Bedienpanel aus: Menü Hilfe Hilfe zum Controller.

SIMATIC WinAC RTX V4.0

/4/ Beschreibung bzw. Informationen zu: • Allgemeine Informationen über die

PC–Werkzeuge • Funktionen von NCM PC A&D Service & Support

SIMATIC NET PC-Stationen in Betrieb nehmen - Anleitung und Schnelleinstieg für SIMATIC NCM PC / STEP 7 ab Version V5.2 Beitrags ID: 13542666

/5/ Handbuch zur Industriellen Kommunikation auf PG/PC mit SIMATIC NET. A&D Service & Support

SIMATIC NET – Industrielle Kommunikation mit PG/PC Beitrags ID: 816923753

/6/ Vollständiger Überblick über die in den Betriebssystemen der CPUs der S7-300 und S7-400 enthaltenen Organisationsbausteine (OB), Systemfunktionen (SFC), System- und Standardfunktionsbausteine (SFB) sowie IEC-Funktionen. A&D Service & Support

Systemsoftware für S7-300/400 System- und Standardfunktio-nen Beitrags ID: 91214574

Teil D: Anhang

Literaturangaben

Datenbankanbindung an WinAC über OPC-XML Beitrags-ID: 21576581

V 1.1 Ausgabe 17.05.2005 106/106

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2157

6581

_Win

AC

_SO

_DO

KU

_v11

_d.d

oc

/7/ Handbuch für SIMATIC Rack PC IL40S A&D Service & Support

SIMATIC Rack PC IL40S Handbuch Beitrags ID: 915317654

/8/ Installationsanleitung für den CP5613 A&D Service & Support

SIMATIC NET Produktinformation / Installationsanleitung für CP5613, CP5614, CP5613 FO, CP5614 FO ... Beitrags ID: 913664901

Hinweis Falls die Beiträge nach dem Klicken auf obige Links nicht sofort angezeigt werden, so klicken Sie auf „Aktualisieren“ in Ihrem Browser.