Zum Inhalt springen
Dokumentation · MesSy

MesSy

Dieses Dokument beschreibt und spezifiziert das IRS-Messsystem für Lebensdauerprüfstände auf Basis des Single-Board-RIO von National Instruments.

Das Messsystem umfasst Module zur analogen Spannungsmessung, Digitalausgangs- und Relaismodule sowie Module für CAN- und serielle Kommunikation. Das Messsystem ist für den Einsatz in Lebensdauerprüfständen bestimmt, insbesondere für Steuergeräte aus dem Automobilbereich.

In den folgenden Kapiteln wird die Hardware des Messsystems sowohl allgemein als auch für jedes Funktionsmodul einzeln beschrieben. Außerdem werden die Softwarearchitektur und die API für den Zugriff auf die Hardware erläutert.

Mitgeltende Dokumente

Nr.DokumentDatumBemerkung
1CurrentConverter_8x_Datasheet_V1.0.pdf04.02.2013
2LDSA_MesSy_Guide_HW_V_1_1.docx05.02.2013

Tabelle 3: Mitgeltende Dokumente

Abkürzungen

AbkürzungBedeutungBemerkungen
LDSALebensDauerSimulationsAnlageengl. lifetime tester
DUTDevice Under Test (Prüfling)
UPSUninterruptable Power Supply (unterbrechungsfreie Stromversorgung)
GUIGeneric User Interface (Benutzeroberfläche)
MesSyMeasurement System (Messsystem)
APIApplication Programmer’s Interface (Programmierschnittstelle)
TSCTestStand ControllerSoftware zum Ausführen des Prüfablaufs in TestStand
COTSComponent Off-The-ShelfStandardkomponente
FPGAField Programmable Gate ArrayProgrammierbarer Logikbaustein
RTReal Time (Echtzeit)Softwareteil im MesSy
GNDGround (Masse)Spannungspotenzial von 0 V

Tabelle 4: Abkürzungen

Kapitel 1

HW-Beschreibung

1.1Blockschaltbild

Blockschaltbild des Messsystems: PC über Ethernet zum sbRIO (RT-Controller und FPGA), Steckleisten P2–P5 zur Analogeingangs-, Digitalausgangs- und Misc-Platine mit den Steckverbindern X1–X6, optionale C-Series-Module J9–J11 an X2, Versorgung mit 24 V DC

Das Messsystem umfasst Folgendes:

  • NI Single-Board-RIO sbRIO-9602 (COTS von National Instruments) mit
    • Prozessor mit Echtzeitsoftware (LabVIEW RT)
    • FPGA für den Zugriff auf die anderen Platinen über digitale IOs und für die Datenverarbeitung (LabVIEW FPGA)
  • 128x Analogeingänge in der folgenden Konfiguration, zweifach vorhanden:
    • 32 Single-Ended-Kanäle (0…32 V / 14 Bit)
      • 3 kS/s parallel / 1,2 MS/s Einzelkanal
      • bezogen auf einen GND-Knoten
    • 16 Single-Ended-Kanäle (0…32 V / 14 Bit)
      • 6 kS/s parallel / 1,2 MS/s Einzelkanal
      • bezogen auf einen zusätzlichen GND-Knoten
    • 16 differenzielle Kanäle (±48 V / 14 Bit)
      • 150 kS/s parallel / 1,2 MS/s Einzelkanal
  • 88x Digitalausgänge in der folgenden Konfiguration, zweifach vorhanden:
    • 24 Relais, Schließer
    • 8 Relais, Wechsler
    • 10 FET-Ausgänge, bezogen auf System-GND
    • 2 FET-Ausgänge, galvanisch getrennt für beliebigen GND-Bezug
  • 4x CAN
    • 2x High-Speed mit wählbarem Abschlusswiderstand (keiner, 120 Ohm, 60 Ohm)
    • 2x ohne Transceiver, um in der Lastbox DUT-spezifische Transceiver für High-Speed, Low-Speed oder spezielles CAN (z. B. E-CAN für Lkw) zu realisieren
  • 10x seriell
    • ohne Transceiver, um in der Lastbox DUT-spezifische Transceiver für K-Line, LIN, … zu realisieren
  • LVDS-Schnittstelle (3x Out, 2x In) für bis zu 6 kaskadierte Strommessmodule
  • 16x Open-Collector-Ausgang zur Ansteuerung von Status-LEDs oder als Universalausgang
  • 6x Digitaleingang zur Erfassung schneller digitaler Signale
  • 16x digitale IOs zur Erfassung oder Erzeugung langsamer digitaler Signale

1.2Spannungsversorgung

Das Messsystem benötigt eine einzelne 24-V-DC-Versorgung bei einer Stromaufnahme von durchschnittlich ca. 700 mA, maximal 1500 mA.

1.3Interne Schnittstellen

In der Standardkonfiguration besteht das Messsystem aus einem Aluminiumträger, der 4 Leiterplatten enthält. Diese sind:

  • NI-Single-Board-RIO-Platine sbRIO-9602 (COTS von National Instruments)
  • Basis- und Kommunikationsplatine (von IRS entwickelte Platine)
  • Digitalausgangsplatine (von IRS entwickelte Platine)
  • Analogeingangsplatine (von IRS entwickelte Platine)

Die folgende Abbildung zeigt die 4 Platinen im Inneren des Messsystems

Explosionsdarstellung der Platinen im Messsystem: Basisplatine mit Ethernet, Analogeingangsplatinen (64x Analog In), Digitalplatinen (24x Relay NO, 8x Relay NO/NC, 12x open Drain) sowie Gegenstücke für CAN/LIN, CMM, LED und Trigger

Die Platinen sind über Flachbandkabel mit den Steckleisten P2, P3, P4 und P5 des sbRIO verbunden. Zusätzlich können gemäß der folgenden Abbildung bis zu drei Compact-RIO-c-Series-Module angeschlossen werden.

Für den Zugriff auf die externen Signale der c-Series-Module können diese Signale auf einen freien 96-poligen Steckverbinder (DIN41612) auf der Basis- und Kommunikationsplatine geführt werden.

Drei Standard-C-Series-Module neben den sbRIO-Steckleisten P4 (0,1,2), P2 (2,5,6), P5 (3,4,7) und P3 (7,8,9)

1.4Externe Schnittstellen

Alle externen Verbindungen zum Prüfling und zur Lastbox werden über 6x 96-polige VG-Steckverbinder (DIN41612) hergestellt. Der Träger kann also ohne weitere Verkabelung in die Lastbox gesteckt werden. Die Verbindung zur Kommunikation mit dem PC ist das einzige zusätzliche Kabel; es handelt sich um eine gewöhnliche Ethernet-Verbindung mit einem Standard-Ethernet-Kabel.

Träger des Messsystems: Rückseite mit 6x VG96-Steckverbinder DIN41612, Frontplatte mit Ethernet-Anschluss

Das folgende Blockschaltbild zeigt einen typischen Aufbau des Messsystems in einem Lebensdauerprüfstand, in dem zusätzliche Signalkonditionierung für nicht standardmäßige Spannungsbereiche, Laststrommessungen, Analogausgänge und Kommunikations-Transceiver eingesetzt werden kann.

Typischer Aufbau in einer Lastbox: Messsystem-Software, Mikrocontroller, CAN, seriell, Digitalausgang, Analogeingang und LVDS; optionale externe Hardware wie cRIO-Modul, externe Transceiver, Analogausgang, digitale und analoge Konditionierung sowie CMM-Versorgungsstrommessung; DUT-Lasten und Prüfling

1.5Aufbau der Lastbox

Die folgende Abbildung zeigt die typische Anordnung des Messsystems in der Lastbox in der Seitenansicht:

Seitenansicht der Lastbox: Lastkarten / Kühlkörper vorne, Steckverbinder und Verdrahtung, Messsystem (230 mm) hinten

In der typischen Anwendung des Messsystems werden die Ersatz- und Originallasten des Prüflings im vorderen Bereich der Lastbox auf Kühlkörpern oder anderen Lastkarten montiert. Auf der Rückseite sollten das Messsystem mit zusätzlicher Elektronik wie dem Strommessmodul sowie die Steckverbinder zum Prüfling und zur Spannungsversorgung angeordnet werden.

Die folgende Abbildung zeigt die typische Anordnung des Messsystems in der Lastbox in der Draufsicht:

Draufsicht der Lastbox: Lastkarten / Kühlkörper, Netzteil +24 V DC, zusätzliche Elektronik, Strommessmodul (CMM), Messsystem 21TE (106,68 mm), DUT-Steckverbinder und Netzeingang

Die folgende Abbildung zeigt die typische Anordnung des Messsystems in der Lastbox in der Draufsicht:

Foto einer Lastbox von oben mit DUT-spezifischen Lasten, 24-V-Versorgung für MesSy und Elektronik, Messsystem und zusätzlicher Elektronik

Wie in den folgenden Abbildungen dargestellt, kann das Messsystem in die DUT-spezifische Lastbox gesteckt werden

In die Lastbox gestecktes Messsystem, VG-Steckverbinder X1 bis X6 markiert

Die folgende Abbildung zeigt die Ausrichtung und die Abmessungen der VG-Steckverbinder; die richtige Position lässt sich durch Abzählen der „Löcher“ auf der Montageschiene ermitteln:

Montageschiene mit den VG-Steckverbindern X6, X4, X2 und X5, X3, X1: Gesamtbreite 21TE = 106,68 mm, Abstand 5TE = 25,4 mm und 7TE = 35,56 mm

1.6GND-Konzept

Ein wichtiger Punkt beim Betrieb von Lebensdauerprüfständen ist das GND-Konzept. Das MesSy stellt ein System-GND bereit, auf das sich alle internen Signale und nahezu alle digitalen Benutzerkanäle beziehen. Für analoge Messungen stehen zusätzliche GND-Referenzeingänge zur Verfügung.

1.6.1Digitale GND-Bezüge

Nahezu alle digitalen Signale beziehen sich auf System-GND, das durch das 24-V-Netzteil festgelegt ist. Spannungsabfälle sind für digitale Signale meist weniger problematisch, sollten aber berücksichtigt werden.

Die folgende Abbildung zeigt das GND-Konzept des MesSy und seiner digitalen Kanäle:

Digitales GND-Konzept: 2x10 digitale FET-Ausgänge bezogen auf System-GND, 2x2 galvanisch getrennte FET-Ausgänge mit eigenem GND-Bezug, alle Signale der Basis- und Kommunikationsplatine bezogen auf System-GND, GND-Sternpunkt in der Lastbox

1.6.2Analoge GND-Bezüge für die Messung

Die GND-Bezüge für analoge Messungen sind ein wichtiger Punkt, da die Spannungen durch Spannungsabfälle am Kabelbaum variieren können. Deshalb können Analogeingänge auf unterschiedliche Spannungspegel bezogen werden. Diese Signalpegel können bis zu 2,7 V über dem System-GND des MesSy liegen, das durch das 24-V-Netzteil festgelegt ist.

Unterschiedliche Referenzeingänge können auch genutzt werden, um die Spannungsmessungen auf verschiedene Prüflinge oder auf verschiedene GND-Pins eines oder mehrerer Prüflinge zu beziehen.

Beachten Sie, dass die Referenzeingänge für differenzielle Eingänge nicht relevant sind, da jeder Kanal einen eigenen Bezug hat.

Analoges GND-Konzept: Referenzeingänge Ref_1 bis Ref_4 verbunden mit Sensor-GND, GND-Sternpunkt oder System-GND; die Bezüge der Analogeingänge können einen Offset von bis zu +2,7 V gegenüber System-GND haben; Ethernet galvanisch getrennt von PC-GND; DUT-spezifisches Netzteil

1.7Basis- und Kommunikationsplatine

Die Basis- und Kommunikationskarte wurde als Träger- und Kommunikationsplatine für das sbRIO entwickelt. Neben der Versorgung und den Befestigungsbohrungen für das sbRIO bietet sie

  • insgesamt vier CAN-Kanäle mit Transceiver-Enable
  • bis zu 10 serielle Schnittstellen mit Transceiver-Enable
  • 16 Open-Collector-Ausgänge,
  • 16 TTL- und CMOS-kompatible General-Purpose-IOs,
  • drei LVDS-Ausgänge und zwei LVDS-Eingänge für die Kommunikation mit den Strommessmodulen
  • eine I²C-Schnittstelle für externe Elektronikmodule.
  • 3 Steckplätze für Erweiterungen mit NI-Compact-RIO-c-Series-Modulen

Zwei Mikrocontroller mit ARM-Cortex-M3-Kern stellen die CAN- und seriellen Schnittstellen bereit; beide sind identisch beschaltet und haben getrennte Kommunikationsbusse sowie getrennte Reset-Signale zum sbRIO. Tiefe FIFO-Puffer für Senden und Empfangen an jeder Schnittstelle stellen sicher, dass keine Daten verloren gehen, auch wenn alle Schnittstellen gleichzeitig stark ausgelastet sind.

1.7.1Blockschaltbild

Blockschaltbild der Basis- und Kommunikationsplatine: ARM-Controller 1 und 2 mit seriell 1–10 und CAN-Kanälen, I2C-Portexpander für TRIG 1…16 und Open-Collector-Treiber, LVDS-Transceiver (CMM), CMOS-Puffer für RIO_IN 1…6, alle mit dem Single-Board-RIO verbunden

1.7.2Spezifikationen

