Übersicht

IPC Diagnose

Einführung und erste Schritte

New Automation Technology: Beckhoff IPC-Diagnose

  • Automatisierbarer Zugriff auf Systemdaten des Steuerungsrechners
  • Kritische Zustände des Steuerungsrechners rechtzeitig erkennen
  • Ungeplante Stillstandszeiten minimieren

Der Steuerungsrechner ist ein zentrales Element jeder Maschinensteuerung, dessen Ausfall hohe Stillstandskosten nach sich ziehen kann. Da verschiedene Parameter die Verfügbarkeit / Lebenserwartung dieser Komponente entscheidend beinflussen können, ist es wichtig, kritische Zustände frühzeitig zu erkennen - zum Beispiel einen drohenden Hitzekollaps duch den Ausfall eines Lüfters oder eine unzureichende passive Kühlung. Alle neueren Beckhoff IPCs bieten daher die Möglichkeit einer ausgefeilten Systemdiagnose im laufenden Betrieb, mit einem einheitlichen Zugriff auf die vorhandenen Hard- und Softwarekomponenten. Eine Liste der unterstützten Beckhoff IPCs folgt unten.

Die Beckhoff IPC-Diagnose ist weitgehend unabhängig vom Typ des eingesetzten Windows Betriebssystems, steht aber nur für Beckhoff IPCs zur Verfügung, da sie u.a. ein für diesen Zweck modifiziertes BIOS voraussetzt. Dabei wird sowohl ein lokaler Zugriff (im Steuerungsprogramm auf dem Gerät), als auch Remote-Zugriff von einem anderen Gerät auf das jeweilige Gerät unterstützt.

Die Funktionen der IPC-Diagnose können über verschiedene Schnittstellen in eigene Monitoring-Anwendungen integriert werden. Zusätzlich steht ein Webinterface zur Verfügung, mit dem alle Parameter des Beckhoff IPCs über einen Standard-Webbrowser ausgelesen werden können. Das Webinterface des IPCs ist über eine URL mit diesem Aufbau erreichbar: http://<IP des Gerätes>/UPnPWebsite.

Hinweis: Wie Sie die URL Ihres Beckhoff IPCs ermitteln, finden Sie in der Dokumentation des IPCs.

Beispiel:

Für einen Beckhoff Embedded PC der CX-Baureihe setzt sich die individuelle Geräte-URL zusammen aus "CX_" + die letzten 6 Stellen der MAC-ID des CX (diese finden Sie auf dem Produktaufkleber). Beispiel: "http://CX_05260B/UPnPWebsite":

Webinterface eines Beckhoff Embedded PCs Typ CX1020 mit der Mac-Adresse xx-xx-xx-05-26-0B

Systemvoraussetzungen

Die IPC-Diagnose ist Bestandteil der folgenden Beckhoff Standard-Images (und ist somit bei der Auslieferung bereits automatisch enthalten):

  • Windows CE 6.0 (Image Version 3.08 oder höher)
  • Windows XPe (Image Version 2.2 oder höher)
  • Windows Embedded Standard 7 (Image Version 3.0 oder höher)

Die IPC-Diagnose kann eine Vielzahl von Systemwerten liefern.

Die für den jeweiligen IPC zur Verfügung stehenden Funktionen hängen u.a. von der BIOS-Version des PCs und der Version der integrierten Onboard-IPC-Diagnosefunktion ab. Beispiel: Die CPU- oder Mainboard-Temperatur kann nur mit einem BIOS ermittelt werden, das diese Funktion auch unterstützt.

Anmerkung: Beckhoff Industrie-PCs einer gleichen Baureihe werden, je nach Leistungsklasse, mit unterschiedlichen Beckhoff IPC Mainboards ausgestattet(Ausnahme: Embedded PCs der CX-Baureihe). Die für die IPC-Diagnose zur Verfügung stehenden Funktionen hängen also vom integrierten Mainboard, und nicht dem IPC-Typ ab.

Hierzu eine generelle Übersicht:

IPC-Mainboard | Min. BIOS-Version | Min. IPC-Diagnose Version | Min. Beckhoff Automation Device Driver Version
CB1051 | Kein BIOS API verfügbar
CB1052 | 0.61 | 1.6.74 | 1.11.0.1
CB1056 | 0.09 | 1.6.74 | 1.11.0.1
CB2051 | Kein BIOS API verfügbar
CB3010 | Kein BIOS API verfügbar
CB3110 | Kein BIOS API verfügbar
CB3051 | Kein BIOS API verfügbar
CB3052 | 0.65 | 1.6.74 | 1.11.0.1
CB3053 | 0.45 | 1.6.74 | 1.11.0.1
CB3054 | 0.74 | 1.6.74 | 1.11.0.1
CB3056 | 1.07 | 1.6.74 | 1.11.0.1
CB5053 | 0.45 (nur ab Board-Revision 3 verfügbar) | 1.6.74 | 1.11.0.1
CBxx50 | Kein BIOS API verfügbar
CBxx51 | Kein BIOS API verfügbar
CBxx55 | 0.09 | 1.6.74 | 1.11.0.1
Embedded-PC | Min. BIOS-Version | Min. IPC-Diagnose Version | Min. Beckhoff Automation Device Driver Version
CX10x0 | Kein BIOS API verfügbar
CX20x0 | 1.04 | 1.6.74 | 1.11.0.1
CX50x0 | 0.45 | 1.6.74 | 1.11.0.1
CX80x0 | Kein BIOS API verfügbar
CX90xx | Kein BIOS API verfügbar


Hinweise zur Dokumentation

Diese Beschreibung wendet sich ausschließlich an ausgebildetes Fachpersonal der Steuerungs- und Automatisierungstechnik, das mit den geltenden nationalen Normen vertraut ist.
Zur Installation und Inbetriebnahme der Komponenten ist die Beachtung der nachfolgenden Hinweise und Erklärungen unbedingt notwendig.

Das Fachpersonal hat sicherzustellen, dass die Anwendung bzw. der Einsatz der beschriebenen Produkte alle Sicherheitsanforderungen, einschließlich sämtlicher anwendbaren Gesetze, Vorschriften, Bestimmungen und Normen erfüllt.

Disclaimer

Diese Dokumentation wurde sorgfältig erstellt. Die beschriebenen Produkte werden jedoch ständig weiter entwickelt.
Deshalb ist die Dokumentation nicht in jedem Fall vollständig auf die Übereinstimmung mit den beschriebenen Leistungsdaten, Normen oder sonstigen Merkmalen geprüft.
Falls sie technische oder redaktionelle Fehler enthält, behalten wir uns das Recht vor, Änderungen jederzeit und ohne Ankündigung vorzunehmen.
Aus den Angaben, Abbildungen und Beschreibungen in dieser Dokumentation können keine Ansprüche auf Änderung bereits gelieferter Produkte geltend gemacht werden.

Marken

Beckhoff®, TwinCAT®, EtherCAT®, Safety over EtherCAT®, TwinSAFE® und XFC® sind eingetragene und lizenzierte Marken der Beckhoff Automation GmbH.
Die Verwendung anderer in dieser Dokumentation enthaltenen Marken oder Kennzeichen durch Dritte kann zu einer Verletzung von Rechten der Inhaber der entsprechenden Bezeichnungen führen.

Patente

Die TwinCAT Technologie ist patentrechtlich geschützt, insbesondere durch folgende Anmeldungen und Patente:
EP0851348, US6167425 mit den entsprechenden Anmeldungen und Eintragungen in verschiedenen anderen Ländern.

Copyright

© Beckhoff Automation GmbH.
Weitergabe sowie Vervielfältigung dieses Dokuments, Verwertung und Mitteilung seines Inhalts sind verboten, soweit nicht ausdrücklich gestattet.
Zuwiderhandlungen verpflichten zu Schadenersatz. Alle Rechte für den Fall der Patent-, Gebrauchsmuster- oder Geschmacksmustereintragung vorbehalten.


Übersicht

IPC Diagnose - API

Die folgende Tabelle und Grafik gibt einen Überblick über die derzeit implementierten Schnittstellen.

Schnittstelle | Schnittstellen-Typ | Lokal / Remote Zugriff | Beschreibung
ADS | Programmierschnittstelle | Ja / Ja | Über das eigene Beckhoff-Kommunikationsprotokoll kann ein Zugriff auf die IPC-Diagnose erfolgen.
SPS-Bibliothek | Programmierschnittstelle | Ja / Ja | TwinCAT Funktionsbausteine, welche in Form einer SPS-Bibliothek ausgeliefert werden, bieten die Möglichkeit auf Features der IPC-Diagnose zuzugreifen.
OPC-UA | Kommunikationsschnittstelle | Ja / Ja | OPC-UA ist das weltweit standardisierte Kommunikationsprotokoll aus der Automatisierungsindustrie. Die IPC-Diagnose bietet über einen integrierten OPC-UA Server die Möglichkeit, über dieses Protokoll auf dessen Features zuzugreifen.
Webseite | Visualisierungsschnittstelle | Ja / Ja | Die sogenannte UPnP-Webseite ermöglicht einen Web-Zugriff auf die Features der IPC-Diagnose.
C++ API | Programmierschnittstelle | Ja / Nein | Die C++ API gibt Programmieren die Möglichkeit, aus eigenen C++ Programmen auf die Features der IPC-Diagnose zuzugreifen.
.NET API | Programmierschnittstelle | Ja / Nein | Die .NET API gibt Programmieren die Möglichkeit, aus eigenen .NET Programmen auf die Features der IPC-Diagnose zuzugreifen.

Sämtliche Statusinformationen zur vorhandenen Hard- und Software ist in sogenannte "Module" kategorisiert. So existiert zum Beispiel ein Modul "CPU", welches Statusinformationen zur aktuellen CPU-Temperatur, CPU-Auslastung, etc., bietet. Eine Liste aller verfügbaren Module und der entsprechend dort verfügbaren Werte wird automatisch je nach den jeweils vorhandenen Komponenten in einem IPC oder Embedded-PC generiert. Eine genauere Beschreibung dieser Modularisierung bietet unser Artikel über das IPC-Diagnose Informationsmodell.

Übersicht

BECKHOFF stellt aktuell folgende MDP APIs bereit:

MDP C Import dll

MDP .NET Api

Download MDP API 1.3.40

MDP über ADS

Die Möglichkeit auf MDP Informationen über ADS Kommunikation zuzugreifen wird hier beschrieben.

MDP mittels PLC Library

Es ist eine Beckhoff TwinCAT PLC Bibliothek verfügbar, um auf MDP Informationen zuzugreifen.


Informationsmodell

Das MDP (Modular Device Profile) stellt ein Informationsmodell dar, bei dem Hardware- und Software-Komponenten als Module repräsentiert werden. Module können hierbei Komponenten wie z.B. eine Netzwerkkarte (NIC) oder eine CPU sein, aber auch Softwarekomponenten wie das TwinCAT System werden im MDP abgebildet.

  • Ein Modul definiert sich als eine Summe von Tabellen.
  • Jede Tabelle kann mittels des 16Bit Index eindeutig angesprochen werden.
  • Ein bestimmter Eintrag in der Tabelle wird mit einem 8 Bit SubIndex adressiert.

Indexbereiche

Analog zur 'Module Device Profile Specification for EtherCAT' ist das MDP ebenfalls in verschiedene Indexbereiche unterteilt :

Index | Name | Bedeutung
0x1nnX | General Area | Hier sind Geräteinformationen abgelegt.
0x8nnX | Configuration Area | Hier sind Konfigurationsdaten der Module abgelegt
0xBnnX | ServiceTransfer Area | Hier können Trigger für Funktionsaufrufe hinterlegt werden.
0xFnnX | Device Area. | Hier werden globale Konfigurationsdaten gespeichert.

Jedes Modul hat eine dynamisch erstellte und somit eindeutig zugeordnete Modul ID von 0x00 bis 0xFF, so wie einen eindeutigen Modul Typ.

Zusammensetzen eines MDP Index

0x | A | nn | X
 | 4Bit Area Code | 8Bit dynamisch erstellte Modul ID | 4Bit Tabellen ID Abhängig vom Typ des Moduls - siehe Spezifikation der Modul Definitionen

Bei der Adressierung über ADS wird eine komplette MDP Adresse verwendet. Der Index ist Bestandteil dieser Adresse.

Beispiel:

In diesem Beispiel wird das NIC Modul adressiert, um die IP Adresse der Netzwerkkarte auszulesen.

In der Tabelle 0xF020 der Device Area kann eine Liste aller dynamisch erstellten Module abgefragt werden.

Der Rückgabewert besteht je Modul aus dem Modultypen im High Word und der dynamisch erstellten Modul ID im Low Word.

Der Inhalt der Tabelle könnte z.B. wie folgt aussehen:

SubIndex | Wert | Bedeutung
0 | 5 | Anzahl der Einträge in der Tabelle
1 | 0x000C 0000 | Memory Modul
2 | 0x000B 0001 | CPU Modul (Kern #1)
3 | 0x000B 0002 | CPU Modul (Kern #2)
4 | 0x0002 0003 | NIC Modul

Der Rückgabewert an SubIndex vier besteht aus dem gesuchten Modultypen (NIC = 0x02) im High Word und der dynamischen Modul ID (0x03) im Low Word.

Der komplette Index setzt sich nun gemäß des oben genannten Schemas wie folgt zusammen:

0x | A | nn | X
0x | 8 | 03 | 0
 | 4Bit Area Code (Configuration Area) | 8Bit dynamisch erstellte Modul ID (Subindex 4-1) | 4Bit Tabellen ID (0 = Module Header)

Die Konfigurationsdaten des NIC Moduls sind also an Adresse 0x8030 hinterlegt. Die Definition der für die NIC angelegten Tabellen kann der jeweiligen Spezifikation entnommen werden.

Spezifikation des NIC Moduls

Gemäß Spezifikation kann am SubIndex 3 der Name der NIC ausgelesen werden.

Um die IP Adresse auszulesen ist ein Zugriff auf Tabelle "0x8nn1" notwenig. Der Index der gewünschten Tabelle ist also 0x8031 und der SubIndex 2.


Datentypen Übersicht

IPC Diagnose

Übersicht der Datentypen

Die MDP Informationen sind in Module unterteilt, welche verschiedene Elemente beinhalten. Die Elemente können unterschiedliche Datentypen haben.

Datentyp | Beschreibung
BOOLEAN | 8 Bit boolscher Wert. 1=true, 0= false
SIGNED8 | 8 Bit signed Integer
SIGNED16 | 16 Bit signed Integer
SIGNED32 | 32 Bit signed Integer
UNSIGNED8 | 8 Bit unsigned Integer
UNSIGNED16 | 16 Bit unsigned Integer
UNSIGNED32 | 32 Bit unsigned Integer
UNSIGNED64 | 64 Bit unsigned Integer
REAL32 | 32 Bit Fließkomma-Wert
VISIBLE STRING | ASCII String, variable Länge, nicht Null-terminiert


0x1000-0x1FFF – General Area

0x1000

SubIndex | Typ | Name | Typ | Zugriff
00 | VAR | Device Typ (MDP ProfileID(0x1389) & SubProfileID(0x2710)) | DWORD32 | read-only

0x1008

SubIndex | Typ | Name | Typ | Zugriff
00 | VAR | Device Name | VISIBLE STRING | read-write

Must be a valid name or write will be aborted with 0xECA60106 (Invalid data)

Valid names must

  • conform to RFC952/ 1123
  • not contain any of the following Beckhoff reserved prefixes:
    • CX- or CX_
    • CP- or CP_
    • EK-
    • AX-

0x1009

SubIndex | Typ | Name | Typ | Zugriff
00 | VAR | Hardware Version | VISIBLE STRING | constant

0x100A

SubIndex | Typ | Name | Typ | Zugriff
00 | VAR | OS and Image Version | VISIBLE STRING | constant

0x1018 - Identity Object

SubIndex | Typ | Name | Typ | Zugriff
00 | VAR | Len | UNSIGNED16 | read-only
01 | VAR | Vendor | UNSIGNED32 | constant
02 | VAR | Product Code (not yet supported) | UNSIGNED32 | constant
03 | VAR | Revision Number (not yet supported) | UNSIGNED32 | constant
04 | VAR | Serial Number | UNSIGNED32 | constant


0x8000-0x8FFF – Configuration Area

Die Konfigurations-Area ermöglicht Lese- und Schreibzugriff auf Konfigurationsdaten der vorhandenen MDP Module.

Die Modulliste enthält alle verfügbaren Module. In deren Kapiteln werden die vorhandenen Daten als Elemente von Tabellen dargestellt. Für jede Tabelle gibt es einen eindeutigen MDP Index (siehe Informationsmodell).


0xB000-0xBFFF – ServiceTransfer Area

Die ServiceTransfer Area bietet funktionellen Zugriff. Die Handhabung ist deshalb anders als bei Daten aus der Configuration Area. Eine Operation wird gestartet und asynchron bearbeitet.

Die Modulbeschreibungen beinhalten Tabellen zur ServiceTransfer Area. Eine Operation kann Eingabeparameter beinhalten welche in einer InputData Tabelle dargestellt sind und Ausgangsparameter, welche in einer OutputData Tabelle dargestellt sind.

Für alle Indizes der ServiceTransfer Area gilt:

SubIndex | Name | Zugriff
00 | Len (always = 4) | Read only
01 | Trigger / Write Data | Write only
02 | Operation status | Read only
03 | Operation status and read data | Read only

SubIndex 01

Durch Schreiben der Eingabeparameter wird die Aktion ausgelöst. Dazu wird der SubIndex 01 verwendet und alle Variablen als ein Datenblock angegeben.

SubIndex 02

Wurde eine Operation gestartet kann mit dem SubIndex 02 deren Status abgefragt werden.

Status value [BYTE] | Beschreibung
0 | No error; No data available
1 | No error; Data available
2 | error; No data available
3 | error; data available (4 byte MDP error code)
100 ... 200 | Busy; 0% ... 100%
255 | Busy; No percentage

SubIndex 03

Sobald die Aktion abgeschlossen ist, sind die Rückgabedaten verfügbar und können abgefragt werden. Dazu wird der SubIndex 03 verwendet. Alle Informationen werden in einem Datenblock empfangen und entsprechen der Struktur in der OutputData Tabelle.
Neben den gelesenen Daten wird auch der Status der Operation ausgegeben. Dieser entspricht der obigen Darstellung.
Layout:

BYTE  status
BYTE  padding
VOID  Nutzdaten (Optional)


0xF000-0xFFFF – Device Area

0xF000
SubIndex | type | name | value | type | Access
00 | VAR | Len | 4 | UNSIGNED16 | read-only
01 | VAR | Object interval | 16 | UNSIGNED32 | read-only
02 | VAR | Max Modules | 0xFF | UNSIGNED32 | read-only
03 | VAR |  | 0 | UNSIGNED32 | read-only
04 | VAR |  | 0xF | UNSIGNED32 | read-only
0xF010 – Modultypen Liste
SubIndex | type | name | type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01 .. Len | VAR | MDPSubProfile Id and Module Type | UNSIGNED32 | read-only

Flache Liste der Modultypen der instanziierten Module. Der Modultyp ist im LowWord gespeichert und im HighWord findet sich die MDPSubProfile Id.

Anhand des SubIndex lässt sich die dynamisch erstellte Modul ID eines Modules bestimmen.

Beispiel:

SubIndex: 0x04 MDPSubProfile Id and Module type: 0x2710 0002

An SubIndex 0x04 ist der Modultyp 0x02 gespeichert: Es handelt sich um eine Instanz des NIC Moduls; die dynamisch erstellte Modul ID ist 0x03 (SubIndex - 1).

Die Konfigurationsdaten finden sich demnach an der Adresse 0x8030.

0xF020 – Modul ID Liste
SubIndex | type | name | type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01 .. Len | VAR | Module type and ID | UNSIGNED32 | read-only

Der Modultyp ist im HighWord gespeichert und im LowWord findet sich die dynamisch zugewiesene Modul ID.

Anhand des Modultypen im HighWord wird die Art des Moduls festgestellt. Die Modul ID ist eine laufende Nummer die für jedes Objekt vergeben wird. Sie entspricht den Variablen ‚nn’ im Index.

Beispiel:

Module type and ID: 0x0002 0003

Es handelt sich um den Modultyp 0x02: NIC Modul
Die Modul ID ist 3, das Objekt ist an index 0x8030 beschrieben

0xF060 – Modul Namen Liste
SubIndex | type | name | type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01 .. Len | VAR | Module name | VIS-STRING | read-only

Liste der Namen aller instanziierten Module. Der Modulname ist eindeutig. So kann ein Modul bei dynamisch geändertem Index immer eindeutig identifiziert werden.


Typübersicht Module

IPC Diagnose

Übersicht der Modultypen

Typnummer | Modul
0x0002 | NIC
0x0003 | Time
0x0004 | User Management
0x0005 | RAS
0x0006 | FTP
0x0007 | SMB
0x0008 | TwinCAT
0x0009 | Datastore
0x000A | Software
0x000B | CPU
0x000C | Memory
0x000E | Firewall WinCE
0x0010 | File System Object
0x0013 | Display Device
0x0014 | EWF
0x0015 | FBWF
0x0017 | Silicon Drive
0x0018 | OS
0x0019 | RAID
0x001A | Cx9Flash
0x001B | Fan
0x001C | Mainboard
0x001D | Disk Management
0x001E | UPS
0x0100 | Misc

In den folgenden Kapiteln werden die einzelnen Module erläutert. Jedes Modul kann Zugriffsmöglichkeiten unterschiedlicher MDP Areas beinhalten.


NIC

0x8nn0 - Module Header
SubIndex | Type | Name | Value | Type | Access
00 | VAR | Len |  | UNSIGNED16 | read-only
01 | VAR | Address | 0x0002 00nn | UNSIGNED32 | read-only
02 | VAR | Type | NIC | VISIBLE STRING | read-only
03 | VAR | Name | Adapter Name | VISIBLE STRING | read-only
04 | VAR | Dev Type | 0x0002 2710 | UNSIGNED32 | read-only
0x8nn1 - NIC Properties
SubIndex | Type | Name | Type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01 | VAR | MAC Address | VISIBLE STRING | constant
02 | VAR | IPv4 Address1 | VISIBLE STRING | read-write
03 | VAR | IPv4 Subnet Mask1 | VISIBLE STRING | read-write
04 | VAR | DHCP | BOOLEAN | read-write
05 | VAR | IPv4 Default Gateway1,2 | VISIBLE STRING | read-write

1 This is the value currently active in the system. Under WinCE, if you write a new value, it will not neccesarily be immediately applied without a reboot. Until a reboot occured the previous (active) value will be returned for subsequent reads.

2 Under WinCE: A read operation will return either the "DefaultGateway" or the "DhcpDefaultGateway" depending on DHCP state. A write operation will return "Invalid access" if DHCP is enabled.

0xBnn0 – IP Release/Renew Address (Service Transfer Object)
InputData
Type | Name
UNSIGNED8 | DummyByte


Time

0x8nn0
SubIndex | Type | Name | Value | Type | Access
00 | VAR | Len |  | UNSIGNED16 | read-only
01 | VAR | Address | 0x0003 00nn | UNSIGNED32 | read-only
02 | VAR | Type | Time | VISIBLE STRING | read-only
03 | VAR | Name | Time | VISIBLE STRING | read-only
04 | VAR | Dev Type | 0x0003 2710 | UNSIGNED32 | read-only
0x8nn1
SubIndex | Type | Name | Type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01 VAR SNTP Server:
  • Name or Ip Address of the timeserver
  • Empty string = No synchronisation
  • "NT5DS" = Use domain hierarchy settings (Win32 only)
VISIBLE STRING read-write
02 VAR SNTP Refresh in Seconds
On WindowsCE lowest allowed value is 5 Seconds. 		UNSIGNED32 read-write
03 | VAR | Seconds since midnight January 1, 1970 (UTC) | UNSIGNED32 | read-write
04 VAR Textual DateTime presentation (ISO 8601)

YYYY-MM-DDThh:mm:ss.sTZD

VISIBLE STRING read-write
05 VAR

Timezone.

Zero based index of currently active timezone as listed in object 0x8nn2.

Sub indizes in Oject 0x8nn2 are one based. To lookup timezone information you need to query sub idx @ "this value"+1

UNSIGNED16 read-write
1SNTP Server and SNTP Refresh
MDP 1.6 (and earlier) | You must reboot the computer for the changes to take effect.
MDP 1.7 (and later) | Changing the value will restart the timeserver to immediately apply values
0x8nn2 - Timezones
SubIndex | Type | Name | Type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01 .. Len | VAR | Timezone1 .. Len | VISIBLE STRING | read-only


Benutzermanagement

0x8nn0
SubIndex | Type | Name | Value | Type | Access
00 | VAR | Len |  | UNSIGNED16 | read-only
01 | VAR | Address | 0x0004 00nn | UNSIGNED32 | read-only
02 | VAR | Type | User Management | VISIBLE STRING | read-only
03 | VAR | Name | User Management | VISIBLE STRING | read-only
04 | VAR | Dev Type | 0x0004 2710 | UNSIGNED32 | read-only
0x8nn1 – User Name

Liste der lokalen Benutzer (ohne Domänen-Benutzer)

SubIndex | Type | Name | Type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01 .. Len | VAR | name1 .. Len | VISIBLE STRING | read-only
0x8nn2 – Domain

Liste der Domänen-Namen für die Benutzer aus Tabelle 0x8nn1

SubIndex | Type | Name | Type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01 .. Len | VAR | name1 .. Len | VISIBLE STRING | read-only
0x8nn3 – Group Membership *

Komma getrennte Liste von Gruppen zu denen der User aus Liste 0x8nn1 gehört.

SubIndex | Type | Name | Type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01 .. Len | VAR | GroupList 1 .. Len | s | read-only
0x8nn4 – Local Groups *

Liste aller lokalen Gruppen

SubIndex | Type | Name | Type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01 .. Len | VAR | GroupList 1 .. Len | VISIBLE STRING | read-only
0xBnn0 – Add User (Service Transfer Object)
InputData
Typ | Name
UNSIGNED32 | cbInputData
UNSIGNED32 | NameLen
UNSIGNED32 | Domain Len
UNSIGNED32 | Password Len
char[Name Len] | szName
char[DomainLen] | szDomain
char[Password Len] | szPassword

No output data

0xBnn1 – Delete User (Service Transfer Object)
InputData
Typ | Name
UNSIGNED32 | cbInputData
UNSIGNED32 | NameLen
UNSIGNED32 | Domain Len
char[NameLen] | szName
char[Domain Len] | szDomain

No output data

0xBnn2 – SetPassword (Service Transfer Object)
InputData
Typ | Name
UNSIGNED32 | cbInputData
UNSIGNED32 | NameLen
UNSIGNED32 | Domain Len
UNSIGNED32 | Password Len
char[NameLen] | szName
char[Domain Len] | szDomain
char[Password Len] | szPassword

No output data

0xBnn3 – Set Group Membership (Service Transfer Object) *
InputData
Typ | Name
UNSIGNED32 | cbInputData
UNSIGNED32 | UserNameLen
UNSIGNED32 | GroupNameLen
UNSIGNED32 | DomainNameLen
BOOLEAN | IsMemberOfGroup
char[NameLen] | szUserName
char[Group Len] | szGroupName
char[Domain Len] | szDomainName

No output data

0xBnn4 – Create Group (Service Transfer Object) *
InputData
Typ | Name
UNSIGNED32 | cbInputData
UNSIGNED32 | GroupNameLen
UNSIGNED32 | DomainNameLen
char[NameLen] | szGroupName
char[Domain Len] | szDomainName

No output data

0xBnn5 – Delete Group (Service Transfer Object) *
InputData
Typ | Name
UNSIGNED32 | cbInputData
UNSIGNED32 | GroupNameLen
UNSIGNED32 | DomainNameLen
char[NameLen] | szGroupName
char[Domain Len] | szDomainName

No output data

* Verfügbar in MDP 1.0.5.x


RAS

Dieses Modul ist für Windows CE verfügbar.

0x8nn0
SubIndex | Type | Name | Value | Type | Access
00 | VAR | Len |  | UNSIGNED16 | read-only
01 | VAR | Address | 0x0005 00nn | UNSIGNED32 | read-only
02 | VAR | Type | RAS | VISIBLE STRING | read-only
03 | VAR | Name | RAS | VISIBLE STRING | read-only
04 | VAR | Dev Type | 0x0005 2710 | UNSIGNED32 | read-only
0x8nn1 - Misc
SubIndex | Type | Name | Type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01 | VAR | Enable | BOOLEAN | read-write
02 | VAR | Slow Connection | BOOLEAN | read-write
03 | VAR | Use DHCP | BOOLEAN | read-write
03 | VAR | Use Auto Addresses | BOOLEAN | read-write
04 | VAR | Static Ip Count | UNSIGNED32 | read-write
05 | VAR | Static Ip Start | VISIBLE STRING | read-write
0x8nn2 - Line Names
SubIndex | Type | Name | Type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01 .. Len | VAR | Line 1 .. Len | VISIBLE STRING | read-only
0x8nn3 - Line Enabled
SubIndex | Type | Name | Type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01 .. Len | VAR | Enabled 1 .. Len | BOOLEAN | read-write
0x8nn4 - Userlist
SubIndex | Type | Name | Type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01 .. Len | VAR | Username 1 .. Len | VISIBLE STRING | read-only
0xBnn0 – Add User
InputData
Typ | Name
UNSIGNED32 | cbUserName
VISIBLE STRING | UserName
0xBnn1 – Delete User
InputData
Typ | Name
UNSIGNED32 | cbUserName
VISIBLE STRING | UserName


FTP

Modul zur Konfiguration des Windows CE FTP Servers.

Dieses Modul ist für Windows CE verfügbar.

0x8nn0
SubIndex | Type | Name | Value | Type | Access
00 | VAR | Len |  | UNSIGNED16 | read-only
01 | VAR | Address | 0x0006 00nn | UNSIGNED32 | read-only
02 | VAR | Type | FTP | VISIBLE STRING | read-only
03 | VAR | Name | FTP | VISIBLE STRING | read-only
04 | VAR | Dev Type | 0x0006 2710 | UNSIGNED32 | read-only
0x8nn1
SubIndex | Type | Name | Type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01 | VAR | Active | BOOLEAN | read-write
02 | VAR | Allow Anonymous | BOOLEAN | read-write
03 | VAR | Allow Anonymous Upload | BOOLEAN | read-write
04 | VAR | Anonymous Vroots | BOOLEAN | read-write
05 | VAR | Use Authentication | BOOLEAN | read-write
06 | VAR | Default Directory | VISIBLE STRING | read-write
0x8nn2
SubIndex | Type | Name | Type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01 .. Len | VAR | Username | VISIBLE STRING | read-only
0xBnn0 – Add User

Service Transfer zum Berechtigen eines NTLM Users. Der NTLM User muss lokal existieren. Neue Benutzer können mithilfe des UserManagement Modul erstellt werden

InputData
Type | Name
UNSIGNED32 | cbUsername
VIS-STRING | Username
0xBnn1 – Delete User
InputData
Type | Name
UNSIGNED32 | cbUsername
VIS-STRING | Username


SMB Server

0x8nn0
SubIndex | Type | Name | Value | Type | Access
00 | VAR | Len |  | UNSIGNED16 | read-only
01 | VAR | Address | 0x0007 00nn | UNSIGNED32 | read-only
02 | VAR | Type | SMB Server | VISIBLE STRING | read-only
03 | VAR | Name | SMB Server | VISIBLE STRING | read-only
04 | VAR | Dev type | 0x0007 2710 | UNSIGNED32 | read-only
0x8nn1 - SMB Share Names
SubIndex | Type | Name | Type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01 .. Len | VAR | name 1 .. Len | VISIBLE STRING | read-only
0x8nn2- SMB Path Names
SubIndex | Type | Name | Type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01 .. Len | VAR | Path 1 .. Len | VISIBLE STRING | read-only
0x8nn3- Userlist
SubIndex | Type | Name | Type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01 .. Len | VAR | Username 1 .. Len | VISIBLE STRING | read-only
0x8nn4- Access rights
SubIndex | Type | Name | Type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01 .. Len | VAR | Access right 1 .. Len | VISIBLE STRING | read-only
Access rights:

The users access rights are described as UNSIGNED32 and will be appended to the VISIBLE STRING.

USER_DELETE 0 // deletes the specified user from the ACL
SHARE_READ 10 // grant read Access
SHARE_CHANGE 20 // grant change Access
SHARE_FULL -1 // grant full Access

Under WinCE only USER_DELETE and SHARE_FULL Access may be set.

0xBnn0 – Add Share (Service Transfer Object)
InputData
Type | Name
UNSIGNED32 | cbInputData
UNSIGNED32 | NameLen
UNSIGNED32 | PathLen
char[NameLen] | szName
char[PathLen] | szPath
0xBnn1 – Del Share (Service Transfer Object)
InputData
Type | Name
UNSIGNED32 | NameLen
Char[NameLen] | ShareName
0xBnn2 – Set user Access rights (Service Transfer Object)
InputData
Type | Name
UNSIGNED32 | ShareNameLen
UNSIGNED32 | UserNameLen
UNSIGNED32 | AccessRights
Char[NameLen] | ShareName
Char[NameLen] | UserName


TwinCAT

0x8nn0
SubIndex | Type | Name | Value | Type | Access
00 | VAR | Len |  | UNSIGNED16 | read-only
01 | VAR | Address | 0x0008 00nn | UNSIGNED32 | read-only
02 | VAR | Type | TwinCAT | VISIBLE STRING | read-only
03 | VAR | Name | TwinCAT | VISIBLE STRING | read-only
04 | VAR | Dev Type | 0x0008 2710 | UNSIGNED32 | read-only
0x8nn1 – Tc Misc
SubIndex | Type | Name | Type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01 | VAR | Major Version | UNSIGNED16 | read-only
02 | VAR | Minor Version | UNSIGNED16 | read-only
03 | VAR | Build | UNSIGNED16 | read-only
04 | VAR | Ams Net ID1 | VISIBLE STRING | read-write*
05 | VAR | Reg Level2 | UNSIGNED32 | read-only
06 | VAR | TwinCAT Status | UNSIGNED16 | read-only
07 | VAR | RunAsDevice (verfügbar für WindowsCE) | UNSIGNED16 | read-write
08 | VAR | ShowTargetVisu (verfügbar für WindowsCE) | UNSIGNED16 | read-write
09 | VAR | Log File size (verfügbar für WindowsCE) | UNSIGNED32 | read-write
10 | VAR | Log File Path (verfügbar für WindowsCE) | VISIBLE STRING | read-write
11 | VAR | TwinCAT System ID3 | VISIBLE STRING | read-only
1Ams Net ID Info
Es ist ein Neustart des Computers erforderlich um die Änderungen der NetID durchzuführen
2Reg Level Info
Reg Level 0 = CP
 Reg Level 1 = I/O
 Reg Level 2 = PLC
 Reg Level 3 = NC-PTP
 Reg Level 4 = NCI
3TwinCAT System ID Info
Systemvoraussetzung:
MDP Version 1.6 oder höher
0x8nn2 - TwinCAT Route Name
SubIndex | Type | Name | Type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01 .. Len | VAR | name1 .. Len | VISIBLE STRING | read-only
0x8nn3 - TwinCAT Route Addresse
SubIndex | Type | Name | Type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01 .. Len | VAR | Address1 .. Len | VISIBLE STRING | read-only
0x8nn4 - TwinCAT Route AMS Address
SubIndex | Type | Name | Type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01 .. Len | VAR | AMS1 .. Len | VISIBLE STRING | read-only
0x8nn5 - TwinCAT Route Flags
SubIndex | Type | Name | Type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01 .. Len | VAR | Flags1 .. Len | UNSIGNED32 | read-only
0x8nn6 - TwinCAT Route Timeout
SubIndex | Type | Name | Type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01 .. Len | VAR | Timeout1 .. Len | UNSIGNED32 | read-only
0x8nn7 - TwinCAT Route Transport
SubIndex | Type | Name | Type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01 .. Len | VAR | Transport1 .. Len | UNSIGNED16 | read-only
Transport Info
Der Typ E_RouteTransportType ist im Beckhoff Information System dokumentiert
0x8nn8 - TwinCAT Logfile
SubIndex | Type | Name | Type | Access
00 | VAR | Logfile | VISIBLE STRING | read-only
0xBnn0 - TwinCAT Add Route (Service Transfer Object)
InputData
Type | Name
UNSIGNED32 | cbInputData
UNSIGNED32 | Flags
UNSIGNED32 | Timeout
UNSIGNED16 | Transport
BYTE[6] | NetId
UNSIGNED32 | Name Len
UNSIGNED32 | Address Len
char[name Len] | szName
char[Adresse Len] | szAddress
Transport Info
Der Typ E_RouteTransportType ist im Beckhoff Information System dokumentiert
0xBnn1 - TwinCAT Del Route (Service Transfer Object)
InputData
Type | Name
UNSIGNED32 | NameLen
char[nameLen] | szName


Data Store

Das Data Store Modul kann benutzt werden um Konfigurationsdaten auf dem Gerät zu speichern.

Die Daten werden in xml Konfigurationsdateien im Verzeichnis %TwinCAT%\Datastore gespeichert.

Standardmässig stehen zwei Instanzen zur Verfügung: “System” und “User”.

Um weitere Instanzen zu erzeugen erstellen Sie die Datei “Name.xml” unter \Hard Disk\BkIpcDiag\DataStore (CE) oder unter %IPC_DIAG_PATH%\DataStore (Win32)

0x8nn0
SubIndex | Type | Name | Value | Type | Access
00 | VAR | Len |  | UNSIGNED16 | read-only
01 | VAR | Address | 0x0009 00nn | UNSIGNED32 | read-only
02 | VAR | Type | DataStore | VISIBLE STRING | read-only
03 | VAR | Name |  | VISIBLE STRING | read-only
04 | VAR | Dev type | 0x0009 2710 | UNSIGNED32 | read-only
0xBnn0 - Browse (Service Transfer Object)
InputData
Type | Name
UNSIGNED32 | pathLen
UNSIGNED32 | hContinue
UNSIGNED32 | dwMaxReadLen
UNSIGNED32 | pathLen
char[pathLen] | szPath

OutputData
Type | Name
UNSIGNED32 | nVersion
UNSIGNED32 | cbData
UNSIGNED32 | hContinue
UNSIGNED32 | cItems
UNSIGNED32 | dwMaxReadLen
UNSIGNED32 | nOffsFirstItem

struct _TItem
{
UNSIGNED32      cchItem;
UNSIGNED32      chValue;
BOOLEAN         sSubitems;
UNSIGNED32
    nOffsNextItem;
//char[cchItem] szItem
//char[cchValue] szValue
}

0xBnn1 - Add Item (Service Transfer Object)
InputData
Type | Name
UNSIGNED32 | cbData
UNSIGNED32 | PathLen
UNSIGNED32 | ValueLen
char[PathLen] | szPath
BYTE[ValueLen] | pValue
0xBnn2 - Del Item (Service Transfer Object)
InputData
Type | Name
UNSIGNED32 | PathLen
char[PathLen] | szPath


SwVersions 0x8nn0

IPC Diagnose

Softwareversionen

0x8nn0
SubIndex | Type | Name | Value | Type | Access
00 | VAR | Len |  | UNSIGNED16 | read-only
01 | VAR | Address | 0x000A 00nn | UNSIGNED32 | read-only
02 | VAR | Type | Software | VISIBLE STRING | read-only
03 | VAR | Name | Software | VISIBLE STRING | read-only
04 | VAR | Dev Type | 0x000A 2710 | UNSIGNED32 | read-only
0x8nn1
SubIndex | Type | Name | Type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01 .. Len | VAR | Name 1 .. Len | VISIBLE STRING | read-only
0x8nn2
SubIndex | Type | Name | Type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01 .. Len | VAR | Company 1 .. Len | VISIBLE STRING | read-only
0x8nn3
SubIndex | Type | Name | Type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01 .. Len | VAR | Date 1 .. Len | VISIBLE STRING | read-only
0x8nn4
SubIndex | Type | Name | Type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01 .. Len | VAR | Version 1 .. Len | VISIBLE STRING | read-only


CPU

Dieses Modul stellt CPU Informationen dar.

0x8nn0 - Module Header
SubIndex | Type | Name | Value | Type | Access
00 | VAR | Len |  | UNSIGNED16 | read-only
01 | VAR | Address | 0x000B 00nn | UNSIGNED32 | read-only
02 | VAR | Type | CPU | VISIBLE STRING | read-only
03 | VAR | Name | CPU | VISIBLE STRING | read-only
04 | VAR | Dev Type | 0x000B 2710 | UNSIGNED32 | read-only
0x8nn1 - CPU Properties
SubIndex | Type | Name | Type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01 | VAR | CPU Frequency | UNSIGNED32 | constant
02 | VAR | Current CPU Usage (%) | UNSIGNED16 | read-only
03 | VAR | Current CPU Temperature (°C)1 | SIGNED16 | read-only
1Current CPU Temperature Info

Wird nicht von allen Geräten unterstützt.

Systemvoraussetzung Windows Embedded Standard (WES):

MDP Version 1.5.45 oder höher

Systemvoraussetzung WinCE:

MDP Version 1.6 oder höher


Memory

0x8nn0
SubIndex | Type | Name | Value | Type | Access
00 | VAR | Len |  | UNSIGNED16 | read-only
01 | VAR | Address | 0x000C 00nn | UNSIGNED32 | read-only
02 | VAR | Type | Memory | VISIBLE STRING | read-only
03 | VAR | Name | Memory | VISIBLE STRING | read-only
04 | VAR | Dev Type | 0x000C 2710 | UNSIGNED32 | read-only
0x8nn1
SubIndex | Type | Name | Type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01 | VAR | Program Memory Allocated | UNSIGNED32 | read-only
02 | VAR | Program Memory Available | UNSIGNED32 | read-only
03 | VAR | Storage Memory Allocated (verfügbar für WindowsCE) | UNSIGNED32 | read-only
04 | VAR | Storage Memory Available (verfügbar für WindowsCE) | UNSIGNED32 | read-only
05 | VAR | Memory Division (verfügbar für WindowsCE) | UNSIGNED32 | read-write


Firewall CE

IPC Diagnose

Firewall WinCE

Modul zur Konfiguration der Windows CE Firewall

Dieses Modul ist für Windows CE verfügbar.

Die Tabelle 0x8nn1 enthält Allgemeine Firewall Einstellungen; die Tabellen ab 0x8nn2 beschreiben die Regeln der Firewall

0x8nn0
SubIndex | Type | Name | Value | Type | Access
00 | VAR | Len |  | UNSIGNED16 | read-only
01 | VAR | Address | 0x000E 00nn | UNSIGNED32 | read-only
02 | VAR | Type | Firewall CE | VISIBLE STRING | read-only
03 | VAR | Name | Firewall CE | VISIBLE STRING | read-only
04 | VAR | Dev Type | 0x000E 2710 | UNSIGNED32 | read-only
0x8nn1 – Firewall Settings
SubIndex | Type | Name | Type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01 | VAR | IPv4 aktivieren | BOOLEAN | read-write
02 | VAR | IPv6 aktivieren | BOOLEAN | read-write
03 | VAR | Persist | BOOLEAN | read-write
0x8nn2 – Flags
SubIndex | Type | Name | Type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01 .. Len | VAR | Flags1 .. Len | ENUM | read-only

FWF_BLOCK = 01
FWF_ALLOW = 02
FWF_LOG = 04
FWF_INBOUND = 08
FWF_OUTBOUND = 16
FWF_DISABLED = 20

0x8nn3 – Mask
SubIndex | type | name | type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01 .. Len | VAR | Mask1 .. Len | ENUM | read-only

FWM_PRIVATE_HOST = 0x0001
FWM_PUBLIC_HOST = 0x0002
FWM_PORT = 0x0004
FWM_TYPE = 0x0008
FWM_CODE = 0x0010
FWM_PROTOCOL = 0x0020
FWM_ACTION = 0x0040
FWM_TIME_OF_DAY = 0x0080 (not supported)
FWM_DAY_OF_WEEK = 0x0100 (not supported)
FWM_DAY = 0x0200 (not supported)
FWM_MONTH = 0x0400 (not supported)
FWM_PUBLIC_HOST_MASK = 0x0800
FWM_PUBLIC_HOST_PREFIX = 0x1000

0x8nn4 – Private Host
SubIndex | type | name | type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01 .. Len | VAR | IP String 1 .. Len | VISIBLE STRING | read-only
Only valid if Flags (0x8nn2) contain FWM_PRIVATE_HOST Textual representation of either an IPv4 or IPv6 Adresse (depending on the Protocol type specified in 0x8nn6)
0x8nn5 – Public Host
SubIndex | type | name | type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01 .. Len | VAR | IP String 1 .. Len | VISIBLE STRING | read-only
Only valid if Flags (0x8nn2) contain FWM_PUBLIC_HOST Textual representation of either an IPv4 or IPv6 Adresse (depending on the Protocol type specified in 0x8nn6)
0x8nn6 – Public Host Mask
SubIndex | type | name | type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01 .. Len | VAR | Mask1 .. Len | VISIBLE STRING | read-only
Only valid if Flags (0x8nn2) contain FWM_PUBLIC_HOST_MASK If this is an IPv4 Rule, this is the subnet mask. For IPv6 rules this is the “prefix length”
0x8nn7 – Protocol
SubIndex | type | name | type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01 .. Len | VAR | Protocol 1 .. Len | UNSIGNED32 | read-only
Only valid if Flags (0x8nn2) contain FWM_PROTOCOL
0x8nn8 – Action
SubIndex | type | name | type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01 .. Len | VAR | Action 1 .. Len | ENUM | read-only
BLOCK = 0x01 ALLOW = 0x02 ALLOW_RESPONSE = 0x03
0x8nn9 – Port Range
SubIndex | type | name | type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01 .. Len | VAR | Protocol 1 .. Len | UNSIGNED32 | read-only
Only valid if Flags (0x8nn2) contain FWM_PORT Hiword is Max Port; Loword is Min Port. Max Port must be higher or equal to Min Port.
0x8nnA – type & Code
SubIndex | type | name | type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01 .. Len | VAR | Protocol 1.. Len | WORD | read-only
Hibyte is Code; Lobyte is type Only valid depending on FWM_TYPE and FWM_CODE Flags (0x8nn2)
0x8nnB – Description
SubIndex | type | name | type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01 .. Len | VAR | Description 1 .. Len | VISIBLE STRING | read-only
0x8nnC – UID
SubIndex | type | name | type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01 .. Len | VAR | UID 1 .. Len | UNSIGNED32 | read-only
0xBnn0 – Add Rule (Service Transfer Object)
InputData
type | name
UNSIGNED32 | cbData
UNSIGNED32 | Flags
UNSIGNED32 | Mask
union { char szPrivateHost[8*5]; WORD family; }; | If FWF_PRIVATE_HOST is set this is the Private host Ip Adresse. Otherwise this is the Adresse Family to which the rule applies (AF_INET or AF_INET6)
Char[8*5] | Public Host IP
union { BYTE b[4]; UINT publicHostPrefixLength; }; | If FWM_PUBLIC_HOST_MASK is set this is the public host mask for an IPv4 Adresse. If FWM_PUBLIC_HOST_PREFIX is set this is the public host prfix length for an IPv6 Adresse.
UNSIGNED32 | Protocol
UNSIGNED32 | Actions
UNSIGNED32 | PortRange (HIWORD = max | LOWORD = min)
UNSIGNED16 | type & Code (HBYTE = code | LOBYTE = type)
UNSIGNED32 | DescriptionLen
char[DescriptionLen] | szDescription
0xBnn1 – Delete Rule (Service Transfer Object)
InputData
type | name
UNSIGNED32 | UId (From Table 8x8nnC)


File System Object

Module representing the local Filesystem.

There are ServiceTransfer Objects for directory browsing and file access.

0x8nn0
SubIndex | Type | Name | Value | Type | Access
00 | VAR | Len |  | UNSIGNED16 | read-only
01 | VAR | Address | 0x0010 00nn | UNSIGNED32 | read-only
02 | VAR | Type | FSO | VISIBLE STRING | read-only
03 | VAR | Name | FSO | VISIBLE STRING | read-only
04 | VAR | Dev Type | 0x0010 2710 | UNSIGNED32 | read-only
0xBnn0 - Dir (Service Transfer Object)

This object will return all files and subfolders of a given root path. Use it for directory browsing etc.

The path can include wildcard characters, for example, an asterisk (*) or a question mark (?).
If the string ends with a wildcard, period (.), or directory name, the user must have access to the root and all subdirectories on the path.

InputData
Type | Name
DWORD | cbsRootDir
VISIBLE STRING | sRootDir
OutputData
Type | Name
DWORD | Version = 0
DWORD | cbData
DWORD | cDirs
DWORD | cFiles
DWORD | nOffsFirstDir //Offset of the first directoryInfo struchture
DWORD | nOffsFirstFile //Offset of the first fileInfo struchture
0xBnn1 - GetFile(Service Transfer Object)

Service transfer for reading a file.

When reading large files, this can be done via multiple calls. First open the file by submitting a filename, then continue by submitting the continuation handle returned in the GetFileResponse. The maximum size of a chunk is determined by the cbMaxRead parameter.

Always supply either a Filename or continuation handle. Supplying both or none of it will result in E_INVALIDDATA being returned.

InputData
Type | Name | Meaning
DWORD | cbFilename | Length of the Filename in characters.
DWORD | Continuation handle | For subsequent read request supply a continuation handle previously returned by the ReadFile OutputData
DWORD | cbMaxRead | Maximum size to return in the response. This is the number of bytes to be read plus size of the OutputData structure. It must always be greater than the size of the OutputData structure
Char[cbFilename] | Filename | Path and filename to be opened for reading

OutputData
Type | Name | Meaning
DWORD | cbData | Number of bytes that have been actually read
DWORD | Continuation handle | If there is more data to read this continuation handle can be used in a subsequent read request
BOOL | bMoreData | Indicating if there is more data available in the file
BYTE[cbData] | data | read data
0xBnn2 - WriteFile (Service Transfer Object)
InputData
Type | Name | Meaning
DWORD | cbFilename | Length of the filename in chars
DWORD | Continuation handle | For subsequent write request supply a continuation handle previously returned by the WriteFile OutputData
DWORD | cbData | Number of Bytes to be written
DWORD | bWriteCompleted | Indicates completion of file access; If !=0 File will be flushed and closed.
Char[cbFilename] | Filename | Filename
BYTE[cbData] | data | Writedata
OutputData
Type | Name | Meaning
DWORD | Continuation handle | Continuation handle to write more data to the file
0xBnn3 - CopyFile ServiceTransfer

Copy or move source file to destination

InputData
Type | Name | Meaning
DWORD | cbSrc | Length of source filename
DWORD | cbDst | Length of destination filename
DWORD | Flags | One or more of the following flags 0x00000001 = Copy. Set this flag to copy the file, otherwise it is moved 0x00000002 = Overwrite. When copying forces to overwrite existing files in the destination. other it is ignored
Char[cbSource] | Source Filename | Complete path to the source file
Char[cbDst] | Destination Filename | Complete path to the destination file
0xBnn4 - DeleteFile ServiceTransfer

Delete a file or folder.

InputData
Type | Name | Meaning
DWORD | cbFilename | length of filename
BOOL | bRecurse | delete an entire directory recursively
Char[cbFilename] | Filename | Path to destination file or folder
0xBnn5 - mkdir ServiceTransfer

Create a new directory

InputData
Type | Name | Meaning
DWORD | cbFilename | Length of the folder to be created
BOOL | bRecurse | Create directories recursively
char[cbFilename] | Filename | Name of the new folder.


Display Device

Eigenschaften des Display Adapters. Wenn mehrere Adapter Installiert sind existiert eine Instanz für jeden.

Tabelle 0x8nn2 ist eine Liste aller verfügbaren Anzeige Modi während der aktuelle Anzeigemodus in Tabelle 0x8nn1 angezeigt wird.

0x8nn0
SubIndex | Type | Name | Value | Type | Access
00 | VAR | Len |  | UNSIGNED16 | read-only
01 | VAR | Address | 0x0013 00nn | UNSIGNED32 | read-only
02 | VAR | Type | Display Device | VISIBLE STRING | read-only
03 | VAR | Name | Device Name | VISIBLE STRING | read-only
04 | VAR | Dev Type | 0x0013 2710 | UNSIGNED32 | read-only
0x8nn1 – Device settings
SubIndex | Type | Name | Type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01 | VAR | IDx of active display mode | UNSIGNED8 | read-write
0x8nn2 – Display modes
SubIndex | Type | Name | Type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01 .. Len | VAR | Mode | VISIBLE STRING | read-only


EWF

0x8nn0
SubIndex | Type | Name | Value | Type | Access
00 | VAR | Len |  | UNSIGNED16 | read-only
01 | VAR | Address | 0x0014 00nn | UNSIGNED32 | read-only
02 | VAR | Type | EWF | VISIBLE STRING | read-only
03 | VAR | Name | EWF | VISIBLE STRING | read-only
04 | VAR | Dev Type | 0x0014 2710 | UNSIGNED32 | read-only

0x8nn1 – Volume Name
SubIndex | Type | Name | Type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01..Len | VAR | Volume Name | VISIBLE STRING | read-only
0x8nn2 – Volume ID
SubIndex | Type | Name | Type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01..Len | VAR | Volume ID | VISIBLE STRING | read-only
0x8nn3 – State
SubIndex | type | name | type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01..Len | VAR | State | UNSIGNED32 | read-only

Values:

0 = EWF_ENABLED
1 = EWF_DISABLED

0x8nn4 – type
SubIndex | type | name | type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01..Len | VAR | type | UNSIGNED32 | read-only

Values:

0 = EWF_DISK
1 = EWF_RAM
2 = EWF_RAM_REG

0x8nn5 – Boot command
SubIndex | type | name | type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01..Len | VAR | Boot command | UNSIGNED32 | read-write

OUT Values
0 = No Command
1 = Enable
2 = Disable
3 = SetLevel
4 = Commit

IN Values
0 = ClearCommand
1 = EwfMgrEnable
2 = EwfMgrDisable without Commit
3 = EwfMgrDisable with Commit
4 = EwfMgrCommit

The IN and OUT values are not corresponding!

0xBnn0 - EWF Commit and Disable Live*
InputData
type | name
CHAR | Volume name


FBWF

0x8nn0
SubIndex | Type | Name | Value | Type | Access
00 | VAR | Len |  | UNSIGNED16 | read-only
01 | VAR | Address | 0x0015 00nn | UNSIGNED32 | read-only
02 | VAR | Type | FBWF | VISIBLE STRING | read-only
03 | VAR | Name | FBWF | VISIBLE STRING | read-only
04 | VAR | Dev Type | 0x0015 2710 | UNSIGNED32 | read-only
0x8nn1 – CurrentState
SubIndex | Type | Name | Type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01 | VAR | State | BOOLEAN | read-only
02 | VAR | Compression | BOOLEAN | read-only
03 | VAR | PreAllocation | BOOLEAN | read-only
0x8nn2 – NextState
SubIndex | Type | Name | Type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01 | VAR | State | BOOLEAN | read-write
02 | VAR | Compression | BOOLEAN | read-write
03 | VAR | PreAllocation | BOOLEAN | read-write

0x8nn3 – Volumes
SubIndex | Type | Name | Type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01..Len | VAR | Volume | VISIBLE STRING | read-only

0x8nn4 – Exclusions
SubIndex | Type | Name | Type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01..Len | VAR | Exclusions () | VISIBLE STRING | read-write

On Read
Return value will be a multi-string.

Each single-string is null terminated and the whole multi-string is double null terminated at the end.

0xBnn0 - FBWF Add Volume Command object*
InputData
Type | Name
DWORD | cbData
DWORD | cbVolume
CHAR[cbVolume] | cVolume
0xBnn1 - FBWF Remove Volume Command object*
InputData
Type | Name
DWORD | cbData
DWORD | cbVolume
BOOL | bClearExclusion
CHAR[cbVolume] | cVolume

bClearExclusion: If true, the exclusion list for this volume will be cleared.

0xBnn2- FBWF Add Exclusion Command object*
InputData
Type | Name
DWORD | cbData
DWORD | cbVolume
DWORD | cbFilePath
CHAR[cbVolume] | cVolume
CHAR[cbFilePath] | cFilePath
0xBnn3- FBWF Enum Exclusions Command object*
InputData
Type | Name
DWORD | cbData
DWORD | cbVolume
DWORD | Index
CHAR[cbVolume] | cVolume
OutputData
Type | Name
DWORD | cbFilePath
CHAR[cbFilePath] | cFilePath
0xBnn4 - FBWF Remove Exclusion Command object*
InputData
Type | Name
DWORD | cbData
DWORD | cbVolume
DWORD | cbFilePath
CHAR[cbVolume] | cVolume
CHAR[cbFilePath] | cFilePath
0xBnn5 - FBWF Commit File Command object*
InputData
Type | Name
DWORD | cbData
DWORD | cbVolume
DWORD | cbFilePath
CHAR[cbVolume] | cVolume
CHAR[cbFilePath] | cFilePath
0xBnn6 - FBWF Commit All Command object*
InputData
Type | Name
DWORD | cbData
DWORD | cbVolume
CHAR[cbVolume] | cVolume

* this is not supported because of security reasons

0xBnn7 - FBWF RestoreFile Command object*
InputData
Type | Name
DWORD | cbData
DWORD | cbVolume
DWORD | cbFilePath
CHAR[cbVolume] | cVolume
CHAR[cbFilePath] | cFilePath

System Requirements

MDP | Version 1.3.42 or higher
Driver | Installed FBWF driver
OS | XPE, WES


SiliconDrive

0x8nn0 - Module Header
SubIndex | Type | Name | Value | Type | Access
00 | VAR | Len |  | UNSIGNED16 | read-only
01 | VAR | Address | 0x0017 00nn | UNSIGNED32 | read-only
02 | VAR | Type | SiliconDrive | VISIBLE STRING | read-only
03 | VAR | Name | SiliconDrive | VISIBLE STRING | read-only
04 | VAR | Dev Type | 0x0017 2710 | UNSIGNED32 | read-only
0x8nn1 - Silicon Drive Information
SubIndex | Type | Name | Type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01 | VAR | Total Erase Counts | UNSIGNED64 | read-only
02 | VAR | Drive Usage (%) | UNSIGNED16 | read-only
03 | VAR | Number of Spares | UNSIGNED16 | read-only
04 | VAR | Spares Used | UNSIGNED16 | read-only
05 | VAR | nur für internen Gebrauch | UNSIGNED32 | read-only
06 | VAR | nur für internen Gebrauch | UNSIGNED16 | read-only
07 | VAR | nur für internen Gebrauch | UNSIGNED8 | read-only
Total Erase Counts Info
Die Gesamtanzahl der Schreib bzw. Löschzyklen von allen Speicherblöcken eines Silicon Drive zusammengenommen.
Drive Usage Info
Die errechnete Abnutzung des Silicon Drive basierend auf zwei Millionen Schreibzyklen pro Block als Maximalwert.
Number of Spares Info
Spare Blöcke dienen dazu abgenutzte Speicherblöcke zu ersetzen. "Number of Spares" ist die Anzahl der Spare Blöcke, die auf dem Silicon Drive verfügbar sind.
Spares Used Info
"Spares Used" ist die Anzahl der Spare Blöcke die schon in Benutzung sind. Für die meiste Zeit der Lebensdauer bleibt die Anzahl der Spare Blöcke gleich. Erst gegen Ende der Lebensdauer werden die Spare Blöcke aufgebraucht. Dann nutzen sich die Spare Blöcke schnell ab.
Subindex 05-07 Info
Nur für den internen Gebrauch

Systemvoraussetzungen:

MDP | Version 1.5.58 oder höher
TcSiSmart.dll | Version 1.4.56 oder höher

Systemvoraussetzungen

TcSiSmart.dll | Version 1.4.46 oder höher
Silicon Drive CompactFlash Card | SiSMART Unterstützung


Intro

IPC Diagnose

Operating System

0x8nn0
SubIndex | Type | Name | Value | Type | Access
00 | VAR | Len |  | UNSIGNED16 | read-only
01 | VAR | Address | 0x0018 00nn | UNSIGNED32 | read-only
02 | VAR | Type | OperatingSystem | VISIBLE STRING | read-only
03 | VAR | Name | <OS Name> | VISIBLE STRING | read-only
04 | VAR | Dev Type | 0x0018 2710 | UNSIGNED32 | read-only
0x8nn1
SubIndex | Type | Name | Type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01 | VAR | OS Major Version | UNSIGNED32 | read-write
02 | VAR | OS Minor Version | UNSIGNED32 | read-write
03 | VAR | OS Build | UNSIGNED32 | read-write
04 | VAR | CSD Version | VISIBLE STRING | read-write

Systemvoraussetzungen

MDP Version 1.3.42 oder höher


RAID

General Explication
The module allows management and test utilities to access the physical components within a RAID set. It is possible to get detailed information about a single RAID set.
Each RAID contains a particular number of devices. Furthermore any RAID and any device has a state.

0x8nn0
SubIndex | Type | Name | Value | Type | Access
00 | VAR | Len |  | UNSIGNED16 | read-only
01 | VAR | Address | 0x0019 00nn | UNSIGNED32 | read-only
02 | VAR | Type | RAID Controller | VISIBLE STRING | read-only
03 | VAR | Name | SCSI Number | VISIBLE STRING | read-only
04 | VAR | Dev Type | 0x0019 2710 | UNSIGNED32 | read-only
0x8nn1 – Controller Info
SubIndex | Type | Name | Type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01 | VAR | State | UNSIGNED32 | read-only
02 | VAR | Offline Reason | UNSIGNED32 | read-only
State Info
1 = GOOD => operating normally.
2 = FAILED => the controller has failed. No I/O is allowed to the controller in this state.
3 = OFFLINE => the controller is in a transitional state and is currently inaccessible. It has not failed, but no I/O is allowed to the controller in this state.
4 = POWEROFF => the controller slot is powered off. It may have been failed before but currently does not have power to the slot.
Offline Reason Info
0 = NO_REASON => unknown reason.
1 = INITIALIZING => the driver is in the process of initializing the controller and bringing it online.
2 = BUS_DEGRADED => the physical interface to the SAS or SATA domain is in a degraded state.
3 = BUS_FAILURE => the physical interface to the SAS or SATA domain has failed.
0x8nn2 – RAID Sets Type
Explication
The tables 0x8nn2, 0x8nn3 and 0x8nn4 are linked. Each one contains information about existing raid sets. Same index refers to the same raid set. E.g. if you look at index 1 in those three tables, you will find detailed information about the same raid.

SubIndex | Type | Name | Type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01..Len | VAR | Type | UNSIGNED8 | read-only
Type Info
0 = No Raid
1 = Raid Type 0
2 = Raid Type 1
3 = Raid Type 10
4 = Raid Type 5
5 = Raid Type 15
255 = Raid Type No Standard Type
0x8nn3 – RAID Sets State & Info
SubIndex | Type | Name | Type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01..Len | VAR | State & Info | UNSIGNED16 | read-only
State = First 8 Bits
0 = OK => indicates the RAID set is operational.
1 = DEGRADED => indicates the RAID set is no longer functioning in a fault tolerant mode.
2 = REBUILDING => indicates the RAID set is rebuilding. This implies a degraded operation. Once the rebuild completes successfully, the status will change to OK. If the rebuilding process fails, the
status will be updated accordingly.
3 = FAILED => indicates the RAID set has failed. There is no guarantee on the operational behavior of the RAID set and data loss has occurred or is imminent.
Info = Last 8 Bits
If bStatus == OK, then Info will be 0.
If bStatus == DEGRADED, then Info will contain the failed drive index number.1
If bStatus == REBUILDING, then Info will contain the percentage complete. The value will be in the range of 0 to 100 (0h to 64h).

If bStatus == FAILED, then Info will be 0 or vendor specific. Since the failure modes could include drive or controller failures, Info may provide a vendor specific error code to indicate which component led to the failed status.

1 Not Supported

0x8nn4 – RAID Sets Drives
Explication
This is a list of all Raid Sets in the current system configuration. Each row contains a specific number of devices. One byte of the value represents one index in the 0x8nn9 / 0x8nnA list.
You can get detailed information about the device in the 0x8nn9 and 0x8nnA table. The maximum value is 255.

SubIndex | Type | Name | Type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01..Len | VAR | Devices | VISIBLE STRING | read-only

Raid Sets Drives
*General Explication
0x8nn5 – 0x8nn8 : Reserved

0x8nn9 – Drives Serial Number
SubIndex | Type | Name | Type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01..Len | VAR | Serial Number | VISIBLE STRING | read-only
Serial Number
Maximal 40 Bytes
0x8nnA – Drives State
SubIndex | Type | Name | Type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01..Len | VAR | State | UNSIGNED8 | read-only
State
0 = OK => indicates the physical drive is operational.
1 = REBUILDING => indicates the physical drive is the target drive of a RAID set rebuild. Once the rebuild completes successfully, the status will change to OK.
If the rebuilding process fails, the status will be updated appropriately.1
2 = FAILED => indicates the physical drive has posted unrecoverable errors to the controller or has triggered a vendor specific action to remove the physical drive from the RAID set. There is
no guarantee on the operational behavior of the drive and data loss has occurred or is imminent.
3 = DEGRADED => indicates the physical drive has posted a SMART notification to the controller.

1 Not Supported

System Requirements

MDP | Version 1.3.42 or higher
RAID-Driver | IMSM 7.0 PV or higher
OS | XP, XPE, WES


CPU

IPC Diagnose

Cx9Flash

Internes Modul. Bitte nicht verwenden.


Fan

Jeder Lüfter, von dem Informationen verfügbar sind, wird durch ein eigenes MDP Modul repräsentiert. Wird nicht von allen Geräten unterstützt.

0x8nn0 - Module Header
SubIndex | Typ | Name | Value | Typ | Zugriff
00 | VAR | Len |  | UNSIGNED16 | read-only
01 | VAR | Address | 0x001b 00nn | UNSIGNED32 | read-only
02 | VAR | Typ | Fan | VISIBLE STRING | read-only
03 | VAR | Name | Adapter Name | VISIBLE STRING | read-only
04 | VAR | Dev Typ | 0x001b 2710 | UNSIGNED32 | read-only
0x8nn1 - Fan Properties
SubIndex | Typ | Name | Typ | Zugriff
00 | VAR | Len | UNSIGNED16 | read-only
01 | VAR | Fan speed (rpm) | SIGNED 16 | read-only

Systemvoraussetzung Windows Embedded Standard (WES)

MDP Version 1.5.48 oder höher

Systemvoraussetzung WinCE

MDP Version 1.6 oder höher


Mainboard

Dieses Modul stellt Mainboard Informationen dar. Wird nicht von allen Geräten unterstützt.

0x8nn0 - Module Header
SubIndex | Type | Name | Value | Type | Access
00 | VAR | Len |  | UNSIGNED16 | read-only
01 | VAR | Address | 0x001C 00nn | UNSIGNED32 | read-only
02 | VAR | Type | Mainboard | VISIBLE STRING | read-only
03 | VAR | Name | Mainboard | VISIBLE STRING | read-only
04 | VAR | Dev Type | 0x001C 2710 | UNSIGNED32 | read-only
0x8nn1 - Mainboard Information
SubIndex | Type | Name | Type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01 | VAR | Mainboard Type | VISIBLE STRING | read-only
02 | VAR | Serial Number | VISIBLE STRING | read-only
03 | VAR | Production Date | VISIBLE STRING | read-only
04 | VAR | Boot Count | UNSIGNED32 | read-only
05 | VAR | Operating Time in Minutes | UNSIGNED32 | read-only
06 | VAR | Min Board Temperature (°C) | SIGNED32 | read-only
07 | VAR | Max Board Temperature (°C) | SIGNED32 | read-only
08 | VAR | Min Input Voltage (mV) | SIGNED32 | read-only
09 | VAR | Max Input Voltage (mV) | SIGNED32 | read-only
10 | VAR | Mainboard Temperature (°C) | SIGNED16 | read-only
Production Date Info

YYYY-MM-DD-ww (Year-Month-Day-CalenderWeek)

Jeder Wert kann 0 sein wenn er nicht benutzt wird.

Min Board Temperature Info
Niedrigste gemessene Temperatur
Max Board Temperature Info
Höchste gemessene Temperatur
Min Input Voltage Info
Niedrigste gemessene Spannung
Max Input Voltage Info
Höchste gemessene Spannung
0x8nn2 - Version Information
SubIndex | Type | Name | Type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01 | VAR | Mainboard Revision | UNSIGNED8 | read-only
02 | VAR | Bios Major Version | UNSIGNED8 | read-only
03 | VAR | Bios Minor Version | UNSIGNED8 | read-only
0x8nn3 - Voltage Information
SubIndex | Type | Name | Type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01..Len | VAR | Name | VISIBLE STRING | read-only
0x8nn4 - Voltage Information
SubIndex | Type | Name | Type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01..Len | VAR | Location | SIGNED16 | read-only
Location Info
00 = LOCATION_UNKNOWN

01 = LOCATION_OTHER
02 = LOCATION_PROCESSOR
03 = LOCATION_DISK
04 = LOCATION_SYSTEM_MANAGEMENT_MODULE
05 = LOCATION_MOTHERBOARD
06 = LOCATION_MEMORY_MODULE
07 = LOCATION_POWER_SUPPLY
08 = LOCATION_ADDIN_CARD
09 = LOCATION_FRONT_PANEL_BOARD
10 = LOCATION_BACK_PANEL_BOARD
11 = LOCATION_PERIPHERIE
12 = LOCATION_CHASSIS
13 = LOCATION_BATTERY
14 = LOCATION_UPS
15 = LOCATION_GRAFFIC_BOARD
16 = LOCATION_SUPERIO
17 = LOCATION_CHIPSET

0x8nn5 - Voltage Information
SubIndex | Type | Name | Type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01..Len | VAR | Voltage (mV) | SIGNED16 | read-only
0x8nn6 - Voltage Information
SubIndex | Type | Name | Type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01..Len | VAR | Nonimal Voltage (mV) | SIGNED16 | read-only

Systemvoraussetzung

MDP Version 1.6 oder höher


DiskManagement

Liste der gemounteten logischen Volumes

0x8nn0 - Module Header
SubIndex | Typ | Name | Value | Typ | Zugriff
00 | VAR | Len |  | UNSIGNED16 | read-only
01 | VAR | Address | 0x001d 00nn | UNSIGNED32 | read-only
02 | VAR | Typ | Fan | VISIBLE STRING | read-only
03 | VAR | Name | DiskManagement | VISIBLE STRING | read-only
04 | VAR | Dev Typ | 0x001d 2710 | UNSIGNED32 | read-only
0x8nn1 - DriveLetter
SubIndex | Typ | Name | Typ | Zugriff
00 | VAR | Len | UNSIGNED16 | read-only
01 | VAR | Drive letter 1..n | VISIBLE STRING | read-only
0x8nn2 - Volume Label
SubIndex | Typ | Name | Typ | Zugriff
00 | VAR | Len | UNSIGNED16 | read-only
01 | VAR | Volume Label 1..n | VISIBLE STRING | read/ write*

Write wird auf WinCE nicht unterstützt.

0x8nn3 - FileSystem
SubIndex | Typ | Name | Typ | Zugriff
00 | VAR | Len | UNSIGNED16 | read-only
01 | VAR | Filesystem name 1..n | VISIBLE STRING | read-only
0x8nn4 - Drive Type
SubIndex | Typ | Name | Typ | Zugriff
00 | VAR | Len | UNSIGNED16 | read-only
01 | VAR | Drive type 1..n | UNSIGNED32 | read-only

DRV_UNKNOWN = 0,
DRV_FIXED = 1,
DRV_REMOVABLE= 2,
DRV_CDROM = 4

0x8nn5 - Total size (Bytes)
SubIndex | Typ | Name | Typ | Zugriff
00 | VAR | Len | UNSIGNED16 | read-only
01 | VAR | Volume size 1..n | UNSIGNED64 | read-only
0x8nn6 - Free Bytes
SubIndex | Typ | Name | Typ | Zugriff
00 | VAR | Len | UNSIGNED16 | read-only
01 | VAR | Free bytes 1..n | UNSIGNED64 | read-only

Systemvoraussetzung

MDP Version 1.6 oder höher


UPS

UPS (uninterruptible power supply); deutsch: USV (unterbrechungsfreie Stromversorgung)

Dieses Modul stellt USV Informationen dar. Wird nicht von allen Geräten unterstützt.

0x8nn0 - Module Header
SubIndex | Type | Name | Value | Type | Access
00 | VAR | Len |  | UNSIGNED16 | read-only
01 | VAR | Address | 0x001E 00nn | UNSIGNED32 | read-only
02 | VAR | Type | UPS | VISIBLE STRING | read-only
03 | VAR | Name | UPS | VISIBLE STRING | read-only
04 | VAR | Dev Type | 0x001E 2710 | UNSIGNED32 | read-only
0x8nn1 - UPS Information
SubIndex | Type | Name | Type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01 | VAR | UPS Model | VISIBLE STRING | read-only
02 | VAR | Vendor Name | VISIBLE STRING | read-only
03 | VAR | Version | UNSIGNED8 | read-only
04 | VAR | Revision | UNSIGNED8 | read-only
05 | VAR | Build | UNSIGNED16 | read-only
06 | VAR | Serial Number | VISIBLE STRING | read-only
07 | VAR | Power Status | UNSIGNED8 | read-only
08 | VAR | Communication Status | UNSIGNED8 | read-only
09 | VAR | Battery Status | UNSIGNED8 | read-only
10 | VAR | Battery Capacity (in %) | UNSIGNED8 | read-only
11 | VAR | Battery Runtime (in seconds) | UNSIGNED32 | read-only
12 | VAR | Persistent Power Fail Count | BOOLEAN | read-only
13 | VAR | Power Fail Counter | UNSIGNED32 | read-only
14 | VAR | Fan Error | BOOLEAN | read-only
15 | VAR | No Battery | BOOLEAN | read-only
16 | VAR | Test Capacity | BOOLEAN | write-only
Compatibility List | S-UPS | 24V Beckhoff UPS/ 230V Beckhoff UPS
UPS Model | x | x
Vendor Name | x | x
Version | x | x
Revision | x | x
Build | x | x
Serial Number |  | x
Power Status | x | x
Communication Status |  | x
Battery Status |  | x
Battery Capacity (in %) | x | x
Battery Runtime (in seconds) | x | x
Persistent Power Fail Counter | x | x
Power Fail Counter | x | x
Fan Error |  | x
No Battery |  | x
Test Capacity | x |
UPS Model Info

1 = SUPS

2 = 24V Beckhoff USV und APC 230V USV
Power Status Info

0 = UNKOWN

1 = ONLINE

2 = ONBATTERIES
Comunication Status Info

0 = UNKOWN

1 = OK

2 = ERROR
Battery Status Info

0 = UNKNOWN

1 = OK

2 = Change Battery

Persistent Power Fail Counter Info

TRUE = Power Fail Counter wird persistent gespeichert

FALSE = Power Fail Counter wird bei jedem Neustart zurückgesetzt
Test Capacity Info

"TestCapacity" aktualisiert "Battery Runtime (in seconds)". Schreiben Sie einen Wert um den Test zu starten. Trennen Sie den Computer vom Stromnetz und warten Sie bis sich der Computer abschaltet. Starten Sie den Computer und lesen Sie "Battery Runtime (in seconds)".
0x8nn2 - UPS GPIO Pin Information
SubIndex | Type | Name | Type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01 | VAR | Address | UNSIGNED16 | read-only
02 | VAR | Offset | UNSIGNED8 | read-only
03 | VAR | Params | UNSIGNED8 | read-only
Compatibility List | S-UPS | 24V Beckhoff UPS/ 230V Beckhoff UPS
Address | x |
Offset | x |
Params | x |

Systemvoraussetzung

MDP Version 1.6 oder höher


Misc

0x8nn0
SubIndex | Type | Name | Value | Type | Access
00 | VAR | Len |  | UNSIGNED16 | read-only
01 | VAR | Address | 0x0100 00nn | UNSIGNED32 | read-only
02 | VAR | Type | Misc | VISIBLE STRING | read-only
03 | VAR | Name | Misc | VISIBLE STRING | read-only
04 | VAR | Dev Type | 0x0100 2710 | UNSIGNED32 | read-only
0x8nn1
SubIndex | Type | Name | Type | Access
00 | VAR | Len | UNSIGNED16 | read-only
01 | VAR | Startup Numlock State Zustand der Numlock Taste beim Systemstart | BOOLEAN | read-write
02 | VAR | CE Remote Display state Zeigt an, ob ein Client per CERHost verbunden ist. Ab MDP 1.6.x Nur WinCE | BOOLEAN | read only

0xBnn0 - Restore Factory Settings (Service Transfer Object) (verfügbar für Windows CE)
InputData
Type | Name
UNSIGNED16 | DummyByte
0xBnn1 - Reboot (Service Transfer Object)
InputData
Type | Name
UNSIGNED8 | DummyByte


Typübersicht Module

IPC Diagnose

MDP Hardwareunterstützung

Die Tabellen auf den nachfolgenden Seiten geben an, welche MDP Module bzw. Features von welcher Beckhoff Hardware unterstützt werden.
Dabei wurden Testgeräte mit den angegebenen Image Versionen betrieben.

Sind bei einem MDP Modul keine speziellen Features hervorgehoben, so gilt für alle Features dieses Moduls die Angabe zu dem Modul. Sind nur manche Features eines Moduls hervorgehoben, so gilt für die restlichen Features die Angabe zu dem Modul.

Bei einigen MDP Features sind zusätzliche Angaben, die benennen, ab welcher Image- oder MDP- Version das Feature verfügbar ist.

Hinweis: Bei Verwendung von MDP mit der TwinCAT SPS Bibliothek Modular Device Profile sind die Systemvoraussetzungen der MDP SPS Bibliothek zu beachten. Dazu gehört die TwinCAT SPS-Laufzeitsystem Version 2.11.0 Build 1541 oder höher (ggf. nicht in den hier angegebenen Image Versionen enthalten).

Das komplette Spektrum der Beckhoff IPC und Embedded PC Produkte ist auf den folgenden Seiten zu finden:

MDP Modul- und Featureunterstützung für die Geräte:
C65xx-0000 / CP62xx-0000 / C69xx-0000 / CP72xx-0000 / CX1020 / CX1030
C65xx-0020 / CP62xx-0030 / C69xx-0020 / CP72xx-0020
CP62xx-0020 / C6915 / CPx7xx-0030 / CX50x0
CX9000 / CX90xx / CP66xx / CP6608
CPx7xx-0000 / CX1000
CPx7xx-0020 / CX1010


MDP Fehlernummern

Allgemeine Fehlernummern

Code | Bedeutung
0x00000000 | Success - No Error
0xECA60001 | Fail - Unspecified error
0xECA60100 | Invalid index
0xECA60101 | Invalid access
0xECA60102 | Buffer too small
0xECA60103 | Type not supported
0xECA60104 | Out of memory
0xECA60105 | No data available
0xECA60106 | Invalid data
0xECA60107 | Invalid arg
0xECA60108 | Value out of range
0xECA60200 | Server is busy
0xECA60201 | MDP API not initialized
0xECA60F00 | Not implemented
0xECA61000 | Not supported
0xECA60FFF | Unexpected error

API Fehlernummern

Code | Bedeutung
0xECA7xxxx | The low word contains an error code from a system call.

Eine Liste möglicher Win32 Fehlernummern ist in der TwinCAT Diagnostics Dokumentation zu finden.

ADS Fehlernummern

Code | Bedeutung
0xECA8xxxx | The low word contains a ADS result code

Eine Liste möglicher ADS Fehlernummern ist in der ADS Dokumentation zu finden.

Moduleabhängige Fehlernummern

Code | Modul | Bedeutung
0xECAF0401 | User Mgmt | User already exists
0xECAF0402 | User Mgmt | User does not exist
0xECAF0403 | User Mgmt | Group already exists
0xECAF0404 | User Mgmt | Group does not exist
0xECAF0410 | SMB | Server is not installed
0xECAF0411 | SMB | Share already exists
0xECAF0412 | SMB | Share does not exist
0xECAF0420 | TwinCAT | Ads route already exists
0xECAF0421 | TwinCAT | Ads port could not be opened
0xECAF0430 | Datastore | A variable with this name already exists
0xECAF0431 | Datastore | Variable with requested name does not exist
0xECAF0432 | Datastore | Section with specified name does not exist
0xECAF0433 | Datastore | The name of the variable was invalid
0xECAF0440 | Registry | The name of the key (e.g. "HKLM") was invalid


Übersicht

Das MDP API layer erlaubt Zugriff auf das MDP. Es besteht aus den folgenden Dateien:

Datei | Funktion
MDPApi.h | Enthält header mit allen benötigen Funktionen
MDPApi.lib | Linker library.
MdpApi.dll | Dynamic link library.


MDPOpen

Initialisiert die MDPApi Kommunikationsbibliothek. Dieser Aufruf muss einmal getätigt werden.

LONG MDPOpen();

Parameter

Rückgabewert

MDP Status Code


MDPClose

Deinitialisiert die MDPApi Kommunikationsbibliothek. Diese Funktion muss aufgerufen werden, wenn die MDP Operationen beendet wurden.

LONG MDPClose();

Parameter

Rückgabewert

MDP Status Code


MDPSyncRead

Lesen von Daten aus dem MDP.

LONG MDPSyncRead(
unsigned short 	nIndex,
unsigned char 	nSubIndex,
unsigned char 	nFlags,
unsigned long 	cbBuff,
void* 		pBuff,
unsigned long* 	pCbActRead);

Parameter

nIndex [in]

Index der zu lesenden Tabelle

nSubIndex[in]

zu lesender SubIndex (Tabellenspalte)

nFlags[in]

Optionale flags für die Leseoperation

cbBuff[in]

Anzahl der zu lesenden Bytes

pBuff[in]

Pointer auf den Puffer zur Leseoperation

pCbActRead[out]

Pointer auf eine Variable vom TYP UNSIGNED LONG, welcher die Anzahl der tatsächlich geschriebenen Bytes in pBuff wiedergibt.

Rückgabewert

MDP Status Code


MDPSyncWrite

Schreibt Daten via MDP

LONG MDPSyncWrite(
unsigned short 	nIndex,
unsigned char 	nSubIndex,
unsigned char 	nFlags,
unsigned long 	cbBuff,
void* 		pBuff);

Parameter

nIndex [in]

Index der zu lesenden Tabelle

nSubIndex[in]

Der zu lesende SubIndex (Tabellen Spalte)

nFlags[in]

Optionale flags der Leseoperation

cbBuff[in]

Anzahl der zu lesenden Bytes

pBuff[in]

Pointer auf einen Puffer, der die zu schreibenden Daten enthält.

Rückgabewert

MDP Status Code


MDPSyncReadWrite

Lesen und Schreiben von Daten aus dem / in das MDP.

LONG MDPSyncReadWrite(
unsigned short 	nIndex,
unsigned char 	nSubIndex,
unsigned char 	nFlags,
unsigned long 	cbWrBuff,
void* 		pWrBuff,
unsigned long	cbRdBuff,
void*		pRdBuff,
unsigned long* 	pCbActRead );

Parameter

nIndex [in]

Index der zu lesenden Tabelle

nSubIndex[in]

zu lesender SubIndex (Tabellenspalte)

nFlags[in]

optionale flags für die Leseoperation

cbWrBuff[in]

Anzahl der zu schreibenden Bytes

pWrBuff[in]

Pointer auf einen Puffer, der die zu schreibenden Daten enthält

cbRdBuff[in]

Anzahl der zu lesenden Bytes

pRdBuff[in]

Pointer auf einen Puffer, der die zu lesenden Daten enthält

pCbActRead[out]

Pointer auf eine Variable des types unsigned long, der die Anzahl der tatsächlich in pBuff geschriebenen Bytes wiedergibt.

Return value

MDP Status Code


IO Flags

#define MDP_IOFLAG_FULLACCESS 	0x0001
#define MDP_IOFLAG_SYNC_ST 		0x0002

MDP_IOFLAG_FULLACCESS

Die gesamte Tabelle in einem Zugriff lesen.

Dies ist nur verfügbar, wenn:

  • SubIndex 0 oder 1 gelesen wird
  • Die Tabelle vom Typ ARRAY oder RECORD ist
  • Die Tabelle mehr als ein item enthält
  • Die Tabelle keine items vom Typ STRING enthält

MDP_IOFLAG_SYNC_ST

Synchronisierter Service Transfer. Dieses gilt nur für Service Transfer Tabellen.

Standardverhalten:

Werden ServiceTransfer Daten geschrieben, hat dies einen sofortigen Beginn des Service Transfers sowie einen sofortigen Rückgabewert zur Folge.

Verhalten mit Flag

Die API wartet, bis der Service Transfer vollständig abgeschlossen wurde.


Übersicht

Das MDP API für .NET basiert auf der MDP C Import Bibliothek. Daher wird die Datei MdpApi.dll zur Laufzeit benötigt.

Die MdpApi.dll ist nur als 32 Bit Komponente verfügbar und kann nicht in 64 Bit Prozessen verwendet werden. Bei dem Versuch die MdpApi.dll dennoch in einen 64 Bit Adressraum zu laden wird eine System.BadImageFormat Exception geworfen.


Übersicht

Neben der Kommunikation via MDP API besteht auch die Möglichkeit das Modular Device Profile for IPC via ADS anzusprechen.

Hinweis:
Derzeit unterstützt MDP nur die folgenden Funktionen:

  • AdsSyncReadReq
  • AdsSyncReadReqEx
  • AdsSyncWriteReq

Für SPS Programmierer werden mindestens die folgenden Funktionsbausteine aus der TwinCAT SPS System Bibliothek unterstützt:

  • ADSREADEX
  • ADSWRITE

ADS Port

Als Port wird der TwinCAT System Service angegeben.

Port = 10000

IndexGroup / IndexOffset

IndexGroup und IndexOffset müssen wie im folgenden Schema beschrieben verwendet werden:

IndexGroup = 0xF302 (CoE)
IndexOffset = MDP Adresse = MDP index, Flags und SubIndex.

MDP Adresse:

31 .. 16 | 15 .. 8 | 7 .. 0
Index-16Bit | flags-8Bit | SubIndex-8Bit

Der MDP Index ist im Informationsmodell beschrieben.

flags

0x00

default

#define MDPIO_FLAG_FULLACCESS 0x01

Lesen einer Tabelle - inklusive aller sub-indizies- mit einem einzelnen Aufruf. Nur verfügbar, wenn

  • der sub index 0 oder 1 ist
  • die Tabelle keine Datentypen vom Typ STRING enthält
  • die Tabelle vom Typ ARRAY ist (alle Einträge enthalten Daten des selben Datentyps - Ausnahme: sub index 0)

#define MDPIO_FLAG_ST_WAITRES 0x02

Aufruf eines service transfer. Dieser wird aktiv gehalten bis alle Übertragungen abgeschlossen sind. Nur für Trigger vom type service transfer möglich (Bereich 0xBxxx / sub index 1)


Übersicht

IPC Diagnose - SPS API

SPS Bibliothek

Die TwinCAT PLC MDP Library bietet verschiedenste Funktionsbausteine, um einen umfangreichen Zugriff auf MDP Daten zu ermöglichen.

Es gibt zwei Grundtypen von Funktionsbausteinen in der Bibliothek.
Zum Einen die allgemeinen Funktionsbausteine. Mit ihnen lassen sich beliebige Parameter im MDP mittels diskreten Zugriff selbst abfragen und setzen.
Des Weiteren bieten spezifische Funktionsbausteine die Möglichkeit, auf bestimmte Daten sowie Gruppierungen von mehreren Daten mit einem Aufruf zuzugreifen. Die hier zur Verfügung stehenden Funktionsbausteine bieten schnellen Zugriff auf die wichtigsten MDP Informationen.

Weitere Informationen sind in der kompletten Dokumentation der MDP PLC Library zu finden.


Beispiele

Es sind unterschiedliche Beispiele je nach API verfügbar.

MDP Dll

Beispiele finden Sie hier.

MDP .NET

Beispiele finden Sie hier.

ADS

Beispiele finden Sie hier.

OPC-UA

Beispiele finden Sie hier.

MDP SPS Bibliothek

Beispiele sind in der Dokumentation zur MDP SPS Bibliothek enthalten.


Beispiele

VisualStudio.Net C++

In einem Tutorial ist das Einbinden der MDP API erläutert.


Einbinden der MDP Api im Visual Studio (2008)

1. Starten Sie das Visual Studio und erstellen Sie eine neue Visual C++ Win32 Konsolenapplikation

2. Beenden Sie den Project Wizard mit Standardeinstellungen.

3. Offnen Sie die Projekt-Eigenschaften und tragen Sie die MDPApi.lib als zusätzliche Abhängigkeit ein.

4. Fügen Sie den MDPApi Header hinzu:

#include "C:\Program Files\Beckhoff\MDP\MDPApi.h"


Beispiele

VIsualStudio.NET C#

Beschreibung | Download
Hardware Daten auslesen (CPU, Memory, NIC, ...) | MdpCsharpSample01.zip
Software Versionen auslesen /TwinCAT, Betriebssystem, ...) | MdpCsharpSample02.zip
NetID auslesen | MdpCsharpSample03.zip
Zeitzone ändern | MdpCsharpSample04.zip

ACHTUNG: Die Beispiele wurden mit Visual Studio 2005 erstellt.


IPC Diagnose über ein ADS Beispiel in C#

Neben der Kommunikation mit Modular Device Profile for IPC über MDP API ist es möglich, mit MDP über ADS zu kommunizieren.

Das folgende Beispiel liest die CPU Frequenz, CPU Usage, Free Space, CF Card Drive Usage, TwinCAT Version und Build und CPU Temperatur, falls unterstützt.

Download MDPoverADS Beispiel

Führen Sie folgende Schritte aus:

  • Extrahieren Sie das Beispiel
  • Öffnen Sie die Solution.
  • Suchen Sie in Window1.xaml.cs nach der Zeile private AmsNetId netId = AmsNetId.Local;
  • Die Default netId ist hier lokal . Um ein Remote Geräte zu verbinden, ändern Sie die netId , z.B. in die neue AmsNetId ("172.16.5.2.1.1")
  • Kompilieren und führen Sie die Solution aus.


General

IPC Diagnostics - Samples

IPC Diagnostics over UA sample in Csharp

The MDP UA Server builds up on the MDP C import library. Due to that the MDPApi.dll is required at runtime.

The MdpApi.dll is only available as 32 Bit component and cannot be used in an 64 Bit Process. Any attempt to do so results in a System.BadImageFormat Exception being thrown.

Following sample will read the CPU Frequency, CPU Usage, Free Space, CF Card Drive Usage, TwinCAT Version and Build, CPU Temperature, if supported.

Download MDPoverUA Sample

Cookbook:

  • Extract the Sample
  • Open the file settings.xml in MDPOverUA/MDPOverUA folder. Settings.xml is also added as
  • Search the line <Session Url="opc.tcp://CP_083582:4852" Security="None" RefreshInterval="1000" KeepAlive="10000" />
  • Adjust the Device name - Enter the name of device which is hosting MDP UA Server
  • Compile and execute the solution.


General

IPC Diagnostics - Samples

IPC Diagnostics over PLC FB's sample in TwinCAT

See the example here.


Zugriff Control

Das Zugriff Control Object wird benutzt, um die Verwendung des Verzeichnisses durch einen Prozess zu indizieren.

Wenn mehrere Prozesse das Verzeichnis gleichzeitig nutzen, kann es zu Seiteneffekten kommen. So können sich z.B. Listenindizes von dynamisch erstellten Tabellen ändern. Ein Prozess kann den Zugriff Cookie mit einem Wert != 0 beschreiben, um die Verwendung des Verzeichnisses zu signalisieren. Die Kontrolle wird wieder abgegeben, indem der Cookie mit 0 beschrieben wird.

0x8nn0
SubIndex | Typ | Name | Wert | Typ | Zugriff
00 | VAR | Len |  | UNSIGNED16 | read-only
01 | VAR | Adresse | 0x0001 00nn | UNSIGNED32 | read-only
02 | VAR | Typ | Zugriff Control | VISIBLE STRING | read-only
03 | VAR | Name | Zugriff Control | VISIBLE STRING | read-only
04 | VAR | Dev Typ | 0x0001 2710 | UNSIGNED32 | read-only
0x8nn1
SubIndex | Typ | Name | Typ | Zugriff
00 | VAR | Zugriff Cookie | UNSIGNED32 | read-write


Typübersicht Module

IPC Diagnostics

MDP Feature Support for C65xx-0000 / CP62xx-0000 / C69xx-0000 / CP72xx-0000 / CX1020 / CX1030

Back to overview

type number | module | C65xx-0000 / CP62xx-0000 / C69xx-0000 / CP72xx-0000 / CX1020 / CX1030
 |  | WES (CX1030, Image v2.2, MDP v1.0.5.49) | CE6.0 (Image v3.22)
0x0002 | NIC |  |
0x0003 | Time |  |
0x0004 | User Management | - |
0x0005 | RAS | - |
0x0006 | FTP | - |
0x0007 | SMB |  |
0x0008 | TwinCAT - RunAsDevice - ShowTargetVisu - Log File size - Log File Path | - - - - |
0x0009 | Datastore | - |
0x000A | Software |  |
0x000B | CPU - Temp | - |
0x000C | Memory - Storage Memory Allocated - Storage Memory Available - Memory Division | - - - |
0x000E | Firewall WinCE | - |
0x0010 | File System Object |  |
0x0013 | Display Device |  |
0x0014 | EWF |  | -
0x0015 | FBWF |  | -
0x0017 | Silicon Drive |  |
0x0018 | OS |  |
0x0019 | RAID | - |
0x0100 | Misc |  |


Typübersicht Module

IPC Diagnostics

MDP Feature Support for C65xx-0020 / CP62xx-0030 / C69xx-0020 / CP72xx-0020

Back to overview

type number | module | C65xx-0020 / CP62xx-0020 / C69xx-0020 / CP72xx-0020
 |  | WES (Image v2.2) | CE6.0 (Image v3.22)
0x0002 | NIC |  |
0x0003 | Time |  |
0x0004 | User Management |  |
0x0005 | RAS | - |
0x0006 | FTP | - |
0x0007 | SMB |  |
0x0008 | TwinCAT - RunAsDevice - ShowTargetVisu - Log File size - Log File Path |  |
0x0009 | Datastore |  |
0x000A | Software |  |
0x000B | CPU - Temp |  |
0x000C | Memory - Storage Memory Allocated - Storage Memory Available - Memory Division |  |
0x000E | Firewall WinCE | - |
0x0010 | File System Object |  |
0x0013 | Display Device |  |
0x0014 | EWF |  | -
0x0015 | FBWF |  | -
0x0017 | Silicon Drive |  |
0x0018 | OS |  |
0x0019 | RAID |  |
0x0100 | Misc |  |


Typübersicht Module

IPC Diagnostics

MDP Feature Support for CP62xx-0020 / C6915 / CPx7xx-0030 / CX50x0

Back to overview

type number | module | CP62xx-0020 / C6915 / CPx7xx-0030 / CX50x0
 |  | WES (Image v2.2) | CE6.0 (CP77xx-0030, Image v3.22, MDP v1.0.4.47)
0x0002 | NIC |  |
0x0003 | Time |  |
0x0004 | User Management |  |
0x0005 | RAS | - |
0x0006 | FTP | - | -
0x0007 | SMB |  |
0x0008 | TwinCAT - RunAsDevice - ShowTargetVisu - Log File size - Log File Path |  |
0x0009 | Datastore |  |
0x000A | Software |  |
0x000B | CPU - Temp |  | -
0x000C | Memory - Storage Memory Allocated - Storage Memory Available - Memory Division |  |
0x000E | Firewall WinCE | - |
0x0010 | File System Object |  |
0x0013 | Display Device |  |
0x0014 | EWF |  | -
0x0015 | FBWF |  | -
0x0017 | Silicon Drive |  |
0x0018 | OS |  |
0x0019 | RAID |  | -
0x0100 | Misc |  |


Typübersicht Module

IPC Diagnostics

MDP Feature Support for CX9000 / CX90xx / CP66xx / CP6608

Back to overview

type number | module | CX9000 / CX90xx / CP66xx / CP6608
 |  | CE6.0 (Image v3.10)
0x0002 | NIC |
0x0003 | Time |
0x0004 | User Management |
0x0005 | RAS |
0x0006 | FTP |
0x0007 | SMB |
0x0008 | TwinCAT - RunAsDevice - ShowTargetVisu - Log File size - Log File Path |
0x0009 | Datastore |
0x000A | Software |
0x000B | CPU - Temp |
0x000C | Memory - Storage Memory Allocated - Storage Memory Available - Memory Division |
0x000E | Firewall WinCE |
0x0010 | File System Object |
0x0013 | Display Device |
0x0014 | EWF | -
0x0015 | FBWF | -
0x0017 | Silicon Drive |
0x0018 | OS |
0x0019 | RAID |
0x0100 | Misc |


Typübersicht Module

IPC Diagnostics

MDP Feature Support for CPx7xx-0000 / CX1000

Back to overview

type number | module | CPx7xx-0000 / CX1000
 |  | WES (Image v2.2) | CE6.0 (Image v3.22)
0x0002 | NIC |  |
0x0003 | Time |  |
0x0004 | User Management |  |
0x0005 | RAS | - |
0x0006 | FTP | - |
0x0007 | SMB |  |
0x0008 | TwinCAT - RunAsDevice - ShowTargetVisu - Log File size - Log File Path |  |
0x0009 | Datastore |  |
0x000A | Software |  |
0x000B | CPU - Temp |  |
0x000C | Memory - Storage Memory Allocated - Storage Memory Available - Memory Division |  |
0x000E | Firewall WinCE | - |
0x0010 | File System Object |  |
0x0013 | Display Device |  |
0x0014 | EWF |  | -
0x0015 | FBWF |  | -
0x0017 | Silicon Drive |  |
0x0018 | OS |  |
0x0019 | RAID |  |
0x0100 | Misc |  |


Typübersicht Module

IPC Diagnostics

MDP Feature Support for CPx7xx-0020 / CX1010

Back to overview

type number | module | CPx7xx-0020 / CX1010
 |  | WES (Image v2.2) | CE6.0 (Image v3.22)
0x0002 | NIC |  |
0x0003 | Time |  |
0x0004 | User Management |  |
0x0005 | RAS | - |
0x0006 | FTP | - |
0x0007 | SMB |  |
0x0008 | TwinCAT - RunAsDevice - ShowTargetVisu - Log File size - Log File Path |  |
0x0009 | Datastore |  |
0x000A | Software |  |
0x000B | CPU - Temp |  |
0x000C | Memory - Storage Memory Allocated - Storage Memory Available - Memory Division |  |
0x000E | Firewall WinCE | - |
0x0010 | File System Object |  |
0x0013 | Display Device |  |
0x0014 | EWF |  | -
0x0015 | FBWF |  | -
0x0017 | Silicon Drive |  |
0x0018 | OS |  |
0x0019 | RAID |  |
0x0100 | Misc |  |


PLC

0x8nn0
SubIndex | Type | Name | Value | Type | Access
00 | VAR | Len |  | UNSIGNED16 | read-only
01 | VAR | Address | 0x0012 00nn | UNSIGNED32 | read-only
02 | VAR | Type | PLC | VISIBLE STRING | read-only
03 | VAR | Name |  | VISIBLE STRING | read-only
04 | VAR | Dev Type | 0x0012 2710 | UNSIGNED32 | read-only
0xBnn0 – Browse (Service Transfer Object)
InputData
Type | Name
UNSIGNED32 | pathLen
char[pathLen] | szPath
OutputData
Type | Name
UNSIGNED32 | Version = 1
UNSIGNED32 | cbData
UNSIGNED32 | cItems
UNSIGNED32 | nMaxReadLen
UNSIGNED32 | nOffsFirstPath

struct
    _TPathInfo
{
UNSIGNED32 nOffsNextPath;
UNSIGNED32 cchPath;
UNSIGNED32 cchAdsType;
UNSIGNED32 dwVarType;
UNSIGNED32 dwVarSize;
BOOLEAN hasSubItems;
//char[cchPath] szPath
//char[cchAdsType] szAdsType
}

0xBnn1 – Get Item Info (Service Transfer Object)
InputData
Type | Name
UNSIGNED32 | pathLen
char[pathLen] | szPath
OutputData
Type | Name
UNSIGNED32 | varType
UNSIGNED32 | adsType
UNSIGNED32 | varSize
BOOLEAN | hasSubItems
0xBnn2 – Get Variable value (Service Transfer Object)
InputData
Type | Name
UNSIGNED32 | pathLen
char[pathLen] | szPath
OutputData
Type | Name
UNSIGNED32 | varType
UNSIGNED32 | varSize
varType | value
0xBnn3 – Set Variable value (Service Transfer Object)
InputData
Type | Name
UNSIGNED32 | pathLen
UNSIGNED32 | cbValue
char[pathLen] | szPath
BYTE[cbValue] | pValue
0xBnn4 – Get Variable value Sum (Service Transfer Object)
InputData
Type | Name
UNSIGNED32 | Version = 1
UNSIGNED32 | cbData
UNSIGNED32 | hContinue
UNSIGNED32 | cItems
UNSIGNED32 | nMaxReadLen
UNSIGNED32 | nOffsFirstPath

struct
_TPath
{
DWORD nOffsNextPath;
DWORD cchPath;
//char[cchPath] szPath
}

OutputData
Type | Name
UNSIGNED32 | Version = 1
UNSIGNED32 | cbData
UNSIGNED32 | hContinue
UNSIGNED32 | cItems
UNSIGNED32 | nMaxReadLen
UNSIGNED32 | nOffsFirstPath

struct
    _TValue
{
DWORD nOffsNextValue;
DWORD dwSize;
//char[cchPath]
    szPath
}