# Software für den Resolver-Modus

URL: https://irs.systems/docs/resolver-simulation/resolver-mode-software

> **Hinweis**
> Diese Seite stammt aus der Handbuchversion 2.2. Das Handbuch V3.0 beschreibt den Resolver-Simulationsmodus auf dem Echtzeitsystem und dem PC nicht und verweist stattdessen auf Version 2.2.

Dieses Kapitel beschreibt den Softwareteil im Detail. Die Software der Simulation wird hauptsächlich auf einem cRIO-FPGA ausgeführt und kann auf jedem Compact-RIO-Chassis laufen. Sie ist bereits für ein NI-9074 und ein NI-9075 mit dem Modul in Steckplatz 1 kompiliert und getestet. Der Quellcode der Software ist in der Dokumentation des Moduls enthalten und kann auch in ein anwenderspezifisches LabVIEW-Projekt eingebunden werden.

Das LabVIEW-Projekt enthält außerdem Beispielcode, der zeigt, wie das Modul mit LabVIEW vom PC aus gesteuert wird. Dieser Beispielcode für die Ausführung auf einem Computer lässt sich einfach für die Echtzeitausführung auf den Compact-RIO-Echtzeit-Controller portieren.

Darüber hinaus steht eine DLL zur Verfügung, um das Modul aus Anwendungen heraus zu steuern, die in C geschrieben sind. Auf der Dokumentations-CD ist eine Beispielsoftware enthalten, die die Verwendung der DLL zeigt. Beachten Sie, dass die DLL nur mit der zugehörigen FPGA-Bitdatei funktioniert, die bereits für ein cRIO-9075-Chassis mit einem einzelnen Modul in Steckplatz 1 kompiliert ist.

## Allgemeine Steuerung

Im folgenden Kapitel werden die allgemeinen Steuerparameter beschrieben. Ihre Namen werden durchgängig auf den verschiedenen Softwareebenen verwendet, etwa im FPGA-Top-Level-Design, in der PC-Demo-Steuersoftware oder in der DLL.

Die Amplitudensteuerung mit programmierbarem Übersetzungsverhältnis bei Vollaussteuerung ist nur ab HW-Version 2.0 verfügbar.

### Modus- und Drehzahlsteuerung

Mit den folgenden Parametern lassen sich Status und Drehzahl des Moduls per Software steuern

| Parameter | Typ | Beschreibung |
| --- | --- | --- |
| **Mode** = FixedPosition | Aufzählung | Auf **feste Position** setzen. Ist dieser Modus gesetzt, verändert das Modul die aktuelle Position, bis es die feste Position erreicht, und hält diese feste Position. |
| **Mode** = Rotate_Right | Aufzählung | **Rechtsdrehung** mit der durch den Wert **RPM_Set** festgelegten Drehzahl |
| **Mode** = Rotate_Left | Aufzählung | **Linksdrehung** mit der durch den Wert **RPM_Set** festgelegten Drehzahl |
| **Mode** = Rotate_Right_Sync | Aufzählung | **Rechtsdrehung** mit der durch den **SYNC**-Eingang vorgegebenen Drehzahl |
| **Mode** = Rotate_Left_Sync | Aufzählung | **Linksdrehung** mit der durch den **SYNC**-Eingang vorgegebenen Drehzahl |
| **RPM_Set** | Numerischer Wert (setzen) | **Drehzahl** in RPM (Umdrehungen pro Minute) (*nur im Modus Rotate_xxx*) |
| **Position_Set** [degrees] | Numerischer Wert (setzen) | Konstante Position der Simulation in Grad im Bereich 0…360° (*nur im Modus FixedPosition*) |
| **SYNC_Phase** [degrees] | Numerischer Wert (setzen) | Konstante Phase der Drehung relativ zum Sync-Eingang im Bereich 0…360° (*nur im Modus Rotate_xxx_Sync*) |
| **Speed_Gradient** [RPMps] | Numerischer Wert (setzen) | Drehzahländerungsrate in RPM pro Sekunde; bei 0 wird die neue Drehzahl sofort übernommen |
| **RPM_Actual** | Numerischer Wert (lesen) | Aktuelle **Drehzahl** in RPM (Umdrehungen pro Minute) |
| **Position_Act** [degrees] | Numerischer Wert (lesen) | Aktuelle Position der Simulation in Grad im Bereich 0…360° |
| **RPM_SYNC** | Numerischer Wert (lesen) | Aktuelle **Drehzahl** des Sync-Eingangs in RPM (Umdrehungen pro Minute) |