ParameterMin.Typ.Max.Einheit
Versorgungsstrom einschließlich sbRIO bei 24 V (ohne zusätzliche c-Series-Module)160240300mA
Versorgungsspannung202428VDC
Anzahl CAN-Kanäle4
Anzahl serieller Schnittstellen10
Anzahl Open-Collector-Ausgänge16
Anzahl langsamer General-Purpose-IOs16
Anzahl LVDS-Eingänge2
Anzahl LVDS-Ausgänge3
Anzahl schneller General-Purpose-Eingänge6
Anzahl reservierter Mikrocontroller-Ports4
Anzahl reservierter c-Series-Steckplätze3

CAN-Kommunikation

Für die CAN-Kommunikation stehen auf der Platine 4 CAN-Kanäle zur Verfügung, verteilt auf zwei Mikrocontroller. Je ein CAN-Kanal pro Controller ist als High-Speed-Kanal konfiguriert und bietet einen per Software konfigurierbaren Abschluss (offen/120 Ohm/60 Ohm) über Reed-Relais. Der andere Kanal muss extern an High- oder Low-Speed-Transceiver mit entsprechendem Abschluss angeschlossen werden.

ParameterMin.Typ.Max.Einheit
Unterstützte Baudraten1251000kBit/s
CAN-V2.0-High-Speed-Kanäle2
Konfigurierbare Kanäle (High-/Low-Speed)2
Kanäle mit konfigurierbarem Abschluss2
Wählbarer Abschlusswiderstand60120offenOhm

Serielle und CAN-Kommunikationsleitungen mit externen Transceivern

Für jede der seriellen Schnittstellen sind drei Pins auf den VG-Steckverbinder geführt: RX, TX und Enable. Damit lassen sich extern Transceiver-ICs (RS232, LIN, K-Line, diskrete Pegelwandler) anschließen, die über das Enable-Signal deaktiviert werden können. Alle Signale der seriellen Schnittstellen und alle CAN-Signale für externe Transceiver erfüllen die folgende Spezifikation

ParameterMin.Typ.Max.Einheit
Eingangsspannung Low-0,50,4V
Eingangsspannung High2,43,3V
Eingangsstrom -0,5 V < VIn < 3,3 V-1+1µA
Eingangswiderstand VIn > 3,3 V oder VIn < -0,5 V220Ohm
Max. Ausgangsstrom Low bei VLow < 0,5 V01mA
Max. Ausgangsstrom High bei VHigh > 2,0 V01mA

General-Purpose-IOs Trig 1…16

Über einen I2C-Portexpander stehen 16 General-Purpose-IOs zur Verfügung. Alle IOs sind mit Serienwiderständen von 220 Ohm geschützt. Der Interrupt-Pin des Portexpanders ist mit dem sbRIO verbunden, um schnell auf sich ändernde Eingänge reagieren zu können. Die General-Purpose-IOs werden über einen I²C-Portexpander bereitgestellt.

ParameterMin.Typ.Max.Einheit
Eingangsspannung Low-0,51,5V
Eingangsspannung High3,55,5V
Eingangsstrom -0,5 V < VIn < 5,5 V-1+1µA
Eingangswiderstand VIn > 5,5 V oder VIn < -0,5 V220Ohm
Max. Ausgangsstrom Low bei VLow < 0,5 V08mA
Max. Ausgangsstrom High bei VHigh > 4,0 V08mA

Open-Collector-Ausgänge 1…16

Die Open-Collector-Ausgänge können jeweils Ströme bis 400 mA aufnehmen, begrenzt durch die maximale Strombelastbarkeit der Kupferleiterbahnen.

ParameterMin.Typ.Max.Einheit
Kollektorstrom pro Kanal0400mA
Kollektorstrom für 8 Kanäle insgesamtSiehe Abbildung unten

Wird mehr als ein Pin pro Treiber-IC verwendet, sinkt der maximal zulässige Strom. Die folgende Abbildung zeigt die Derating-Kurve bei Nutzung aller Ausgänge: Bei 25 °C sind 125 mA pro Pin zulässig, bei 85 °C etwa 60 mA.

Derating-Kurve Ausgangsstrom IOUT über Tastverhältnis bei 8 aktiven Kreisen, für Ta = 25 °C und 85 °C

LVDS-Schnittstelle für CMM

Für die Anbindung von LVDS-Geräten wie dem Strommessmodul CMM_II stehen drei TX-Leitungen und zwei RX-Leitungen zur Verfügung. Die Kupferleiterbahnen sind mit einer differenziellen Impedanz von ca. 100 Ohm geführt, und die RX-Leitungen sind mit 100-Ohm-Widerständen abgeschlossen.

Die Kupferleiterbahnen haben eine Breite von 350 µm und eine Dicke von 35 µm. Bei epsilonr = 4,2 und einer Prepreg-Höhe von 475 µm beträgt der Wellenwiderstand einer einzelnen Leiterbahn etwa 80 Ohm. Ein differenziell geführtes Paar dieser Leiterbahnen mit einem Abstand von 150 µm hat eine differenzielle Impedanz von 103 Ohm.

ParameterMin.Typ.Max.Einheit
LVDS-EingangSpannungsbereich-0,22,7V
LVDS-EingangAbschluss100Ohm
LVDS-EingangDifferenzieller Eingangsspannungsbereich100350600mV
LVDS-EingangGleichtakt-Eingangsspannungsbereich0,31,22,2V
LVDS-AusgangDifferenzieller Ausgangsspannungsbereich247350600mV
LVDS-AusgangGleichtakt-Ausgangsspannungsbereich1,1251,251,375V
Typische Baudrate der LVDS-Schnittstelle100125020.000kBit/s

Schnelle General-Purpose-Eingänge

Es stehen sechs TTL- und CMOS-kompatible Eingänge zur Verfügung, die mit einem High-Speed-CMOS-Puffer gepuffert sind und zur Erfassung schneller digitaler Signale verwendet werden können. Die 6 High-Speed-Eingänge sind mit einem Serienwiderstand von 1 kOhm und Doppel-Schottky-Dioden geschützt. Ein 100-kOhm-Pull-down-Widerstand sorgt für ein definiertes Potenzial, wenn die Eingänge offen bleiben. Es können Signale sowohl mit 3,3-V- als auch mit 5-V-Pegel angeschlossen werden.

ParameterMin.Typ.Max.Einheit
Eingangsspannung Low-0,50,8V
Eingangsspannung High2,05,5V
Eingangsstrom -0,5 V < VIn < 5,5 V-5+5µA
Eingangswiderstand VIn > 5,5 V1kOhm
TTL-kompatibelja
CMOS-kompatibelja

I²C-Schnittstelle

Über die I²C-Schnittstelle lassen sich zusätzliche externe Elektronikmodule ansteuern.

ParameterMin.Typ.Max.Einheit
Eingangsspannung Low00,8V
Eingangsspannung High2,05V
I²C-Senkenstrom (Ausgangsrichtung)24mA
I²C-Eingangsstrom (Eingangsrichtung)3mA

C-Series-Module

An die drei Sub-D-Steckverbinder des sbRIO können drei C-Series-Module angeschlossen werden, um weitere Funktionen hinzuzufügen

Mikrocontroller-Flash-Schnittstelle

Diese Schnittstelle dient zum Flashen der Mikrocontroller im Selbsttestadapter. Sie ist nur für den IRS-internen Gebrauch bestimmt.

1.7.3Layout

Layout der Basis- und Kommunikationsplatine: 50-poliger Steckverbinder zum sbRIO, reservierter Platz für das NI Single-Board-RIO sbRIO-9602, 24-V-Versorgung, Mikrocontroller-Flash, I2C extern und reservierte C-Series-Schnittstellen am VG-Steckverbinder

1.7.4Anschluss an das sbRIO

Die Kommunikationsplatine ist über einen 50-poligen Steckverbinder mit der Steckleiste P2 des sbRIO verbunden. Die Pinbelegung ist wie folgt.

Pinnummer P2NameBeschreibung
1GND
2SDAI²C-Bus Daten (Portexpander)
3SCLI²C-Bus Takt (Portexpander)
4RX1LVDS RX1 (Schnittstelle zum CMM)
5RX2LVDS RX1 (Schnittstelle zum CMM)
6+5V
7TX2LVDS TX2 (Schnittstelle zum CMM)
8GND
9TX1LVDS TX1 (Schnittstelle zum CMM)
10+5V
11TX3LVDS TX3 (Schnittstelle zum CMM)
12GND
13SPI CS (2)SPI-Bus Chip Select (Mikrocontroller 2)
14GND
15SPI CLK (2)SPI-Bus Takt (Mikrocontroller 2)
16GND
17SPI MISO (2)SPI-Bus MISO (Mikrocontroller 2)
18GND
19SPI MOSI (2)SPI-Bus MOSI (Mikrocontroller 2)
20GND
21EXT_I2C_SDASDA für externes I2C
22GPIO_2_1GPIO-Pin-Verbindung zu Mikrocontroller 2
23RIO HIGH-SPEED IN 1Gepufferter High-Speed-Eingang
24GND
25RIO HIGH-SPEED IN 2Gepufferter High-Speed-Eingang
26GND
27RIO HIGH-SPEED IN 3Gepufferter High-Speed-Eingang
28GND
29RIO HIGH-SPEED IN 4Gepufferter High-Speed-Eingang
30GND
31RIO HIGH-SPEED IN 5Gepufferter High-Speed-Eingang
32GND
33RIO HIGH-SPEED IN 6Gepufferter High-Speed-Eingang
34GND
35SPI CS (1)SPI-Bus Chip Select (Mikrocontroller 1)
36GND
37SPI CLK (1)SPI-Bus Takt (Mikrocontroller 1)
38GND
39SPI MISO (1)SPI-Bus MISO (Mikrocontroller 1)
40GND
41SPI MOSI (1)SPI-Bus MOSI (Mikrocontroller 1)
42GND
43GPIO_1_1GPIO-Pin-Verbindung zu Mikrocontroller 1
44GND
45EXT_I2C_SCLSCL für externes I2C
46GND
47PRG_RST_1Reset Mikrocontroller 1
48GND
49PRG_RST_2Reset Mikrocontroller 2
50GND

1.7.5Pinbelegung VG-Steckverbinder X1 (externe Signale)

PinSignalPinSignalPinSignal
a1OPEN_COLL_16b1OPEN_COLL_15c1OPEN_COLL_14
a2OPEN_COLL_13b2OPEN_COLL_12c2OPEN_COLL_11
a3OPEN_COLL_10b3OPEN_COLL_09c3OPEN_COLL_08
a4OPEN_COLL_07b4OPEN_COLL_06c4OPEN_COLL_05
a5OPEN_COLL_04b5OPEN_COLL_03c5OPEN_COLL_02
a6OPEN_COLL_01b6RIO_IN_05c6n.c.
a7Trig_16b7Trig_15c7Trig_14
a8Trig_13b8Trig_12c8Trig_11
a9Trig_10b9Trig_09c9Trig_08
a10Trig_07b10Trig_06c10Trig_05
a11Trig_04b11Trig_03c11Trig_02
a12Trig_01b12LVDS_IN1-c12LVDS_IN1+
a13RIO_IN_01b13LVDS_IN2-c13LVDS_IN2+
a14RIO_IN_02b14LVDS_OUT1+c14LVDS_OUT1-
a15RIO_IN_03b15LVDS_OUT2+c15LVDS_OUT2-
a16RIO_IN_04b16LVDS_OUT3+c16LVDS_OUT3-
a17Serial_EN_10b17Serial_EN_09c17Serial_EN_08
a18Serial_EN_07b18Serial_EN_06c18Serial_RX_09
a19Serial_TX_08b19Serial_RX_08c19Serial_TX_09
a20Serial_TX_06b20Serial_TX_07c20Serial_RX_07
a21Serial_RX_06b21GPIO_2_4c21GPIO_2_3
a22CAN_STDBY_2Ab22RIO_IN_06c22n.c.
a23CAN_ENABLE_2Ab23CAN_H_2Bc23CAN_L_2B
a24Serial_EN_05b24CAN_TX_2Ac24CAN_RX_2A
a25Serial_EN_02b25Serial_EN_03c25Serial_EN_04
a26Serial_TX_05b26Serial_RX_05c26Serial_EN_01
a27Serial_RX_03b27Serial_TX_04c27Serial_RX_04
a28Serial_TX_02b28Serial_RX_02c28Serial_TX_03
a29GPIO1_4b29Serial_TX_01c29Serial_RX_01
a30Serial_RX_10b30Serial_TX_10c30GPIO_1_3
a31CAN_H_1Bb31CAN_TX_1Ac31CAN_STDBY_1A
a32CAN_L_1Bb32CAN_RX_1Ac32CAN_ENABLE_1A

1.7.6Pinbelegung VG-Steckverbinder X2 (Spannungsversorgung, Mikrocontroller-Flashing, reserviert)

PinSignalPinSignalPinSignal
B23SCL_ExtC23SDA_Ext
C24µC1_Boot
C25µC1_PRG_RST
C26µC1_RxD
C27µC1_TxD
C28µC2_Boot
C29µC2_PRG_RST
C30µC2_RxD
C31µC2_TxD
a32+24VB32GNDC32GND

Die Pins C24 bis C31 dienen zum Flashen der Mikrocontroller. Dieser Vorgang wird nur bei IRS durchgeführt. Schließen Sie an diese Pins keine Signale an.

