The following section describes the functionality of the module, starting with basic software functionality. The software package is provided by IRS for download.
2.1Basic software description
On request individual adaptations are possible. To use PosSim FS, some software packages as LabVIEW-Libraries or C# DLL are needed. These software packages must be stored in a common storage location.
IRS.PosSim.cSharpAPI(Function library for integration in Testsystems which supports C#)IRS.PosSim.DBC(data base CAN file for cRIO and control system)IRS.PosSim.DeviceFirmware(firmware for cRIO)IRS.PosSim.RioUpdateTool(Tool for updating firmware and DBC)IRS.PosSim.Testpanel(Tool for configure and control the simulation; NI LabVIEW Runtime 2022 is required)NI.PosSim.PackageManager(Required NI Packages)IRS.PosSim.API.llb(Function library for integration in NI LabVIEW 2022 or NI Teststand)IRS.PosSim.Dep.llb(Additional required Vis)
The device works via TCP/IP and uses the JSON format for data exchange. This makes it possible to write your own function library in any programming language that supports the JSON format. The schema can be published on request. The system can also be controlled via the optional CAN-FD interface.
2.1.1Software layers
2.1.2LabVIEW PC-API
The API contains the command set required to control the simulation. There are commands for connecting and disconnecting the TCP connection, for parameterization and for control. The input values are converted into JSON format in the API.
2.1.3LabVIEW Real-Time Processor
The incoming data is unpacked and checked for plausibility on the device. If the parameters are outside the permissible range, an error message is generated and sent back to the API. If the parameters are valid, they are converted into a format valid for the FPGA and forwarded to it.
2.1.4LabVIEW FPGA
The FPGA controls the DACs and ensures that the samples are output on all channels synchronously. The output values are calculated directly on the FPGA. This has the advantage that a very high resolution can be achieved over the entire output range. In addition, the timing is always guaranteed.
2.2NI.PosSim.PackageManager
Different packages are required for the use of NI-based software, depending on the application. First, the NI package manager "NIPackageManager24.3.0_online.exe" must be installed. This package manager can then be used to install all the required packages. The document "Required Packages.txt" contains a small overview.
The following package is required for IRS.PosSim.Testpanel.exe
The following package is required for RioUpdateTool.exe
- LabVIEW Runtime 2022 Q3 32 Bit and
The following package is required for NI Measurement & Automation Explorer 2022 Q3 (change IP address).
- LabVIEW Runtime 2022 Q3 32 Bit and NI-XNET 2022 Q3 and
2.3NI Measurement & Automation Explorer 2022 Q3
1_Remote Systems: Select the device to be configured.
2_Network Settings: Switch to the network settings tab.
3_IPv4 Address: Enter the new IP address here.
4_Save: After the new IP address has been entered, it is transferred to the device using the save button.
2.4IRS.PosSim.Testpanel
The "IRS.PosSim.Testpanel.exe" is an executable .exe. The "IRS.PosSim.API.llb" is used in the background.
1_Host_Name: The "Host_Name" consists of the product "PosSimFS" and the serial number "XXXXXXXX".
2_PC_Version: The "PC_Version" shows the version number of the "IRS.PosSim.API.llb" function library.
3_RT_Version: The "RT_Version" shows the version number of the device firmware "PosSim_RT_Top_StartUp.rtexe".
4_FPGA_Version: The "FPGA_Version" shows the version number of the FPGA bitfile "PosSim_Common_FPGA_Bitfile.lvbitx ". The bitfile does not need to be copied separately, it is already included in the firmware.
5_HW_Version: The "HW_Version" shows the version number of the PCB.
6_Target IP: The IP address of the device must be specified for connection in the "Target IP" control.
7_SaveSettingsToDefault: With the "SaveSettingsToDefault" function, the parameters from the "Speed settings", "Amplitude settings" and "Position settings" fields can be saved directly on the device. These parameters are loaded after a restart.
8_SaveDualModeToDefault: The "SaveDualModeToDefault" function can be used to save the parameters from the "Dual Mode settings" field directly on the device. These parameters are loaded after a restart.
9_SaveCanSettingsToDefault: The "SaveCanSettingsToDefault" function can be used to save the parameters from the "Can settings" field directly on the device. These parameters are loaded after a restart.
10_APIControl: The test panel can also be used as a live display for CAN communication. If the "APIControl" function is deactivated, the parameters written via the CAN interface are displayed in real time.
11_Selection: Use the "Selection" menu to select the group to be controlled. If a group is selected that is not active, the user receives an error message. The groups can be changed at will. It is not necessary to reconnect.
12_Connect: The "Connect" function is used to establish a TCP connection to the device. The device supports parallel connections. The test panel can therefore be used in parallel with other connections, e.g. via the automation software.
13_Disconnect: The TCP connection is closed again using the "Disconnect" function. Important: All statuses are retained when the connection is closed.
14_Exit: When the connection to the device has been closed, the test panel can be closed.
15_RotateEnable: A distinction is made between two operating modes in the simulation. If "RotateEnable" is set to true, you are in rotation simulation. If false, you are in position simulation.
16_RotateLeft: The "RotateLeft" parameter can be used to configure the direction of rotation.
17_Speed [RPM]: The mechanical speed can be set using the "Speed [RPM]" parameter. The permissible range is between 0 ... 120000 RPM with a pole pair number of 1.
18_Gradient [RPM/s]: A ramp can be configured with the "Gradient [RPM/s] " parameter. With a gradient of 100 RPM/s and a speed of 1000 RPM, it takes 10 seconds until the speed is reached. If 0 is set, the simulation jumps directly to the set speed. The permissible range is between 0 ... 120000 RPM/s with a pole pair number of 1.
19_PolePairs: The ratio of electrical to mechanical speed can be set via the "PolePairs" parameter. If the number of pole pairs is three, the simulation outputs three times the electrical frequency. A maximum of 2 kHz (120000 RPM) is possible at the output. This can be adjusted after consultation with IRS. With a number of pole pairs of three, a maximum speed of 40000 RPM is still possible. The permissible range is between 1-32.
20_VDiag: The "VDiag" parameter can be used to set a fixed voltage on channel VDiagX. The permissible range is between 0-5 V.
21_Amplitude: The "Amplitude" parameter can be used to set the maximum deflection from the position of the arithmetic mean value. The permissible range is between 0-5 V.
22_Offset: The "Offset" parameter can be used to set the offset of the zero point. The permissible range is between 0-5 V.
23_SetSettings: The "SetSettings" function is used to send the parameters 15-22 and 26 to the device.
24_SetSpeedGradient: The "SetSpeedGradient" function is used to send parameters 17 and 18 to the device.
25_SetSpeedGradientAll: The "SetSpeedGradientAll" function sends the parameters 17 and 18 to all channels of the device.
26_Position [°]: The "Position [°]" parameter can be used to set a specific rotor angle in the position simulation. If the simulation is in rotation simulation, this angle is not used when stopping. The permissible range is between -180 … 180 °.
27_BaudRate: The "BaudRate" parameter is used to configure the standard data rate of the CAN FD bus. The permissible data rates are 500000 bits/s and 1000000 bits/s.
28_FDBaudRate: The "FDBaudRate" parameter is used to configure the data rate of the CAN FD bus. The permissible data rates are 500000 bits/s, 1000000 bits/s, 2000000 bits/s, 2500000 bits/s, 4000000 bits/s and 5000000 bits/s.
29_IOMode: The "IOMode" parameter is used to activate the FDBaudRate of the CAN FD bus. The possible configurations are CANFD or CANFD+BRS.
30_SetCanSettings: The "SetCanSettings" function is used to send parameters 27 - 29 to the device.
31_DualMode: The "DualMode" parameter is used to combine two groups. This synchronizes the outputs of both groups. Mixed operation is also permitted. e.g. Group1 and Group2 run separately and Group3 and Group4 run synchronously (Group34)
32_DualConfig: The "DualConfig" parameter is used to activate additional operating modes. Currently possible 0 off, 1 double output frequency for the second dual mode group.
33_SetDualMode: The "SetDualMode" function is used to send parameters 31 and 32 to the device. The function can only be executed if a dual group is selected under "Selection".
34_PositionActual [°]: The current position of the rotor is displayed with the return value "PositionActual [°]".
35_SpeedActual [RPM]: The current speed is displayed with the return value "SpeedActual [RPM] ".
36_DirectionAtStopRotate: The current direction of rotation after stopping is displayed with the return value "DirectionAtStopRotate".
37_SpeedAchieved: The return value "SpeedAchieved" provides feedback when the set speed has been reached.
38_ParameterCheck: With the return value "ParameterCheck" you get the feedback if the sent parameters are valid.
39_FaultSimActive: The return value "FaultSimActive" provides feedback when the fault simulation is active.
40_DualMode: With the return value "DualMode" you get the feedback if the dual mode is active.
41_DualConfig: The return value "DualConfig" provides feedback on the current dual mode configuration.
42_SetElectricalFault: The "SetElectricalFault" function is used to send parameters 43 and 44 to the device.
43_Channel: The "Channel" parameter is used to select the corresponding channel for the electrical fault simulation.
44_FaultSetting: The "FaultSetting" parameter is used to select the corresponding fault. With the FB1 and FB2, an external electrical signal (e.g. 12V (short to battery) and GND (short to ground)) is switched to the corresponding channel. The interrupt interrupts the line of the selected channel.
45_SetPhaseFault: The "SetPhaseFault" function is used to send parameters 46 and 47 to the device. Error simulation is deactivated again with the "SetSettings" function.
46_Phase1: The "Phase1" parameter is used to set a phase shift between SIN and COS (error simulation). The permissible range is between -180 … 180 °.
47_Phase2 (Dual): The "Phase2" parameter is used to set a phase shift between SIN and COS of the second group in dual mode (error simulation). The permissible range is between -180 … 180 °.
48_SetVoltageFault: The "SetVoltageFault" function is used to send the parameters 49 - 64 to the device. Error simulation is deactivated again with the "SetSettings" function.
49-52_Amplitude_XxxXxx1: The "Amplitude_XxxXxx1" parameters are used to set a separate amplitude for each individual signal (error simulation). The permissible range is between 1-5 V.
53-56_Offset_XxxXxx1: The "Offset_XxxXxx1" parameters are used to set a separate offset for each individual signal (error simulation). The permissible range is between 1-5 V.
57-60_Amplitude_XxxXxx2 (Dual): The "Amplitude_XxxXxx2" parameters are used to set a separate amplitude for each individual signal of the second group in dual mode (error simulation). The permissible range is between 1-5 V.
61-64_Offset_XxxXxx2 (Dual): The "Offset_XxxXxx1" parameters are used to set a separate offset for each individual signal of the second group in dual mode (error simulation). The permissible range is between 1-5 V.
2.5IRS.PosSim.RioUpdateTool
1_IPAddress: The IP address of the device must be specified for connection in the "Target IP" control. The information is automatically loaded from the "IRS.PosSim.RioUpdateTool\data\RioUpdateToolConfig.ini" file and can also be modified.
2_Version: The "Version" shows the version number of the RioUpdateTool.
3_Device: The "Device" consist of the product "PosSim". The information is automatically loaded from the "RioUpdateToolConfig.ini" file.
4_Exit: Use the "Exit" button to close the application.
5_Update Startup: After the new firmware has been selected, start the update process with the "Update Startup" function.
6_Path To Startup (*.rtexe): Use the "Path To Startup (*.rtexe)" selection menu to select the new firmware "IRS.PosSim.DeviceFirmware\ PosSim_RT_Top_StartUp.rtexe".
7_UpdateSuccessful: If the update has been carried out successfully, the "UpdateSuccessful" indicator lights up. If the firmware on the device is already up to date, the indicator lights off.
8_UpdateRunning: As long as the update is in progress, the "UpdateRunning" indicator lights up. Do not use or close the test panel during the update period.
9_Time: As long as the update is in progress, the "Time" indicator is running.
10_Update DBC: After the new DBC file has been selected, start the update process with the "Update DBC" function.
11_Path to Startup (*.dbc): Use the "Path To Startup (*.dbc)" selection menu to select the new DBC "IRS.PosSim.DBC\Device\PosSimDevice.dbc". Depending on the system configuration, there are several DBC files that must be assigned to the correct device.
12_UpdateSuccessful: If the update has been carried out successfully, the "UpdateSuccessful" indicator lights up.
2.6IRS.PosSim.DBC
Depending on the device configuration, there are several and/or different DBC files for the devices and for users.
The DBC file can be opened and edited with the free editor tool from Vector CANdb++ Editor, for example. The individual parameters and functions are described in more detail under IRS.PosSim.Testpanel.
With the help of the DBC file, the PCAN Explorer, for example, assembles the parameters into a CAN frame and sends it to the device. In addition, the received frames can be interpreted and the data displayed correctly.
Documents and downloads
Further documents and files for your IRS product are available on myIRS.