*Tabelle 6: Beschreibung der Steuerparameter*

Der Parameter RPM_Set hat je nach Simulationszustand unterschiedliche Bedeutungen, wie die folgende Tabelle zeigt:

| Wert von RPM_Set | Modus | Bedeutung von RPM_Set |
| --- | --- | --- |
| > 0 | FixedPosition | Legt die Geschwindigkeit fest, mit der das Modul zur festen Position wechselt. |
| > 0 | Rotate_Right, Rotate_Left | Drehzahl |
| > 0 | Rotate_Right_Sync, Rotate_Left_Sync | Minimale Drehzahl, wenn kein SYNC-Signal anliegt |
| = 0 | Beliebig | Position sofort auf die feste Position setzen. |

*Tabelle 7: Bedeutung von RPM abhängig vom aktuellen Modus*

### Amplitudensteuerung

Mit den folgenden Schnittstellen lässt sich das Übersetzungsverhältnis des Moduls steuern. Beachten Sie, dass **PGA_Set erst ab Hardwareversion 2.0 der Resolver-Simulation funktioniert**.

| Parameter | Typ | Beschreibung |
| --- | --- | --- |
| **PGA_Set** | Numerischer Wert (setzen) | Maximales Übersetzungsverhältnis, wenn die Sinus-LUT auf Vollaussteuerung definiert ist (Amplitude 100 %): 0 = 0,078125; 1 = 0,15625; 2 = 0,3125; 3 = 0,625; 4 = 1,25; 5 = 2,5; 6 = 5; 7 = 10. Setzen Sie diesen Wert bei Hardwareversion 1.3 auf „2“! |
| **Write_LUT** | Binärschalter zum Auslösen der DMA-Übertragung (siehe auch DMA_FIFO) | Setzen Sie „Write_LUT“ auf True und füllen Sie den DMA_FIFO. Setzen Sie „Write_LUT“ auf False zurück, wenn die DMA-Übertragung abgeschlossen ist. |
| ***DMA_FIFO*** | DMA-Puffer zum Schreiben einer Sinus-Lookup-Tabelle | Schreiben Sie einen Sinus-Amplitudenverlauf mit 1024 Elementen als 14-Bit-Integerwerte, wie in der folgenden Abbildung gezeigt |

*Tabelle 8: Beschreibung der Amplitudensteuerung*

Mit PGA_Set lässt sich der Bereich des Übersetzungsverhältnisses festlegen. Ist dieser Wert gesetzt, kann das Verhältnis zusätzlich feinjustiert werden, indem die Sinus-LUT über den DMA_FIFO geschrieben wird. Die Sinusschwingung muss gemäß der folgenden Abbildung durch **1024 Integerwerte (i16)** dargestellt werden. Die Abbildung zeigt die Sinusschwingung bei Vollaussteuerung, wobei der **Maximalwert 16383** für volle Amplitude beträgt.

Verwenden Sie das LabVIEW-VI „LUT_Init“, um eine Standard-Sinusschwingung für den DMA_Buffer zu erzeugen; als Eingangsparameter dient ein einstellbarer Amplitudenfaktor von 0…100 %.

<figure>
  <img src="/docs/assets/resolver-simulation/images/ressi-v22-sine-lut.png" alt="Sinus-LUT, 1024 Werte mit Maximum 16383">
  <figcaption>Abbildung 9: Sinus-LUT</figcaption>
</figure>

## Steuerung per DLL

Die folgenden Funktionen stehen zur Steuerung des Moduls über eine DLL zur Verfügung. Die DLL setzt voraus, dass ein Compact-RIO-Chassis über Ethernet mit dem PC verbunden ist, auf dem die DLL läuft. Die DLL muss mit der Bitdatei für das tatsächlich verwendete Chassis und Modul neu kompiliert werden. Die aktuelle DLL ist für ein cRIO-9075 mit einem Modul in Steckplatz 1 verfügbar.