Die Pins B23 und C23 dienen zum Anschluss zusätzlicher externer Module über I²C. Zur Verwendung der I²C-Schnittstelle siehe Kapitel 4.5.

Der Rest des zweiten VG-Steckverbinders X2 ist nahezu vollständig für künftige Verwendung reserviert, insbesondere für die Verdrahtung zusätzlicher C-Series-Module, die über drei SUB-D-Steckverbinder an das RIO angeschlossen werden und deren Eingänge auf den VG-Steckverbinder verdrahtet werden können. Zu diesem Zweck sind alle Pins des VG-Steckverbinders auf drei 32-polige Steckleisten geführt.

1.7.7Zuordnung der Kommunikationsleitungen

Beachten Sie, dass es zwei Mikrocontroller gibt, die jeweils 2 CAN-Schnittstellen und 5 serielle Schnittstellen bedienen. Die Kommunikationsleitungen sind den beiden Mikrocontrollern gemäß der folgenden Tabelle zugeordnet:

µC1µC2
CAN_1ACAN_2A
CAN_1BCAN_2B
Serial_01Serial_06
Serial_02Serial_07
Serial_03Serial_08
Serial_04Serial_09
Serial_05Serial_10

1.7.8CMM-Anschluss

Informationen zum Anschluss des CMM finden Sie in Kapitel 4.1.

1.8Analogeingangsplatine 128x

Die Analogeingangsplatine bietet 128 Analogkanäle, aufgeteilt in zwei identische Subsysteme mit je 64 Kanälen und den folgenden Eigenschaften:

  • 32 Single-Ended-Kanäle (externe Referenzspannung 1), 0...32 V bei 3 kS/s gleichzeitig
  • 16 Single-Ended-Kanäle (externe Referenzspannung 2), 0...32 V bei 6 kS/s gleichzeitig
  • 16 differenzielle Kanäle, unterteilt in gleichzeitig abgetastete Gruppen von je 8 Kanälen, -48...48 V bei 150 kS/s parallel.

Um die Eingangsströme möglichst gering zu halten, wurde am Eingang der Single-Ended-Kanäle kein Spannungsteiler vorgesehen. Da das Signal direkt am nichtinvertierenden Eingang des Eingangsverstärkers anliegt, wird eine sehr hohe Eingangsimpedanz erreicht. Beachten Sie, dass dieser offene Eingang die Verstärker zur oberen Versorgungsschiene driften lässt, wenn keine Eingangsspannung angeschlossen ist. In diesem Fall liefern die ADCs nur Einsen (0x3FFF).

Ein EEPROM-Speicher ist vorhanden, in dem Kalibrierdaten, Kalibrierwerte, eine ID, die Hardwarerevision und technische Details (z. B. Dämpfung / Verstärkung jedes Kanals) gespeichert werden können.

Die Analogeingangsplatine wird wie das gesamte Messsystem aus einer einzelnen 24-V-DC-Versorgung gespeist. Ein Schaltnetzteil zwischen den analogen Mess-Subsystemen erzeugt positive und negative Spannungen, die mit LDOs linear geregelt werden, um saubere Versorgungsschienen bereitzustellen. Die folgende Abbildung zeigt die Spannungsversorgungseinheit der Analogeingangsplatine.

Spannungsversorgungseinheit der Analogeingangsplatine: +24 V auf Step-Up (+38 V) und Linearregler (+35 V), Step-Down (+5,6 V) und LDO (+5 V), Inverter (-6 V) und LDO (-5 V)

Ein Softstart / Power-Sequencing ist vorhanden, um den Einschaltstrom in dem Moment zu verringern, in dem die Spannungsversorgung angeschlossen wird.

Wie im folgenden Funktionsblockschaltbild dargestellt, werden die Kanäle auf ADCs mit je zwei Kanälen gemultiplext. 32 Single-Ended-Kanäle werden von einem 32:1-Multiplexer mit den Adressleitungen ADR1_0 bis ADR1_4 verarbeitet, die übrigen 16 Single-Ended-Kanäle von einem 16:1-Multiplexer mit den Adressleitungen ADR2_0 bis ADR2_3, und die differenziellen Kanäle werden über zwei 8:1-Multiplexer mit gemeinsamen Adressleitungen ADR3_0 bis ADR3_2 geschaltet.

Alle Adressleitungen sind mit High-Speed-CMOS-Puffern gepuffert, um die Last für die Ausgangstreiber des FPGA zu verringern und saubere Signale auf der Leiterplatte bereitzustellen.

1.8.1Blockschaltbild

Blockschaltbild der Analogeingangsplatine: zwei Subsysteme mit je 64 Kanälen, jeweils mit Mux 32:1 und Mux 16:1 für Single-Ended-Eingänge und zwei Mux 8:1 für differenzielle Eingänge, ADCs unter 1,5 MSa/s, Puffer und EEPROM zum sbRIO

1.8.2Spezifikationen

ParameterMin.Typ.Max.Einheit
Versorgungsstrom bei 24 V400440500mA
Versorgungsspannung222426VDC
Gesamtzahl der Kanäle128
Anzahl Single-Ended-Kanäle96
Anzahl differenzieller Kanäle32

Alle Eingänge werden mit einer Auflösung von 14 Bit gewandelt.

Die Single-Ended-Eingänge können jeweils mit einer Rate von 3 kSa/s (Kanäle 1–32 und 65–80) / 6 kSa/s (Kanäle 33–48 und 81 bis 96) abgetastet werden, die differenziellen Eingänge mit mehr als 150 kS/s.

Wird nur ein Kanal gemessen, sind Abtastraten von bis zu 1,2 MSa/s (eventuell 1,5 MSa) erreichbar.

Die differenziellen Eingänge sind frequenzkompensiert, um Signalverläufe genau wiederzugeben.

Spezifikation der Single-Ended-Kanäle

ParameterMin.Typ.Max.Einheit
Eingangsspannungsbereich (bezogen auf GND)032V
Maximale Abtastrate (ein Kanal)1,2MSa/s
Maximale Abtastrate (Kanal 1–32, 49…80)3kSa/s
Maximale Abtastrate (Kanal 33–48, 81..96)6kSa/s
Spannungsbereich des Referenzeingangs gegenüber GND-0,72,7V
3-dB-Bandbreite700kHz
Auflösung14Bit
Genauigkeit (nicht kalibriert)1,02,0% vom Messbereichsendwert
Genauigkeit (nach Kalibrierung) bei 5…30 V0,10,3% vom Messwert
Eingangsstrom bei 0 … 35 V (Strom fließt aus dem Verstärker heraus!)100700nA
Eingangswiderstand bei < 0 V oder > 35 V10kOhm

Spezifikation der differenziellen Kanäle

ParameterMin.Typ.Max.Einheit
Eingangsspannungsbereich (differenziell)-4848V
Eingangsspannungsbereich (Gleichtakt)-6060V
Maximale Abtastrate (ein Kanal)1,2MSa/s
Maximale Abtastrate (alle diff. gleichzeitig)150kSa/s
3-dB-Bandbreite1500kHz
Auflösung14Bit
Genauigkeit (nicht kalibriert)2,04,0% vom Messbereichsendwert
Genauigkeit (nach Kalibrierung) bei ±5…48 V0,61,0% vom Messwert
Eingangswiderstand (positiver oder negativer Eingang gegen GND)400kOhm
Eingangswiderstand (positiver und negativer Eingang differenziell)780kOhm

1.8.3Layout

Layout der Analogeingangsplatine LDSA_MesSy_Analog128 V1.4: Subsystem 1 mit 64 Kanälen (X3, P4), Schaltnetzteil, Subsystem 2 mit 64 Kanälen (X4, P5)

1.8.4Anschluss an das sbRIO

Die Karte ist über zwei 50-polige Steckverbinder mit P4 und P5 des sbRIO verbunden, jeweils mit der folgenden Pinbelegung

Pinnummer P4 / P5NameBeschreibung
1…7n.c.nicht verwendet
8GND
9
10
11SCLSerieller Takt des On-Board-EEPROM
12
13SDASerielle Daten des On-Board-EEPROM
14GND
15SDO2Serielle Daten von ADC2
16
17SDOSerielle Daten von ADC1
18GND
19
20GND
21ConvStartsignal der Wandlung für die ADCs
22
23SCKSerieller Takt für die ADCs
24
25
26
27Adr2_0Adressleitung 1 des 16:1-Multiplexers
28
29Adr2_1Adressleitung 2 des 16:1-Multiplexers
30
31Adr2_2Adressleitung 3 des 16:1-Multiplexers
32
33Adr2_3Adressleitung 4 des 16:1-Multiplexers
34
35Adr1_4Adressleitung 5 des 32:1-Multiplexers
36
37Adr1_3Adressleitung 4 des 32:1-Multiplexers
38
39Adr1_2Adressleitung 3 des 32:1-Multiplexers
40
41Adr1_1Adressleitung 2 des 32:1-Multiplexers
42
43Adr1_0Adressleitung 1 des 32:1-Multiplexers
44
45Adr3_2Adressleitung 3 der 8:1-Multiplexer
46GND
47Adr3_1Adressleitung 2 der 8:1-Multiplexer
48
49Adr3_0Adressleitung 1 der 8:1-Multiplexer
50GND

1.8.5Pinbelegung VG-Steckverbinder X3 (externe Signale Analog-Subsystem 1)

PinSignalPinSignalPinSignal
a1Diff_In_3b+b1Diff_In_6a+c1Diff_In_1a+
a2Diff_In_3b-b2Diff_In_6a-c2Diff_In_1a-
a3Diff_In_4b+b3Diff_In_7a+c3Diff_In_2a+
a4Diff_In_4b-b4Diff_In_7a-c4Diff_In_2a-
a5Diff_In_5b+b5Diff_In_8a+c5Diff_In_3a+
a6Diff_In_5b-b6Diff_In_8a-c6Diff_In_3a-
a7Diff_In_6b+b7Diff_In_1b+c7Diff_In_4a+
a8Diff_In_6b-b8Diff_In_1b-c8Diff_In_4a-
a9Diff_In_7b+b9Diff_In_2b+c9Diff_In_5a+
a10Diff_In_7b-b10Diff_In_2b-c10Diff_In_5a-
a11Diff_In_8b+b11GNDc11n.c.
a12Diff_In_8b-b12GNDc12+24V
a13n.c.b13n.c.c13+24V
a14n.c.b14n.c.c14n.c.
a15REF_In_2b15n.c.c15REF_In_1
a16REF_In_2b16n.c.c16REF_In_1
a17Sing_In_48b17Sing_In_32c17Sing_In_16
a18Sing_In_47b18Sing_In_31c18Sing_In_15
a19Sing_In_46b19Sing_In_30c19Sing_In_14
a20Sing_In_45b20Sing_In_29c20Sing_In_13
a21Sing_In_44b21Sing_In_28c21Sing_In_12
a22Sing_In_43b22Sing_In_27c22Sing_In_11
a23Sing_In_42b23Sing_In_26c23Sing_In_10
a24Sing_In_41b24Sing_In_25c24Sing_In_9
a25Sing_In_40b25Sing_In_24c25Sing_In_8
a26Sing_In_39b26Sing_In_23c26Sing_In_7
a27Sing_In_38b27Sing_In_22c27Sing_In_6
a28Sing_In_37b28Sing_In_21c28Sing_In_5
a29Sing_In_36b29Sing_In_20c29Sing_In_4
a30Sing_In_35b30Sing_In_19c30Sing_In_3
a31Sing_In_34b31Sing_In_18c31Sing_In_2
a32Sing_In_33b32Sing_In_17c32Sing_In_1

SING_In_1 bis SING_In_32 sind auf REF_In_1 bezogen, SING_In_33 bis SING_In_48 auf REF_In_2.

1.8.6Pinbelegung VG-Steckverbinder X4 (externe Signale Analog-Subsystem 2)

PinSignalPinSignalPinSignal
a1Diff_In_11b+b1Diff_In_14a+c1Diff_In_9a+
a2Diff_In_11b-b2Diff_In_14a-c2Diff_In_9a-
a3Diff_In_12b+b3Diff_In_15a+c3Diff_In_10a+
a4Diff_In_12b-b4Diff_In_15a-c4Diff_In_10a-
a5Diff_In_13b+b5Diff_In_16a+c5Diff_In_11a+
a6Diff_In_13b-b6Diff_In_16a-c6Diff_In_11a-
a7Diff_In_14b+b7Diff_In_9b+c7Diff_In_12a+
a8Diff_In_14b-b8Diff_In_9b-c8Diff_In_12a-
a9Diff_In_15b+b9Diff_In_10b+c9Diff_In_13a+
a10Diff_In_15b-b10Diff_In_10b-c10Diff_In_13a-
a11Diff_In_16b+b11GNDc11n.c.
a12Diff_In_16b-b12GNDc12+24V
a13n.c.b13n.c.c13+24V
a14n.c.b14n.c.c14n.c.
a15REF_In_4b15n.c.c15REF_In_3
a16REF_In_4b16n.c.c16REF_In_3
a17Sing_In_96b17Sing_In_80c17Sing_In_64
a18Sing_In_95b18Sing_In_79c18Sing_In_63
a19Sing_In_94b19Sing_In_78c19Sing_In_62
a20Sing_In_93b20Sing_In_77c20Sing_In_61
a21Sing_In_92b21Sing_In_76c21Sing_In_60
a22Sing_In_91b22Sing_In_75c22Sing_In_59
a23Sing_In_90b23Sing_In_74c23Sing_In_58
a24Sing_In_89b24Sing_In_73c24Sing_In_57
a25Sing_In_88b25Sing_In_72c25Sing_In_56
a26Sing_In_87b26Sing_In_71c26Sing_In_55
a27Sing_In_86b27Sing_In_70c27Sing_In_54
a28Sing_In_85b28Sing_In_69c28Sing_In_53
a29Sing_In_84b29Sing_In_68c29Sing_In_52
a30Sing_In_83b30Sing_In_67c30Sing_In_51
a31Sing_In_82b31Sing_In_66c31Sing_In_50
a32Sing_In_81b32Sing_In_65c32Sing_In_49

