Release Information CODESYS_V3.5

Release Information
CODESYS
Profile: V3.5 SP6 Patch 3
Release Date: 21.04.2015
Template: Vorlage_tecdoc_Release_Information_V1.0.dotx
CONTENTS
Seite
3
General
1.1
2
Responsible for the release
Important Information
3
4
3
Compatibility Information
5
3.1
3.2
4
Compatibility Information for End Users
Compatibility Information for OEMs
Known Restrictions
5
8
10
5
Features and Changes / Addressed Defects
11
6
Release Information
12
Template: Vorlage_tecdoc_Release_Information_V1.0.dotx
1
© 3S-Smart Software Solutions GmbH
CODESYS Inspiring Automation Solutions
1
3/13
CODESYS
General
This document contains information on a product version which was released in compliance with our quality
guidelines.
1.1
Responsible for the release
Name
Role
Dieter Hess
Product Manager / CEO
Kevin Ketterle
Manager Product Development (Base Technology)
Hilmar Panzer
Manager Product Development (Application Technology)
Thomas Zauner
Manager Product Development (Systems)
Hubert Reichart
Quality Assurance
Responsibilities of the undersigned
 Product Management
(Confirmation that the content of the version to be released meets the requirements of the Product
Management)
Template: Vorlage_tecdoc_Release_Information_V1.0.dotx
 Product Development
(Confirmation that the version to be released was developed in compliance with the relevant process
description)
 Quality Assurance
