MotoHawk:Blocks:Function Trigger Block
From MotoHawk
Jump to navigationJump to searchFunction Trigger
This MotoHawk™ block triggers a Simulink Function-Call subsystem, with the built-in framework task event.
Block ID
motohawk_trigger
Library
MotoHawk_lib/Trigger Blocks
Description
This block is the root of each MotoHawk task. More than one trigger may be placed in a model associated with the same event. In this case, use the 'Priority Order' to order these independent triggers. If the priorities are the same, then the order is implementation dependent.
Block Parameters
Parameter Field | Values | Comments/Description |
Trigger | Set the type of trigger. | |
IDLE_EVENT | Trigger when the framework detects an idle condition. | |
STARTUP_EVENT | Trigger when the framework detects startup. | |
SHUTDOWN_EVENT | Trigger when the framework detects shutdown. | |
FW_CLOSE | Trigger when the framework has finished closing | |
FGND_30 | Trigger occurs approximately every 30 degCA with foreground priority | |
FGND_60 | Trigger occurs approximately every 60 degCA with foreground priority | |
FGND_90 | Trigger occurs approximately every 90 degCA with foreground priority | |
FGND_120 | Trigger occurs approximately every 120 degCA with foreground priority | |
FGND_180 | Trigger occurs approximately every 180 degCA with foreground priority | |
FGND_360 | Trigger occurs approximately every 360 degCA with foreground priority | |
FGND_720 | Trigger occurs approximately every 720 degCA with foreground priority | |
FGND_HIRES | Trigger occurs on each detected encoder tooth with foreground priority | |
FGND_RTI_PERIODIC | Trigger occurs same as FGND_RTI set in Trigger Definition Block. | |
FGND_2XRTI_PERIODIC | Trigger occurs every second FGND_RTI event (as set in Trigger Definition Block). | |
FGND_5XRTI_PERIODIC | Trigger occurs every five FGND_RTI events (as set in Trigger Definition Block). | |
FGND_10XRTI_PERIODIC | Trigger occurs every ten FGND_RTI events (as set in Trigger Definition Block). | |
FGND_20XRTI_PERIODIC | Trigger occurs every 20 FGND_RTI events (as set in Trigger Definition Block). | |
FGND_TDC_EVENT | Trigger on each firing TDC with foreground priority. | |
FGND_TDC1_EVENT | Trigger once per cycle on TDC#1 with foreground priority. | |
FGND_MIDTDC_EVENT | Trigger midway between each firing TDC. | |
BGND_30 | Trigger occurs approximately every 30 degCA with background priority. | |
BGND_60 | Trigger occurs approximately every 60 degCA with background priority. | |
BGND_90 | Trigger occurs approximately every 90 degCA with background priority. | |
BGND_120 | Trigger occurs approximately every 120 degCA with background priority. | |
BGND_180 | Trigger occurs approximately every 180 degCA with background priority. | |
BGND_360 | Trigger occurs approximately every 360 degCA with background priority. | |
BGND_720 | Trigger occurs approximately every 720 degCA with background priority. | |
BGND_HIRES | Trigger occurs on each detected encoder tooth with background priority. | |
BGND_BASE_PERIODIC | Same as BGND_BASE set in Trigger Definition Block. | |
BGND_BASEx2_PERIODIC | Multiple of BGND_BASE in Trigger Definition Block. | |
BGND_BASEx10_PERIODIC | Multiple of BGND_BASE in Trigger Definition Block. | |
BGND_BASEx20_PERIODIC | Multiple of BGND_BASE in Trigger Definition Block. | |
BGND_BASEx40_PERIODIC | Multiple of BGND_BASE in Trigger Definition Block. | |
BGND_BASEx80_PERIODIC | Multiple of BGND_BASE in Trigger Definition Block. | |
BGND_BASEx1200_PERIODIC | Multiple of BGND_BASE in Trigger Definition Block. | |
BGND_TDC_EVENT | Trigger on each firing TDC with background priority. | |
BGND_TDC1_EVENT | Trigger once per cycle on TDC#1 with background priority. | |
ONE_SECOND_EVENT | Trigger every second, regardless of base rate settings. | |
ONE_MINUTE_EVENT | Trigger every second, regardless of base rate settings. | |
Priority Order | 0-4 | When more than one trigger is used, set Trigger Priority level, to order priority; lower executes before higher. If the priorities are the same, then the order is implementation dependent. |
This trigger is inside another triggered subsystem | Check Box (enable) | Enable if trigger is inside another triggered subsystem. Trigger attempts to simulate the block inside of another triggered rate, when the rate is periodic. The most common reason to enable is to place a background periodic task inside of a foreground periodic task, or vice versa. The trigger from this block may occur in bursts, synchronized to the outer rate, while simulating, but will perform as expected on the target. Do not enable on top-level triggers, otherwise the block will not simulate at all. |
Trigger even when containing subsystem is disabled | Check Box (enable) | If this trigger is used inside of a containing subsystem, normally the triggered subsystem will pause and resume based on the enable/disable status of the containing subsystem. Checking this causes triggers to occur even while the parent is disabled. Note that this feature will not simulate, but will execute correctly on the target. |
Trigger even when Application Monitor is paused or stopped | Check Box (enable) | When checked this trigger will fire even when the Application Monitor indicates that execution is paused or stopped. Note that this feature will not simulate, but will execute correctly on the target. |