Beachten Sie, dass die Steuerung per DLL nicht für alle Versionen implementiert ist

Damit eine Anwendung auf die DLL zugreifen kann, müssen folgende Dateien in die Anwendung eingebunden werden:

- `cRIO_ResolverSimulation.dll`
- `cRIO_ResolverSimulation.h`
- `cRIO_ResolverSimulation.lib`

Alle Funktionen geben einen Fehlercode zurück (sofern nicht anders angegeben):

- Null => kein Fehler
- Negativ => Fehler
- Positiv => Warnung

### Kommunikationssteuerung

#### Verbindung öffnen

Die folgende Funktion öffnet die Verbindung zum Modul:

```c
int __stdcall cRIO_ResolverSim_Open (char* sRIO_Device_IP_Address);
```

- `sRIO_Device_IP_Address`: Nullterminierter String, der die IP-Adresse des FPGA im cRIO-Chassis enthält. Ein typischer Adressstring lautet: „192.168.101.88“. Die IP-Adresse des Compact-RIO-Chassis kann mit NI-MAX („Measurement and Automation Explorer“) geändert werden
- Rückgabewert: Die Funktion gibt einen Fehlercode zurück

#### Version lesen

Diese Funktion gibt das Kompilierungsdatum des FPGA-Designs zurück.

```c
int __stdcall cRIO_ResolverSim_GetVersion (unsigned int* nVersion_Nr);
```

- `nVersion_Nr`: Kompilierungsdatum des FPGA-Codes. In hexadezimaler Darstellung als 0xYYYYMMDD lesbar, z. B. 0x20130128
- Rückgabewert: Die Funktion gibt einen Fehlercode zurück

#### Verbindung schließen

Die folgende Funktion schließt die Verbindung zum Simulationsmodul:

```c
int __stdcall cRIO_ResolverSim_Close (void);
```

- Rückgabewert: Die Funktion gibt einen Fehlercode zurück

### Fehlerbeschreibung abrufen

Die folgende Funktion wandelt den von den DLL-Funktionen zurückgegebenen Fehlercode in einen lesbaren Text um.

```c
int __stdcall cRIO_ResolverSim_GetErrorText (int nError_Code, char* sError_String);
```

- `nError_Code`: In diesem Parameter kann die Anwendung den von einer DLL-Funktion zurückgegebenen Fehlercode übergeben
- `sError_String`: In diesem Parameter wird die Fehlerbeschreibung zurückgegeben, indem die Daten in diesen Puffer kopiert werden. Die Anwendung muss im Puffer ausreichend Platz bereitstellen (>1024 Elemente)
- Rückgabewert: Die Funktion gibt immer 0 zurück

### Simulationsparameter setzen

Die folgende Funktion setzt den aktuellen Modus der Simulation

```c
int __stdcall cRIO_ResolverSim_SetStatus (
    cRIO_ResolverSim_Mode eMode,
    double                fPosition_degrees_Set,
    double                fRPM_Set,
    double                fSync_Phase_Set,
    double                fTransformationRatio);
```

- `eMode`: Dieser Aufzählungsparameter legt den aktuellen Simulationszustand gemäß Tabelle 6: Beschreibung der Steuerparameter fest

```c
typedef enum
{
    cRIO_ResolverSim_Mode_FixedPosition     = 0,
    cRIO_ResolverSim_Mode_Rotate_Right      = 1,
    cRIO_ResolverSim_Mode_Rotate_Left       = 2,
    cRIO_ResolverSim_Mode_Rotate_Right_sync = 3,
    cRIO_ResolverSim_Mode_Rotate_Left_sync  = 4,
} cRIO_ResolverSim_Mode;
```

