Generate Structured Text Code for Programmatically Created Tunable Parameters
This example shows how to programmaticaly create tunable parameters and generate structured text code. You create tunable parameters to:
Determine an optimal parameter value by tuning the parameter and monitoring the signal values during execution.
Set limits for process variables beyond which an alarm or safety shutdown triggers.
In Simulink®, create a Simulink.Parameter
object to represent a tunable parameter. You use the Parameter
object to set block parameter values, such as the Gain parameter of a Gain block. To see how to create tunable parameters interactively and generate structured text code, see Generate Structured Text Code for Interactively Created Tunable Parameters.
Configure Block Parameters by Using Parameter Object
Open the example model.
mdl ="plcdemo_tunable_params_slparamobj";
open_system(mdl);
To programmatically create the parameter objects, run the setup_tunable_params
file.
type setup_tunable_params;
% define tunable parameters in base workspace as Simulink.Parameter objects % Copyright 2011-2019 The MathWorks, Inc. % tunable parameter mapped to local variable K1 = Simulink.Parameter; K1.Value = 0.1; K1.CoderInfo.StorageClass = 'Model default'; % tunable parameter mapped to global variable K2 = Simulink.Parameter; K2.Value = 0.2; K2.CoderInfo.StorageClass = 'ExportedGlobal'; % tunable parameter mapped to global const K3 = Simulink.Parameter; K3.Value = 0.3; K3.CoderInfo.StorageClass = 'Custom'; K3.CoderInfo.CustomStorageClass = 'Const';
Generate and Inspect PLC Code
To generate structured text code:
In the Apps tab, click PLC Coder.
In the PLC Code tab, click Settings > PLC Code Generation Settings. Change the Target IDE to
3S CoDeSys 2.3
. Click OK.In the top-level model, select the
SimpleSubsystem
block. In the PLC Code tab, click Generate PLC Code.
Alternatively, to generate structured text code from the MATLAB command line, use the plcgeneratecode
function.
generatedFiles = plcgeneratecode('plcdemo_tunable_params_slparamobj/SimpleSubsystem');
After the code generation, the Diagnostic Viewer window displays hyperlinks to the generated code files. You can open the generated files by clicking on the links.