# RFSuite (Pro)

{% hint style="warning" %}
Please note that this interface is only included in realvirtual.io Professional
{% endhint %}

**RF::Suite Interface Overview**

The RF::Suite interface facilitates seamless communication between Winmod and realvirtual.io, particularly beneficial for virtual commissioning tasks, notably in automotive production.For more information about RF::Suite please check:

{% embed url="<https://www.eks-intec.de/rf.html>" %}
RFSuite website
{% endembed %}

The interface relies on shared memory, necessitating both RF::Suite and realvirtual.io to operate on the same Windows computer. This ensures optimal compatibility and efficient data exchange.

## Interface properties

**`SHMName`:**

* Specifies the name of the Shared memory. This needs to be set to the same value as in the RF::Suite application

**`ImportSymbolTable`:**

* Specifies the symbol table utilized for signal importation. To select a table, click the "Select symbol table" button. After selecting the table, you can import it and create signals during runtime by clicking "Import symbol table".

**`RegExNotImportSymbolNames`:**

* Specifies a list of regular expressions for excluding specific symbol names from signal importation.

**`SHMSize`:**

* Indicates the size of the shared memory utilized by the interface.

**`Status`**

* Reflects the status of the interface during simulation.

**`NumInputs` and `NumOutputs`:**

* Provide information on the number of input and output signals configured within the interface, respectively.

<figure><img src="https://260262196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FpYxFg97YnJX96UzNNTSd%2Fuploads%2Fgit-blob-7a43eb19c38def3da876e19f6a6879533a4de73d%2Frfsuite-properties.png?alt=media" alt="" width="467"><figcaption><p>RFSuite interface properties</p></figcaption></figure>

## **Importing Signals**

Signals can be conveniently imported using a .txt file, exported directly from RF::Suite applications. It's imperative to adhere to a specific table format, precisely matching the column headers as outlined in the example provided. For selecting and importing Signals you need to use the buttons "Select symbol table" and "Import symbol table"

Here is an example for the signal import table:

```
Line number	Driver Signal	Symbol	        Address	Datatype    Default Value	Comment
1	        XE 0.0	        YE_ReserveBit_1	XE 0.0	bool		                VISU Input Reserve Bool 1
2	        XE 0.1	        YE_ReserveBit_2	XE 0.1	bool		                VISU Input Reserve Bool 2
3	        XE 0.2	        YE_ReserveBit_3	XE 0.2	bool		                VISU Input Reserve Bool 3
4	        XE 0.3	        YE_ReserveBit_4	XE 0.3	bool		                VISU Input Reserve Bool 4
5	        XE 0.4	        YE_ReserveBit_5	XE 0.4	bool		                VISU Input Reserve Bool 5
6	        XE 0.5	        YE_ReserveBit_6	XE 0.5	bool		                VISU Input Reserve Bool 6
```

## **Manually Setting Up Signals**

For manual signal configuration, it's essential to define the signal's position within the Shared Memory Area. This involves appending a memory position description to the signal name, following a standardized convention detailed below:

<figure><img src="https://260262196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FpYxFg97YnJX96UzNNTSd%2Fuploads%2Fgit-blob-415108049d00d0e25725ea17f303c9224f3dff90%2Frfsuite-signalname.png?alt=media" alt="" width="469"><figcaption><p>Defining the memory position for a signal</p></figcaption></figure>

* **For Outputs:** Use "XA" as the first two letters.
* **For Inputs:** Utilize "XE" as the initial two letters.
* Signal Data Types:
  * Boolean: Example format - "XE 13.6"
  * Int8: Example format - "XEB 27"
  * Int16: Example format - "XEW 160"
  * Int32: Example format - "XEDW 200"
  * Float: Example format - "XEDW573"
