Anwenderdokumentation V 1.11 y Juni 2012 · Das im Treiber verwendete Konzept, um...

48
Applikationen & Tools Answers for industry. Deckblatt WinAC Treiber für SIMATIC PCIe DIO4 Anwenderdokumentation V 1.11 Juni 2012

Transcript of Anwenderdokumentation V 1.11 y Juni 2012 · Das im Treiber verwendete Konzept, um...

Page 1: Anwenderdokumentation V 1.11 y Juni 2012 · Das im Treiber verwendete Konzept, um Hardware-Interrupts in die WinAC zu MSI - Message Signaled Interrupts Die SIMATIC PCIe DIO4 Baugruppe

Applikationen & Tools

Answers for industry.

Deckblatt

WinAC Treiber für SIMATIC PCIe DIO4 Anwenderdokumentation

V 1.11 Juni 2012

Page 2: Anwenderdokumentation V 1.11 y Juni 2012 · Das im Treiber verwendete Konzept, um Hardware-Interrupts in die WinAC zu MSI - Message Signaled Interrupts Die SIMATIC PCIe DIO4 Baugruppe

2 WinAC DIO4 Treiber

V 1.11, Beitrags-ID: 63204530

Cop

yrig

ht

Sie

men

s A

G 2

012

All

right

s re

serv

ed

Industry Automation und Drives Technologies Service & Support Portal Dieser Beitrag stammt aus dem Internet Serviceportal der Siemens AG, Industry Automation und Drives Technologies. Durch den folgenden Link gelangen Sie direkt zur Downloadseite dieses Dokuments. http://support.automation.siemens.com/WW/view/de/63204530 Bei Fragen zu diesem Beitrag wenden Sie sich bitte über folgende E-Mail-Adresse an uns: [email protected] [email protected]

Page 3: Anwenderdokumentation V 1.11 y Juni 2012 · Das im Treiber verwendete Konzept, um Hardware-Interrupts in die WinAC zu MSI - Message Signaled Interrupts Die SIMATIC PCIe DIO4 Baugruppe

WinAC DIO4 Treiber V 1.11, Beitrags-ID: 63204530 3

Cop

yrig

ht

Sie

men

s A

G 2

012

All

right

s re

serv

ed

s

SIMATIC WinAC DIO4 Treiber Anwenderdokumentation

Automatisierungsaufgabe 1

Übersicht 2

Funktionelle Beschreibung

3 Die Step7-Schnittstelle (WinAC FBs)

4

Installation 5

Anwendungsbeispiele 6

Fehlermeldungen 7

Literaturhinweis 8

Historie 9

Page 4: Anwenderdokumentation V 1.11 y Juni 2012 · Das im Treiber verwendete Konzept, um Hardware-Interrupts in die WinAC zu MSI - Message Signaled Interrupts Die SIMATIC PCIe DIO4 Baugruppe

Gewährleistung und Haftung

4 WinAC DIO4 Treiber

V 1.11, Beitrags-ID: 63204530

Cop

yrig

ht

Sie

men

s A

G 2

012

All

right

s re

serv

ed

Gewährleistung und Haftung Hinweis Die Applikationsbeispiele sind unverbindlich und erheben keinen Anspruch auf

Vollständigkeit hinsichtlich Konfiguration und Ausstattung sowie jeglicher Eventualitäten. Die Applikationsbeispiele stellen keine kundenspezifischen Lösungen dar, sondern sollen lediglich Hilfestellung bieten bei typischen Auf-gabenstellungen. Sie sind für den sachgemäßen Betrieb der beschriebenen Produkte selbst verantwortlich. Diese Applikationsbeispiele entheben Sie nicht der Verpflichtung zu sicherem Umgang bei Anwendung, Installation, Betrieb und Wartung. Durch Nutzung dieser Applikationsbeispiele erkennen Sie an, dass wir über die beschriebene Haftungsregelung hinaus nicht für etwaige Schäden haftbar gemacht werden können. Wir behalten uns das Recht vor, Änderungen an diesen Applikationsbeispielen 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.

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 Applikationsbeispiel beschriebenen Beispiele, Hinweise, Programme, Projektierungs- und Leistungsdaten usw. verursachte Schäden ist ausgeschlossen, soweit nicht z.B. nach dem Produkthaftungsgesetz in Fällen des Vorsatzes, der groben 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 Schadens-ersatz 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. Weitergabe oder Vervielfältigung dieser Applikationsbeispiele oder Auszüge daraus sind nicht gestattet, soweit nicht ausdrücklich von Siemens Industry Sector zugestanden.

Page 5: Anwenderdokumentation V 1.11 y Juni 2012 · Das im Treiber verwendete Konzept, um Hardware-Interrupts in die WinAC zu MSI - Message Signaled Interrupts Die SIMATIC PCIe DIO4 Baugruppe

Inhaltsverzeichnis

WinAC DIO4 Treiber V 1.11, Beitrags-ID: 63204530 5

Cop

yrig

ht

Sie

men

s A

G 2

012

All

right

s re

serv

ed

Inhaltsverzeichnis Gewährleistung und Haftung...................................................................................4 1 Automatisierungsaufgabe..............................................................................7

1.1 Übersicht ...........................................................................................7 1.2 Erforderliche Kenntnisse....................................................................7 1.3 Verwendete Hard- und Software-Komponenten .................................7

2 Übersicht ........................................................................................................9 2.1 Funktionsumfang...............................................................................9 2.2 Versionsstand des Treibers .............................................................10

3 Funktionelle Beschreibung..........................................................................12 3.1 Gesamtübersicht .............................................................................12 3.2 Digitale Ein-/Ausgänge ....................................................................12 3.3 Zähler..............................................................................................12 3.4 Interrupts.........................................................................................13 3.5 Fehlerbehandlung............................................................................14

4 Die Step7 Schnittstelle .................................................................................15 4.1 DIO4_INIT – Initialisierung...............................................................16 4.2 DIO4_CONFIG - Parametrieren.......................................................18

Excel-Tool für Registerkonfiguration.................................................19 4.3 DIO4_READ_DI - Lesen Digitaleingänge .........................................20 4.4 DIO4_READ_CNT - Lesen Zählerwerte ...........................................21 4.5 DIO4_WRITE_DO - Schreiben Digitalausgänge...............................22 4.6 DIO4_WRITE_CNT - Schreiben Zähler............................................23 4.7 Interrupt-OBs (OB52, OB53)............................................................24

5 Installation ....................................................................................................25 5.1 Quickstart ........................................................................................25 5.2 Einrichten SIMATIC PCIe DIO4 als RTX Device...............................25 5.3 Überprüfen der Installation mit „Dio4Scan.rtss“ ................................32 5.4 Installation des WinAC-Treibers auf dem Runtimerechner................33 5.5 Installation des WinAC-Treibers auf dem Entwicklungsrechner ........33

6 Anwendungsbeispiele..................................................................................34 6.1 Übersicht .........................................................................................34 6.2 Verwenden der Beispielprojekte.......................................................34 6.3 Anwendungsfälle .............................................................................36 6.3.1 Direktes Schreiben von Ausgängen .................................................36 6.3.2 Direktes Lesen von Eingängen (einschl. Interrupt) ...........................36 6.3.3 Filtern der Eingänge ........................................................................37 6.3.4 Pulslängenmessung ........................................................................38 6.3.5 Frequenzmessung...........................................................................39 6.3.6 Ausgang mit PWM Funktion.............................................................40 6.3.7 Zähler (einschl. Interrupt).................................................................41 6.3.8 Timer (einschl. Interrupt)..................................................................42

7 Fehlermeldungen..........................................................................................44 7.1 Fehlermeldungen vom WinAC ODK.................................................44 7.2 Spezielle Fehlermeldungen des DIO4-Treibers ................................46

8 Literaturhinweis............................................................................................47 8.1 Literaturangaben .............................................................................47 8.2 Internet-Link-Angaben .....................................................................47

Page 6: Anwenderdokumentation V 1.11 y Juni 2012 · Das im Treiber verwendete Konzept, um Hardware-Interrupts in die WinAC zu MSI - Message Signaled Interrupts Die SIMATIC PCIe DIO4 Baugruppe

Inhaltsverzeichnis

6 WinAC DIO4 Treiber

V 1.11, Beitrags-ID: 63204530

Cop

yrig

ht

Sie

men

s A

G 2

012

All

right

s re

serv

ed

9 Historie..........................................................................................................48

Page 7: Anwenderdokumentation V 1.11 y Juni 2012 · Das im Treiber verwendete Konzept, um Hardware-Interrupts in die WinAC zu MSI - Message Signaled Interrupts Die SIMATIC PCIe DIO4 Baugruppe

1 Automatisierungsaufgabe

WinAC DIO4 Treiber V 1.11, Beitrags-ID: 63204530 7

Cop

yrig

ht

Sie

men

s A

G 2

012

All

right

s re

serv

ed

1 Automatisierungsaufgabe 1.1 Übersicht

Einführung/Einleitung Den Nanobox IPC 227D gibt es in verschiedenen Konfigurationsvarianten. Eine Variante ist mit zentraler IO ausgestattet (4xDI, 4xDO). Dafür kommt die PCIe Baugruppe SIMATIC PCIe DIO4 zum Einsatz. Um die SIMATIC PCIe DIO4 aus dem WinAC Programm heraus nutzen zu können, steht ein WinAC Treiber zur Verfügung, der in diesem Dokument beschrieben wird. Dieser Treiber unterstützt alle Funktionen der SIMATIC PCIe DIO4 (Interrupts, PWM, etc.). Um die Anwendung der DIO4 möglichst einfach zu gestalten, werden Konfigurationsbeispiele für typische Anwendungen geliefert.

1.2 Erforderliche Kenntnisse

Für das Verständnis der vorliegenden Dokumentation werden Kenntnisse vorausgesetzt:

SIMATIC WinAC RTX 2010 SIMATIC Manager STEP7 V5.5

oder TIA Portal V11 SIMATIC PCIe DIO4 Baugruppe

1.3 Verwendete Hard- und Software-Komponenten