SING_In_1 bis SING_In_32 sind auf REF_In_1 bezogen, SING_In_33 bis SING_In_48 auf REF_In_2.

Die Referenzeingänge sind gegen Signale von mehr als 2,7 V über oder 0,2 V unter Masse geschützt, dieser Bereich darf jedoch nur kurzzeitig überschritten werden!

Die +24-V-Versorgung wird an die Pins C12 und C13 jedes VG-Steckverbinders angeschlossen.

1.8.7Genauigkeit der Analogeingänge

Für eine gute Genauigkeit muss eine Kalibrierung durchgeführt werden. Verstärkung und Offset jedes Kanals müssen nach dem Aufbau ermittelt werden. Die Werte für Verstärkung und Offset werden im EEPROM der Analogeingangsplatine gespeichert. Sie werden beim Start gelesen und bei jedem Auslesen eines Analogwerts verwendet.

Single-Ended-Kanäle

Die folgende Abbildung zeigt die typische Genauigkeit aller 96 Single-Ended-Kanäle im nicht kalibrierten Zustand

Relativer Messfehler in Prozent vom Messwert über der Eingangsspannung 0 bis 35 V, Single-Ended-Kanäle, nicht kalibriert

Die folgende Abbildung zeigt die typische Genauigkeit aller 96 Single-Ended-Kanäle nach der Kalibrierung

Relativer Messfehler in Prozent vom Messwert über der Eingangsspannung 0 bis 35 V, Single-Ended-Kanäle, nach der Kalibrierung

Differenzielle Kanäle

Die folgende Abbildung zeigt die typische Genauigkeit aller 32 differenziellen Kanäle im nicht kalibrierten Zustand.

Relativer Messfehler in Prozent vom Messwert über der Eingangsspannung -50 bis 50 V, differenzielle Kanäle, nicht kalibriert

Die folgende Abbildung zeigt die typische Genauigkeit aller 32 differenziellen Kanäle nach der Kalibrierung

Relativer Messfehler in Prozent vom Messwert über der Eingangsspannung -50 bis 50 V, differenzielle Kanäle, nach der Kalibrierung

1.9Digitalausgangsplatine

Die Digitalausgangskarte bietet 64 Relais und 24 MOSFETs für allgemeine Schaltaufgaben. Die Relais sind in 48 Schließer und 16 Wechsler aufgeteilt. Die MOSFETs sind als Open-Drain-Low-Side-Schalter beschaltet und können bis zu 60 V und 3 A schalten. Der VG-Steckverbinder ist jedoch nur für 2 A pro Pin spezifiziert, daher sollte ein Strom von 2 A nicht überschritten werden. Der Gesamtstrom aller 10 FETs, die gegen GND schalten, sollte unter 14 A bleiben.

4 der 24 Transistoren sind galvanisch von den übrigen (und voneinander) getrennt.

Die MOSFETs können jeweils direkt über I/O-Pins des sbRIO geschaltet werden: Eine logische 0 schaltet den MOSFET ein, eine logische 1 aus. Jeder MOSFET-Ausgang kann für schnelle Schaltanwendungen wie PWM verwendet werden.

Die Relais werden über I²C-Portexpander angesprochen. Alle Portexpander sind am selben I²C-Bus angeschlossen, haben aber unterschiedliche Adressen. Die Portexpander schalten die Relais mithilfe leistungsfähiger Treiber-ICs.

Die Karte Relais_FET_LDSA besteht aus zwei identischen Subsystemen. Der MOSFET-Teil und die Portexpander der Karte werden vom sbRIO versorgt; die Relais benötigen eine zusätzliche 24-V-Versorgung an den VG-Steckverbindern X5, X6.

1.9.1Blockschaltbild

Das folgende Funktionsblockschaltbild zeigt, wie jedes der Subsysteme (d. h. eine Hälfte des Gesamtsystems) arbeitet.

Blockschaltbild eines Digitalausgangs-Subsystems: 50-poliger VG-Steckverbinder zum sbRIO, I2C-Bus zu den Portexpandern 1 und 2 mit Treibern für 16 Schließer, 8 Schließer und 8 Wechsler, 10 GND-bezogene und 2 galvanisch getrennte Open-Drain-MOSFET-Ausgänge, 96-poliger VG-Steckverbinder mit 24-V-Versorgung

1.9.2Spezifikationen

ParameterMin.Typ.Max.Einheit
Versorgungsstrom bei 24 V, alle Relais offen4720mA
Versorgungsstrom bei 24 V, alle Relais ein600700800mA
Versorgungsspannung222426VDC
Anzahl Schließer-Relais48
Anzahl Wechsler-Relais16
Anzahl Open-Drain gegen System-GND20
Anzahl Open-Drain galvanisch getrennt4

Open-Drain-MOSFET-Ausgänge

ParameterMin.Typ.Max.Einheit
Spannungsbereich60V
Dauerstrom (begrenzt durch Steckverbinder)02A
RDS(on) @60100150mOhm
Fallzeit tf0,51µs
Anstiegszeit tr bei RPullup = 1 kOhm0,51µs

Relais – Schließer

ParameterMin.Typ.Max.Einheit
Schaltspannung60VDC oder VACpeak
Schaltstrom1,0A
Dauerstrom1,25A
Kontaktwiderstand200mOhm
Lebensdauer bei 5 V / 10 mA1000x106 Zyklen

Relais – Wechsler

ParameterMin.Typ.Max.Einheit
Schaltspannung60VDC oder VACpeak
Schaltstrom1,0A
Dauerstrom1,0A
Kontaktwiderstand bei 6 V 10 mA50mOhm
Lebensdauer ohne Last1000x106 Zyklen
Lebensdauer bei 6 V / 100 mA50x106 Zyklen

Die folgende Abbildung zeigt die maximale Schaltspannung der Wechsler-Relais in Abhängigkeit vom Schaltstrom.

Maximale Schaltspannung (DC) über Schaltstrom (DC) der Wechsler-Relais, Grenze 30 Watt und empfohlener Einsatzbereich

1.9.3Layout

Layout der Digitalausgangsplatine: Subsystem 1 mit Open Drain 11–12 (galvanisch getrennt), Open Drain 1–10, Wechslern 25–32, Schließern 17–24 und 1–16; Subsystem 2 mit MOSFETs 23–24 (galvanisch getrennt), Open Drain 13–22, Wechslern 57–64, Schließern 49–56 und 33–48

1.9.4Anschluss an das sbRIO

Die Karte ist über ein 50-poliges Flachbandkabel mit der Steckleiste P3 des sbRIO verbunden. Der zugehörige Steckverbinder hat die folgende Pinbelegung. Stellen Sie sicher, dass die Karte an keinen anderen Steckverbinder als P3 des sbRIO angeschlossen ist!

Pinnummer P3NameBeschreibung
1GND
2Open Drain 13
3Open Drain 14
4GND
5Open Drain 15
6GND
7Open Drain 16
8GND
9Open Drain 17
10GND
11Open Drain 18
12Open Drain 19
13Open Drain 20
14GND
15Open Drain 21
16GND
17Open Drain 22
18GND
19Open Drain 23 (galvanisch getrennt)
20GND
21Open Drain 24 (galvanisch getrennt)
22GND
23Open Drain 1
24GND
25Open Drain 2
26GND
27Open Drain 3
28GND
29Open Drain 4
30GND
31Open Drain 5
32reserviert
33Open Drain 6
34GND
35Open Drain 7
36GND
37Open Drain 8
38GND
39SDA (I²C)
40GND
41SCL (I²C)
42GND
43Open Drain 9
44+5-V-Versorgung
45Open Drain 10
46GND
47Open Drain 11 (galvanisch getrennt)
48+5-V-Versorgung
49Open Drain 12 (galvanisch getrennt)
50GND

1.9.5Pinbelegung VG-Steckverbinder X5 (externe Signale Digital-Subsystem 1)

PinSignalPinSignalPinSignal
a1Rel1 (COM)b1Rel2 (COM)c1Rel3 (COM)
a2Rel1 (NO)b2Rel2 (NO)c2Rel3 (NO)
a3Rel4 (COM)b3Rel5 (COM)c3Rel6 (COM)
a4Rel4 (NO)b4Rel5 (NO)c4Rel6 (NO)
a5Rel7 (COM)b5Rel8 (COM)c5Rel9 (COM)
a6Rel7 (NO)b6Rel8 (NO)c6Rel9 (NO)
a7Rel10 (COM)b7Rel11 (COM)c7Rel12 (COM)
a8Rel10 (NO)b8Rel11 (NO)c8Rel12 (NO)
a9Rel13 (COM)b9Rel14 (COM)c9Rel15 (COM)
a10Rel13 (NO)b10Rel14 (NO)c10Rel15 (NO)
a11Rel16 (COM)b11Rel17 (COM)c11Rel18 (COM)
a12Rel16 (NO)b12Rel17 (NO)c12Rel18 (NO)
a13Rel19 (COM)b13Rel20 (COM)c13Rel21 (COM)
a14Rel19 (NO)b14Rel20 (NO)c14Rel21 (NO)
a15Rel22 (COM)b15Rel23 (COM)c15Rel24 (COM)
a16Rel22 (NO)b16Rel23 (NO)c16Rel24 (NO)
a17Rel25a (NC)b17Rel26a (NC)c17Rel27a (NC)
a18Rel25a (NO)b18Rel26a (NO)c18Rel27a (NO)
a19Rel25a (COM)b19Rel26a (COM)c19Rel27a (COM)
a20Rel28a (NC)b20Rel29a (NC)c20Rel30a (NC)
a21Rel28a (NO)b21Rel29a (NO)c21Rel30a (NO)
a22Rel28a (COM)b22Rel29a (COM)c22Rel30a (COM)
a23Rel31a (NC)b23Rel32a (NC)c23+24V
a24Rel31a (NO)b24Rel32a (NO)c24+24V
a25Rel31a (COM)b25Rel32a (COM)c25+24V
a26Open_Drain1b26Open_Drain8c26GND
a27Open_Drain2b27Open_Drain9c27GND
a28Open_Drain3b28Open_Drain10c28GND
a29Open_Drain4b29GNDc29Open_Drain11
a30Open_Drain5b30GNDc30GND_ISO_11
a31Open_Drain6b31GNDc31Open_Drain12
a32Open_Drain7b32GNDc32GND_ISO_12

Die Open-Drain-Ausgänge 1 bis 10 schalten alle gegen GND, während die galvanisch getrennten Open-Drain-Ausgänge 11 und 12 gegen separate Pins (GND_ISO_11 und GND_ISO_12) schalten.

1.9.6Pinbelegung VG-Steckverbinder X6 (externe Signale Digital-Subsystem 2)

PinSignalPinSignalPinSignal
a1Rel33 (COM)b1Rel34 (COM)c1Rel35 (COM)
a2Rel33 (NO)b2Rel34 (NO)c2Rel35 (NO)
a3Rel36 (COM)b3Rel37 (COM)c3Rel38 (COM)
a4Rel36 (NO)b4Rel37 (NO)c4Rel38 (NO)
a5Rel39 (COM)b5Rel40 (COM)c5Rel41 (COM)
a6Rel39 (NO)b6Rel40 (NO)c6Rel41 (NO)
a7Rel42 (COM)b7Rel43 (COM)c7Rel44 (COM)
a8Rel42 (NO)b8Rel43 (NO)c8Rel44 (NO)
a9Rel45 (COM)b9Rel46 (COM)c9Rel47 (COM)
a10Rel45 (NO)b10Rel46 (NO)c10Rel47 (NO)
a11Rel48 (COM)b11Rel49 (COM)c11Rel50 (COM)
a12Rel48 (NO)b12Rel49 (NO)c12Rel50 (NO)
a13Rel51 (COM)b13Rel52 (COM)c13Rel53 (COM)
a14Rel51 (NO)b14Rel52 (NO)c14Rel53 (NO)
a15Rel54 (COM)b15Rel55 (COM)c15Rel56 (COM)
a16Rel54 (NO)b16Rel55 (NO)c16Rel56 (NO)
a17Rel57a (NC)b17Rel58a (NC)c17Rel59a (NC)
a18Rel57a (NO)b18Rel58a (NO)c18Rel59a (NO)
a19Rel57a (COM)b19Rel58a (COM)c19Rel59a (COM)
a20Rel60a (NC)b20Rel61a (NC)c20Rel62a (NC)
a21Rel60a (NO)b21Rel61a (NO)c21Rel62a (NO)
a22Rel60a (COM)b22Rel61a (COM)c22Rel62a (COM)
a23Rel63a (NC)b23Rel64a (NC)c23+24V
a24Rel63a (NO)b24Rel64a (NO)c24+24V
a25Rel63a (COM)b25Rel64a (COM)c25+24V
a26Open_Drain13b26Open_Drain20c26GND
a27Open_Drain14b27Open_Drain21c27GND
a28Open_Drain15b28Open_Drain22c28GND
a29Open_Drain16b29GNDc29Open_Drain23
a30Open_Drain17b30GNDc30GND_ISO_23
a31Open_Drain18b31GNDc31Open_Drain24
a32Open_Drain19b32GNDc32GND_ISO_24

