HIL Write Other End of trail navigation bar

Table of Contents

HIL Write PWM

Writes to the specified PWM channels immediately.

Library

QUARC Targets/Data Acquisition/Generic/Immediate I/O

MATLAB Command Line

Click to copy the following command line to the clipboard. Then paste it in the MATLAB Command Window:

qc_open_library('quarc_library/Data Acquisition/Generic/Immediate I//O')

Description

HIL Write PWM

The HIL Write PWM block writes to the specified PWM channels every time the block is executed. The channels are written immediately.

Helpful Hints

Using ESCs

Hint For producing outputs compatible with electronic speed controllers (ESCs), the ESC Output block may be used to convert a throttle value to a PWM output value.

Input Ports

The number of input ports depends on the Vector input parameter. If this option is checked then the input is a vector containing the PWM duty cycles to write to the channels specified in the Channels parameter. Otherwise there is one input port for each channel and each port contains the PWM duty cycle to write to the corresponding channel. Refer to the documentation on the Vector input parameter below for more details.

Duty cycle values must be fractions between 0.0 and 1.0, where 0.0 indicates 0% and 1.0 denotes 100%. The value may be signed for those boards which support bidirectional PWM outputs.

Output Ports

This block has no output ports.

Data Type Support

The HIL Write PWM block accepts signals of any of the built-in Simulink data types. Fixed point is not supported.

Parameters and Dialog Box

HIL Write PWM

Board Name

The name of the board whose PWM channels will be written. Boards are configured using the HIL Initialize block. Place an HIL Initialize block in your diagram to add a board name to the list.

Channels

The PWM channels to write. The number of PWM channels available depends on the board selected. Refer to Channels for more information.

Select a board type from the list for board-specific details:

Sample time

The sample time of the block. A sample time of 0 indicates that the block will be treated as a continuous time block. A positive sample time indicates that the block is a discrete time block with the given sample time.

A sample time of -1 indicates that the block inherits its sample time from the input. The block inherits the sample time by default.

To set the sample time to the fundamental sampling time of the model, use the qc_get_step_size function, which is a QUARC function that returns the fundamental sampling time of the model. The fundamental sampling time of the model is the sampling time entered in the Fixed step size field of the Solver pane of the Configuration parameters.

Vector input

If this option is checked then the block will have a single vector input with one element in the vector for each channel. The duty cycles for each channel should appear in the vector in the same order as the channels in the Channels parameter.

If this option is not checked then the block will have one output for each channel. The output ports will appear in the same order as the channels in the Channels parameter. Each port will be labeled with the corresponding channel number.

Targets

Target Name

Compatible*

Model Referencing

Comments

QUARC Win32 Target

Yes

Yes

QUARC Win64 Target

Yes

Yes

QUARC Linux Nvidia Target

Yes

Yes

QUARC Linux QBot Platform Target

Yes

Yes

QUARC Linux QCar 2 Target

Yes

Yes

QUARC Linux QDrone 2 Target

Yes

Yes

QUARC Linux Raspberry Pi 3 Target

Yes

Yes

QUARC Linux Raspberry Pi 4 Target

Yes

Yes

QUARC Linux RT ARMv7 Target

Yes

Yes

QUARC Linux x64 Target

Yes

Yes

QUARC Linux DuoVero Target

Yes

Yes

QUARC Linux DuoVero 2016 Target

Yes

Yes

QUARC Linux Verdex Target

No

No

Not supported.

QUARC QNX x86 Target

Yes

Yes

Last fully supported in QUARC 2018.

Rapid Simulation (RSIM) Target

Yes

Yes

S-Function Target

No

N/A

Old technology. Use model referencing instead.

Normal simulation

Yes

Yes

Due to safety and liability concerns, the hardware may not be accessed during normal simulation.

* Compatible means that the block can be compiled for the target.

See Also

 

navigation bar