Die Applikation wurde mit den nachfolgenden Komponenten erstellt:

Hardware-Komponenten

Simatic Nanobox IPC 227D (1 GHz, 1 GB RAM, 4 GB CF-Card) mit Windows XP embedded SP3

SIMATIC PCIe DIO4 Karte Firmware Revision Version: 04h

Standard Software-Komponenten SIMATIC WinAC RTX 2010 SIMATIC Manager STEP 7 V5.5

oder TIA Portal V11 SP2

Page 8: Anwenderdokumentation V 1.11 y Juni 2012 · Das im Treiber verwendete Konzept, um Hardware-Interrupts in die WinAC zu MSI - Message Signaled Interrupts Die SIMATIC PCIe DIO4 Baugruppe

1 Automatisierungsaufgabe

8 WinAC DIO4 Treiber

V 1.11, Beitrags-ID: 63204530

Cop

yrig

ht

Sie

men

s A

G 2

012

All

right

s re

serv

ed

Beispieldateien und Projekte Die folgende Liste enthält alle Dateien und Projekte, die in diesem Treiber-Paket verwendet werden. Tabelle 1-1 Enthaltende Dateien

Komponente Hinweis

Documentation \ WinAcDio4_Doc_de.pdf Documentation \ WinAcDio4_Doc_en.pdf

This documentation in German and English

Driver \ WinAcDio4Drv.rtdll The WinAC driver Driver \ RegisterWinAcDio4Driver.bat Setup batch for the driver S7Example\ Dio4.zip Step7 example project including all WinAC

function blocks of the driver TiaExample\TIA\Dio4.zip TIA Portal example project including all

WinAC function blocks of the driver Tools \ Dio4Scan.rtss Checks installed DIO4 board Tools \ Dio4PrintRegisters.rtss Prints all actual register values Tools \ RegisterConfig.xls MS Excel tool for configuring the DIO4

registers

Page 9: Anwenderdokumentation V 1.11 y Juni 2012 · Das im Treiber verwendete Konzept, um Hardware-Interrupts in die WinAC zu MSI - Message Signaled Interrupts Die SIMATIC PCIe DIO4 Baugruppe

2 Übersicht

WinAC DIO4 Treiber V 1.11, Beitrags-ID: 63204530 9

Cop

yrig

ht

Sie

men

s A

G 2

012

All

right

s re

serv

ed

2 Übersicht 2.1 Funktionsumfang

Folgende Funktionen der SIMATIC PCIe DIO4 Baugruppe werden mit Hilfe des Treibers unterstützt: Digitaleingänge lesen (einschl. Interrupt, Eingangsfilter) Digitalausgänge schreiben (einschl. Interrupt) Zähler verarbeiten (einschl. Interrupt)

Über die umfangreichen Funktionen des Zählers lassen sich damit auch PWM Ausgänge realisieren.

ACHTUNG Der WinAC DIO4 Treiber unterstützt genau eine SIMATIC PCIe DIO4.

Es ist nicht zulässig, mehrere SIMATIC PCIe DIO4 Baugruppen in einem Rechner zu installieren, der mit der WinAC betrieben werden soll.

Wird mehr als eine Karte gefunden, wird ein Fehler ausgegeben. Das im Treiber verwendete Konzept, um Hardware-Interrupts in die WinAC zu melden, erlaubt kein größeres Mengengerüst als eine DIO4 Karte.

MSI - Message Signaled Interrupts Die SIMATIC PCIe DIO4 Baugruppe unterstützt MSI (Message Signaled Interrupts). Der WinAC Treiber ist als Echtzeittreiber für IntervalZero RTX realisiert. Er unterstützt MSI.

Konzept der WinAC Schnittstelle Um den Anwender nicht einzuschränken, können über die WinAC Schnittstelle sämtliche Register der DIO4 erreicht werden.

Prozessdaten vs. Konfiguration Für den Betrieb der SIMATIC PCIe DIO4 müssen eine ganze Reihe von Registern gelesen und geschrieben werden. Dabei wird unterschieden nach: Einstellungen, die nur einmalig im Anlauf gesetzt werden Werte, die zyklisch gelesen werden Werte, die zyklisch geschrieben werden.

Die folgende Tabelle enthält eine Übersicht über alle Register und die Einordnung nach oben genannten Kategorien:

Page 10: Anwenderdokumentation V 1.11 y Juni 2012 · Das im Treiber verwendete Konzept, um Hardware-Interrupts in die WinAC zu MSI - Message Signaled Interrupts Die SIMATIC PCIe DIO4 Baugruppe

2 Übersicht

10 WinAC DIO4 Treiber

V 1.11, Beitrags-ID: 63204530

Cop

yrig

ht

Sie

men

s A

G 2

012

All

right

s re

serv

ed

Tabelle 2-1 Einordnung der Parameter nach einmalig / zyklisch

Gruppe Funktion (einmalig) Initialisier.

zyklisch Lesen

zyklisch Schreiben

Input Input Filter X Input Inversion X Edge Detection X Interrupt Config X Eingangsregister X Output Quelle Ausgang X Modus X Interrupt Config X Ausgangsregister X Counter Config X Config Interrupts X Counter Wert X Counter Status X Capture Wert X Reload Wert X Compare Wert X

Entsprechend dieser Einordnung stellt der WinAC DIO4 Treiber entsprechende Funktionsbausteine zur Verfügung. Zyklisches Schreiben / Lesen erfolgt mit den FBs DIO4_READ_DI, DIO4_READ_CNT, DIO4_WRITE_DO, DIO4_WRITE_CNT. Die Konfiguration erfolgt mit einem separatem Funktionsbaustein DIO4_CONFIG.

Hinweis Die Konfiguration kann zur Laufzeit verändert werden. Dabei muss sich der Anwender aber möglicher Seiteneffekte bewusst sein (z.B. wenn Counter im aktiven Zustand umkonfiguriert wird).

2.2 Versionsstand des Treibers

Treiber-Version unter Windows ermitteln Die registrierte Treiber-RTDLL liegt im Systemverzeichnis, z.B. C:\Windows\Rtss\Rtdll Die Version der Treiber RTDLL kann man im Windows-Explorer über die Dateieigenschaften erfahren (rechte Maustaste Eigenschaften).

Page 11: Anwenderdokumentation V 1.11 y Juni 2012 · Das im Treiber verwendete Konzept, um Hardware-Interrupts in die WinAC zu MSI - Message Signaled Interrupts Die SIMATIC PCIe DIO4 Baugruppe

2 Übersicht

WinAC DIO4 Treiber V 1.11, Beitrags-ID: 63204530 11

Cop

yrig

ht

Sie

men

s A

G 2

012

All

right

s re

serv

ed

Abbildung 2-1 Versionsstand der Treiber- RTDLL

Treiber-Version im Step7 Projekt ermitteln Im Instanz-DB von DIO4_INIT kann man sowohl die Version der Treiber- RTDLL als auch der Step7-Treiber-Version erfahren: tOdkIf.wFbVersion Version der Step7-Treiber-SW tOdkIf.dwDllVersion Version der Treiber- RTDLL

Page 12: Anwenderdokumentation V 1.11 y Juni 2012 · Das im Treiber verwendete Konzept, um Hardware-Interrupts in die WinAC zu MSI - Message Signaled Interrupts Die SIMATIC PCIe DIO4 Baugruppe

3 Funktionelle Beschreibung

12 WinAC DIO4 Treiber

V 1.11, Beitrags-ID: 63204530

Cop

yrig

ht

Sie

men

s A

G 2

012

All

right

s re

serv

ed

3 Funktionelle Beschreibung Für die Funktionalität der DIO4 Baugruppe wird auf das Dokument „SIMATIC PCIe DIO4 – Betriebsanleitung“ verwiesen. In diesem Kapitel werden spezielle Eigenschaften des WinAC Treibers erläutert.

3.1 Gesamtübersicht

Abbildung 3-1 Aufbau des WinAC DIO4 Treibers

Für die DIO4 Baugruppe wurde ein Echtzeittreiber entwickelt. Der WinAC Treiber stellt eine Reihe von Funktionsbausteinen zur Verfügung, mit denen die Register der DIO4 Baugruppe gelesen und geschrieben werden können. Werden Interrupts durch die DIO4 generiert, ruft der Echtzeittreiber spezielle OBs im WinAC Programm auf.

3.2 Digitale Ein-/Ausgänge

Die SIMATIC PCIe DIO4 bietet vier digitale Ein- und Ausgänge. Bei entsprechender Konfiguration können diese Ein-/Ausgänge direkt gelesen bzw. gesetzt werden. Das geschieht mit den entsprechenden FBs.

Hinweis Es ist zu empfehlen für die Eingänge einen passenden Eingangsfilter zu konfigurieren (siehe Kapitel 6.3.3, S. 37).

3.3 Zähler

Die Zählerfunktionalität des SIMATIC PCIe DIO4 ist sehr mächtig. Die Para-metrierung erfolgt gemäß der DIO4 Betriebsanleitung durch das Beschreiben mehrerer Register. Diese Registerwerte müssen durch den Konfiguration-FB des

Page 13: Anwenderdokumentation V 1.11 y Juni 2012 · Das im Treiber verwendete Konzept, um Hardware-Interrupts in die WinAC zu MSI - Message Signaled Interrupts Die SIMATIC PCIe DIO4 Baugruppe

3 Funktionelle Beschreibung

WinAC DIO4 Treiber V 1.11, Beitrags-ID: 63204530 13

Cop

yrig

ht

Sie

men

s A

G 2

012

All

right

s re

serv

ed

WinAC-Programms gesetzt werden. D.h. für die Parametrierung ist in jedem Fall die DIO4 Betriebsanleitung zu Rate zu ziehen. Alle möglichen Interruptquellen der Zähler/Geber können in der WinAC verarbeitet werden.

3.4 Interrupts