- `fPosition_degrees_Set`: Dies ist die einzustellende Position in °. Der Bereich kann 0…360° betragen. Dieser Wert gilt nur, wenn der aktuelle Simulationsmodus „FixedPosition“ ist (siehe auch [Modus- und Drehzahlsteuerung](/docs/resolver-simulation/resolver-mode-software#modus-und-drehzahlsteuerung))
- `fRPM_Set`: Dies ist die Drehzahl in Umdrehungen pro Minute (RPM); ihre Bedeutung hängt vom aktuellen Modus ab, wie in der folgenden Tabelle gezeigt. Die Bedeutung dieses Werts hängt von den verschiedenen Modi ab (siehe [Modus- und Drehzahlsteuerung](/docs/resolver-simulation/resolver-mode-software#modus-und-drehzahlsteuerung)).
- `fSync_Phase_Set`: Damit wird die Phase des Drehsignals relativ zur positiven Flanke des SYNC-Signals in ° gesetzt. Der Bereich kann 0…360° betragen. Dieser Wert gilt nur, wenn der aktuelle Simulationsmodus „Rotate_Right_Sync“ oder „Rotate_Left_Sync“ ist (siehe auch [Modus- und Drehzahlsteuerung](/docs/resolver-simulation/resolver-mode-software#modus-und-drehzahlsteuerung))
- `fTransformationRatio`: Damit wird das Übersetzungsverhältnis der Simulation gesetzt. Das Übersetzungsverhältnis wird in die beiden Parameter der [Amplitudensteuerung](/docs/resolver-simulation/resolver-mode-software#amplitudensteuerung) umgerechnet: PGA_Setting und Amplitudeneinstellung der LUT-Werte
- Rückgabewert: Die Funktion gibt einen Fehlercode zurück

Die folgende Tabelle zeigt die Bedeutung des Drehzahlparameters abhängig vom aktuellen Modus:

| Wert von fRPM_Set | Modus | Bedeutung von fRPM_Set |
| --- | --- | --- |
| > 0 | FixedPosition | Legt die Geschwindigkeit fest, mit der das Modul zur festen Position wechselt. |
| > 0 | Rotate_Right, Rotate_Left | Drehzahl |
| > 0 | Rotate_Right_Sync, Rotate_Left_Sync | Minimale Drehzahl, wenn kein SYNC-Signal anliegt |
| = 0 | beliebig | Position sofort auf die feste Position setzen. |

*Tabelle 9: Bedeutung des RPM-Parameters*

### Drehzahlrampe setzen

Die folgende Funktion setzt die Rate der Drehzahländerung in RPM pro Sekunde. Ist die Rate 0, werden neue Drehzahleinstellungen sofort übernommen. Andernfalls ändert sich die Drehzahl mit der angegebenen Rate.

```c
int __stdcall cRIO_ResolverSim_SetRampGrad (double fRPM_Gradient_Set);
```

- `fRPM_Gradient_Set`: Setzt den aktuellen Rampengradienten in RPM pro Sekunde
- Rückgabewert: Die Funktion gibt einen Fehlercode zurück

### Simulationsstatus abrufen

Die folgende Funktion liest den aktuellen Status der Simulation. Der Status wird durch die aktuelle Position, die aktuelle Drehzahl und die aktuelle Drehzahl am SYNC-Eingang beschrieben.

```c
int __stdcall cRIO_ResolverSim_GetStatus (double* fSync_Frequency_RPM,
                                          double* fActual_Frequency_RPM,
                                          double* fPosition_degrees);
```

- `fSync_Frequency_RPM`: Dies ist die aktuelle Drehzahl am Synchronisationseingang in Umdrehungen pro Minute
- `fActual_Frequency_RPM`: Dies ist die aktuelle Drehzahl der Simulation in Umdrehungen pro Minute
- `fPosition_degrees`: Dies ist die aktuelle Position in °. Der Bereich kann 0…360° betragen
- Rückgabewert: Die Funktion gibt einen Fehlercode zurück

### Einstellungen speichern

Die folgende Funktion speichert die aktuellen Einstellungen im cRIO-System. Nach Abschluss des Bootvorgangs nach dem Einschalten werden die Einstellungen automatisch wiederhergestellt.

```c
int __stdcall cRIO_ResolverSim_SaveSettings (void);
```

- Rückgabewert: Die Funktion gibt einen Fehlercode zurück

### DLL-Testsoftware

Zum Testen des Zugriffs auf die Resolver-Simulation per DLL ist ein Debug-Panel enthalten. Dieses Tool liegt als Installationsprogramm im Ordner `CRIO_ResolverSim_DLL_Test_Install` im Ordner bin auf der Dokumentations-CD.

Nach Abschluss der Installation und dem Start der Software erscheint das folgende Fenster:

![DLL-Testpanel vor dem Verbindungsaufbau](/docs/assets/resolver-simulation/images/ressi-v22-dll-panel-1.png)

Sobald

- die korrekte IP-Adresse eingegeben wurde,
- ein Resolver-Simulationssystem im Netzwerk vorhanden ist
- und dieses seinen Bootvorgang abgeschlossen hat (ca. 1 Minute),

kann die Verbindung durch Drücken der Schaltfläche „Open“ hergestellt werden. Ist die Verbindung hergestellt, erscheint das Fenster wie folgt. Der Anwender kann über die Bedienelemente auf die Simulation zugreifen.

![DLL-Testpanel mit hergestellter Verbindung](/docs/assets/resolver-simulation/images/ressi-v22-dll-panel-2.png)

## GUI für das Stand-alone-System

Zum Ändern anwendungsspezifischer Einstellungen ist eine eigene grafische Benutzeroberfläche (GUI) implementiert.

### Installation

Zum Ausführen der GUI befindet sich die ausführbare Datei „ResSi.exe“ auf der Dokumentations-CD. Kopieren Sie den gesamten Ordner, der diese Datei enthält, auf den PC.

Zusätzlich muss die LabVIEW 2013 Runtime installiert sein. Die Runtime ist auf der Dokumentations-CD enthalten, kann aber auch von NI.com heruntergeladen werden.

### Frontpanel

![Frontpanel von PC_Top.vi mit Markierungen: Start Application, Save Settings, Select System, Error Indicator, STOP Application, Select channel, Apply, Speed, Position and Amplitude settings, Current status indicators](/docs/assets/resolver-simulation/images/ressi-v22-gui-front-panel.png)

Änderungen der Einstellungen werden nur übernommen, wenn:

- die GUI läuft (siehe [GUI starten/stoppen](/docs/resolver-simulation/resolver-mode-software#gui-starten-stoppen))
- das System korrekt ausgewählt ist (siehe [System auswählen](/docs/resolver-simulation/resolver-mode-software#system-auswaehlen)) – andernfalls stoppt die GUI mit einem Fehler.

### GUI starten/stoppen

Die GUI startet automatisch, wenn „ResSi.exe“ ausgeführt wird.

Während die GUI läuft, wird die Schaltfläche „Start application“ wie in der folgenden Abbildung dargestellt:

![Schaltfläche Start Application bei laufender GUI](/docs/assets/resolver-simulation/images/ressi-v22-gui-start.png)

Drücken Sie zum Stoppen der GUI die Schaltfläche STOP.

![Schaltfläche STOP](/docs/assets/resolver-simulation/images/ressi-v22-gui-stop.png)

Drücken Sie zum Neustarten der GUI die Schaltfläche „Start Application“ in der linken oberen Ecke.

![Schaltfläche Start Application zum Neustarten der GUI](/docs/assets/resolver-simulation/images/ressi-v22-gui-restart.png)

Die GUI stoppt automatisch, wenn ein Fehler auftritt. Ein Fehler wird in der Anzeige error_out signalisiert und erläutert

![Fehleranzeige error out](/docs/assets/resolver-simulation/images/ressi-v22-gui-error.png)

Ist das System nicht korrekt ausgewählt, tritt ein Fehler auf und die GUI wird gestoppt. Wählen Sie das System gemäß [System auswählen](/docs/resolver-simulation/resolver-mode-software#system-auswaehlen) aus und starten Sie die GUI durch Drücken der Schaltfläche „Start Application“ neu.

### System auswählen

Der Zugriff auf die Einstellungen des Systems erfolgt über NI-PSP Shared Variables. Der Variablenserver läuft auf dem cRIO-System. Da die IP-Adresse des Systems variieren kann, muss der Anwender das richtige System auswählen.

Klicken Sie auf „Variable Reference“:

![Bedienelement Variable_Reference](/docs/assets/resolver-simulation/images/ressi-v22-variable-reference.png)

Das folgende Fenster sollte erscheinen:

![Dialog zum Durchsuchen der Variablen-Engines, Variables von 172.22.11.2 ausgewählt](/docs/assets/resolver-simulation/images/ressi-v22-select-variables.png)

Wählen Sie den Eintrag „Variables“ auf dem System mit der korrekten IP-Adresse aus.

- 172.22.11.2 bei USB-Geräten
- Bei Ethernet abhängig von DHCP

Ist das System korrekt ausgewählt, läuft die GUI; tritt ein Fehler auf, stoppt die GUI und zeigt einen Fehler an. Stellen Sie in diesem Fall sicher, dass alle Verbindungen hergestellt sind und das System mit Spannung versorgt wird. Starten Sie die GUI nach dem Auswählen des Systems wie unter [GUI starten/stoppen](/docs/resolver-simulation/resolver-mode-software#gui-starten-stoppen) beschrieben neu.

### Alle Einstellungen speichern

Die aktuellen Einstellungen können gespeichert werden, damit sie nach einem Neustart wieder aktiv sind. Wird die Schaltfläche „Save_All_Settings“ gedrückt, werden alle Einstellungen dauerhaft im System gespeichert.

![Schaltfläche Save_All_Settings](/docs/assets/resolver-simulation/images/ressi-v22-save-settings.png)

Beachten Sie, dass die aktuellen Einstellungen des Systems gespeichert werden. D. h., die Einstellungen müssen vor dem Speichern gemäß [Resolver-Einstellungen ändern](/docs/resolver-simulation/resolver-mode-software#resolver-einstellungen-aendern) übernommen werden.

### Resolver-Einstellungen ändern

Alle folgenden Einstellungen können in der GUI geändert werden. Sind mehrere Resolver-Module im Einsatz, wirken die Einstellungen jeweils nur für einen einzelnen ausgewählten Kanal, nachdem die Schaltfläche „Apply_Settings“ gedrückt wurde.

![Select_Channel_1…4 und Apply_Settings](/docs/assets/resolver-simulation/images/ressi-v22-select-channel.png)

D. h., wählen Sie zuerst „Select_channel_1…4“ (optional bei mehreren Modulen). Ändern Sie dann die Einstellungen wie in den folgenden Unterkapiteln beschrieben. Drücken Sie anschließend „Apply_Settings“.

Wenn die Einstellungen dauerhaft gespeichert werden sollen, drücken Sie „Save_All_Settings“

#### Drehzahleinstellungen

![Drehzahleinstellungen: Rotate_Enable, Direction, RPM_Set, SYNC_Enable](/docs/assets/resolver-simulation/images/ressi-v22-speed-settings.png)

Die Drehzahleinstellungen umfassen Folgendes:

- Rotate_Enable:
  - kontinuierliche Drehung bei TRUE
  - Anfahren der festen Position bei FALSE.
- Direction:
  - Drehung „links“ mit steigendem Winkel bei TRUE
  - Drehung „rechts“ mit fallendem Winkel bei FALSE
- RPM_Set:
  - Legt die Drehzahl in „Umdrehungen pro Minute“ fest, wenn SYNC_Enable FALSE ist.
  - Bei deaktivierter Drehung legt RPM_Set die maximale Geschwindigkeit fest, mit der eine feste Position angefahren wird, wenn sich die feste Position ändert.
- SYNC_Enable:
  - Bei TRUE wird der externe Synchronisationseingang verwendet. Die Zeit zwischen positiven Flanken am SYNC-Eingang bestimmt die Drehzahl. Beachten Sie, dass die Drehzahl auf RPM_Set begrenzt ist, wenn RPM_Set höher als SYNC ist
  - Bei FALSE wird RPM_Set als Drehzahlwert verwendet.

#### Positionseinstellungen

![Positionseinstellungen: Position_degrees_Set und SYNC_Phase_degrees](/docs/assets/resolver-simulation/images/ressi-v22-position-settings.png)

Die Positionseinstellungen umfassen Folgendes:

- Position_degrees_Set:
  - Einzustellende Position im Bereich 0…360°
  - Nur gültig, wenn die Drehung deaktiviert ist und für diesen Kanal keine Position über die serielle Leitung empfangen wird.
- SYNC_Phase_degrees:
  - Winkel im Bereich 0…360°

#### Amplitudeneinstellungen

![Amplitudeneinstellungen: Transformation Ratio, PGA_Setting und Amplitude](/docs/assets/resolver-simulation/images/ressi-v22-amplitude-settings.png)

Das Übersetzungsverhältnis eines Kanals lässt sich über die Amplitudeneinstellungen ändern. Zwei Werte legen das Übersetzungsverhältnis fest:

- PGA_Setting:
  - Der programmierbare Verstärker (Programmable Gain Amplifier) legt den maximalen Bereich des Übersetzungsverhältnisses fest
  - Einstellung zwischen 0…7 gemäß der Tabelle in der Abbildung oben
- Amplitude [%]:
  - Legt die Feinabstimmung innerhalb des aktuellen, durch den PGA festgelegten Bereichs fest
  - Einstellung im Bereich 0…100 %.

Diese beiden Werte werden in das System geschrieben und bestimmen das tatsächliche Übersetzungsverhältnis.

Zur Vereinfachung der Amplitudeneinstellung kann ein Übersetzungsverhältnis eingegeben werden. Wird ein neuer Wert für „Transformation_Ratio“ eingegeben, werden „PGA_Setting“ und „Amplitude [%]“ automatisch auf einen optimalen Wert berechnet.

### Aktuelle Statusanzeigen

![Anzeigen für Drehzahl- und Positionsinformationen](/docs/assets/resolver-simulation/images/ressi-v22-status-indicators.png)

Die aktuellen Statusanzeigen sind:

- RPM_actual: Aktuelle Drehzahl, abhängig entweder von RPM_Set oder von der Drehzahl am Synchronisationseingang.
- SYNC_Phase_LUT: Interne Darstellung von SYNC_Phase
- Position_Set_LUT: Interne Darstellung der festen Position
- Current position [°]: Aktuelle Position im Bereich 0…360°
- Sample_Rate_Actual: Interne Drehzahldarstellung (= 25-ns-Ticks für einen einzelnen Schritt)
- RPM_Sync: Drehzahl des externen SYNC-Eingangs in RPM
- Position_LUT_Act: Aktuelle Position (interner Wert)
- Position_LUT_Set: Interne Darstellung der festen Position. Entweder feste Einstellung oder empfangene Daten

## VIs zur Integration in eigene Anwendungen

Zum Setzen der Simulationsparameter oder zum Lesen des aktuellen Status können zwei Haupt-VIs in eine eigene Anwendung integriert werden. Beide VIs sind in der Stand-alone-LabVIEW-Beispiel-GUI enthalten.

Diese VIs benötigen kein Open- oder Close-VI. Sie können von jeder LabVIEW-Anwendung oder TestStand-Sequenz aufgerufen werden.

### PC_ResSi_Wr.vi

PC_ResSi_Wr.vi setzt den neuen Status der Resolver-Simulation. Die Eingangsparameter sind unter [Allgemeine Steuerung](/docs/resolver-simulation/resolver-mode-software#allgemeine-steuerung) beschrieben. Die Ausgangsparameter ..._LUT sind interne Darstellungen der Einstellungen. Diese Ausgänge können ignoriert werden.

Verbinden Sie mit „Refnum in“ eine gültige Referenz auf das Gerät gemäß [System auswählen](/docs/resolver-simulation/resolver-mode-software#system-auswaehlen)

![Anschlussfeld von PC_ResSi_Wr.vi](/docs/assets/resolver-simulation/images/ressi-v22-pc-ressi-wr.png)

### PC_ResSi_Rd.vi

PC_ResSi_Rd.vi liest den aktuellen Status der Resolver-Simulation. Die Ausgangsparameter sind unter [Allgemeine Steuerung](/docs/resolver-simulation/resolver-mode-software#allgemeine-steuerung) beschrieben

Verbinden Sie mit „Refnum in“ eine gültige Referenz auf das Gerät gemäß [System auswählen](/docs/resolver-simulation/resolver-mode-software#system-auswaehlen)

![Anschlussfeld von PC_ResSi_Rd.vi](/docs/assets/resolver-simulation/images/ressi-v22-pc-ressi-rd.png)