(Confirmation that the version to be released was released in compliance with the relevant process
description)
Kempten, 21.04.2015
____________________(Dieter Hess)
____________________(Hilmar Panzer)
____________________(Kevin Ketterle)
____________________(Thomas Zauner)
____________________(Andrea Hein)
Note: If you are updating from a version older than this release, then please ensure that you read the release
information documents for all releases since your version.
© 3S-Smart Software Solutions GmbH
CODESYS Inspiring Automation Solutions
2
4/13
CODESYS
Important Information
Defective Libraries in CODESYS V3.5 SP6 Patch 2
The IoDrvProfinet, IoDrvEthernetIP and RPC libraries were damaged in the build for CODESYS V3.5 SP6 Patch
2. Therefore, these libraries cannot be compiled at this time.
This causes unrecoverable compile errors to occur when the EtherNet/IP and PROFINET fieldbuses are used
with the latest versions of these libraries.
Template: Vorlage_tecdoc_Release_Information_V1.0.dotx
Therefore we urgently recommend you use V3.5 SP6 Patch 3.
© 3S-Smart Software Solutions GmbH
CODESYS Inspiring Automation Solutions
3
3.1
5/13
CODESYS
Compatibility Information
Compatibility Information for End Users
Compile: Negative string lengths reported as error (CDS-6656)
New error C0362 introduced for strings with size expressions evaluating to negative values
LMM, Compiler Version: Delete compiler versions < 3.4.0.0 (CDS-39898)
Compiler versions < 3.4.0.0 can no longer be selected by the user.
SysComWin32: Automatic port detection (CDS-42524)
To fix this issue, the compare algorithm for the following setting was slightly changed:
[SysCom]
Windows.CheckWithPortName.0=<String>
In older versions the friendly name of the adapter must contain <String>, now it must start with <String>. Please
check, if you have to adapt your settings in your gateway / runtime system configuration file.
RTE: New Microsoft Feature "FullMemoryDiagnostic" destroys code/data memory at runtime (CDS-41643)
RunFullMemoryDiagnostic is disabled by default, as it potentially leads to a system crash if another system is
running on a non-Windows-core.
Template: Vorlage_tecdoc_Release_Information_V1.0.dotx
Library SysFileAsync (CDS-37782)
CmpAsyncMgr now removes an asynchronous job always at the end of the job execution. Therefore, the job
does not have to be removed at the end by the caller manually.
If you use SysFileAsync23.library in your PLC application:
You have to update to SysFileAsync23.library v3.5.6.0 (as well as SysFileAsync.library v3.5.6.0) to avoid
unhandled jobs in multiple, parallel, asynchronous file operations.
PROFINET Editor: Integrate IRT Scheduling (CDS-38577)
This is a preview to be released with V3.5 SP7.
To enable the preview, add the following to the controller devdesc:
<Appearance>
<ShowEditor>PNIOControllerParameters</ShowEditor>
<ShowEditor>PNIOTopologyConfig</ShowEditor>
<ShowEditor>ParameterEditor</ShowEditor>
<ShowEditor>StatusPage</ShowEditor>
<ShowEditor>DeviceInformation</ShowEditor>
</Appearance>
PROFINET IO Master Stack (CDS-35127)
A combination of CIFX-based and 3S Controller in the same project is possible, but some IDE functions (using
communication to PLC) do not work reliably:
Status Page: Diagnostic data and alarms are not shown.
Scan Dialog: Functions “Get I&M-Data” and “Reset to Factory” do not work.
CAN Download: Implement Network Scan (CDS-19463)
CmpBlkDrvCanServer and CmpBlkDrvCanClient now support network scan.
Therefore, some incompatible changes were necessary:
- New PLCs are not compatible with old gateways anymore.
- Default network interface name for CmpBlkDrvCanServer was renamed from Canbus0 to BlkDrvCanServer.
- NodeID in configuration file of Gateway will now be used on bus. Please check that there are no NodeID
conflicts.
© 3S-Smart Software Solutions GmbH
CODESYS Inspiring Automation Solutions
6/13
CODESYS
Furthermore, some new settings were introduced:
- Capability to overwrite the default network interface name
- More than one instance of BlkDrvCanClient is possible.
- Task priority and cycle time of blockdriver can be changed in the configuration file (slowest supported cycle
time is 100ms).
SM: SMC_SetControllerMode does not interrupt the ongoing movement when switching to position mode from
lower mode (CDS-41439)
The interrupt behavior of SMC_SetControllerMode has changed when switching to position mode from current,
velocity, or torque mode to position mode.
Previously, SMC_SetControllerMode did not interrupt an ongoing movement. Depending on the order of
execution of the function blocks, this could lead to jumps in the set position.
The new behavior is that SMC_SetControllerMode will interrupt an ongoing movement when switching to
position mode and the axis is switched on (bRegulatorOn and bRegulatorRealState). The only exception is
MC_Stop, which will not be interrupted by SMC_SetControllerMode.
SMC_SetControllerMode itself can be interrupted only by MC_Stop. In this case, it will create the new error
SMC_SCM_Interrupted.
Template: Vorlage_tecdoc_Release_Information_V1.0.dotx
Libraries, Online Change: Online Change for libraries needed (CDS-41378)
Until now (compiler version < 3.5.6.0), a library has been identified by name, vendor and version. If one of these
library attributes is changed, then the library will be a new, different library. The result is that all types in the new
library are incompatible to the types in the previous library. In other words, a function block FB in a library
1.0.0.0 is a different function block in library 2.0.0.0. If the library changes and an online change is performed,
then all instances of this function block are initialized and a copy code is not produced for these instances.
Hence, the values are lost.
As of compiler version >= 3.5.6.0, this behavior changes. If all references to a library have the same version,
then this version is ignored for the identification of the types in the library. Therefore, if the library is attracted
with a newer version, then the types in the library will match the types of the last download or compiler. For
example, the same function block FB in the above example will be identified as the same function block, even if
the library version changes. If the FB changes, then copy code will be produced for all instances. If the FB does
not change, then all instances will be unaffected by the online change.
Please note: If the same library is attracted with different versions, then the version will be important to identify
the types, and online change will have the old behavior.
Visu, Online change: Evaluate and implement complete re-initialization after online changes affecting the
visualization (CDS-37646)
The mechanism that determines how the visualization implements the online change has been completely
reworked to achieve the expected stability. This improvement applies to compiler versions >= 3.5.6,
visualization profiles >= 3.5.6 and runtime systems >= 3.5.5. Older combinations will still use the old
mechanism.
For users working with the visualization, the effect is that all active visualizations will close and restart (for the
target visualization) or restart after a temporary communication error (for web visualization and remote target
visualization) when an online change affecting the data layout of an application is executed. In addition, the new
mechanism tightens the requirement to execute calls to visualization methods (programmatic selection,
programmatically opening dialogs etc.) only from the VISU_TASK. As this requirement was also present before,
due to unimplemented thread safety in the visualization libraries, this is not a compatibility problem.
On multitasking systems, the required name for the task running the visualization is VISU_TASK. Otherwise, a
compilation error will be issued with further information.
On single-tasking systems supporting the visualization and online change, the online changes can delay the
execution of the IEC task for a longer time than before.
© 3S-Smart Software Solutions GmbH
CODESYS Inspiring Automation Solutions
7/13
CODESYS
For customers working with the VisuElement Toolkit, please refer to the respective section in the toolkit
documentation.
Visu, Styles: Create additional modern style (flat style) (CDS-39404)
Requires both compiler version >= 3.5.6.0 and visualization profile >= 3.5.6.0
Visualization styles:
When using a customized style, it is recommended to add the following new style entries and use them in the
appropriate element properties in order to change the style from the customer style to the flat style without
changing the intended appearance. The new style entries are recommended also for adding visual elements to
any visualization. (The sample style can be used as guideline.)
Table element selection color:
New elements will use the stylecolor "table selectioncolor".
In existing elements with used selection and an changed selectioncolor: the color also will be used with the flat
style.
In existing elements with no used selection: there will be no selection with the flat style too.
In existing elements with used selection but unchanged selectioncolor: The selection used to be not visible, as
the selectioncolor white was used. When the flat style is used, now the white selection will be visible.
To have a selectioncolor, that fits to all styles, change the colorvalue to the styleentry "table selectioncolor".
Template: Vorlage_tecdoc_Release_Information_V1.0.dotx
Colors:
BasicElement-Alarm-Fill-Color
BasicElement-Alarm-Frame-Color
BasicElement-Fill-Color
BasicElement-Frame-Color
-> used for the colors for basic elements
Dialog-BackgroundColor
Dialog-ButtonColor
Dialog-HeaderColor
Dialog-ScrollbarColor
-> to change the look for the dialogs like numpad or keypad
Element-Bar-GraphColor
Element-Bar-ScaleColor
-> used for the barelement
Element-Button-FontColor
-> for the button and time selector
Element-Meter-ArrowColor
Element-Meter-LabelFontColor
Element-Meter-ScaleColor
-> for the meter
Element-Potentiometer-LabelFontColor
Element-Potentiometer-ScaleColor
-> for the potentiometer
Element-Table-SelectionColor
-> for the table
Arbitrary Values:
Dialog-UseHeaderColor
-> for the dialogs, see explanation in example style
Element-Meter
Element-Potentiometer
-> for the positioning of scale, see more details to different values in example style
© 3S-Smart Software Solutions GmbH
CODESYS Inspiring Automation Solutions
8/13
CODESYS
Visu: Semi-transparent drawing (CDS-17581)
With the new feature transparent, drawing semi-transparency can be configured by several elements, such as
the fill color of a rectangle or a polygon. For the web visualization, a target setting does not have to be set. For
the target visualization, the feature must be activated by the device description because additional functionality
is necessary in the device.
The following setting must be set in the device description:
<ts:section name="visualization">
<ts:section name="TargetConstraints">
<ts:setting name="SupportSemiTransparentDrawing" type="boolean"
access="visible">
<ts:value>1</ts:value>
</ts:setting>
3.2
Compatibility Information for OEMs
All Platforms: Implement SysCpuGetContext() + SysCpuGetCallstackEntry2() (CDS-21148)
This feature can be used only with the following:
- Compiler version >= 3.5.1.0
- On the following platforms, a compiler definition must be specified in the DevDesc to enable a back trace on
stacks in the runtime system code (external library calls). See CDS-23192:
Template: Vorlage_tecdoc_Release_Information_V1.0.dotx
ARM, CortexM3, MIPS, PPC, SH, x86-64 and x86/WindowsCE
<ts:section name="codegenerator">
<ts:setting name="compiler-defines" type="string" access="visible">
<ts:value>generate_exceptioninfo</ts:value>
</ts:setting>
</ts:section>
- Runtime system >= v3.5.6.0
Implementations:
- New interface function added to detect the call stack out of an external library call:
RTS_RESULT CDECL SysCpuGetCallstackEntry3(RTS_I32 bIecCode, RegContext *pContext, void
**ppAddress);
- SysCpuHandlingOS have to implement the following new helper function:
RTS_UINTPTR *SysCpuSearchOnStack_(RTS_UINTPTR *pSP, RTS_UINTPTR pattern, RTS_RESULT
*pResult)
- If SysCpuGetCallstackEntry2(RTS_I32 bIecCode, RTS_UINTPTR *pBP, void **ppAddress) at the OS
implementation returns ERR_NOTIMPLEMENTED, we do a generic back trace on the stack in
SysCpuGetCallstackEntry3()
Known Issues:
- On WinCE / ARM, an exception in an external C-function cannot be caught by the runtime and it still leads to
crashes (CDS-41404).
Watchdog: In the logger, the OmittedCycle watchdog must be separated from "normal" CycleExceed watchdog
(CDS-40328)
To separate an OmittedCycle watchdog from a "normal" watchdog, the following new exception number is
provided (e.g. in the event CMPID_CmpApp :: EVT_CmpApp_Exception as ulException parameter):
RTSEXCPT_WATCHDOG_OMITTED_CYCLE | RTSEXCPT_WATCHDOG
See SysExceptItf.h for details.
NOTE:
Therefore, if you are not interested in the OmittedCycle watchdog, you have to disable this info to obtain only
the RTSEXCPT_WATCHDOG exception with:
© 3S-Smart Software Solutions GmbH
CODESYS Inspiring Automation Solutions
9/13
CODESYS
if ( SysExcptIsException(ulException, RTSEXCPT_WATCHDOG) )
...<-- here we handle the watchdog exception independent of the type
In the logger, an OmittedCycle watchdog is now separated from "normal" CycleExceed watchdog.
QNX: Allow tick rate <> 1ms (CDS-38789)
new CODESYSControl.cfg setting
[SysTask]
QNX.SetSystemTick=0
0: The runtime will not change the QNX system tick.
1 (default): The runtime system will set the QNX system tick to 1ms on startup.
If EtherCAT distributed clocks are used, the runtime system may change the system tick at runtime
NOTE: EtherCAT distributed clocks will not work if changing the system tick is disabled by this setting.
GACs: Update all referenced GACs to newest version and remove old GAC versions from setup (CDS-40305)
The setup now installs only the newest version of each GAC.
Every customer has to ensure that all GACs referenced by OEM plugins are part of the OEM packages or of the
OEM installation.
Template: Vorlage_tecdoc_Release_Information_V1.0.dotx
CmpBlkDrvCom/CmpBlkDrvUsb: Needs up to 60 seconds until a removed COM port is detected (CDS39807)
Only relevant for OEMs with their own implementations of SysCom or their own miniport driver for
CmpBlkDrvUsb:
Now the CmpBlkDrvCom evaluates the result of the function SysComRead(). Please check that SysComRead()
returns a valid result code in all cases. All error codes different from ERR_OK and ERR_TIMEOUT will be
handled as errors and the CmpBlkDrvCom will close the communication interface. The same is true for
CmpBlkDrvUsb and the result of the miniport drivers Read() function.
CmpSchedule: Improvement of watchdog handling needed to avoid deadlocks in external library calls CDS38927
If a watchdog exception occurred in an external library call, we do not suspend the IEC-task immediately. In this case, we
mark the task to suspend, set a breakpoint at the exit of the external library call, and let the task run out of the external
library call. If we reach the breakpoint, we suspend the task here.
This feature can be used only with the following:
- Compiler version >= 3.5.6.0
- In the DevDesc, you have to specify the following setting (see CDS-41052):
<ts:section name="codegenerator">
<ts:setting name="breakpoint-mark-after-external-call" type="boolean"
access="visible">
<ts:value>1</ts:value>
</ts:setting>
</ts:section>
- On the following platforms, a compiler define must be specified in the DevDesc to enable
back trace on stack in runtime system code (external library calls). (see CDS-23192):
ARM, CortexM3, MIPS, PPC, SH, x86-64 and x86/WindowsCE
<ts:section name="codegenerator">
<ts:setting name="compiler-defines" type="string" access="visible">
<ts:value>generate_exceptioninfo</ts:value>
</ts:setting>
</ts:section>
- Runtime system >= v3.5.6.0
© 3S-Smart Software Solutions GmbH
CODESYS Inspiring Automation Solutions
Template: Vorlage_tecdoc_Release_Information_V1.0.dotx
4
10/13
CODESYS
Known Restrictions
Component
Description
Return of licenses (License
Manager
Not supported for device licenses
64-bit RTE
CANopen on 64bit version is not
supported.
64-bit Control Win
Setup available in customer
download area
64-bit Libraries
Missing 64-bit support for
fieldbus libraries
CDS-27530, CDS-27547, CDS27543, CDS-27532
CmpHilscherCIFX: 64bit driver
CAN, DeviceNet and EthernetIP
are not available for this release
for 64-Bit Targets. This portation
is covered by separate jiras
(CDS-27545, CDS-41339 and
CDS-41343).
CDS-29568
CmpSchedule: Improvement of
watchdog handling
This improvement does not work
on Linux and on VxWorks PPC
CDS-42284
WebServer: SSL support
Not supported on Control RTE
and Control RTE x64, QNX and
VxWorks
CDS-29361
OpenSSL
Available for webserver as a
runtime component, no support
for RTE, QNX and VxWorks
CDS-39063
Profinet I/O Master Stack
Detach/Reconnect Profinet
Saves from network: If this is
repeated several times with a
large number of slaves,
connection fails (CDS-42267)
CDS-35127
Only one controller instance per
PLC possible (CDS-41822 +
CDS-41780), in case of RTE the
used network interfaces have to
be of the same type (CDS37463)
A mix of CIFX-based and 3S
Controller in the same project is
possible, but some IDE functions
(using communication to PLC)
do not work reliable:
Status-Page: Diagnosis-Data
and Alarms are not shown.
Scan-Dialog: Functions “Get
I&M-Data” and “Reset to
Factory” don’t work.
QNX
© 3S-Smart Software Solutions GmbH
The QNX runtime is not available
at the time of the release.
JIRA ID
CDS-26049
CODESYS Inspiring Automation Solutions
5
11/13
CODESYS
Features and Changes / Addressed Defects
The link below leads to an Excel sheet which contains information on the new implementations and changes in
the current version:
Key, Summary, Description, Resolution, Priority, Issue Type, Components, Target User Group, Fix Version,
Release Note
Special release information for OEM partners can be found in the RID note with the filter ‘Target User Group’ for
‘OEM’ or ‘OEM and End User’.
Features and Changes_Addressed Defects CODESYS V3.5 SP6 Patch 3.xls
OPC UA Server (CDS-5499)
Template: Vorlage_tecdoc_Release_Information_V1.0.dotx
An OPC UA server is now available as a runtime system component. The OPC UA server actually
supports the "Micro Embedded Device Server Profile". OPC UA will ship by default with CODESYS Control
Win V3, CODESYS Control RTE V3 and CODESYS Control for Raspberry Pi.
© 3S-Smart Software Solutions GmbH
CODESYS Inspiring Automation Solutions
6
12/13
CODESYS
Release Information
This chapter describes the tests conducted during the release of the above mentioned version and the
corresponding results.
Test
Environment
Result
Compile (Autotest)
x86
Passed / Released
Compile General (Autotest)
ProfiNet - Online
Passed / Released
Control RTE AMP Win7/64 Bit
IEC-Stack
Quality Gate
Passed / Released
Win7, Control Win, Target Visu
Visualization - Online
(Autotest) - Quality Gate
Win7, Control Win, Integrierte Visu
Template: Vorlage_tecdoc_Release_Information_V1.0.dotx
Visualization - Online
(Autotest) - Quality Gate
© 3S-Smart Software Solutions GmbH
Passed / Released
Passed / Released
Passed / Released
CODESYS Inspiring Automation Solutions
13/13
CODESYS
Document Release
Andrea Hein
QA
20.04.2015
Reviewed
Benjamin Schurr
QA
21.04.2015
Released
Benjamin Schurr
QA
21.04.2015
Template: Vorlage_tecdoc_Release_Information_V1.0.dotx
Created
© 3S-Smart Software Solutions GmbH