Das SIMATIC PCIe DIO4 Board liefert eine Reihe von Interrupts. Die DIO4-Interrupts werden zur WinAC weitergeleitet (über Interrupt-OB52 und OB53). Der Anwender kann konfigurieren, welche Interrupts in die WinAC gemeldet werden. Im WinAC-Programm werden zwei „Interrupt-OBs“ verwendet: OB52 und 53. Damit es möglich ist, direkt dem Interrupt-OB die relevanten Interrupt-Informationen mitzugeben. Die Interrupts werden aufgeteilt nach:

OB 52 – Error / Input / Output (EIO) Eingangsinterrupts Ausgangsinterrupts Fehlerinterrupt (Sammelfehler)

OB 53 – Zähler Zählinterrupts

Die Interrupt-Logik ist in dem SIMATIC PCIe DIO4 Handbuch beschrieben. Sie ist hirarchisch aufgebaut, z.B. die Interrupts für steigende/fallende Flanke an den Eingängen: Abbildung 3-2 Hirarchische Struktur der Eingangsinterrupts

Dabei gilt:

INPIFF = („Input falling edge“ AND INPxC.ENFEI) INPIFR = („Input rising edge“ AND INPxC.ENREI) INPIF = INPIFF OR INPIFR GSR.IIF = „Any bit of INPIF“

Hinweis Werden die Interrupts konfiguriert, aber das Interrupt-Freigabe-Bit nicht gesetzt, wird die Interrupt-Logik trotzdem verarbeitet. Die entsprechenden Statusbits werden gesetzt, aber kein Interrupt ausgelöst. Die Bits bleiben gesetzt, da sie nur in der Interrupt-Service-Routine (ISR) zurück gesetzt werden.

Page 14: Anwenderdokumentation V 1.11 y Juni 2012 · Das im Treiber verwendete Konzept, um Hardware-Interrupts in die WinAC zu MSI - Message Signaled Interrupts Die SIMATIC PCIe DIO4 Baugruppe

3 Funktionelle Beschreibung

14 WinAC DIO4 Treiber

V 1.11, Beitrags-ID: 63204530

Cop

yrig

ht

Sie

men

s A

G 2

012

All

right

s re

serv

ed

3.5 Fehlerbehandlung

Die SIMATIC PCIe DIO4 liefert ein globales Fehlerbit. Daraus lässt sich die genaue Fehlerursache (Versorgungsspannung, Übertemperatur, Kurzschluss, etc.) NICHT ermitteln. Erkennt der Treiber einen Fehler der Karte, wird dieser als Rückgabewert der Schreib-/Lese-FBs gemeldet. Ist der Fehlerinterrupt aktiviert, wird der Fehler per Interrupt an die WinAC gemeldet.

Page 15: Anwenderdokumentation V 1.11 y Juni 2012 · Das im Treiber verwendete Konzept, um Hardware-Interrupts in die WinAC zu MSI - Message Signaled Interrupts Die SIMATIC PCIe DIO4 Baugruppe

4 Die Step7 Schnittstelle

WinAC DIO4 Treiber V 1.11, Beitrags-ID: 63204530 15

Cop

yrig

ht

Sie

men

s A

G 2

012

All

right

s re

serv

ed

4 Die Step7 Schnittstelle Um auf die Funktionen des DIO4-Board von WinAC aus zugreifen zu können, stehen dem Anwender FBs zur Verfügung. Im Beispielprojekt haben die FBs/ DBs Nummern, die aber durch den Anwender verändert werden können. FB901 – DIO4_INIT FB902 – DIO4_CONFIG FB903 – DIO4_READ_DI FB904 – DIO4_READ_CNT FB905 – DIO4_WRITE_DO FB906 – DIO4_WRITE_CNT Zusätzlich enthält das Beispielprojekt Datenbausteine für die Konfigurationsdaten sowie den Lese- und Schreibzugriff. DB1002 – DIO4_CONFIG_DATA DB1003 – DIO4_READ_DATA DB1004 – DIO4_WRITE_DATA

Hinweis Die Treiber FBs sind in SCL realisiert worden (Quellen enthalten). Für die Benutzung des WinAC DIO4 Treibers wird SCL nicht benötigt!

Page 16: Anwenderdokumentation V 1.11 y Juni 2012 · Das im Treiber verwendete Konzept, um Hardware-Interrupts in die WinAC zu MSI - Message Signaled Interrupts Die SIMATIC PCIe DIO4 Baugruppe

4 Die Step7 Schnittstelle

16 WinAC DIO4 Treiber

V 1.11, Beitrags-ID: 63204530

Cop

yrig

ht

Sie

men

s A

G 2

012

All

right

s re

serv

ed

4.1 DIO4_INIT – Initialisierung

Der Initialisierungs-FB muss vor allen anderen FBs des DIO4-Treibers aufgerufen werden. Er lädt die Treiber-RTDLL. Beim Aufruf dieses FBs führt der Treiber einen PCI-Scan durch, um die installierte DIO4-Karte zu identifizieren. Die Ergebnisse des PCI-Scans werden im Instanz-DB zur Verfügung gestellt. Der RTX-Treiber prüft die Version der Step7-FBs. Nur wenn die Version vom RTX-Treiber zu den Step7-FBs passt, wird die Initialisierung ohne Fehler durchgeführt. Tabelle 4-1 Parameter des FBs DIO4_INIT

Parameter In/Out Typ Beschreibung

ODK_REF Out WORD Referenz des Treibers *1) ERROR Out BOOL Fehlerbit STATUS Out WORD Fehlerinformation

Hinweis *1) Der Wert von ODK_REF muss allen anderen Funktionsbausteinen des Treibers übergeben werden!

Zusätzliche Informationen im Instanz-DB von DIO4_INIT Neben des Fehlerbits und Fehlercodes in der Schnittstelle des FBs stehen dem Anwender im Instanz-DB weitere Informationen zur Verfügung: Tabelle 4-2 Informationen im Instanz-DB von DIO4_INIT

Name In/ Out

Typ Bemerkung

tOdkIf.wFbVersion Out Word Version der Step7-FBs des Treibers tOdkIf.dwDllVersion In Dword Version der Treiber-RTDLL tOdkIf.HWIFVersion In Byte Hardware interface version of DIO4 tOdkIf.HWRevision In Byte Hardware revision tOdkIf.InputsTotal In Byte Number of inputs tOdkIf.OutputsTotal In Byte Number of outputs tOdkIf.CountersTotal In Byte Number of counters tOdkIf.MaxCounterValLow tOdkIf.MaxCounterValHigh

In In

Dword Dword

Maximum value of counter (64 bit value) Splitted in low and high DWORD

Hinweis Die Daten im Instanz-DB (z.B. Softwareversion) sind erst nach einem fehlerfreien Aufruf von DIO4_INIT gültig.

Page 17: Anwenderdokumentation V 1.11 y Juni 2012 · Das im Treiber verwendete Konzept, um Hardware-Interrupts in die WinAC zu MSI - Message Signaled Interrupts Die SIMATIC PCIe DIO4 Baugruppe

4 Die Step7 Schnittstelle

WinAC DIO4 Treiber V 1.11, Beitrags-ID: 63204530 17

Cop

yrig

ht

Sie

men

s A

G 2

012

All

right

s re

serv

ed

Kodierung der RTDLL-Version Die Version der RTDLL wird hexadezimal codiert. Die letzte Stelle des DWORDs wird benutzt, um eine Debug- bzw. Release-Version zu kennzeichnen: D – Debug-Version A – Release-Version Abbildung 4-1 Beispiele für Version RTDLL im Instanz-DB von DIO4_INIT

iDB_DIO4_INIT.tOdkIf.dwDllVersion HEX DW#16#0001000D

\ /|

\/ +- Debug

+---- V 1.0.0.0

iDB_DIO4_INIT.tOdkIf.dwDllVersion HEX DW#16#0001100A

\ /|

\/ +- Release

+---- V 1.1.0.0

Rücklesen der aktuellen Hardware-Konfiguration Im Datenbereich des Instanz-DBs werden Informationen über die gefundene DIO4-Hardware hinterlegt. Abbildung 4-2 Informationen über die gefundene DIO4 im Instanz-DB von DIO4_INIT

Page 18: Anwenderdokumentation V 1.11 y Juni 2012 · Das im Treiber verwendete Konzept, um Hardware-Interrupts in die WinAC zu MSI - Message Signaled Interrupts Die SIMATIC PCIe DIO4 Baugruppe

4 Die Step7 Schnittstelle

18 WinAC DIO4 Treiber

V 1.11, Beitrags-ID: 63204530

Cop

yrig

ht

Sie

men

s A

G 2

012

All

right

s re

serv

ed

4.2 DIO4_CONFIG - Parametrieren

Ein Aufruf von DIO4_CONFIG parametriert die DIO4-Baugruppe. Die Parameter werden in einem DB abgelegt und dem FB DIO4_CONFIG übergeben. Bei bestimmten Funktionen (z.B. Parametrierung Counter) muss vor dem Aufruf von DIO4_CONFIG der FB DIO4_WRITE_CNT aufgerufen werden. Sollen zur Laufzeit bestimmte Einstellungen verändert werden (z.B. DI-Interrupt aktivieren), muss der FB DIO4_CONFIG erneut aufgerufen werden.

Hinweis Die Konfiguration kann zur Laufzeit verändert werden. Dabei muss sich der Anwender aber möglicher Seiteneffekte bewusst sein (z.B. wenn Counter im aktiven Zustand umkonfiguriert wird).

Tabelle 4-3 Parameter des FBs DIO4_CONFG

Parameter In/Out Typ Beschreibung

ODK_REF In WORD ODK-Referenz (von FB DIO4_INIT) CONFIG In Any Any-Pointer auf Parametrierungs-DB ERROR Out BOOL Fehlerbit STATUS Out WORD Fehlerinformation

Aufbau der Parametrierungsdaten für ein DIO4-Board Dem FB DIO4_CONFIG wird die Parametrierung aller vier IO-Kanäle des DIO4 sowie der acht Zähler in einem Datenbereich übergeben. Dieser Parametrier-DB hat einen definierten Aufbau. Er orientiert sich an den Registern der DIO4 Baugruppe. Im Beispielprojekt ist der DB1002 DIO4_CONFIG_DATA enthalten. Tabelle 4-4 Aufbau DB DIO4_CONFIG_DATA