Die Open-Drain-Ausgänge 12 bis 22 schalten alle gegen GND, während die galvanisch getrennten Open-Drain-Ausgänge 23 und 24 gegen separate Pins (GND_ISO_23 und GND_ISO_24) schalten.

1.9.7PWM-Timing mit MOSFETs

Alle Open-Drain-Ausgänge, auch die galvanisch getrennten, können zur PWM-Erzeugung verwendet werden.

Die folgende Abbildung zeigt das typische Zeitverhalten eines MOSFET-Ausgangs mit angeschlossenem externem Pull-up von 1 kOhm

Oszilloskopaufnahme eines MOSFET-Ausgangs mit 1-kOhm-Pull-up: Periode ca. 10 µs, Tastverhältnis ca. 49,8 %

Beachten Sie, dass bei Pull-up-Widerständen mit höherem Widerstandswert längere Anstiegszeiten auftreten. Die Fallzeit ist weitgehend unabhängig von der Größe des Pull-up-Widerstands.

Die sbRIO-SW verwendet eine Zeitauflösung von 1 µs. Bei Bedarf kann die Auflösung bis auf 25 ns angepasst werden. Beachten Sie jedoch, dass sich dadurch die maximale Periodendauer der Signalerzeugung verringert.

Kapitel 2

Interne Schnittstellen des Messsystems

2.1SPI-Schnittstelle

Die beiden Controller kommunizieren mit dem sbRIO über zwei getrennte SPI-Busse, die mit Taktraten von bis zu 18 MHz betrieben werden können. Die Mikrocontroller sind als Slaves konfiguriert. Sie können eine Interrupt-Leitung aktivieren, um das FPGA des sbRIO (das Master ist) zum Abholen der Mikrocontroller-Daten zu veranlassen. Die Datengröße beträgt immer 16 Bit (als ein Wort bezeichnet).

2.1.1Übertragungsprotokoll

Das folgende Kommunikationsprotokoll wird für die Kommunikation in beide Richtungen verwendet (FPGA zu Mikrocontroller, Mikrocontroller zu FPGA).

WortNameBereich/Wert
0LEN (Anzahl der Datenwörter) N1…65.535
1 (High-Byte)SIGNATUREimmer 0x4D
1 (Low-Byte)CRC8 (aller folgenden Datenbytes)0x00…0xFF
2 (High-Byte)COMMAND0x00…0xFF
2 (Low-Byte)DATA (Byte 0)0x00…0xFF
………
2+N-1 (Low-Byte)DATA (Byte N-1)0x00…0xFF

Beachten Sie, dass im Datenbereich nur das Low-Byte verwendet wird. Das High-Byte enthält bei Datennachrichten immer die Konstante 0x40 (außer bei Datenwort 0, das zusätzlich das Befehlsbyte enthält) und bei Statusnachrichten 0x80 (aus Kompatibilitätsgründen; das FPGA verwirft empfangene Datenwörter mit einem Wert kleiner oder gleich 0x00FF). Ein Datenwort mit dem Wert 0x0000 wird vom Mikrocontroller automatisch angehängt, um seinen SPI-Puffer zu leeren.

2.1.2Statuscodes

Der Mikrocontroller beantwortet jeden vom sbRIO empfangenen Befehl. Dies geschieht entweder mit einer Datennachricht (die von RT/PC verarbeitete Anwendungsdaten enthält) oder mit einer Statusnachricht. Diese Funktion kann per Befehl deaktiviert werden.

Folgende Statuscodes sind definiert.

WertInhalt
0x01ACK (Befehl erfolgreich verarbeitet, aber keine Datenbytes als Antwort zu senden)
0x02PAR (mindestens ein Parameter liegt außerhalb des zulässigen Bereichs)
0x04CMD (Befehl unbekannt)
0x08IDX (Objektindex außerhalb des zulässigen Bereichs)
0x10CRC (Prüfsummenprüfung fehlgeschlagen)
0x20SIG (falsche Signatur gelesen)
0x40TIM (SPI-Timeout erkannt)
0x80LEN (Befehlslänge stimmt nicht überein)

2.1.3Befehlsbeschreibung

Die aktuellen Beschreibungen finden Sie in der VI-Dokumentation.

2.2Nichtflüchtige Datenspeicherung

Der On-Board-Datenflash der beiden STM32 kann als EEPROM zur nichtflüchtigen Speicherung von Daten verwendet werden (zum Beispiel Baudraten, ID-Filtereinstellungen, Abschlusswiderstände …).

2.3Analogeingang

Die Schnittstelle der Analogeingangsplatine besteht aus

  • 3 Adressbussen zum Multiplexen der Analogkanäle, für jede Analoggruppe getrennt
  • Signalen für die serielle Kommunikation mit den ADCs.
  • einer seriellen Schnittstelle zum EEPROM für die Kalibrierdaten.

2.3.1Multiplexer

Wie im Funktionsblockschaltbild dargestellt, werden die Kanäle auf ADCs mit je zwei Kanälen gemultiplext. 32 Single-Ended-Kanäle werden von einem 32:1-Multiplexer mit den Adressleitungen ADR1_0 bis ADR1_4 verarbeitet, die übrigen 16 Single-Ended-Kanäle von einem 16:1-Multiplexer mit den Adressleitungen ADR2_0 bis ADR2_3, und die differenziellen Kanäle werden über zwei 8:1-Multiplexer mit gemeinsamen Adressleitungen ADR3_0 bis ADR3_2 geschaltet.

Alle Adressleitungen sind mit High-Speed-CMOS-Puffern gepuffert, um die Last für die Ausgangstreiber des FPGA zu verringern und saubere Signale auf der Leiterplatte bereitzustellen.

Die Adressleitungen werden während der Haltephase der ADCs umgeschaltet, damit die Wandlungsergebnisse nicht beeinflusst werden.

Die Eingänge werden von der internen Sample-&-Hold-Stufe der ADCs zwischen der 32. steigenden Flanke von SCK und der steigenden Flanke von CONV abgetastet.

2.3.2ADCs

Timingdiagramm des LTC1407A-1 mit SCK, CONV, internem S/H-Status und SDO sowie Tabelle der Timing-Parameter (Abtastfrequenz, Durchsatz, Taktperiode, Wandlungszeit, t1 bis t12)

Beide ADCs werden von denselben Signalen CONV und SCK getaktet.

Die ADC-Ausgänge sind mit High-Speed-CMOS-Puffern gepuffert, um die Kapazität des Flachbandkabels treiben zu können.

2.3.3EEPROM

Das EEPROM enthält eine ID, die die Leiterplatte als analoge Messkarte kennzeichnet, den Typ (Version mit 128 oder 64 Kanälen), einen Kalibrierzeitstempel und die Hardwareversion. Außerdem sind für jeden Kanal Offset- und Verstärkungs-Kalibrierdaten gespeichert sowie der Skalierungsfaktor der Eingangsspannung entsprechend den Spannungsteilern auf der Leiterplatte. Jedes Analog-Subsystem hat ein eigenes EEPROM. Die folgende Tabelle zeigt einen Auszug aus dem EEPROM-Inhalt. Eine detaillierte Speicherbelegung finden Sie in der separaten Datei „EEPROM Memory Map Analog_LDSA.xlsx“.

AdresseInhaltWerteKommentar
0ID0xAAKennzeichnet die Leiterplatte als analoge Messkarte
1Hardwarerevisionz. B. 0x14Hardwarerevision: z. B. Version 1.3 => 0x13
2Hardwarerevision: z. B. Version 1.3 => 0x13
3Kalibrierzeitstempel oberes Byte0x02Datum der letzten Kalibrierung: z. B. 16.08.2010 => 160810 = 0x2742A
4Kalibrierzeitstempel mittleres Byte0x74Datum der letzten Kalibrierung: z. B. 16.08.2010 => 160810 = 0x2742A
5Kalibrierzeitstempel unteres Byte0x2ADatum der letzten Kalibrierung: z. B. 16.08.2010 => 160810 = 0x2742A
6
7
8
9Offset Byte 1 Single-Ended-Kanal 1Bit31…24Offset in Schritten von µV
10Offset Byte 2 Single-Ended-Kanal 1Bit23…16Offset in Schritten von µV
11Offset Byte 3 Single-Ended-Kanal 1Bit15…8Offset in Schritten von µV
12Offset Byte 4 Single-Ended-Kanal 1Bit7…0Offset in Schritten von µV
13Verstärkung Byte 1 Single-Ended-Kanal 1Bit31…24Verstärkung des Eingangsspannungsteilers multipliziert mit 109
14Verstärkung Byte 2 Single-Ended-Kanal 1Bit23…16Verstärkung des Eingangsspannungsteilers multipliziert mit 109
15Verstärkung Byte 3 Single-Ended-Kanal 1Bit15…8Verstärkung des Eingangsspannungsteilers multipliziert mit 109
16Verstärkung Byte 4 Single-Ended-Kanal 1Bit7…0Verstärkung des Eingangsspannungsteilers multipliziert mit 109
17Offset Byte 1 Single-Ended-Kanal 2Bit31…24Offset in Schritten von µV
18Offset Byte 2 Single-Ended-Kanal 2Bit23…16Offset in Schritten von µV
19Offset Byte 3 Single-Ended-Kanal 2Bit15…8Offset in Schritten von µV
20Offset Byte 4 Single-Ended-Kanal 2Bit7…0Offset in Schritten von µV
21Verstärkung Byte 1 Single-Ended-Kanal 2Bit31…24Verstärkung des Eingangsspannungsteilers multipliziert mit 109
22Verstärkung Byte 2 Single-Ended-Kanal 2Bit23…16Verstärkung des Eingangsspannungsteilers multipliziert mit 109
23Verstärkung Byte 3 Single-Ended-Kanal 2Bit15…8Verstärkung des Eingangsspannungsteilers multipliziert mit 109
24Verstärkung Byte 4 Single-Ended-Kanal 2Bit7…0Verstärkung des Eingangsspannungsteilers multipliziert mit 109
:::
:::
511Verstärkung Byte 3 differenzieller Kanal 15Bit15…8Verstärkung des Eingangsspannungsteilers multipliziert mit 109
512Verstärkung Byte 4 differenzieller Kanal 15Bit7…0Verstärkung des Eingangsspannungsteilers multipliziert mit 109
513Offset Byte 1 differenzieller Kanal 16Bit31…24Offset in Schritten von µV
514Offset Byte 2 differenzieller Kanal 16Bit23…16Offset in Schritten von µV
515Offset Byte 3 differenzieller Kanal 16Bit15…8Offset in Schritten von µV
516Offset Byte 4 differenzieller Kanal 16Bit7…0Offset in Schritten von µV
517Verstärkung Byte 1 differenzieller Kanal 16Bit31…24Verstärkung des Eingangsspannungsteilers multipliziert mit 109
518Verstärkung Byte 2 differenzieller Kanal 16Bit23…16Verstärkung des Eingangsspannungsteilers multipliziert mit 109
519Verstärkung Byte 3 differenzieller Kanal 16Bit15…8Verstärkung des Eingangsspannungsteilers multipliziert mit 109
520Verstärkung Byte 4 differenzieller Kanal 16Bit7…0Verstärkung des Eingangsspannungsteilers multipliziert mit 109

2.4Digitalausgang

Wie im Blockschaltbild dargestellt, werden die Relais über zwei I²C-Portexpander angesprochen. Alle Pins sind nach dem Einschalten als Eingänge konfiguriert und müssen als Ausgänge umkonfiguriert werden, bevor die Relais geschaltet werden können.

Adressen für den Schreibzugriff:

  • Portexpander 1 (Relais 01 bis 15): 0b11101000 = 0xE8
  • Portexpander 2 (Relais 16 bis 32): 0b11101100 = 0xEC
  • Portexpander 3 (Relais 33 bis 48): 0b11101110 = 0xEE
  • Portexpander 4 (Relais 49 bis 64): 0b11101010 = 0xEA

Für den Schreibzugriff ist das LSB auf null gesetzt.

Schreiben in die Ausgangsports:

I2C-Timing: Schreiben in die Ausgangsports mit Slave-Adresse, Befehlsbyte, Daten an Port 0 und Daten an Port 1

Schreiben in die Konfigurationsregister:

I2C-Timing: Schreiben in die Konfigurationsregister mit Slave-Adresse, Befehlsbyte und Daten an das Register

Kapitel 3

Externe Erweiterungsschnittstellen

3.1Versorgungsstrommessung – CMM-Schnittstelle

Zur Messung der Stromaufnahme des Prüflings (DUT) kann ein externes IRS-Strommessmodul (CMM) eingesetzt werden. Das Modul wird extern versorgt und kann über einen synchronen seriellen Kanal mit differenzieller digitaler LVDS-Signalübertragung ausgelesen werden.

Die serielle Schnittstelle ist so ausgelegt, dass mehrere CMMs als Daisy-Chain hintereinandergeschaltet werden können, wie in der folgenden Abbildung dargestellt. Das Prüfsystem ist dabei die LVDS-Schnittstelle, die auf der Basis- und Kommunikationsplatine zur Verfügung steht.

