Supported platforms: CODESYS 3.5
This section describes how to use and save parameters from CODESYS application code.
The guide is made assuming that MultiTool Creator code template is used.
A control unit application has two types of parameters:
Fast parameters
CANopen OD parameters (defined in MultiTool Creator)
MultiTool Creator code template automatically includes NVMemory (PRG) which handles non-volatile memory operations using SSeriesHardware library's NVMem (PRG). |
All memory areas use the ParameterHandler library for handling the images between RAM and NVRAM. Parameter handler also checks the image integrity. |
It is NOT recommended to save parameters in every program cycle. Especially OD parameter saving can be time consuming (depends on amount of parameters). |
CANopen OD parameter saving can also be done from the CAN bus with SDO protocol but it is not covered by this example. |
Refer to the following for adjusting and saving control unit OD parameters from a 6000 series unit:
|
MultiTool Creator code template generates FastParameters STRUCT into the UserCode folder. Fast parameters are defined directly to FastParameters structure in CODESYS.
It is recommended to add new variables to the end of the structure. Variable data types should not be changed in existing systems, to maintain integrity of the image. |
Application default values are used when:
|
Parameter values are accessed by the global variable G_Common.FastParameters. Saving is triggered by writing TRUE in the global variable G_Common.SaveFastParameters. The code template automatically resets the save flag.
Definitions: |
|
TYPE FastParameters : STRUCT FastParameter1: BYTE; FastParameter2: WORD; FastParameter3: DWORD; END_STRUCT END_TYPE |
|
|
Definitions: |
|
VAR local_var:BYTE; trigger:BOOL; trigger_old:BOOL; END_VAR |
|
|
Code: |
|
G_Common.FastParameters.FastParameter1 := local_var; IF trigger AND NOT trigger_old THEN G_Common.SaveFastParameters := TRUE; END_IF trigger_old:=trigger; |
|
|
When OD parameters are defined in MultiTool Creator, the OD variables are generated to a CAN specific
global variable list (e.g. G_CAN1_PAR).
CANopen OD parameters are saved from a CODESYS application using the CANopenODSave library.
The following code saves all OD parameters in CAN1.
Definitions: |
|
odSaveResult: EPEC_ODSAVE.SaveODErrors; |
Code: |
|
(*save parameters to nvram*) G_CANopen_CAN1.SaveAll.Callback(o_Error => odSaveResult); |
NVMem (PRG)
Parameters library
ParametersSave (FB)
Source file topic1003061.htm
Last updated 19-Dec-2024