Name Typ Beschreibung

GCR DWORD General Control Register INPC ARRAY[0..3] Input configuration INP0..INP3 Low DWORD High DWORD OUTPC ARRAY[0..3] Output configuration OUTP0…OUTP3 Low DWORD High DWORD CCR ARRAY[0..7] OF DWORD Counter Control Register C0CR … C7CR CTR ARRAY[0..7] Counter trigger register CxTRx REG ARRAY[0..4] OF DWORD CxTR0 … CxTR4

Page 19: Anwenderdokumentation V 1.11 y Juni 2012 · Das im Treiber verwendete Konzept, um Hardware-Interrupts in die WinAC zu MSI - Message Signaled Interrupts Die SIMATIC PCIe DIO4 Baugruppe

4 Die Step7 Schnittstelle

WinAC DIO4 Treiber V 1.11, Beitrags-ID: 63204530 19

Cop

yrig

ht

Sie

men

s A

G 2

012

All

right

s re

serv

ed

Die genaue Funktion der einzelnen Elemente ist in der „SIMATIC PCIe DIO4 Betriebsanleitung“ beschrieben. Um den Treiber möglichst flexibel zu halten, werden alle Register-Einstellungen „eins-zu-eins“ durchgereicht. Der Anwender kann die mitgelieferten Beispielkonfigurationen verwenden, oder entsprechend der DIO4 Bedienungsanleitung eigene Konfigurationen erstellen.

Excel-Tool für Registerkonfiguration Um die Parametrierung der Register zu vereinfachen enthält das Treiber-Paket ein Excel-Tool mit dem die Registerwerte bestimmt werden können: RegisterConfig.xls. Abbildung 4-3 Register Konfiguration Tool (MS Excel)

Page 20: Anwenderdokumentation V 1.11 y Juni 2012 · Das im Treiber verwendete Konzept, um Hardware-Interrupts in die WinAC zu MSI - Message Signaled Interrupts Die SIMATIC PCIe DIO4 Baugruppe

4 Die Step7 Schnittstelle

20 WinAC DIO4 Treiber

V 1.11, Beitrags-ID: 63204530

Cop

yrig

ht

Sie

men

s A

G 2

012

All

right

s re

serv

ed

4.3 DIO4_READ_DI - Lesen Digitaleingänge

Mit diesem FB werden die digitalen Eingänge einer DIO4-Baugruppe gelesen. Tabelle 4-5 Parameter des FBs DIO4_READ_DI

Parameter In/Out Typ Beschreibung

ODK_REF Out WORD ODK-Referenz (von FB DIO4_INIT) ERROR In BOOL Fehlerbit STATUS In WORD Fehlerinformation INP In DWORD Digitale Eingänge (nur vier Bits verwendet)

Zusätzlich zum Status der digitalen Eingänge werden im Instanz-DB weitere Register der DIO4 geliefert: Tabelle 4-6 Zusatzinformationen im Instanz-DB vom FB DIO4_READ_DI

Parameter I/O Typ Beschreibung

tOdkIf.dwINPIF In DWORD Register INPIF (Interrupt register Inputs) tOdkIf.dwINPIFG In DWORD Register INPIFR (Interrupt register Inputs, rising

edge) tOdkIf.dwINPIFF In DWORD Register INPIFF (Interrupt register Inputs, falling

edge) tOdkIf.dwGSR In DWORD Register GSR (General Status register)

Diese Interruptregister werden bei aktivierten Interrupts in der Interrupt-Service-Routine (ISR) verarbeitet. Die Register werden innerhalb der ISR rückgesetzt. Die Registerwerte im Instanz-DB von READ_DI können zur Fehlersuche benutzt werden.

Page 21: Anwenderdokumentation V 1.11 y Juni 2012 · Das im Treiber verwendete Konzept, um Hardware-Interrupts in die WinAC zu MSI - Message Signaled Interrupts Die SIMATIC PCIe DIO4 Baugruppe

4 Die Step7 Schnittstelle

WinAC DIO4 Treiber V 1.11, Beitrags-ID: 63204530 21

Cop

yrig

ht

Sie

men

s A

G 2

012

All

right

s re

serv

ed

4.4 DIO4_READ_CNT - Lesen Zählerwerte

Mit diesem FB werden die aktuellen Werte aller acht Zähler einer DIO4-Baugruppe gelesen. Tabelle 4-7 Parameter des FBs DIO4_READ_CNT

Parameter In/Out Typ Beschreibung

ODK_REF In WORD ODK-Referenz (von FB DIO4_INIT) DATA In Any Pointer auf Bereich für Zählerwerte ERROR Out BOOL Fehlerbit STATUS Out WORD Fehlerinformation

Datenstruktur für Zählerwerte Die Informationen der Zähler werden in einer festen Struktur übergeben. Im Beispielprojekt ist diese im DB 1003 DI4_READ_DATA enthalten. Das Array enthält die acht Zähler: jeweils aktueller Zählwert, Status und Capture-Wert. Tabelle 4-8 Aufbau Struktur mit Zählerinformationen (Read)

Name Typ Beschreibung

CSR ARRAY [0..7] OF STRUCT

Counter Status register (32 bit)

CVR ARRAY [0..7] Counter Value Register Low DWORD High DWORD CCAPR ARRAY [0..7] Counter Capture Register Low DWORD High DWORD

Hinweis Counter Status Bits: Die Interrupt-Flags im Status werden gesetzt unabhängig davon, ob der entsprechende Interrupt freigegeben ist (z.B. Counter Compare Equal Interrupt Flag CxSR.CEIF). Die Interrupt-Flags werden nur in der Interrupt-Service-Routine rückgesetzt. D.h. ein nicht-aktiviertes Interrupt-Flag wird erst in dem Moment rückgesetzt, wenn irgendein anderer Interrupt auslöst und verarbeitet wird.

Page 22: Anwenderdokumentation V 1.11 y Juni 2012 · Das im Treiber verwendete Konzept, um Hardware-Interrupts in die WinAC zu MSI - Message Signaled Interrupts Die SIMATIC PCIe DIO4 Baugruppe

4 Die Step7 Schnittstelle

22 WinAC DIO4 Treiber

V 1.11, Beitrags-ID: 63204530

Cop

yrig

ht

Sie

men

s A

G 2

012

All

right

s re

serv

ed

4.5 DIO4_WRITE_DO - Schreiben Digitalausgänge

Mit diesem FB werden die vier digitalen Ausgänge einer DIO4-Baugruppe geschrieben. Tabelle 4-9 Parameter des FBs DIO4_WRITE_DI

Parameter In/Out Typ Beschreibung

ODK_REF In WORD ODK-Referenz (von FB DIO4_INIT) OUTP In DWORD Digitale Ausgänge (nur vier Bits benutzt) ERROR Out BOOL Fehlerbit STATUS Out WORD Fehlerinformation

Zusätzlich zum Status der digitalen Eingänge werden im Instanz-DB weitere Register der DIO4 geliefert: Tabelle 4-10 Zusatzinformationen im Instanz-DB vom FB DIO4_WRITE_DO

Parameter I/O Typ Beschreibung

tOdkIf.dwOUTPIF In DWORD Register OUTPIF (Interrupt register Outputs) tOdkIf.dwOUTPIFG In DWORD Register OUTPIFR (Interrupt register Outputs,

rising edge) tOdkIf.dwOUTPIFF In DWORD Register OUTPIFF (Interrupt register Outputs,

falling edge)

Diese Interruptregister werden bei aktivierten Interrupts in der Interrupt-Service-Routine (ISR) verarbeitet. Die Register werden innerhalb der ISR rückgesetzt. Die Registerwerte im Instanz-DB von READ_DI können zur Fehlersuche benutzt werden.

Page 23: Anwenderdokumentation V 1.11 y Juni 2012 · Das im Treiber verwendete Konzept, um Hardware-Interrupts in die WinAC zu MSI - Message Signaled Interrupts Die SIMATIC PCIe DIO4 Baugruppe

4 Die Step7 Schnittstelle

WinAC DIO4 Treiber V 1.11, Beitrags-ID: 63204530 23

Cop

yrig

ht

Sie

men

s A

G 2

012

All

right

s re

serv

ed

4.6 DIO4_WRITE_CNT - Schreiben Zähler

Mit diesem FB werden Informationen für die acht Zähler einer DIO4-Baugruppe geschrieben. Tabelle 4-11 Parameter des FBs DIO4_WRITE_CNT

Parameter In/Out Typ Beschreibung

ODK_REF In WORD ODK-Referenz (von FB DIO4_INIT) DATA In Any Any-Pointer auf DB mit WRITE-Daten ERROR Out BOOL Fehlerbit STATUS Out WORD Fehlerinformation

Datenstruktur für Zählerinformationen Die Informationen der Zähler werden in einer festen Struktur übergeben. Im Beispielprojekt ist diese im DB 1004 DIO4_WRITE_DATA enthalten. Das Array für die acht Zähler enthält jeweils den aktuellen Reload-Wert und den Compare-Wert. Tabelle 4-12 Aufbau Struktur für Zählerinformationen (Write)

Name Typ Beschreibung

COMR ARRAY [0..7] Compare Register Low DWORD High DWORD RELR ARRAY [0..7] Reload Register Low DWORD High DWORD

Page 24: Anwenderdokumentation V 1.11 y Juni 2012 · Das im Treiber verwendete Konzept, um Hardware-Interrupts in die WinAC zu MSI - Message Signaled Interrupts Die SIMATIC PCIe DIO4 Baugruppe

4 Die Step7 Schnittstelle

24 WinAC DIO4 Treiber

V 1.11, Beitrags-ID: 63204530

Cop

yrig

ht

Sie

men

s A

G 2

012

All

right

s re

serv

ed

4.7 Interrupt-OBs (OB52, OB53)

