PLC Coder: General
PLC Coder: General Tab Overview
Set up general information about generating Structured Text code to download to target PLC IDEs.
Configuration
To enable the Simulink® PLC Coder™ options pane, you must:
Create a model.
Add either an Atomic Subsystem block, or a Subsystem block for which you have selected the Treat as atomic unit check box.
Right-click the subsystem block and select PLC Code > Options.
Tip
In addition to configuring parameters for the Simulink PLC Coder model, you can also use this dialog box to generate Structured Text code and test bench code for the Subsystem block.
Certain options are target-specific and are displayed based on the selection for Target IDE.
See Also
Target IDE
Select the target IDE for which you want to generate code. This option is available in the Configuration Parameters dialog box, PLC Code Generation pane.
The default Target IDE list shows the full set of supported targets. See Show Full Target List.
To see a reduced subset of targets, clear the option Show full target
list. To customize this list and specify IDEs that you use more
frequently, use the plccoderpref
function.
For version numbers of supported IDEs, see Supported IDE Platforms.
Settings
Default:
3S CoDeSys 2.3
3S CoDeSys 2.3
Generates Structured Text (IEC 61131-3) code for 3S-Smart Software Solutions CoDeSys Version 2.3.
3S CoDeSys 3.3
Generates Structured Text code in PLCopen XML for 3S-Smart Software Solutions CoDeSys Version 3.3.
3S CoDeSys 3.5
Generates Structured Text code in PLCopen XML for 3S-Smart Software Solutions CoDeSys Version 3.5.
B&R Automation Studio 3.0
Generates Structured Text code for B&R Automation Studio® 3.0.
B&R Automation Studio 4.0
Generates Structured Text code for B&R Automation Studio 4.0.
Beckhoff TwinCAT 2.11
Generates Structured Text code for Beckhoff® TwinCAT® 2.11 software.
Beckhoff TwinCAT 3
Generates Structured Text code for Beckhoff TwinCAT 3 software.
KW-Software MULTIPROG 5.0
Generates Structured Text code in PLCopen XML for PHOENIX CONTACT (previously KW) Software MULTIPROG® 5.0 or 5.50.
Phoenix Contact PC WORX 6.0
Generates Structured Text code in PLCopen XML for Phoenix Contact® PC WORX™ 6.0.
Rockwell RSLogix 5000: AOI
Generates Structured Text code for Rockwell Automation® RSLogix™ 5000 using Add-On Instruction (AOI) constructs.
Rockwell RSLogix 5000: Routine
Generates Structured Text code for Rockwell Automation RSLogix 5000 routine constructs.
Rockwell Studio 5000: AOI
Generates Structured Text code for Rockwell Automation Studio 5000 Logix Designer using Add-On Instruction (AOI) constructs.
Rockwell Studio 5000: Routine
Generates Structured Text code for Rockwell Automation Studio 5000 Logix Designer routine constructs.
Siemens SIMATIC Step 7
Generates Structured Text code for Siemens® SIMATIC® STEP® 7.
Siemens TIA Portal
Generates Structured Text code for Siemens TIA Portal S7-300/400 CPUs.
Siemens TIA Portal: Double Precision
Generates Structured Text code for Siemens TIA Portal S7-1200 and S7-1500 CPUs. THE IDE also supports the int8 data type, unsigned integer data types, and double-precision, floating-point data types. The code uses
LREAL
type fordouble
data type in the model and can be used on Siemens PLC devices that support theLREAL
type.Generic
Generates a pure Structured Text file. If the target IDE that you want is not available for the Simulink PLC Coder product, consider generating and downloading a generic Structured Text file.
PLCopen XML
Generates Structured Text code formatted using PLCopen XML standard.
Rexroth Indraworks
Generates Structured Text code for Rexroth IndraWorks version 13V12 IDE.
OMRON Sysmac Studio
Generates Structured Text code for OMRON® Sysmac® Studio Version 1.04, 1.05, or 1.09.
Selectron CAP1131
Generates Structured Text code for Selectron CAP1131 v 11 IDE.
Tips
Rockwell Automation RSLogix 5000 routines represent the model hierarchy using hierarchical user-defined types (UDTs). UDT types preserve model hierarchy in the generated code.
The coder generates code for reusable subsystems as separate routine instances. These subsystems access instance data in program tag fields.
Command-Line Information
Parameter:
PLC_TargetIDE |
Type: string |
Value:
'codesys23' | 'codesys33' |
'codesys35' | 'rslogix5000' |
'rslogix5000_routine' |
'studio5000' |
'studio5000_routine' |
'brautomation30' |
'brautomation40' | 'multiprog50' |
'pcworx60' | 'step7' |
'plcopen' | 'twincat211' |
'twincat3' | 'generic' |
'indraworks' | 'omron' |
'tiaportal' |
'tiaportal_double' |
Default:
'codesys23' |
See Also
Show Full Target List
View the full list of supported target IDEs in the Target IDE drop-down list. For more information, seeTarget IDE. This option is available on the PLC Code Generation pane in the Configuration Parameters dialog box.
Settings
Default: On
On
The Target IDE list displays the full set of supported IDEs. For more information, see Supported IDE Platforms.
Off
The Target IDE list displays only the more commonly used IDEs. The default subset contains the following IDEs:
codesys23
— 3S-Smart Software Solutions CoDeSys Version 2.3 (default) target IDEstudio5000
— Rockwell Automation Studio 5000 Logix Designer target IDE for AOI formatstep7
— Siemens SIMATIC STEP 7 target IDEomron
— OMRON® Sysmac® Studioplcopen
— PLCopen XML target IDE
You can customize the entries in the reduced Target IDE list by using the
plccoderpref
function.
Command-Line Information
Parameter:
PLC_ShowFullTargetList |
Type: string |
Value:
'on' | 'off' |
Default:
'on' |
You can change the contents of the reduced Target IDE
list using the plccoderpref
function. See plccoderpref
.
Target IDE Path
Specify the target IDE installation path. The path already specified is the default installation path for the target IDE. Change this path if your IDE is installed in a different location. This option is available on the PLC Code Generation pane in the Configuration Parameters dialog box.
Settings
Default:
C:\Program Files\3S Software
C:\Program Files\3S Software
Default installation path for 3S-Smart Software Solutions CoDeSys software Version 2.3.
C:\Program Files\3S CoDeSys
Default installation path for 3S-Smart Software Solutions CoDeSys software Version 3.3 and 3.5.
C:\Program Files\BrAutomation
Default installation path for B&R Automation Studio 3.0 and 4.0 software.
C:\TwinCAT
Default installation path for Beckhoff TwinCAT 2.11 and 3 software.
C:\Program Files\KW-Software\MULTIPROG 5.0
Default installation path for PHOENIX CONTACT (previously KW) Software MULTIPROG 5.0 software. For MULTIPROG 5.50, the installation path may be different, change accordingly.
C:\Program Files\Phoenix Contact\Software Suite 150
Default installation path for Phoenix Contact PC WORX 6.0 software.
C:\Program Files\Rockwell Software
Default installation path for Rockwell Automation RSLogix 5000 software.
C:\Program Files\Siemens
Default installation path for Siemens SIMATIC STEP 7 5.4 software.
C:\Program Files\Siemens\Automation
Default installation path for Siemens TIA Portal software.
Tips
When you change the Target IDE value, the value of this parameter changes.
If you right-click the Subsystem block, the PLC Code > Generate and Import Code for Subsystem command uses this value to import generated code.
If your target IDE installation is standard, do not edit this parameter. Leave it as the default value.
If your target IDE installation is nonstandard, edit this value to specify the actual installation path.
If you change the path and click Apply, the changed path remains for that target IDE for other models and between MATLAB® sessions. To reinstate the factory default, use the command:
plccoderpref('plctargetidepaths','default')
Command-Line Information
See plccoderpref
.
See Also
Code Output Directory
Enter a path to the target folder into which code is generated. This option is available on the PLC Code Generation pane in the Configuration Parameters dialog box.
Settings
Default:
plcsrc
subfolder in your working folder
Command-Line Information
Parameter:
PLC_OutputDir |
Type: string |
Value:
string |
Default:
'plcsrc' |
Tips
If the target folder path is empty, a default value of
./plcsrc
is used as the Code Output Directory.If, you want to generate code in the current folder use
.
as the output directory.The Code Output Directory can have the same name as your current working folder.
See Also
Generate Testbench for Subsystem
Specify the generation of test bench code for the subsystem. This option is available on the PLC Code Generation pane in the Configuration Parameters dialog box.
Settings
Default: off
On
Enables generation of test bench code for subsystem.
Disables generation of test bench code for subsystems.
Command-Line Information
Parameter:
PLC_GenerateTestbench |
Type: string |
Value:
'on' | 'off' |
Default:
'off' |
See Also
Include Testbench Diagnostic Code
Specify the generation of test bench code with additional diagnostic information that will help you identify output variables causing test bench failures. This option is available on the PLC Code Generation pane in the Configuration Parameters dialog box. To enable this parameter, you must select the Generate testbench for subsystem option
Settings
Default: off
On
Enables generation of test bench code with additional diagnostic information.
Disables generation of test bench code with additional diagnostic information.
Command-Line Information
Parameter:
PLC_GenerateTestbenchDiagCode |
Type: string |
Value:
'on' | 'off' |
Default:
'off' |
See Also
Generate Functions Instead of Function Block
Use this option to control whether the generated Structured Text code contains
Function
instead of Function Block
. This
option is available for only the Phoenix Contact
PC WORX or the PHOENIX CONTACT (previously KW) Software MULTIPROG target. There are certain cases where you may not be able to generate
code with Function
instead of Function Block
.
For example, if your Simulink subsystem or MATLAB Function block has internal state or persistent variables. In such
cases, the software issues a diagnostic warning.
This option is available on the PLC Code Generation pane in
the Configuration Parameters dialog box, when the Target IDE is
set to Phoenix Contact PC WORX 6.0
or
KW-Software MULTIPROG 5.0
.
Settings
Default: off
On
The generated Structured Text code contains
Function
instead ofFunction Block
where possible.Off
Switch to the default behavior of the software.
Command-Line Information
Parameter:
PLC_EmitAsPureFunctions |
Type: string |
Value:
'on' | 'off' |
Default:
'off' |
See Also
Allow Functions with Zero Inputs
Emit a function with no inputs as a function instead of a function block. This option is available for only the Phoenix Contact PC WORX or the PHOENIX CONTACT (previously KW) Software MULTIPROG target.
When the Target IDE is set to Phoenix Contact PC
WORX 6.0
or KW-Software MULTIPROG 5.0
,
in the Configuration parameters dialog box, PLC Code Generation
pane, this option is available.
Settings
Default: off
On
The generated Structured Text code contains
Function
instead ofFunction Blocks
when there is a function with no inputs.Off
The generated Structured Text code contains function blocks and no functions.
Command-Line Information
Parameter:
PLC_PureFunctionNoInputs |
Type: string |
Value:
'on' | 'off' |
Default:
'off' |
See Also
Suppress Auto-Generated Data Types
Use this option to control whether the generated Structured Text code contains auto-generated data types for array types. This option is available for only the Phoenix Contact PC WORX or the PHOENIX CONTACT (previously KW) Software MULTIPROG target.
This option is available on the PLC Code Generation pane in
the Configuration Parameters dialog box, when the Target IDE is
set to Phoenix Contact PC WORX 6.0
or
KW-Software MULTIPROG 5.0
.
Settings
Default: off
On
The software automatically generates named types for array types in your Simulink model.
Off
Switch to the default behavior of the software.
Command-Line Information
Parameter:
PLC_SuppressAutoGenType |
Type: string |
Value:
'on' | 'off' |
Default:
'off' |
See Also
Emit Data type Worksheet Tags for PCWorx
Use this option to control whether datatypeWorksheet
tags are
represented in code generated for Phoenix Contact
PC WORX target. This option allows you to have finer control and generate
multiple datatypeWorksheet
definitions.
This option is available on the PLC Code Generation pane in
the Configuration Parameters dialog box, when the Target IDE is
set to Phoenix Contact PC WORX 6.0
.
Settings
Default: off
On
The datatypeWorksheet tags are marked as separate tags in the generated code.
Off
No separate datatypeWorksheet tags are in the generated code.
Command-Line Information
Parameter:
PLC_EmitDatatypeWorkSheet |
Type: string |
Value:
'on' | 'off' |
Default:
'off' |
See Also
Aggressively Inline Structured Text Function Calls
Using this option, you can control inlining of Structured Text function calls for Rockwell Automation targets. By default, the software attempts to inline only math functions where possible. With this option, the software aggressively inlines all function calls so that the generated code has less number of Function blocks.
This option is available on the PLC Code Generation pane in
the Configuration Parameters dialog box, when the Target IDE is
set to Rockwell Automation targets such as Rockwell Studio 5000: AOI
,
Rockwell Studio 5000: Routine
, Rockwell
RSLogix 5000: AOI
, or Rockwell RSLogix 5000:
Routine
.
Settings
Default: off
On
Aggressively inlines Structured Text function calls for RSLogix IDE.
Off
Reverts to its default behavior and inlines only math function calls in the generated code.
Command-Line Information
Parameter:PLC_EnableAggressiveInlining |
Type: string |
Value:
'on' | 'off' |
Default:
'off' |
See Also
Signal Builder Block Time Range to Generate Multi Testbench
Use this option to generate multiple testbenches of varying sizes. The generated testbench size depends on the time duration of the respective signal group in the Signal Builder block. This option is available on the PLC Code Generation pane in the Configuration Parameters dialog box. Select the Generate testbench for subsystem option.
Settings
Default: Off
On
Generate multiple testbenches with testbench size dependent on time duration of respective signal group in the Signal Builder block..
Off
Generate multiple testbenches with testbench size dependent on model simulation time.
Command-Line Information
Parameter:
PLC_MultiTBSigbuilderTimeRange |
Type: string |
Value:
'on' | 'off' |
Default:
'off' |