Softwareentwicklung für die Feldbussysteme - INTERBUS, PROFIBUS, CAN und ETHERNET
Am PC unter MS-Windows mit proprietären Softwarebibliotheken und dem Industriestandard OLE for Process Control (OPC) unter Verwendung der Programmiersprachen Visual Basic und Visual C++
- Art: Diplomarbeit
- Autor: Christian Aschauer
- Abgabedatum: Juni 2004
- Umfang: 122 Seiten
- Dateigröße: 1,7 MB
- Note: 1,0
- Institution / Hochschule: Fachhochschul-Studiengänge der Wiener Wirtschaft GmbH Österreich
- ISBN (eBook): 978-3-8324-8668-6
-
ISBN (Paperback) :
978-3-8324-8668-6 P - ISBN (CD) :978-3-8324-8668-6 CD
- Sprache: Deutsch
- Prämierung:
- Arbeit zitieren: Aschauer, Christian Juni 2004: Softwareentwicklung für die Feldbussysteme - INTERBUS, PROFIBUS, CAN und ETHERNET, Hamburg: Diplomica Verlag
- Schlagworte: Phoenix Contact IBS CMD G4, Sigmatek, Siemens, IBS PCI SC/RI-LK, Vertikale Integration
In den Warenkorb
74,00 €
Diplomarbeit von Christian Aschauer
Einleitung:
Um PC-basierende Prüfsysteme in bestehende Produktionsanlagen zu integrieren ist eine Einbindung in bestehende Feldbussysteme erforderlich. Für diese PC-basierenden Systeme ist es notwendig Software zu entwickeln welche dies ermöglicht. Die vorliegende Diplomarbeit beschreibt in Theorie und Praxis wie Software für Feldbussysteme am PC unter MSWindows mit den Programmiersprachen Visual Basic und Visual C++ entwickelt werden kann. Diese Arbeit bietet Softwareentwicklern theoretisches und praktisches Wissen, welches zur Softwareentwicklung für diese Technologien notwendig ist.
Kapitel 1 gibt einen allgemein gehaltenen Überblick über den Bereich Bussysteme. Warum diese Technologien immer mehr zum Einsatz kommen und welche Rolle sie in Unternehmen spielen. Weiters werden Kosten, Nachteile und Vorteile behandelt.
Kapitel 2 befasst sich mit dem Thema Softwareentwicklung im industriellen Umfeld. Techniken wie Multithreading und die Verwendung von Zeitgebern werden erklärt und verglichen.
Kapitel 3 erläutert die Grundlagen des INTERBUS. Weiters wird die Theorie erläutert welche erforderlich ist, um Software für die Realisierung einer PC-Interbus-PC Verbindung mit einer PC-Karte der Firma Phoenix Contact zu entwickeln. Im dritten Teil des Kapitels Interbus wird die Entwicklung von Software in C++ anhand von Programmcode beschrieben.
Kapitel 4 fasst im ersten Teil die Grundlagen des PROFIBUS zusammen. Weiters wird die Theorie erklärt welche notwendig ist um Software für die Realisierung einer PCPROFIBUS- SPS Anbindung mit einer PC-Karte und einer speicherprogrammierbaren Steuerung der Firma Siemens zu entwickeln. Im dritten Teil des Kapitels Profibus wird die Entwicklung der Software für Visual Basic und C++ anhand von Programmcode gezeigt.
Kapitel 5 verschafft einen Einblick in die Grundlagen des Controller Area Networks (CAN). Weiters wird die Theorie beschrieben welche notwendig ist um Software für die Realisierung einer PC-CAN-SPS Verbindung mit dem Parallelport Interface BU104 der Firma Sigmatek zu entwickeln. Im dritten Teil des Kapitels CAN wird die Entwicklung der Software mitVisual Basic und Visual C++ anhand von Programmcode gezeigt.
Kapitel 6 verschafft Einblicke in die Grundlagen von ETHERNET. Weiters wird die Theorie behandelt welche notwendig ist um Software für die Realisierung einer PCEthernet- PC Verbindung mit Standard Ethernetkarten zu realisieren. Im dritten Teil des Kapitels Ethernet wird detailliert die Entwicklung von Software für VB und C++ anhand von Programmcode gezeigt.
Kapitel 7 umfasst im ersten Teil die Grundlagen von OPC und dem Component Object Modell (COM) und zeigt, welche Vorteile OPC bringt. Die Theorie, welche für die Realisierung von OPC-Clients notwendig ist, wird erläutert. Auch die Entwicklung von Client-Software in VB und C++ wird anhand von Programmcode gezeigt. Den Abschluss dieses Kapitels bildet eine Schritt für Schritt Anleitung um Daten aus der Feldebene von einer SPS über den OPC-Server der Firma Sigmatek mit einem Visual Basic-Client zu visualisieren.
Kapitel 8 fasst die Realisierungen zusammen, analysiert die Ergebnisse, Vorteile, Nachteile, Erfahrungen und ungelöste Probleme.
Inhaltsverzeichnis:
| ABSTRACT | 3 | |
| KURZFASSUNG | 4 | |
| 1. | BUSSYSTEME | 9 |
| 1.1 | WAS SIND BUSSYSTEME ? | 9 |
| 1.2 | WARUM WERDEN BUSSYSTEME VERWENDET ? | 9 |
| 1.2.1 | Von der seriellen zur parallelen Verdrahtung | 9 |
| 1.2.2 | Kostenersparnis durch Feldbussysteme ? | 11 |
| 1.2.3 | Anforderungen an Feldbussysteme | 12 |
| 1.2.4 | Die vertikale Integration | 13 |
| 1.3 | AUFBAU VON FELDBUSSYSTEMEN | 16 |
| 1.3.1 | Busstrukturen | 16 |
| 1.3.1.1 | Linien- oder Busstruktur | 16 |
| 1.3.1.2 | Baumstruktur | 16 |
| 1.3.1.3 | Ringstruktur | 17 |
| 1.3.1.4 | Kombinationen von Baum- und Ringstruktur | 17 |
| 1.3.2 | Modelle | 18 |
| 1.3.2.1 | Producer-Consumer / Client-Server | 18 |
| 1.3.2.2 | Nachrichtenorientiert vs E/A-orientiert | 20 |
| 1.3.3 | Physikalische Medien | 22 |
| 1.3.4 | Buszugriffsverfahren | 22 |
| 1.3.4.1 | Master-Slave Verfahren | 22 |
| 1.3.4.2 | Token-Passing Verfahren | 23 |
| 1.3.4.3 | Summenrahmen-Verfahren | 24 |
| 1.3.4.4 | CSMA/CD-Verfahren | 26 |
| 1.3.4.5 | CSMA/CA-Verfahren | 26 |
| 1.3.5 | Datensicherung | 26 |
| 1.3.5.1 | Paritybit | 27 |
| 1.3.5.2 | Prüfsumme | 28 |
| 1.3.5.3 | CRC-Cyclic Redundancy Check | 28 |
| 2. | SOFTWAREENTWICKLUNG AM PC | 29 |
| 2.1 | DIE ROLLE DES WINDOWS PC´s IN DER FELDEBENE | 29 |
| 2.2 | DIE VERSCHIEDENEN AUFGABEN DER SOFTWARE | 29 |
| 2.2.1 | Polling | 31 |
| 2.2.2 | Multithreading | 32 |
| 2.2.3 | Timer | 33 |
| 3. | INTERBUS | 36 |
| 3.1 | THEORIE | 36 |
| 3.1.1 | Buszugriffsverfahren | 36 |
| 3.1.2 | Topologie | 36 |
| 3.1.3 | Das INTERBUS Übertragungsprotokoll | 37 |
| 3.1.4 | Prozessdaten / Parameterdaten | 37 |
| 3.1.5 | INTERBUS und das ISO/OSI -Modell | 39 |
| 3.1.6 | Systemdaten | 39 |
| 3.2 | PRAXIS | 40 |
| 3.2.1 | Die Software | 40 |
| 3.2.2 | Die Hardware | 40 |
| 3.2.2.1 | Der Aufbau zu Softwareentwicklung | 40 |
| 3.2.2.2 | Die INTERBUS Systemkoppleranschaltbaugruppe | 41 |
| 3.2.2.3 | Die CMD-Software von Phoenix Contact | 43 |
| 3.2.3 | Projektierung | 43 |
| 3.2.4 | Die realisierte Software | 44 |
| 3.2.4.1 | Zugriff mit C++ über das Device Driver Interface | 44 |
| 4. | PROFIBUS DP | 55 |
| 4.1 | THEORIE | 55 |
| 4.1.1 | Datenübertragungsverfahren & Topologie | 55 |
| 4.1.2 | Leistungsdaten | 56 |
| 4.1.3 | GSD-Datei | 57 |
| 4.2 | PRAXIS | 57 |
| 4.2.1 | Die Software | 57 |
| 4.2.1.1 | Funktionsübersicht der Firmware | 57 |
| 4.2.2 | Die Hardware | 58 |
| 4.2.2.1 | Die PROFIBUS PC-Einsteckkarte CP5611 für den PC | 58 |
| 4.2.2.2 | Die Simatic S7-314 DP | 58 |
| 4.2.2.3 | Der Aufbau zur Softwareentwicklung | 59 |
| 4.2.3 | Die realisierte Software | 59 |
| 4.2.3.1 | Zugriff mit C++ | 59 |
| 5. | CAN-CONTROLLER AREA NETWORK | 64 |
| 5.1 | THEORIE | 64 |
| 5.1.1 | Datenübertragungsverfahren & Topologie | 64 |
| 5.1.2 | Leistungsdaten | 64 |
| 5.1.3 | Datenorganisation in der SPS | 64 |
| 5.2 | PRAXIS | 65 |
| 5.2.1 | Der Aufbau zur Softwareentwicklung | 65 |
| 5.2.2 | Die Software | 65 |
| 5.2.2.1 | Die Funktionen der Firmware | 65 |
| 5.2.2.2 | C++ Beispielapplikation | 68 |
| 5.2.2.3 | Visual Basic Beispielapplikation | 70 |
| 5.2.2.4 | Das Programm in der SPS DCC080 | 71 |
| 6. | ETHERNET | 72 |
| 6.1 | THEORIE | 72 |
| 6.1.1 | Datenübertragungsverfahren & Topologie | 72 |
| 6.1.2 | Echtzeitverhalten | 74 |
| 6.1.3 | Windows Sockets | 76 |
| 6.1.3.1 | Das Winsock 2 Control | 76 |
| 6.2 | PRAXIS | 77 |
| 6.2.1 | Der Aufbau zur Softwareentwicklung | 77 |
| 6.2.2 | Die realisierte Software | 78 |
| 6.2.3 | Ein Client-Server Anwendung in VBasic mit dem Winsock2 Control | 78 |
| 6.2.3.1 | Der Ethernet UDP-Server | 78 |
| 6.2.3.2 | Der Ethernet UDP-Client | 80 |
| 7. | OPC-OLE FOR PROCESS CONTROL | 83 |
| 7.1 | WAS IST OPC? | 83 |
| 7.2 | WIE & WO HILFT OLE FOR PROCESS CONTROL? | 83 |
| 7.3 | THEORIE | 87 |
| 7.3.1 | COM - Component Object Modell | 87 |
| 7.3.3 | Der OPC-Server | 91 |
| 7.3.4 | Die Schnittstellen des OPC-Servers | 93 |
| 7.3.5 | OPC-DA | 93 |
| 7.4 | PRAXIS | 94 |
| 7.4.1 | Cliententwicklung mit C++ | 94 |
| 7.4.2 | Cliententwicklung mit Visual Basic | 100 |
| 7.4.2.1 | Schritt 1 - Programmierung der SPS | 103 |
| 7.4.2.2 | Schritt 2 - Generieren der Konfigurationsdatei für den OPC-Server | 103 |
| 7.4.2.3 | Schritt 3 - Programmierung des OPC-Clients | 104 |
| 8. | ZUSAMMENFASSUNG | 115 |
| 8.1 | ALLGEMEINES | 115 |
| 8.2 | EMPFEHLUNGEN FÜR SOFTWAREENTWICKLER | 115 |
| 8.3 | ÜBERSICHT DER ENTWICKELTEN APPLIKATIONEN | 117 |
| 8.4 | ETHERNET - DER FELDBUS DER ZUKUNFT ? | 117 |
| Literatur und Datenblätter im Internet | 118 | |
| Literaturverzeichnis | 119 | |
| Abbildungsverzeichnis | 120 | |
| Tabellenverzeichnis | 121 |
Beschreibung der Elemente der Beispielapplikation (Abbildung 26): 1 2 3 4 5 6 7 8 9 10 11 12 Button mit dem von der Adresse (3) aus dem MPM gelesen wird das gelesene Byte wird binär in (5) dargestellt. Button mit dem das binär dargestellte Byte an die Adresse (4) im MPM geschrieben wird und damit über den INTERBUS versendet wird. Adresse im MPM von welcher gelesen wird. Adresse im MPM an welche geschrieben wird. Binärdarstellung des zu schreibenden Bytes Binärdarstellung des höherwertigen Bytes des Statusregisters Binärdarstellung des niederwertigen Bytes des Statusregisters Möglichkeit das Timerintervall einzustellen und den Timer zu starten/stoppen Manuelles Einlesen des Statusregisters Einlesen des Parameterregisters aus dem MPM wie 10 nur erweitertes Parameterregister verschiedene Buttons um unterschiedliche Funktionen auszuführen [...]
Folgende Vorgehensweise hat sich in der Praxis bewährt. Es besteht prinzipiell die Möglichkeit die Projektierung auch ohne die CMD-Software durchzuführen, indem ein eigenes Projektierungstool mit Hilfe des Device Driver Interfaces entwickelt wird. Der Aufwand dafür übersteigt jedoch den Nutzen bei weitem. 1. Alle Geräte werden mit dem Bus verbunden und eingeschaltet 2. Mit Hilfe der CMD-Software wird der vorhandene Busaufbau eingelesen 3. Mit CMD-Software werden den Prozessdaten Adressen im MPM zugewiesen 4. Den Status- und Diagnoseregistern werden Adressen im MPM zugewiesen 5. Generieren einer .svc Datei mit CMD-Software 6. In einer .svc Datei steht die Konfiguration in codierter Form [7]. Durch Ausführen des Programms Ibloader.exe über Autostart oder von der C++ Applikation kann eine Konfiguration automatisiert (bei Systemstart oder Programmstart) durchgeführt werden. Das Programm Ibloader liegt auch als DLL/LIB (ibload32.dll/ibload32.lib) vor um direkt in die C++ Applikation integriert zu werden. Durch Ausführen der Ibloader.exe wird die Anschaltbaugruppe in den RUN Zustand versetzt, was nicht immer erwünscht ist. Soll dies verhindert werden, muss mit Hilfe eines Texteditors die .svc Datei bearbeitet werden. Abbildung 25 zeigt die notwendigen Änderungen an der Konfigurationsdatei. [...]
Beschreibung der Syntax: 1 1000 NULL [in]Identifikationsnummer um mehrere Timer zu unterscheiden weil es nur ein Ereignis für alle Timer gibt [in]Intervall zwischen den Ereignissen in ms (hier 1000ms) [in]Adresse einer Callback-Funktion welche die WM_TIMER Nachricht abarbeitet. NULL bedeutet dass die Nachricht vom CWnd-Objekt bedient wird. Codebeispiel: Implementierung des Timer -Ereignisses OnTimer in VC++ void slavedlg::OnTimer(UINT nIDEvent) { //Timer getriggerte Aktion ausführen //z.B.: Kommunikation über Bussystem //Wenn mehrere Timer verwendet werden muß über nIDEvent unterschieden //werden switch(nIDEvent) { case 1: //Aktion für Timer mit ID=1 break; case 2: //Aktion für Timer mit ID=2 break; // usw } } Timer in Visual Basic werden durch drag and drop des Timer-Steuerelements wie in Abbildung 16 zu sehen ist in die Anwendung eingebunden. [...]
In den Warenkorb
74,00 €
Link zur Arbeit:
http://www.diplom.de/ean/9783832486686
Arbeit zitieren:
Aschauer, Christian Juni 2004: Softwareentwicklung für die Feldbussysteme - INTERBUS, PROFIBUS, CAN und ETHERNET, Hamburg: Diplomica Verlag
Schlagworte:
Phoenix Contact IBS CMD G4, Sigmatek, Siemens, IBS PCI SC/RI-LK, Vertikale Integration