Einem (Interrupt-)OB der WinAC können nur eine begrenzte Zahl von Informationen übertragen werden (Lokaldaten). In den Lokaldaten der Interrupt-OBs stehen insgesamt 64 Bit zur freien Verfügung (8 + 8 + 16 + 32 = 64 Bit). Die Bedeutung dieser vier Werte (dataType2, dataType1, data1 und data2) wird für die Interrupts der DIO4 in definierter Weise verwendet (siehe Tabellen unten). Damit der Interrupt-OB direkt alle nötigen Informationen enthält, müssen die Interrupts auf zwei „Interrupt-OBs“ aufgeteilt werden. Tabelle 4-13 Bedeutung der Lokaldaten im Interrupt-OB52 – DI / DO

Name Typ Addr. Bedeutung

dataType2 Byte 4.0 GSR general status register (1 Byte) dataType1 Byte 5.0 DI interrupt flag register (1 Byte) data1 Word 6.0 DI Interrupt flags (rising edge) (1 Byte)

DI Interrupt flags (falling edge) (1 Byte) data2 DWord 8.0 DO interrupt flag register (1 Byte)

DO Interrupt flags (rising edge) (1 Byte) DO Interrupt flags (falling edge) (1 Byte) Reserved (1 Byte)

Tabelle 4-14 Bedeutung der Lokaldaten im Interrupt-OB53 - Zähler

Name Typ Addr. Bedeutung

dataType2 Byte 4.0 Counter Status Register 0 (low byte) dataType1 Byte 5.0 Counter Status Register 1 (low byte) data1 Word 6.0 Counter Status Register 2 (low byte)

Counter Status Register 3 (low byte) data2 DWord 8.0 Counter Status Register 4 (low byte)

Counter Status Register 5 (low byte) Counter Status Register 6 (low byte) Counter Status Register 7 (low byte)

Um die einzelnen Interruptquellen symbolisch ansprechen zu können, ist im Step7-Beispielprogramm eine entsprechende Lösung vorbereitet.

Page 25: Anwenderdokumentation V 1.11 y Juni 2012 · Das im Treiber verwendete Konzept, um Hardware-Interrupts in die WinAC zu MSI - Message Signaled Interrupts Die SIMATIC PCIe DIO4 Baugruppe

5 Installation

WinAC DIO4 Treiber V 1.11, Beitrags-ID: 63204530 25

Cop

yrig

ht

Sie

men

s A

G 2

012

All

right

s re

serv

ed

5 Installation 5.1 Quickstart

PC-Karte SIMATIC PCIe DIO4 umwandeln von Windows- in RTX-Device Treiber Setup setup.bat ausführen

(Treiber RTDLL wird registriert) Step7-Demo-Projekt aus Lieferumfang anpassen und benutzen

5.2 Einrichten SIMATIC PCIe DIO4 als RTX Device

Der DIO4-Treiber ist als Echtzeittreiber für die Windows-RealtimeErweiterung IntervalZero RTX (Realtime eXTension) realisiert. Deshalb muss die SIMATIC PCIe DIO4 Karte als RTX-Device eingerichtet werden.

Windows Plug and Play Manager abbrechen (Windows XP) Unter Windows XP erkennt der Windows Plug and Play Manager die neue Hardware und möchte einen Treiber installieren. Dieser Dialog ist mit Cancel abzubrechen Abbildung 5-1 Windows Plug and Play Manager (Windows XP)

Unter Windows 7 wird dieser Dialog nicht angezeigt.

DIO4 im Windows Gerätemanager finden (Windows XP) Der Windows Gerätemanager kann über die Systemeigenschaften gestartet werden.

Page 26: Anwenderdokumentation V 1.11 y Juni 2012 · Das im Treiber verwendete Konzept, um Hardware-Interrupts in die WinAC zu MSI - Message Signaled Interrupts Die SIMATIC PCIe DIO4 Baugruppe

5 Installation

26 WinAC DIO4 Treiber

V 1.11, Beitrags-ID: 63204530

Cop

yrig

ht

Sie

men

s A

G 2

012

All

right

s re

serv

ed

Abbildung 5-2 Gerätemanager starten (Windows XP)

DIO4 im Windows Gerätemanager finden (Windows 7) Den Windows Gerätemanager findet man unter „System“. Abbildung 5-3 Gerätemanager starten (Windows 7)

Unbekanntes Gerät „DPIO Module“ Es sollte ein einziges Gerät mit einem Fragezeichen geben: „DPIO Module“. Das ist das SIMATIC PCIe DIO4 Board.

Page 27: Anwenderdokumentation V 1.11 y Juni 2012 · Das im Treiber verwendete Konzept, um Hardware-Interrupts in die WinAC zu MSI - Message Signaled Interrupts Die SIMATIC PCIe DIO4 Baugruppe

5 Installation

WinAC DIO4 Treiber V 1.11, Beitrags-ID: 63204530 27

Cop

yrig

ht

Sie

men

s A

G 2

012

All

right

s re

serv

ed

Abbildung 5-4 Unbekanntes Device „DPIO Module“

Einstellungen in RTX Properties Über die Systemsteuerung (Control Panel) erreicht man die RTX Properties. Abbildung 5-5 RTX Properties in der Systemsteuerung (Windows XP)

Page 28: Anwenderdokumentation V 1.11 y Juni 2012 · Das im Treiber verwendete Konzept, um Hardware-Interrupts in die WinAC zu MSI - Message Signaled Interrupts Die SIMATIC PCIe DIO4 Baugruppe

5 Installation

28 WinAC DIO4 Treiber

V 1.11, Beitrags-ID: 63204530

Cop

yrig

ht

Sie

men

s A

G 2

012

All

right

s re

serv

ed

Abbildung 5-6 RTX Properties in der Systemsteuerung (Windows 7)

Page 29: Anwenderdokumentation V 1.11 y Juni 2012 · Das im Treiber verwendete Konzept, um Hardware-Interrupts in die WinAC zu MSI - Message Signaled Interrupts Die SIMATIC PCIe DIO4 Baugruppe

5 Installation

WinAC DIO4 Treiber V 1.11, Beitrags-ID: 63204530 29

Cop

yrig

ht

Sie

men

s A

G 2

012

All

right

s re

serv

ed

Danach im Reiter „Hardware“ den Button „Settings“ auswählen: Abbildung 5-7 RTX Properties - Hardware

Als Nächstes wählt man das Gerät mit der rechten Maustaste und wählt Add RTX INF support. Abbildung 5-8 „RTX INF support“ für die DIO4 aktivieren

ACHTUNG Man muss den Button „Apply“ betätigen! „OK“ reicht nicht!

Page 30: Anwenderdokumentation V 1.11 y Juni 2012 · Das im Treiber verwendete Konzept, um Hardware-Interrupts in die WinAC zu MSI - Message Signaled Interrupts Die SIMATIC PCIe DIO4 Baugruppe

5 Installation

30 WinAC DIO4 Treiber

V 1.11, Beitrags-ID: 63204530

Cop

yrig

ht

Sie

men

s A

G 2

012

All

right

s re

serv

ed

Deinstallation Gerät im Windows Gerätemanager Danach wechselt man wieder in den Windows Gerätemanager. Dort deinstalliert man die SIMATIC PCIe DIO4 Karte („DPIO Module“ mit Fragezeichen). Abbildung 5-9 (Windows)gerät deinstallieren

Das Gerät verschwindet zunächst aus dem Gerätemanager.

Hinweis Evtl. muss ein Haken gesetzt werden, um den alten Treiber vom Gerät zu deinstallieren.

Gerät als RTX device installieren Anschließend wählt man über das Menü Action Scan for new Hardware (Das geht nur, wenn man vorher in das Hauptfenster des Gerätemanagers geklickt hat). Jetzt wird die SIMATIC PCIe DIO4 automatisch als RTX Gerät eingetragen.

Page 31: Anwenderdokumentation V 1.11 y Juni 2012 · Das im Treiber verwendete Konzept, um Hardware-Interrupts in die WinAC zu MSI - Message Signaled Interrupts Die SIMATIC PCIe DIO4 Baugruppe

5 Installation

WinAC DIO4 Treiber V 1.11, Beitrags-ID: 63204530 31

Cop

yrig

ht

Sie

men

s A

G 2

012

All

right

s re

serv

ed

Abbildung 5-10 SIMATIC PCIe DIO4 als RTX Gerät

MSI prüfen Als letztes bleibt zu überprüfen, ob korrekt erkannt wurde, dass die SIMATIC PCIe DIO4 MSI unterstützt (Message Signaled Interrupts). Diese Einstellungen kann man in den RTX Properties überprüfen. Abbildung 5-11 RTX Properties mit DIO4 als RTX-Device

Page 32: Anwenderdokumentation V 1.11 y Juni 2012 · Das im Treiber verwendete Konzept, um Hardware-Interrupts in die WinAC zu MSI - Message Signaled Interrupts Die SIMATIC PCIe DIO4 Baugruppe

5 Installation

32 WinAC DIO4 Treiber

V 1.11, Beitrags-ID: 63204530

Cop

yrig

ht

Sie

men

s A

G 2

012

All

right

s re

serv

ed

Dann rechte Maustaste Eigenschaften: Abbildung 5-12 Interrupteinstellungen von DIO4 in den RTX Properties MSI

5.3 Überprüfen der Installation mit „Dio4Scan.rtss“

Dem WinAC DIO4 Treiber liegt ein Tool bei, mit dem man prüfen kann, ob die SIMATIC PCIe DIO4 Karte richtig installiert und erkannt wird. Das Tool Dio4Scan.rtss befindet sich im Verzeichnis \tools\. Es handelt sich um eine RTX-Applikation, die auf einem Rechner mit installiertem IntervalZero RTX einfach per Doppelklick gestartet werden kann. Das ist bei allen Rechnern mit WinAC RTX der Fall. Abbildung 5-13 Ausgabe von Dio4Scan.rtss

Start <DIO4Scan> DioDrvOpen returned <0x0> DIO device information Version: 0x1000 0000 HWIFVersion: 0x10 HWRevision: 0x4 NumberOfInputs: 0x4 NumberOfCounters: 0x8 DioDrvClose returned <0x0> End <Dio4Scan>