Daisy-Chain aus CMM A, B und C: Das Prüfsystem sendet Clk_In, En_In, Rx; jedes CMM leitet Clk_Out, En_Out, Tx weiter; Empfang der Daten von 3x CMM, wenn En für 3x32 Taktzyklen gesetzt ist, beginnend mit den Daten von CMM C

3.1.1Kommunikationsprotokoll

Das Protokoll zum Auslesen der Daten eines Strommessmoduls ist wie folgt:

Timing von Clk_In, En_In, Rx und Tx: Strombits 31 bis 0 werden in zwei 16-Bit-Blöcken mit einer Pause von mehr als 5 µs dazwischen gesendet, gefolgt von den weitergeleiteten Rx-Bits

Wenn En_In gesetzt ist, sendet das CMM_II-Modul in den nächsten 32 Taktzyklen seinen Strommesswert, beginnend mit dem MSB. Nach jedem 16. Taktzyklus sollte eine Pause von ca. 5 µs mit CLK_In auf Low-Pegel eingehalten werden. Diese Verzögerung gibt dem Mikrocontroller des CMM_II Zeit, das nächste 16-Bit-Datenwort bereitzustellen. Nach 32 Taktzyklen leitet das CMM das zuvor empfangene Datenwort weiter.

En_in muss daher für 32 Taktzyklen, multipliziert mit der Anzahl der CMMs in der Kette, gültig sein.

Der Strom wird als 32-Bit-Wert vom Typ unsigned long in Schritten von 100 nA zurückgegeben.

3.1.2Anschlussplan

Die Signale werden gemäß der folgenden Tabelle angeschlossen:

MesSy-SignalMesSy-PinCMM_II-SignalCMM_II-PinWelches CMM_II
LVDS_Out_3+B16Rx+B17Erstes in der Kette
LVDS_Out_3-C16Rx-C17Erstes in der Kette
LVDS_Out_2+B15En_In+B16Erstes in der Kette
LVDS_Out_2-C15En_In-C16Erstes in der Kette
LVDS_Out_1+B14Clk_In+B15Erstes in der Kette
LVDS_Out_1-C14Clk_In-C15Erstes in der Kette
LVDS_In_1+C12Tx+ (letztes CMM)B18Letztes in der Kette
LVDS_In_1-B12Tx-C18Letztes in der Kette

Das folgende Beispiel zeigt den Anschluss der Kommunikationsleitungen von zwei CMMs:

Verdrahtungsbeispiel für zwei CMMs (CMMII_DUT1 und CMMII_DUT2) am MesSy-Steckverbinder X1 über VG_24+8-Steckverbinder, Adern mit 0,5 mm² für Versorgungs- und LVDS-Leitungen

3.2Konditionierung analoger oder digitaler Ausgänge

Informationen zur Konditionierung digitaler Ausgänge oder zur Verwendung analoger Ausgänge finden Sie im Dokument LDSA_MesSy_Guide_HW_V_1_1.docx.

3.3Externe CAN- oder serielle Transceiver

Informationen zur Konditionierung digitaler Ausgänge finden Sie im Dokument LDSA_MesSy_Guide_HW_V_1_1.docx.

3.4Konditionierung analoger Eingänge

Informationen zur Konditionierung analoger Eingänge mit Spannungsteilern oder zu Laststrommessungen finden Sie im Dokument LDSA_MesSy_Guide_HW_V_1_1.docx und im Datenblatt CurrentConverter_8x_Datasheet_V1.0.pdf.

3.5Externe I2C-Schnittstelle

MesSys mit einer Basis- und Kommunikationsplatine ab Version 1.3 verfügen über eine externe I²C-Schnittstelle zum Anschluss zusätzlicher externer Elektronikmodule. An diese Schnittstelle können beliebige Geräte angeschlossen werden, die der I²C-Spezifikation entsprechen.

Derzeit bietet IRS zwei externe Module an, die über diese Schnittstelle angesteuert werden können:

  • 64x Relaisplatine (identisch mit einem Relais-Subsystem auf der Digitalausgangsplatine des MesSy)
  • 16x Analogausgangsplatine (Ausgangsgleichspannungen 0…20 V)

Die I²C-Schnittstelle besteht aus zwei Signalleitungen. Die Signale liegen gemäß der Tabelle in Kapitel 2.7.6 am MesSy-Steckverbinder X2 an und haben die folgende Funktion. Ein typisches I²C-Beispieltelegramm zur Ansteuerung digitaler Ausgänge zeigt Kapitel 3.4.

SignalX2-PinBeschreibung
SCL_ExtB23Taktleitung
SDA_ExtC23bidirektionale Datenleitung
Kapitel 4

SW-Beschreibung

Im folgenden Kapitel wird das Softwarekonzept vorgestellt: zunächst ein allgemeiner Überblick, dann Blockschaltbilder der SW-Subsysteme, eine Beschreibung der Kommunikation zwischen den SW-Subsystemen und schließlich eine kurze Funktionsbeschreibung der Funktionsblöcke.

Für Lebensdauertests wird Software zur Testkonfiguration, Datenaufzeichnung und Testausführung benötigt. Diese Softwareteile werden in diesem Dokument nicht beschrieben. IRS bietet eine vollständige SW-Lösung für Lebensdauertests an, die zusätzlich zu der im folgenden Kapitel beschriebenen Software Folgendes enthält:

  • PC-Host-Software
    • Benutzeroberfläche (GUI)
    • TestStand Controller (TSC)
    • TestStand einschließlich Prüfablauf, der auf die API-Funktionen des Messsystems zugreift

Für eine Beschreibung dieser Softwareteile wenden Sie sich an IRS.

Für das Messsystem werden im folgenden Kapitel diese Subsysteme vorgestellt:

  • PC-Host-Software
    • Basiskommunikation zum Messsystem (Kommunikation PC zu RT)
    • SW zum Steuern und Abfragen der einzelnen Funktionsblöcke
    • Signalzuordnung für den Zugriff auf Analog-, Digital- und Kommunikationskanäle über den DUT-spezifischen Signalnamen
  • Messsystem-Software:
    • LabVIEW-RT-Software, die auf dem RT-Controller des sbRIO läuft
    • LabVIEW-FPGA-Software, die auf dem FPGA des sbRIO läuft
    • Mikrocontroller-Software, die auf dem Mikrocontroller der Kommunikationsplatine läuft

4.1SW-Schichten im Lebensdauertest

Das folgende Blockschaltbild zeigt die verschiedenen Softwareschichten eines typischen Lebensdauerprüfstands mit Schwerpunkt auf der Messsystem-Software (gelb). Die blau markierten SW-Teile sind die generische IRS-Benutzeroberfläche und TestStand von National Instruments.

Softwareschichten eines Lebensdauerprüfstands: LDSA-GUI, TestStand Controller und Sequenz, Hardware-Abstraktionsschichten (Messsystem-API mit benannten Kanälen, Messsystem-API), Kommunikation PC zu MesSy, LabVIEW RT, Kommunikation RT zu FPGA, LabVIEW FPGA, Messsystem-Hardware und Hardware externer Systeme

4.2Embedded Software des Messsystems

Embedded Software des Messsystems: Messsystem-API und Hardware-Abstraktionsschicht auf dem PC, generische Kommunikation über die NI-STM-Bibliothek, RT-Datenverarbeitung mit CAN-Command-Response-Handling und Sub-Sequencer, generische Kommunikation über DMA-FIFOs, FPGA-Datenverarbeitung (PWM-Generator, kontinuierliche Analogüberwachung), Hardwaresteuerung und Hardware

4.2.1Übersicht FPGA-SW

Das nächste Blockschaltbild zeigt das gesamte FPGA-Design mit seinen Funktionsblöcken, das auf dem FPGA des sbRIO läuft:

LabVIEW-FPGA-Blockschaltbild mit Analogabtastung, allgemeiner Systemsteuerung (HW-Version, SW-Version, Temperatur, LED), Systemtimer, Command-Handler RT zu FPGA, statischen Digitalausgängen, PWM-Erzeugung, Analog Signal SuperVision (SSV), Mikrocontroller-Kommunikation (CAN, seriell) und Abfrage des Strommessmoduls

Das Blockschaltbild enthält mehrere Sub-VIs, die die gesamte FPGA-Datenverarbeitung gemäß der folgenden VI-Hierarchie übernehmen:

FPGA-VI-Hierarchie mit FPGA-Top-Level-Design, Systemtimer, Command-Handler RT zu FPGA, Analog Signal SuperVision (SSV), Mikrocontroller-Kommunikation, PWM-Erzeugung, Analogabtastung, Abfrage des Strommessmoduls, EEPROM lesen/schreiben und statischen Digitalausgängen

Die Sub-VIs werden nicht im Detail beschrieben, da dies den Rahmen dieses Dokuments sprengen würde. Um die Funktionsweise der Blöcke zu verstehen, sollte der Quellcode untersucht werden.

4.2.2Übersicht RT-SW

Das folgende Blockschaltbild zeigt das Top-Level-RT-Design, das auf dem RT-Controller des sbRIO läuft:

Nach dem Einschalten initialisiert die RT-SW die FPGA-Referenz und nimmt alle DMA-Kanaleinstellungen für die Kommunikation mit dem FPGA vor.

Anschließend wartet die RT-SW auf eine Verbindungsanfrage vom Host-PC. Nachdem die Verbindung aufgebaut ist, wartet die RT-SW stets auf einen auszuführenden Befehl vom Host-PC.

Bei jedem Befehl (z. B. Digitalausgänge setzen, Analogwerte anfordern, CAN-Befehl senden, …) werden die folgenden Schritte ausgeführt:

  • Command-Handler aufrufen
  • Parameter lesen
  • Befehl ausführen
  • Antwort zurückgeben

Nachdem der Host-PC die Verbindung geschlossen hat, wird die Schleife, die auf einen Befehl wartet, abgebrochen, die Ethernet-Verbindung geschlossen, und die RT-SW wartet erneut auf eine neue Verbindung zum PC-Host.

Derzeit sind für die RT-SW keine weiteren Tasks erforderlich. Es gibt mehrere Möglichkeiten, diese Software zu erweitern, unter anderem durch parallele Tasks für Berechnungen, die Ausführung von Modellen, …

Top-Level-RT-Design: Initialisierung und Lesen der internen SW-Versionen, Hintergrundschleife zur Prüfung der PC-Host-Verbindung im Sekundentakt, neue PC-Host-Verbindung öffnen, gültige PC-Host-Verbindung prüfen, auf Befehl warten, Befehl ausführen, Antwort zurückgeben, Deinitialisierung nach dem Schließen der Verbindung, Hintergrundtask zur Steuerung der RunState-LED, Aufräumcode

Das Blockschaltbild enthält mehrere Sub-VIs, die die gesamte RT-Datenverarbeitung gemäß der folgenden VI-Hierarchie übernehmen:

RT-VI-Hierarchie

Die Sub-VIs werden nicht im Detail beschrieben, da dies den Rahmen dieses Dokuments sprengen würde. Um die Funktionsweise der Blöcke zu verstehen, sollte der Quellcode untersucht werden.

4.2.3Kommunikation RT zu FPGA

Kommunikation über Read/Write-Controls

Befehle, die keine größeren Datenblöcke von RT an das FPGA oder umgekehrt übergeben müssen, verwenden einfache Read/Write-Controls, um Daten an das FPGA zu senden oder vom FPGA zu lesen. Als Beispiel sehen Sie hier den Case des Command-Handlers zum Setzen der Digitalausgänge aus RT-Sicht:

Command-Handler-Case DIG_REL_SetAll: Befehlsparameter entpacken und das RW-Control DIG_REL_1to64 in das FPGA schreiben

Alle verfügbaren Read/Write-Controls (Temperatur, Digitalausgänge, Zeitstempel, Reset, CMM, …) zeigt auch das FPGA-Blockschaltbild in Kapitel 5.2.1.

Kommunikation über DMA aus FPGA-Sicht

Zur Übergabe größerer Datenblöcke von RT an das FPGA oder umgekehrt können DMA-Kanäle verwendet werden. Die folgende Struktur, die sich in der Abbildung in Kapitel 5.2.1 findet, übernimmt die DMA-Kommunikation:

Struktur FPGA_COMM: DMA-FIFO RT zu FPGA in den Puffer RT zu FPGA lesen, FPGA_command_handler mit Pufferinhalt RT zu FPGA und FPGA zu RT (Befehl, Datenlänge N, reserviert oder Fehlercode, Datenbytes), befehlsspezifische Ausführung, DMA-FIFO FPGA zu RT schreiben; Signale Communication_Request und Communication_Ready

Kommunikation über DMA aus RT-Sicht

Für die Kommunikation von RT zum FPGA werden die folgenden Schritte ausgeführt:

RT-Seite der DMA-Kommunikation: Befehlsanforderung zurücksetzen, DMA-FIFO RT zu FPGA leeren, warten, bis das FPGA zur Kommunikation bereit ist, Befehl senden, DMA-FIFO FPGA zu RT lesen, bis die gesamte Antwort gesendet wurde, Befehlsanforderung zurücksetzen, im Fehlerfall Fehlercode hinzufügen

4.3Kommunikation PC zu RT

4.3.1STM-Bibliothek

