Main Content

ssDeclareSimulinkFunction

Declare Simulink function with a given function prototype and scope.

Syntax

void ssDeclareSimulinkFunction(SimStruct *S, char *fcnPrototype, SSSimulinkFunctionPtr fcnPtr, SSSimulinkFunctionVisibility fcnVisibility)

Arguments

S

SimStruct that represents an S-Function block.

fcnPrototype

Function prototype of the Simulink® function.

fcnPtr

Pointer to local function.

fcnVisibility

Enumerated type SSSimulinkFunctionVisibility with two permissible values, SS_SCOPED_VISIBILITY and SS_GLOBAL_VISIBILITY.

Returns

No return value.

Description

To implement a Simulink function with S-Function API, ssDeclareSimulinkFunction can specify the Simulink function implementation at compile time.

To call a Simulink function outside of the model hierarchy with non-default argument specifications, use ssDeclareSimulinkFunction to declare the Simulink function with NULL function pointer before using other macros to specify the arguments. Use the ssDeclareFunctionCaller function to declare the function call. See ssDeclareFunctionCaller for an example.

Examples

Example 1

Declare the function timestwoFcn in C. It should be implemented separately. If the function is implemented, you can use ssDeclareSimulinkFunction to declare the Simulink function.

void timestwoFcn(SimStruct *S, int tid, ssFcnCallExecArgs *args);
char fcnPrototype[] = "y = timestwo(u)";
ssDeclareSimulinkFunction(S,fcnPrototype,timestwoFcn,SS_GLOBAL_VISIBILITY);

Example 2

Open the sfcndemo_simulinkfunction_getset model using

open_system('sfcndemo_simulinkfunction_getset');
sfcndemo_simulinkfunction_getset is an S-function example that models an object with get and set methods using two scoped Simulink functions.

Languages

C, C++

Version History

Introduced in R2018a