ACHTUNG Das Tool Dio4Scan.rtss benötigt exklusiven Zugriff auf die Karte. Deshalb darf es nicht gleichzeitig mit dem WinAC DIO4 Treiber ausgeführt werden.

Page 33: Anwenderdokumentation V 1.11 y Juni 2012 · Das im Treiber verwendete Konzept, um Hardware-Interrupts in die WinAC zu MSI - Message Signaled Interrupts Die SIMATIC PCIe DIO4 Baugruppe

5 Installation

WinAC DIO4 Treiber V 1.11, Beitrags-ID: 63204530 33

Cop

yrig

ht

Sie

men

s A

G 2

012

All

right

s re

serv

ed

5.4 Installation des WinAC-Treibers auf dem Runtimerechner

Die Installation des WinAC Treibers für die DIO4 beschränkt sich auf das Registrieren der Treiber-Realtime-DLL (WinLcDio4Drv.rtdll) mit dem Batch-File setup.bat (rtssrun /dll WinLcDio4Drv.rtdll). Man kann die erfolgreiche Installation überprüfen. Bei den registrierten Real-time DLLs muss die WinLcDio4Drv.rtdll auftauchen (RTX Befehl rtsskill).

5.5 Installation des WinAC-Treibers auf dem Entwicklungsrechner

Eine Installation auf dem Entwicklungsrechner ist nicht erforderlich! Auf dem Entwicklungsrechner werden diese Dokumentation sowie das Step7-Beispielprojekt benötigt. Dem Demo-Projekt können die erforderlichen FBs für das Step7 Programm des Anwenders entnommen werden.

Page 34: Anwenderdokumentation V 1.11 y Juni 2012 · Das im Treiber verwendete Konzept, um Hardware-Interrupts in die WinAC zu MSI - Message Signaled Interrupts Die SIMATIC PCIe DIO4 Baugruppe

6 Anwendungsbeispiele

34 WinAC DIO4 Treiber

V 1.11, Beitrags-ID: 63204530

Cop

yrig

ht

Sie

men

s A

G 2

012

All

right

s re

serv

ed

6 Anwendungsbeispiele 6.1 Übersicht

Um die Anwendung zu vereinfachen, wird ein Beispielprojekt geliefert. Außerdem werden in der vorliegenden Dokumentation für eine Reihe von typischen Anwendungen die passenden Konfigurationen bereitgestellt. Diese Konfigurationen beziehen sich jeweils auf einen einzelnen Kanal und können beliebig kombiniert werden: Digitaleingang direkt lesen (einschl. Interrupt) Digitalausgang direkt schreiben Frequenzmessung Pulslängenmessung Ausgang als PWM-Ausgang Zähler (einschl. Interrupt)

6.2 Verwenden der Beispielprojekte

Das Treiber-Paket enthält auch ein Beispielprojekt jeweils für den SIMATIC Manager Step7 und für das TIA Portal V11. Die Beispielapplikation ist in FUP (Funktionsplan) realisiert. Ziel dieses Beispieles ist es, die verschiedenen Funktionen des Treibers zu realisieren. Die einzelnen Funktionen werden über Variablentabellen gesteuert.

OB100 Complete Restart Im Anlauf muss der Treiber gestartet werden (DIO4_INIT). Außerdem werden interne Enable Flags zurückgesetzt.

OB1 CYCL_EXEC Der OB1 enthält die verschiedenen Funktionen des DIO4 Treibers. Sie können über separate Enable-Bits aktiviert werden (siehe Variablen-Tabellen).

OB52, OB53 (Interrupt) Im OB52, 53 werden die Informationen über die Interruptquellen Variable kopiert, damit sie symbolisch benutzt werden können. Für verschiedene Interrupt-Quellen werden Zähler erhöht.

FB901 – FB906 –DIO4 Treiber Das sind die FBs des WinAC DIO4 Treibers.

DB901 – DB906 –DIO4 Treiber Das sind die Instanz-DBs für die FBs des WinAC DIO4 Treibers.

Page 35: Anwenderdokumentation V 1.11 y Juni 2012 · Das im Treiber verwendete Konzept, um Hardware-Interrupts in die WinAC zu MSI - Message Signaled Interrupts Die SIMATIC PCIe DIO4 Baugruppe

6 Anwendungsbeispiele

WinAC DIO4 Treiber V 1.11, Beitrags-ID: 63204530 35

Cop

yrig

ht

Sie

men

s A

G 2

012

All

right

s re

serv

ed

DB1002 DIO4_CONFIG_DATA - Konfiguration Dieser DB enthält die Konfiguration für die DIO4-Baugruppe.

DB1003 DIO4_READ_DATA – Daten Lesen von DIO4 Dieser DB wird benutzt, um die gelesenen Daten vom DIO4 Board zu speichern, sowohl digitale Eingänge, als auch Zählwerte.

DB1004 DIO4_WRITE_DATA – Daten Schreiben auf DIO4 Dieser DB wird benutzt, um die zu schreibenden Daten für das DIO4 Board zu speichern, sowohl digitale Ausgänge, als auch die Zählerkonfiguration.

DB1005 DIO4_IRQ_DATA – Interrupt Daten Dieser DB enthält die verschiedenen Interruptinformationen und Zähler für verschiedene Interruptquellen.

VAT_... – Variablentabellen In den Variablentabellen sind Werte für die verschiedenen Funktionen der DIO4 Karte zusammengestellt.

Page 36: Anwenderdokumentation V 1.11 y Juni 2012 · Das im Treiber verwendete Konzept, um Hardware-Interrupts in die WinAC zu MSI - Message Signaled Interrupts Die SIMATIC PCIe DIO4 Baugruppe

6 Anwendungsbeispiele

36 WinAC DIO4 Treiber

V 1.11, Beitrags-ID: 63204530

Cop

yrig

ht

Sie

men

s A

G 2

012

All

right

s re

serv

ed

6.3 Anwendungsfälle

6.3.1 Direktes Schreiben von Ausgängen

Man kann für die Ausgänge verschiedene Quellen konfigurieren. Möchte man per direktem Befehl die Ausgänge setzten/rücksetzen (OUTP Register), muss man das vorher passend konfigurieren. Tabelle 6-1 Aufruf FB DIO4_CONFIG

Register Wert Bemerkung

GCR – Global Control Register 0x0001 Global enable INPxC – Input Config. 0x0000 OUTPxC – Output Config. LOW HIGH

0x0000 0x0000

Source Select: „OUTPx“

6.3.2 Direktes Lesen von Eingängen (einschl. Interrupt)

Die Eingänge können immer direkt gelesen werden (Register INP). Sollen die Eingänge Interrupts auslösen, muss das entsprechend konfiguriert werden. Tabelle 6-2 Aufruf FB DIO4_CONFIG

Register Wert Bemerkung

GCR – Global Control Register 0x0007 Global enable Global Interrupt enable Input Interrupt enable

INPxC – Input Config. 0x000C Enable rising edge interrupt Enable falling edge interrupt

Hinweis Es ist zu empfehlen, die Eingänge zu filtern (siehe Kapitel 6.3.3, S. 37).

Page 37: Anwenderdokumentation V 1.11 y Juni 2012 · Das im Treiber verwendete Konzept, um Hardware-Interrupts in die WinAC zu MSI - Message Signaled Interrupts Die SIMATIC PCIe DIO4 Baugruppe

6 Anwendungsbeispiele

WinAC DIO4 Treiber V 1.11, Beitrags-ID: 63204530 37

Cop

yrig

ht

Sie

men

s A

G 2

012

All

right

s re

serv

ed

6.3.3 Filtern der Eingänge

Es ist zu empfehlen, die Eingänge zu filtern. Ohne Verwendung eines Eingangsfilters kann es durch die hohe interne Abtastfrequenz der DIO4 zu mehrfach erkannten Flanken kommen. Die Einstellung des Eingangsfilters hängt von der konkreten Aufgabenstellung ab. Ein typischer Wert ist z.B.: Eingangsfilter: 1 kHz (1 ms) Schwellwert: 3 Samples

Für die Konfiguration dieses Eingangsfilters sind folgende Registerwerte zu wählen: Tabelle 6-3 Aufruf FB DIO4_CONFIG

Register Wert Bemerkung

GCR – Global Control Register 0x0007 Global enable Global Interrupt enable Input Interrupt enable

INPxC – Input Config. 0x3D0C Enable rising edge interrupt Enable falling edge interrupt Threshold: 3 samples Sample rate: 1,00 ms

Page 38: Anwenderdokumentation V 1.11 y Juni 2012 · Das im Treiber verwendete Konzept, um Hardware-Interrupts in die WinAC zu MSI - Message Signaled Interrupts Die SIMATIC PCIe DIO4 Baugruppe

6 Anwendungsbeispiele

38 WinAC DIO4 Treiber

V 1.11, Beitrags-ID: 63204530

Cop

yrig

ht

Sie

men

s A

G 2

012

All

right

s re

serv

ed

6.3.4 Pulslängenmessung

Ein Zähler der DIO4 wird benutzt, um die Länge eines Pulses am Eingang zu messen. Als Zeitbasis dient die interne DIO4-Zählfrequenz von 62,5 MHz. Die steigende Flanke am Eingang löscht den Zähler, die fallende Flanke wird als Capture-Ereignis benutzt. D.h. im Capture Register steht der Zählwert. Mit diesem Wert kann die Pulslänge berechnet werden mit der Formel:

nsCxCAPRMHz

CxCAPRTPW 1615,62

1

Hinweis Der Wert des Capture-Registers ist – wie die Zählerregister – ein 36 Bit-Wert. Das Rechnen in der SIMATIC wird vereinfacht, wenn man nur die unteren 32 Bit verwendet.

Werden die vollen 36 Bit ausgenutzt, kann man bei voller Zählfrequenz bis zu 1099 Sekunden messen. Werden größere Zeiträume benötigt, kann man über einen Prescaler-Faktor auch Untersetzungen einfügen. Tabelle 6-4 Aufruf FB DIO4_CONFIG

Register Wert Bemerkung