Die Kommunikation zwischen der PC-Host-Schnittstelle und dem RT-Controller des Messsystems erfolgt über eine Ethernet-Verbindung. Implementiert ist ein Protokoll auf Basis der STM-Bibliothek von National Instruments, das das TCP/IP-Protokoll verwendet.

Jedes von der STM-Bibliothek verarbeitete Befehls- oder Antwortpaket enthält den folgenden Datenstring:

STM-Datenstring: Data Size (32 Bit), Meta Data ID (16 Bit), Data

Das Befehlsfeld „Metadata“ ist eine ID, die ein Element des Arrays gültiger Befehle darstellt. Die folgende Abbildung zeigt ein Beispiel der verwendeten Befehle des Messsystems.

Die Metadaten werden einmalig vom PC-Host an das RT-Target übertragen, nachdem der Host-PC die Verbindung aufgebaut hat. So ist sichergestellt, dass PC und RT dieselben gültigen Befehle mit denselben IDs kennen.

Array gültiger Befehle (MetaData): Befehle ACK, SUBSEQUENCE, SYS_, ANA_, DIG_, PWM_, SSV_, CMM_, EEPROM_, SPI_ und CAN_

4.3.2Normale Befehlsausführung aus PC-Sicht

Normale Befehlsausführung bedeutet, dass der PC einen Befehl sendet. RT führt den Befehl aus und sendet sofort eine Antwort. Aus Sicht des PC werden die folgenden Schritte ausgeführt:

  1. Parameter in den Befehlsstring packen:
    • Dieser Schritt ist befehlsspezifisch und bedeutet, alle Befehlsparameter in einen String zu packen
  2. Befehlsstring an RT senden:
    • Dieser Schritt ist in der generischen Kommunikationsroutine enthalten, die den Befehlsstring an das RT-Target sendet
  3. Antwortstring von RT empfangen:
    • Dieser Schritt ist in der generischen Kommunikationsroutine enthalten, die auf den Antwortstring vom RT-Target wartet
  4. Parameter aus dem Antwortstring entpacken:
    • Dieser Schritt ist befehlsspezifisch und bedeutet, alle Antwortparameter aus dem String zu extrahieren

LabVIEW-Blockschaltbild eines Befehls aus PC-Sicht: 1. Parameter in den Befehlsstring packen, 2. Befehlsstring an RT senden, 3. Antwortstring von RT empfangen (generische Kommunikationsroutine, siehe Kapitel 5.3.3), 4. Antwortstring in Rückgabeparameter entpacken

4.3.3Slot-Adressierung

Beachten Sie, dass bei jedem Befehl ein Slot-Parameter übergeben wird. Dieser Parameter dient dazu, mehrere Prüflinge an einem Messsystem zu unterscheiden. Bei Prüflingen mit nur wenigen Pins und Funktionen kann ein Messsystem bis zu 6 Prüflinge parallel bedienen. Wenn in diesem Fall mehr als eine Testausführung mit dem Messsystem verbunden ist, muss die Kommunikationsroutine die Verbindungen für die Testausführung jedes Prüflings prüfen. Sie darf die Verbindung erst schließen, wenn alle Testausführungen aller Prüflinge die Verbindung geschlossen haben. Der Slot repräsentiert also den Prüfling am Messsystem.

4.3.4Generische Kommunikationsroutine

Die generische Kommunikationsroutine wird für jeden vom PC gesendeten Befehl verwendet. Die folgende Abbildung zeigt die Schritte dieser Routine.

Generische Kommunikationsroutine: Befehlszähler hinzufügen, um sicherzustellen, dass die Antwort zum Befehl passt, Befehl senden (STM_Library), Antwort empfangen (STM_Library), auf Fehler prüfen und Befehlszähler prüfen

4.3.5Normale Befehlsausführung aus RT-Sicht

Die folgende Abbildung zeigt die Schleife für den Befehlsempfang, die kontinuierlich auf RT läuft:

RT-Schleife für den Befehlsempfang: Verbindung prüfen, Befehlsstring lesen, auf normale Ausführung oder Sub-Sequencer-Ausführung prüfen, Command-Handler für die normale Ausführung, Antwortstring senden

Der Command-Handler wählt den Befehl aus und führt ihn aus:

RT-Command-Handler: Eingangsparameter aus dem Befehl, Parameter aus dem String extrahieren, abhängig vom Befehlstyp ausführen, verschiedene verfügbare Befehle, Antwortstring erstellen, im Fehlerfall Fehlercode hinzufügen

4.4Befehlsablauf

4.4.1Normale Befehlsausführung

Die folgende Abbildung zeigt einen typischen Befehlsablauf aus PC-Sicht. In diesem Fall werden die Funktionen des Messsystems in einer LabVIEW-Anwendung verwendet:

Typischer Befehlsablauf in LabVIEW: 1. Verbindung öffnen (Standardport ist 55555), 2. Safe-State-Timeout auf eine geeignete Größe setzen (PC_SYS_SetSbRioCmdWaitTimeout.vi), 3. je nach Anwendung mehrere Befehle aufrufen, 4. Verbindung beim Beenden der Anwendung schließen

Dieselben Schritte sind erforderlich, wenn aus TestStand oder anderen Anwendungen auf das Messsystem zugegriffen wird. Die folgende Abbildung zeigt einen typischen Ausführungsablauf in TestStand

NI TestStand Sequence Editor mit einem typischen Ausführungsablauf: Schritte Open PC_COMM, sbRIO_CMD_Wait_Timeout, Zeitstempel zurücksetzen, CMM, Version, Temperatur und CAN-Einstellungen, Schritteinstellungen von PC_SYS_ResetUc.vi

Schritt 1:

Öffnen Sie die Verbindung, um die TCP-IP-Verbindung aufzubauen und die Metadaten zwischen PC und RT auszutauschen.

Schritt 2:

Rufen Sie „PC_SYS_SetSbRioCmdWaitTimeout.vi“ auf, um den „Safe-State“-Timeout auf eine geeignete Größe zu setzen. Dieser Timeout bedeutet Folgendes: Wenn das Messsystem (RT-SW) innerhalb dieser Timeout-Zeit keinen gültigen Befehl empfangen hat, schaltet die RT-SW alle Ausgänge ab, setzt die CAN-Controller zurück, trennt die TCP-IP-Verbindung und wartet auf eine neue Öffnungsanfrage. Dieser Timeout soll sicherstellen, dass das Messsystem in einen Ruhezustand zurückkehrt und den Prüfling abschaltet, wenn der PC abgestürzt ist.

Der Standardwert dieses Timeouts beträgt 2 Sekunden. Der PC muss also alle 2 Sekunden einen Befehl senden. Das lässt sich nicht in allen Anwendungen erreichen. Insbesondere wenn der Benutzer Befehle durch Betätigen von Schaltflächen senden möchte, muss der Timeout auf höhere Werte gesetzt werden. Ein typischer Wert für ein unempfindliches Gerät wären 60 Sekunden. Geräte wie Fensterheber, die in einem unkontrollierten, aktiven Zustand beschädigt werden könnten, erfordern kürzere Timeouts, deutlich unter 5 Sekunden. Der Benutzer legt den geeigneten Timeout für seine Anwendung selbst fest.

Schritt 3: (beliebig oft wiederholbar)

Befehle gemäß der API-Beschreibung in Messsystem-API (CORE_API) oder in Lebensdauertest-API mit benannten Kanälen (TS_API) können anwendungsspezifisch in beliebiger Weise gesendet werden.

Schritt 4:

Vor dem Beenden der Anwendung sollte die Verbindung geschlossen werden. Andernfalls würde das Messsystem weiterhin auf einen Befehl warten und nach der eingestellten Zeit in den „Safe-State“-Timeout laufen. Versucht der Benutzer, die Verbindung zum Messsystem erneut zu öffnen, während es noch läuft, würde ein Fehler gemeldet. Schließen Sie daher die Verbindung, bevor Sie die Anwendung beenden.

4.4.2Sub-Sequencer-Ausführung

Der Sub-Sequencer ist dafür ausgelegt, Befehle schnell mit einem genau definierten Timing im Bereich weniger Millisekunden auszuführen. Beim Senden von Befehlen über die normale Befehlsausführung hängt das Timing zwischen den Befehlen vom Timing des Windows-Betriebssystems auf dem PC ab. Bei einem solchen Nicht-Echtzeit-Betriebssystem kann das Timing zwischen wenigen Millisekunden und mehreren Sekunden schwanken.

Sub-Sequencer-Ausführung bedeutet, mehrere Befehle auf RT zu laden, sie ohne vom PC verursachte Verzögerungen auszuführen und mehrere Antworten an den PC zurückzugeben. Die Antworten können in der PC-SW mit unkritischem, schwankendem Timing ausgewertet werden.

Befehlsablauf des Sub-Sequencers

Um eine Subsequenz zu verwenden, muss der folgende Befehlsablauf implementiert werden

Befehlsablauf des Sub-Sequencers: Ausführungsthread auf dem Host-PC mit optionalem Remove Subsequence, Create Subsequence, COMMAND_XXXX Add to Subsequence (für beliebig viele Befehle wiederholt), PC_SUBSEQUENCER_ExecuteSubsequence (auf RT herunterladen, ausführen und alle Antworten zurücklesen), COMMAND_XXXX GetResult; die RT-SW führt die Befehle von Sequence 1 aus und sammelt die Antworten in einem String-Array

Befehlsausführung des Sub-Sequencers aus RT-Sicht

Aus RT-Sicht bedeutet Sub-Sequencer-Ausführung einfach, ein Array von Befehlsstrings vom PC zu empfangen. Das Array mit den einzelnen auszuführenden Befehlsstrings wird Element für Element abgearbeitet. Die Antworten der einzelnen Befehle werden in einem String-Array gesammelt und an den PC zurückgegeben.

RT-Case des Sub-Sequencers: ein Array auszuführender Befehle erwarten, Schleife über alle Befehle im Befehls-Array, normale Befehlsausführung für jeden Schleifendurchlauf

Befehlsausführung des Sub-Sequencers aus PC-Sicht

Aus PC-Sicht bedeutet Sub-Sequencer-Ausführung, die Einheit für die Befehls-/Antwortverarbeitung in drei Teile aufzuteilen:

  • Befehl zur Subsequenz hinzufügen (für mehrere Befehle wiederholt)
  • Gesamte Subsequenz ausführen
  • Antwort der Subsequenz abrufen (für mehrere Befehle wiederholt)

Die Trennung zwischen normaler Befehlsausführung, Sub-Sequencer-„Load“ und Sub-Sequencer-„Get Result“ ist mit polymorphen VIs implementiert. Die Sub-Sequencer-Ausführung wird im Folgenden am Beispiel-VI „CAN_EOL_SendReceive.vi“ erläutert:

Zunächst wird die normale Befehlsausführung von CAN_EOL_SendReceive.vi dargestellt, um den Unterschied zur Sub-Sequencer-Ausführung zu zeigen

CAN_EOL_SendReceive, normale Ausführung:

CAN_EOL_SendReceive, normale Ausführung: EOL-spezifische Datenverarbeitung für den Befehl, mehrere CAN-Nachrichten senden, Fehlerbehandlung der Antwort

Can_SendMultipleMsgs:

Can_SendMultipleMsgs: Nachricht in Befehlsstring umwandeln, generische Kommunikationsroutine (siehe Kapitel 5.3.3), Antwortstring in EOL-Nachricht umwandeln

Für die Sub-Sequencer-Ausführung müssen die drei farbig markierten Teile auf mehrere VIs aufgeteilt werden. Der Teil „Execute Subsequence“ ist generisch und kann von jedem Befehl verwendet werden. Für jeden Befehl müssen jedoch die folgenden Teile separat mit polymorphen VIs implementiert werden:

  • COMMAND_XXX_AddToSubsequence
    • enthält die Formatierung des Befehlsstrings und speichert den Befehlsstring im angegebenen Befehlscontainer der Subsequenz
  • COMMAND_XXX_GetResult
    • enthält das Lesen des Antwortstrings der angegebenen Sequenz und des angegebenen Schritts. Der formatierte Antwortstring wird entpackt und in die entsprechenden Antwortparameter umgewandelt.

Add to Subsequence (befehlsspezifisch)

Add to Subsequence: EOL-spezifische Datenverarbeitung für den Befehl und Umwandlung der Nachricht in einen Befehlsstring, Befehlsstring in die benannte Subsequenz mit benanntem Schritt laden

Execute Subsequence (ein generisches VI für alle Befehle)

Execute Subsequence: alle in die benannte Subsequenz geladenen Befehlsstrings zu einem String bündeln, alle Befehle der Subsequenz ausführen, alle von der Subsequenz als ein String zurückgegebenen Befehlsstrings wieder aufteilen

GetResult (befehlsspezifisch)

GetResult: Befehlsstring aus der benannten Subsequenz mit benanntem Schritt laden, Antwortstring in EOL-Nachricht umwandeln und Fehlerbehandlung der Antwort

4.5Fehlerbehandlung

4.5.1Allgemeine Fehlerbehandlung

Jedes implementierte VI hat einen Fehlereingang und einen Fehlerausgang.

Frontpanel eines VI mit Eingängen (IP Address, Slot, Channel_Type, Channel_Nr, Nr_Samples), Ausgängen (Waveform) und den Fehlerclustern error in und error out mit status, code und source

Alle VIs geben Fehlercodes im Cluster „error out“ zurück.