GCR – Global Control Register 0x0001 Global enable INPxC – Input Config. 0x0000 OUTPxC – Output Config. LOW HIGH

0x0000 0x0000

CxCR – Counter Control 0x0001 Enable Counter CxTR0 – Counter Trigger UP 0x0100 source constant ‚1’ (62,5 MHz) CxTR1 – Counter Trigger DOWN 0x0000 - (not used) CxTR2 – Counter Trigger CLEAR 0x2808 Rising edge

Source select: „Input 0“ CxTR3 – Counter Trigger RELOAD 0x0000 - (not used) CxTR4 – Counter Trigger CAPTURE 0x280A Falling edge

Source select: „Input 0“

Page 39: Anwenderdokumentation V 1.11 y Juni 2012 · Das im Treiber verwendete Konzept, um Hardware-Interrupts in die WinAC zu MSI - Message Signaled Interrupts Die SIMATIC PCIe DIO4 Baugruppe

6 Anwendungsbeispiele

WinAC DIO4 Treiber V 1.11, Beitrags-ID: 63204530 39

Cop

yrig

ht

Sie

men

s A

G 2

012

All

right

s re

serv

ed

6.3.5 Frequenzmessung

Ein Zähler der DIO4 wird benutzt, um den Abstand zwischen zwei steigenden Flanken an einem Eingang zu messen (= Frequenz am Eingang). Als Zeitbasis dient die interne DIO4-Zählfrequenz von 62,5 MHz. Die steigende Flanke am Eingang speichert den aktuellen Zählwert im Capture-Register und löscht den Zähler. Der Zählerstand kann im Capture-Register ausgelesen werden. Aus diesem Wert kann die Frequenz berechnet werden mit der Formel:

nsCxCAPRCxCAPR

MHzf161

11

5,62

Hinweis Der Wert des Caputre-Registers ist – wie die Zählerregister – ein 36 Bit-Wert. Das Rechnen in der SIMATIC wird vereinfacht, wenn man nur die unteren 32 Bit verwendet. Das reduziert natürlich den Wertebereich.

Tabelle 6-5 Aufruf FB DIO4_CONFIG

Register Wert Bemerkung

GCR – Global Control Register 0x0001 Global enable INPxC – Input Config. 0x0000 OUTPxC – Output Config. LOW HIGH

0x0000 0x0000

CxCR – Counter Control 0x0001 Enable Counter CxTR0 – Counter Trigger UP 0x0100 source constant ‚1’ (62,5 MHz) CxTR1 – Counter Trigger DOWN 0x0000 - (not used) CxTR2 – Counter Trigger CLEAR 0x2808 Rising edge

Source select: „Input 0“ CxTR3 – Counter Trigger RELOAD 0x0000 - (not used) CxTR4 – Counter Trigger CAPTURE 0x2808 Rising edge

Source select: „Input 0“

Page 40: Anwenderdokumentation V 1.11 y Juni 2012 · Das im Treiber verwendete Konzept, um Hardware-Interrupts in die WinAC zu MSI - Message Signaled Interrupts Die SIMATIC PCIe DIO4 Baugruppe

6 Anwendungsbeispiele

40 WinAC DIO4 Treiber

V 1.11, Beitrags-ID: 63204530

Cop

yrig

ht

Sie

men

s A

G 2

012

All

right

s re

serv

ed

6.3.6 Ausgang mit PWM Funktion

Ein Zähler der DIO4 wird verwendet, um die Periodendauer des PWM-Signals zu definieren: Von einem definierten Startwert (Reload Value) wird heruntergezählt. Bei Nulldurchgang wird wieder mit dem Reload Value gestartet. Das On/Off-Verhältnis wird über die Vergleicherfunktion realisiert: wenn der Zähler kleiner des Vergleichswertes wird, wird der Ausgang gesetzt. Durch Definition des Vergleichwertes kann man das On/Off-Verhältnis beeinflussen. Beispiel: Der Ausgang soll 1 sec. an und 4 sec. aus sein Periode = 5 sec. Lösung: Ein Zähler zählt mit der internen Frequenz (62,5 MHz) herunter. Der Nulldurchgang (Overflow) wird als Signal für das „Nachladen“ benutzt.

hex12A0.5F1C6312.499.99

145,62sec5

45,62

eReloadValueReloadValu

MHzeReloadValu

PrescalerMHzTimeeReloadValu

Der Vergleicher wird auf 1 sec. eingestellt:

hex3B9.ACA1062.500.001

115,62sec1

15,62

ueCompareValueCompareVal

MHzueCompareVal

PrescalerMHzTimeueCompareVal

Der Vergleicher lässt sich auch relativ berechnen:

hex3B9.ACA1062.500.001

1%100%20

1sec000.500.62sec5

1%100

[%]""5,62

1

ueCompareValueCompareVal

ueCompareVal

OnTimePrescaler

MHzTimeueCompareVal

Hinweis Die Aufrufreihenfolge der FBs muss hier beachtet werden! Erst Zählerwerte parametrieren, dann erst die Konfigurationsregister schreiben.

Page 41: Anwenderdokumentation V 1.11 y Juni 2012 · Das im Treiber verwendete Konzept, um Hardware-Interrupts in die WinAC zu MSI - Message Signaled Interrupts Die SIMATIC PCIe DIO4 Baugruppe

6 Anwendungsbeispiele

WinAC DIO4 Treiber V 1.11, Beitrags-ID: 63204530 41

Cop

yrig

ht

Sie

men

s A

G 2

012

All

right

s re

serv

ed

Die Reihenfolge muss beachtet werden: Zunächst müssen die Zählerwerte gesetzt werden (FB DIO4_WRITE_CNT) Danach müssen die Konfigurations Register eingestellt werden (einschl.

„Counter enable“) (FB DIO4_CONFIG) Tabelle 6-6 Aufruf FB DIO4_WRITE_CNT

Register Wert Bemerkung

Reload Value 0x12A05F1C = 5 sec. (bei prescaler = 0) Compare Value 0x03B9ACA1 = 1 sec. (bei prescaler = 0)

Tabelle 6-7 Aufruf FB DIO4_CONFIG

Register Wert Bemerkung

GCR – Global Control Register 0x0001 Global enable INPxC – Input Config. 0x0000 OUTPxC – Output Config. LOW HIGH

0x0000 0x0B00

Source: Counter 0 Compare Smaller

CxCR – Counter Control 0x0001 Enable Counter CxTR0 – Counter Trigger UP 0x0000 - (not used) CxTR1 – Counter Trigger DOWN 0x0100 Source: constant ‚1’ (62,5 MHz) CxTR2 – Counter Trigger CLEAR 0x0000 - (not used) CxTR3 – Counter Trigger RELOAD 0x0800 Source: Counter 0 overflow

Prescaler = 0 CxTR4 – Counter Trigger CAPTURE 0x0000 - (not used)

6.3.7 Zähler (einschl. Interrupt)

Aufgabe: Alle 10 Pulse von einem Eingang soll ein Interrupt ausgelöst werden. Lösung: Die steigende Flanke eines Eingangs wird als Zählpuls für einen Counter verwendet. Ist der Zählerwert größer als 10 (compare value), wird ein Interrupt ausgelöst und der Zähler rückgesetzt.

Hinweis Die Aufrufreihenfolge der FBs muss hier beachtet werden! Erst Zählerwerte parametrieren, dann erst die Konfigurationsregister schreiben.

Die Reihenfolge muss beachtet werden: Zunächst müssen die Zählerwerte gesetzt werden (FB DIO4_WRITE_CNT)

Page 42: Anwenderdokumentation V 1.11 y Juni 2012 · Das im Treiber verwendete Konzept, um Hardware-Interrupts in die WinAC zu MSI - Message Signaled Interrupts Die SIMATIC PCIe DIO4 Baugruppe

6 Anwendungsbeispiele

42 WinAC DIO4 Treiber

V 1.11, Beitrags-ID: 63204530

Cop

yrig

ht

Sie

men

s A

G 2

012

All

right

s re

serv

ed

Danach müssen die Konfigurations Register eingestellt werden (einschl. „Counter enable“) (FB DIO4_CONFIG)

Tabelle 6-8 Aufruf FB DIO4_WRITE_CNT

Register Wert Bemerkung

Reload Value 0x00000000 Compare Value 0x00000009 = 9 dezimal

Tabelle 6-9 Aufruf FB DIO4_CONFIG

Register Wert Bemerkung

GCR – Global Control Register 0x0013 Global enable Global Interrupt enable Counter interrupt enable

INPxC – Input Config. 0x0000 OUTPxC – Output Config. LOW HIGH

0x0000 0x0000

CxCR – Counter Control 0x0043 Enable Counter Enable Counter Interrupt Enable Greater Interrupt

CxTR0 – Counter Trigger UP 0x2808 Rising Edge Source: Input 0

CxTR1 – Counter Trigger DOWN 0x0000 - (not used) CxTR2 – Counter Trigger CLEAR 0x0A08 Rising Edge

Source: Counter 0 Compare Greater

CxTR3 – Counter Trigger RELOAD 0x0000 - (not used) CxTR4 – Counter Trigger CAPTURE 0x0000 - (not used)

Hinweis Es ist zu empfehlen, die Eingänge zu filtern (siehe Kapitel 6.3.3, S. 37).

6.3.8 Timer (einschl. Interrupt)

Aufgabe: Alle 5 sec. soll der Interrupt-OB der WinAC aufgerufen werden. Lösung: Ein Zähler zählt mit der internen Frequenz (62,5 MHz) herunter. Der Nulldurchgang (Overflow) wird als Interruptquelle und als Signal zum Neuladen des Zählwertes benutzt. ReloadValue = Zeit * (freq / prescaler)

Page 43: Anwenderdokumentation V 1.11 y Juni 2012 · Das im Treiber verwendete Konzept, um Hardware-Interrupts in die WinAC zu MSI - Message Signaled Interrupts Die SIMATIC PCIe DIO4 Baugruppe

6 Anwendungsbeispiele

WinAC DIO4 Treiber V 1.11, Beitrags-ID: 63204530 43

Cop

yrig

ht

Sie

men

s A

G 2

012

All

right

s re

serv

ed

= 5 sec * ( 62,5 MHz / 1 ) = 312.500.000 = 12A0.5F20 hex

Hinweis Die Aufrufreihenfolge der FBs muss hier beachtet werden! Erst Zählerwerte parametrieren, dann erst die Konfigurationsregister schreiben.

Die Reihenfolge muss beachtet werden: Zunächst müssen die Zählerwerte gesetzt werden (FB DIO4_WRITE_CNT) Danach müssen die Konfigurations Register eingestellt werden (einschl.

„Counter enable“) (FB DIO4_CONFIG) Tabelle 6-10 Aufruf FB DIO4_WRITE_CNT

Register Wert Bemerkung

Reload Value 0x12A05F20 = 5 sec. (bei prescaler = 0) Compare Value 0x00000000

Tabelle 6-11 Aufruf FB DIO4_CONFIG

Register Wert Bemerkung

GCR – Global Control Register 0x0013 Global enable Global Interrupt enable Counter interrupt enable

INPxC – Input Config. 0x0000 OUTPxC – Output Config. LOW HIGH

0x0000 0x0000

CxCR – Counter Control 0x0007 Enable Counter Enable Counter Interrupt Enable Overflow Interrupt

CxTR0 – Counter Trigger UP 0x0000 - (not used) CxTR1 – Counter Trigger DOWN 0x0100 source constant ‚1’ (62,5 MHz) CxTR2 – Counter Trigger CLEAR 0x0000 - (not used) CxTR3 – Counter Trigger RELOAD 0x0800 Source: Counter 0 overflow

Prescaler = 0 CxTR4 – Counter Trigger CAPTURE 0x0000 - (not used)

Page 44: Anwenderdokumentation V 1.11 y Juni 2012 · Das im Treiber verwendete Konzept, um Hardware-Interrupts in die WinAC zu MSI - Message Signaled Interrupts Die SIMATIC PCIe DIO4 Baugruppe

7 Fehlermeldungen

44 WinAC DIO4 Treiber

V 1.11, Beitrags-ID: 63204530

Cop

yrig

ht

Sie

men

s A

G 2

012

All

right

s re

serv

ed

7 Fehlermeldungen Der WinAC DIO4-Treiber kann verschiedene Klassen von Fehlermeldungen liefern: - Code im FB-Ausgang STATUS gemäß WinAC-ODK (siehe Kapitel 7.1 in

diesem Dokument) - Spezielle Fehlermeldungen des DIO4-Treibers (siehe Kapitel 7.2 Seite 46 in

diesem Dokument)

7.1 Fehlermeldungen vom WinAC ODK

Der Treiber wurde mit dem WinAC ODK (Open Development Kit) entwickelt. Das ODK kann ebenfalls Fehlercodes generieren, die im STATUS der FBs zurückgegeben werden. Tabelle 7-1 WinAC ODK System-Fehlermeldungen

ODK Code (HEX)

Description

0 Success 8001 An exception occurred. 8002 Input: the ANY pointer is invalid. 8003 Input: the ANY pointer range is invalid. 8004 Output: the ANY pointer is invalid. 8005 Output: the ANY pointer range is invalid. 8006 More bytes were written into the output buffer by the extension object than

were allocated. 8007 ODK system has not been initialized: no previous call to SFB65001

(CREA_COM). 8008 The supplied handle value does not correspond to a valid extension object. 8009 More bytes were written into the input buffer by the extension object than

were allocated. 807F An internal error occurred. 80C3 Maximum number (32) of parallel jobs/instances exceeded. 8102 The call to CLSIDFromProgID failed. 8103 The call to CoInitializeEx failed. 8104 The call to CoCreateInstance failed. 8105 The library failed to load. 8106 A Windows response timeout occurred. 8107 Controller is in an invalid state for scheduling an OB. 8108 Schedule information for OB is invalid. 8109 Instance ID for SFB65001 call is invalid. 810A Controller could not load proxy DLL. 810B The WinAC controller could not create or initialize shared memory

area. 810C Attempt to access unavailable option ocurred. 8201 The Execute command index could not be found

Page 45: Anwenderdokumentation V 1.11 y Juni 2012 · Das im Treiber verwendete Konzept, um Hardware-Interrupts in die WinAC zu MSI - Message Signaled Interrupts Die SIMATIC PCIe DIO4 Baugruppe

7 Fehlermeldungen

WinAC DIO4 Treiber V 1.11, Beitrags-ID: 63204530 45

Cop

yrig

ht

Sie

men

s A

G 2

012

All

right

s re

serv

ed

ODK Code (HEX)

Description

8250 No more available positions in the job list 8252 The count is invalid 8253 A data type of an item in the list is invalid 8254 The count specified is invalid 8255 A memory area of an item in the list is invalid 8256 A DB number of an item in the list is invalid 8257 A bit number of an item in the list is invalid 8258 A pBuff of an item in the list is invalid 8259 A data quantity is invalid 825A The area offset parameter is invalid for this type 825B The frequency value is invalid 825C The callback pointer is invalid 825D The job ID pointer is invalid 825E The job ID is invalid 825F Job could not be completed because address is incorrect 8260 Job could not be completed because of protection level 8261 Job could not be completed because of hardware issues 8301 Invalid Thread Execution Priority 8401 Invalid Asynchronous Event 8402 Asynchronous Processor Queue is empty 8403 Asynchronous Processor Queue is full

Page 46: Anwenderdokumentation V 1.11 y Juni 2012 · Das im Treiber verwendete Konzept, um Hardware-Interrupts in die WinAC zu MSI - Message Signaled Interrupts Die SIMATIC PCIe DIO4 Baugruppe

7 Fehlermeldungen

46 WinAC DIO4 Treiber

V 1.11, Beitrags-ID: 63204530

Cop

yrig

ht

Sie

men

s A

G 2

012

All

right

s re

serv

ed

7.2 Spezielle Fehlermeldungen des DIO4-Treibers

Neben dem allgemeinen Fehlerbit der FBs wird im STATUS ein spezieller Fehlercode geliefert, der die Ursache genauer beschreibt. Tabelle 7-2 Fehlernummern vom DIO4-Treiber

0x0000 - no error error codes from DIO driver 0x8501 - Invalid parameter was given to function 0x8502 - The function is not supported 0x8505 - Function/device not ready 0x8506 - Device reported an error 0x8509 - Overflow occured 0x850b - Item already started/present 0x8511 - detected to many DIO4 boards on PCI bus 0x8512 - base address not defined 0x8513 - RtTranslateBusAddress failed 0x8514 - Failure on RtMapMemory 0x8515 - no MSI support signaled 0x8516 - attach interrupt failed 0x8517 - create of event failed 0x8520 - error detected (register GSR.EIF) e.g. missing supply voltage of output or overload / short circuit application errors 0x8550 - no successful init called before errors with WinAC Handling (ODK part) 0x9001 - error using ODK_Read.. function 0x9002 - error using ODK_Write.. function 0x9011 - error reading STRING - invalid pointer to string 0x9012 - error reading STRING - error reading string len 0x9013 - error reading STRING - string is too large for the STEP 7 string 0x9014 - error reading STRING - string is too large for the output data buffer 0x9015 - error reading STRING - error writing current string len 0x9016 - error reading STRING - error writing max. string len 0x9017 - error reading STRING - error writing string to WinAC

Page 47: Anwenderdokumentation V 1.11 y Juni 2012 · Das im Treiber verwendete Konzept, um Hardware-Interrupts in die WinAC zu MSI - Message Signaled Interrupts Die SIMATIC PCIe DIO4 Baugruppe

8 Literaturhinweis

WinAC DIO4 Treiber V 1.11, Beitrags-ID: 63204530 47

Cop

yrig

ht

Sie

men

s A

G 2

012

All

right

s re

serv

ed

8 Literaturhinweis 8.1 Literaturangaben

Diese Liste ist keinesfalls vollständig und spiegelt nur eine Auswahl an geeigneter Literatur wieder. Tabelle 8-1

Themengebiet Titel

/1/ STEP7 Automatisieren mit STEP7 in AWL und SCL Hans Berger Publicis MCD Verlag ISBN 3-89578-113-4

/2/ WinAC Windows Automation Center RTX – WinAC RTX 2010 Betriebsanleitung

/3/

8.2 Internet-Link-Angaben

Diese Liste ist keinesfalls vollständig und spiegelt nur eine Auswahl an geeigneten Informationen wieder. Tabelle 8-2

Themengebiet Titel

\1\ Referenz auf den Beitrag

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

\2\ Siemens I IA/DT Customer Support

http://support.automation.siemens.com

\3\ WinAC RTX 2010 Betriebsanleitung

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

\4\

Page 48: Anwenderdokumentation V 1.11 y Juni 2012 · Das im Treiber verwendete Konzept, um Hardware-Interrupts in die WinAC zu MSI - Message Signaled Interrupts Die SIMATIC PCIe DIO4 Baugruppe

9 Historie

48 WinAC DIO4 Treiber

V 1.11, Beitrags-ID: 63204530

Cop

yrig

ht

Sie

men

s A

G 2

012

All

right

s re

serv

ed

9 Historie Tabelle 9-1 Versionsgeschichte

Version Datum Änderung

V0.95 09.08.2011 Erste Ausgabe für Vorabstand V1.00 15.09.2011 Anwendungsfall „Filtern Eingänge“ hinzugefügt

Zusätzliche Register-Werte in Instanz-DBs von READ_DI und WRIITE_DO Tiefere Erläuterungen der Interruptverarbeitung Konfigurations-Daten erläutert Zähler Daten erläutert (Lesen/Schreiben) Korrektur Ausgabe Dio4Scan Excel Tool für Register Konfiguration hinzugefügt Auflistung aller enthaltenen Dateien Formeln für PWM-Berechnung korrigiert Screenshots Windws7 ergänzt

V1.10 15.06.2012 Beispielprojekt für TIA Portal ergänzt Dokumentation angepasst

V1.11 11.12.2012 Kleinere Korrekturen