Wird dem VI an „error in“ ein Fehler mit einem Fehlercode ungleich null übergeben,

  • wird der Code des VI nicht ausgeführt
  • wird der Fehlercode an „error out“ durchgereicht

Es wird empfohlen, Fehlereingang und Fehlerausgang mit einem benutzerdefinierten Fehlerhandler in der Anwendung zu verbinden. So ist sichergestellt, dass die Kommunikation mit dem MesSy und alle Parameter geprüft werden und der Benutzer der Anwendung Informationen über den Status von MesSy und Software erhält.

4.5.2Fehlercodes

Im Feld „code“ von „error out“ wird ein Fehlercode zurückgegeben, der entweder von einem VI der Standard-LabVIEW-Bibliothek oder von der MesSy-Software erzeugt wird. Werte unter 5000 einschließlich negativer Werte sind Standard-LabVIEW-Fehlercodes. Werte darüber sind MesSy-Fehlercodes.

Die MesSy-Fehlercodes sind wie folgt gegliedert:

Bit 30..24Bit 23..16Bit 15…0
KlassifizierungQuelleTyp

Die Klassifizierung legt die Kritikalität des Fehlers fest, wobei ein Systemfehler als schwerer Fehler gilt.

Ein DUT-Fehler bedeutet, dass das MesSy-System noch arbeitet, aber beispielsweise eine CAN-Nachricht vom Prüfling nicht beantwortet wurde.

Eine Warnung dient lediglich zur Information.

NummerKlassifizierung
0x10Systemfehler
0x20DUT-Fehler
0x30Warnung

Die Quelle ist der Softwareblock, der einen Fehler erkannt hat.

NummerQuelleBeschreibung
0x00SYSAllgemeine Systemsteuerung, z. B. Zeitstempel, IP-Verbindung, …
0x10CANCAN-Kommunikation
0x20PWMDynamische Erzeugung digitaler Ausgangssignale
0x30ANALOGAnalogeingang
0x04SSVSignalüberwachung
0x05DIGOUTStatischer Digitalausgang
0x06SERIALSerielle Kommunikationsleitungen
0x07MICROCONTROLLERAllgemeine Mikrocontroller-Kommunikation für seriell oder CAN.

Der Typ klassifiziert einige typische Fehlerarten.

NummerFehlertyp
0x###A
0x###BParameter
0x###CKommunikation
0x###DTimeout
0x###E
0x###FUnbekannt

Die folgenden Tabellen zeigen die implementierten Fehlercodes und den zugehörigen Fehlertext, der im Cluster „error out“ unter „source“ ausgegeben wird:

  • DUT-Fehler:

DUT-Fehlercodes: 0x2001000C DUT_COMMUNICATION_ERROR, 0x2001000D CAN_COMMUNICATION_TIMEOUT, 0x20010000 CAN_INVALID_SEED_KEY_SEQUENCE, 0x20010001 CAN_WRONG_SEED_KEY, 0x20010002 CAN_INVALID_SET_EOL_SEQUENCE, 0x20010003 CAN_TOOLBOX_DOWNLOAD_FAILED, 0x20010004 CAN_INVALID_RESPONSE_LENGTH, 0x20010101 ISO_TP_FRAME_ERROR, 0x20010102 ISO_TP_UNEXPECTED_RESPONSE_LENGTH, 0x20010103 ISO-TP_RESPONSE_PENDING

  • Systemfehler:

Systemfehlercodes von 0x1000FFFF UNKNOWN_ERROR_CODE bis 0x1007001F UC_OUT_OF_MEMORY

4.6Messsystem-API (CORE_API)

Für den Zugriff einer Benutzeranwendung, typischerweise in LabVIEW erstellt, auf das MesSy steht eine VI-Bibliothek (API) zur Verfügung. Der Funktionsumfang der Bibliothek wird künftig erweitert. Die Dokumentation der Bibliothek ist deshalb elektronisch verfügbar.

Der normale Befehlsablauf der CORE API ist identisch mit dem in Kapitel 5.4.1 beschriebenen Ablauf.

4.6.1Adressierungsarten der CORE_API

Zur Adressierung eines bestimmten MesSy wird dessen IP-Adresse verwendet. Jedes VI der Bibliothek hat dazu einen String-Eingangsparameter namens „IP Address“, der die IP-Adresse als String enthält (z. B. 192.168.101.2 – ohne Anführungszeichen eingeben)

Beachten Sie, dass bei jedem Befehl ein Slot-Parameter übergeben wird. Dieser Parameter dient dazu, mehrere Prüflinge an einem Messsystem zu unterscheiden. Bei Prüflingen mit nur wenigen Pins und Funktionen kann ein Messsystem bis zu 6 Prüflinge parallel bedienen. Wenn in diesem Fall mehr als eine Testausführung mit dem Messsystem verbunden ist, muss die Kommunikationsroutine die Verbindungen für die Testausführung jedes Prüflings prüfen. Sie darf die Verbindung erst schließen, wenn alle Testausführungen aller Prüflinge die Verbindung geschlossen haben. Der Slot repräsentiert also den Prüfling am Messsystem.

4.6.2Funktionsblöcke

In der API stehen verschiedene Funktionsblöcke zur Verfügung. Jedes VI hat ein Präfix PC_xxx, wobei xxx der Block gemäß der folgenden Tabelle ist:

FunktionsblockBeschreibungBeispiele
SYSSystembefehleZeitstempel abrufen, Verbindung aufbauen, EEPROM lesen und schreiben, …
DIGOUTSteuerung statischer DigitalausgängeEinzelnes Relais, FET setzen / rücksetzen, alle Relais setzen / rücksetzen, …
PATTERNSteuerung dynamischer Digitalausgänge (PWM, Pattern)Set_PWM, digitales Pattern herunterladen, Pattern starten, …
ANALOGAllgemeine Steuerung der AnalogeingängeMultiplexer einstellen, Wert eines einzelnen Kanals abrufen, Signalverlauf eines Kanals abrufen, …
SSVSignalüberwachung der Analogeingänge (SSV)Überwachungskonfiguration einstellen, Ergebnis seit dem letzten Auslesen lesen.
CAN / uC_CANCAN-KommunikationConti-EOL-Protokoll, ISO-TP (ISO 15765-2), zyklisches Senden von Nachrichten.
uC_UARTSerielle KommunikationSerielle Konfiguration, Byte senden, seriellen Repeater konfigurieren.
CMMStrommessmodulStromwert eines CMM lesen, Anzahl der CMMs in der Kette einstellen.
SUBSEQUENCERSubsequencerSubsequenz erstellen, Schritt hinzufügen, Subsequenz ausführen, Schrittergebnis abrufen

4.7Lebensdauertest-API mit benannten Kanälen (TS_API)

Für den Zugriff aus TestStand auf das MesSy steht eine VI-Bibliothek (API) zur Verfügung, die komfortabler ist als die CORE_API. Diese Bibliothek heißt TS_API. Diese zusätzliche Softwareschicht über der CORE_API erleichtert dem Benutzer die Gestaltung des Prüfablaufs, insbesondere wenn mehrere Prüflinge entweder mit einem MesSy oder mit mehreren MesSys geprüft werden müssen.

Der normale Befehlsablauf der TS_API entspricht im Wesentlichen dem in Kapitel 5.4.1. Unterschiede sind die Adressierung des MesSy über die Nummern „Bus“ und „Slot“ sowie die Signalzuordnung zur Adressierung des physischen Analog-, Digital- oder Kommunikationskanals.

Der Funktionsumfang der Bibliothek wird künftig ebenso wie die CORE_API erweitert. Die Dokumentation der Bibliothek ist deshalb elektronisch verfügbar.

4.7.1Adressierung über Bus, Slot und Signalname

Die TS_API unterscheidet sich von der CORE_API in der Adressierung der physischen Kanäle des MesSy. Während in der CORE_API jeder physische Kanal über die IP-Adresse des MesSy und die physische Kanalnummer adressiert wird (z. B. 1…96 für die Single-Ended-Analogeingänge SE_1to96, Serial_01 … SERIAL_10, 1…24 für FET, ...), erfolgt die Adressierung in der TS_API über „Bus“, „Slot“ und „Signalname“:

  • Bus:
    • Bereich = [0…255]
    • Ist die letzte Zahl der IP-Adresse.
    • Der Rest der IP-Adresse – der IP-Adressbereich – wird in der Signalzuordnungsdatei festgelegt (siehe Signalzuordnung).
    • Z. B.: Bei Bus = 12 und dem IP-Adressbereich „192.168.100.“ lautet die IP-Adresse des adressierten MesSy „192.168.100.012“,
  • Slot:
    • Bereich = [1…6]
    • Die MesSy-Software ist so ausgelegt, dass ein MesSy bis zu 6 Prüflinge bedienen kann.
    • Die Slot-Nummer steht für die Nummer des Prüflings.
    • Der Slot wählt gemäß der Signalzuordnungsdatei den passenden physischen Kanal eines MesSy aus (siehe Signalzuordnung).
  • Signalname
    • Der Signalname ist ein frei wählbarer Name, der einem Signal entspricht (typischerweise dem Signalnamen des Prüflings), das entweder an einen Analogeingang, einen Digitalausgang oder eine Kommunikationsleitung angeschlossen ist.
    • Die Zuordnung der physischen Kanäle zu Signalnamen erfolgt in der Signalzuordnungsdatei (siehe Signalzuordnung).

Bedient ein MesSy beispielsweise drei Prüflinge, ist derselbe Signalname an einem MesSy dreimal vorhanden. Der richtige physische MesSy-Kanal wird über die jeweilige Slot-Nummer ausgewählt.

4.7.2Signalzuordnung

Die Signalzuordnungsdatei enthält zunächst den IP-Adressbereich aller angeschlossenen MesSys. Der IP-Adressbereich umfasst die ersten drei Zahlen der IP-Adressen (z. B. 192.168.101.).

Außerdem enthält diese Datei die Anzahl der Slots, d. h. die Anzahl der angeschlossenen Prüflinge und der zugehörigen Ausführungen. Und schließlich ist in dieser Datei für jeden Slot die Zuordnung der Signalnamen zu Analogeingängen, Digitalausgängen, Relais und Kommunikationsleitungen festgelegt.

Die Signalzuordnungsdatei wird als XML-Datei gespeichert. Das folgende XML-Beispiel zeigt den IP-Adressbereich (common_ip=192.168.101.), die Anzahl der Slots = 2 (count=2) und alle möglichen Signalgruppen.

Wird ein „name“ mehrfach verwendet, entweder für denselben Typ (Relais, Single-Ended-Eingang, …) oder für verschiedene Typen, fügen Sie die folgende Eigenschaft hinzu (wie im Beispiel für den Analogeingang gezeigt)

resourcesharing = "1"

Andernfalls wird beim Laden der Signalzuordnungsdatei ein Fehler gemeldet. Diese Funktion hilft, unerwünschte Mehrdeutigkeiten zu vermeiden.

<?xml version="1.0" encoding="utf-8"?>
<ldsa name="LDSA" count="2" common_ip="192.168.101.">
<modules>
<module name="ANALOG">
   <item name="Example_Signal_Name_Analog_1">
    <connector slot="1" name="SingIn_11" resourcesharing="1"/>
    <connector slot="2" name="SingIn_59" />
   </item>
   <item name="Example_Signal_Name_Analog_2">
    <connector slot="1" name="SingIn_12" />
    <connector slot="2" name="SingIn_60" />
   </item>

   <item name="Example_Signal_Name_Analog_Differential">
    <connector slot="1" name="DiffIn_01a" />
    <connector slot="2" name="DiffIn_09a" />
   </item>
</module>

<module name="RELAY">
   <item name="Relay_VBatt">
    <connector slot="1" name="REL_15" />
    <connector slot="2" name="REL_47" />
   </item>
</module>

<module name="TRIGGER">
   <item name="TRIG1">
    <connector slot="1" name="TRIG_01" />
    <connector slot="2" name="TRIG_04" />
   </item>
</module>

<module name="OPENCOLLECTOR">
   <item name="GREEN">
    <connector slot="1" name="OPEN_COLL_16" />
    <connector slot="2" name="OPEN_COLL_14" />
   </item>
</module>

<module name="FET">
   <item name="PWM_Out">
    <connector slot="1" name="FET_1" />
    <connector slot="2" name="FET_13" />
   </item>
</module>

<module name = "CMM">
  <item name ="CMM">
    <connector slot = "1" name = "CMM_1"/>
    <connector slot = "2" name = "CMM_2"/>
  </item>
</module>

<module name="CAN">
   <item name="COMM_CAN">
     <connector slot="1" name="CAN_1A" />
     <connector slot="2" name="CAN_2A" />
   </item>
   <item name="CAN_Second">
     <connector slot="1" name="CAN_1B" />
     <connector slot="2" name="CAN_2B" />
   </item>
</module>

<module name="SERIAL">
   <item name="K-Line">
     <connector slot="1" name="SERIAL_01" />
     <connector slot="2" name="SERIAL_06" />
   </item>
</module>

<module name="I2C"
  <item name="I2CName">
     <connector slot="1" name="0x42" /> <!-- name is the I2C address without the R/W bit -->
     <connector slot="2" name="0x13" />
  </item>
</module>
</modules>
<itemgroupslist />
</ldsa>

Dokumente und Downloads

Weitere Dokumente und Dateien zu Ihrem IRS-Produkt finden Sie auf myIRS.

Zu den Downloads