.

Release Notes: CODESYS Communication 4.4.0.0

Key Issue Type Summary Resolution Note
COMM-643 Improvement

Datasources: Support Backtick-Identifiers in variable names

Won't Fix [[GENERAL]]
Currently there are no plans and concrete requirements to realize the support for backtick identifier variables within the datasources.
Therefore this issue will not be fixed.
COMM-641 Bug

Communication, Scripting: Executing a project update in noUI mode leads to exception

Fixed
COMM-640 Bug

noUI causes NullReferenceException

Duplicate [[GENERAL]]
Duplicate of COMM-641
COMM-629 Bug

OpcUaDataModelEditor: Wrong string length in case of non-ASCII characters

Fixed
COMM-606 Bug

Symbolpublishing Editor: Exporting of Inherited FBs does not work correctly

Fixed
COMM-601 Improvement

IecVarAccess: Add new interface "BOOL IecVarAccIsReference(hInterface, hNode, varInfo, Result)"

Fixed
COMM-599 Bug

Comm Manager, Symbol Set: Unicode identifiers do not work if UTF8 compile option is set

Fixed
COMM-595 Bug

Datasources, OPC UA Client: User Token Policy is not handled correctly to detect, if plaintext password is used

Fixed
COMM-594 Bug

IecVarAccess: Crash when reading FB with static vars

Fixed
COMM-592 Bug

Access rights are not set correctly if you set the attributes in libraries

Fixed [[GENERAL]]
Regression of COMM-506

Requires CDS-86193 to take effekt via PLCHandler
COMM-591 Bug

C0373 compile warning if a ENUM has UDINT as base data type

Fixed [[GENERAL]]
The warning is only generated in case of runtime < 3.5.19.0 or in case of enum values outside the DINT value range. For runtime >= 3.5.19.0 and enum values within the DINT value range no warning is generated.
COMM-583 Bug

Symbol Configuration, variables with {attribute 'global_init_slot'...} are not shown

Fixed
COMM-582 Bug

OPC UA Server, Symbol Configuration: If IoConfig_Globals is selected, our Datasource can't browse for variables

Fixed
COMM-581 Bug

Support arbitrary URIs as Information ModelUri instead of just URLs

Fixed [[GENERAL]]
From now on newly installed information models no longer use parts of the information model URI as path components

[[COMPATIBILITY_INFORMATION]]
Already existing information model repositories can be used without any conversion to the new folder structure
COMM-579 Bug

IecVarAccess: Access to elements of data structures does not work if VariableInformationStruct or VariableInformationStruct2 is used

Won't Fix [[GENERAL]]
Won't fix because there is an easy workaround.

[[COMPATIBILITY_INFORMATION]]
With the implementation of COMM-506 the calls to IecVarAccessGetValue3 and IecVarAccessSetValue3 will not work for struct members and return ERR_NO_ACCESSRIGHTS (25, 0x19) if a VariableInformationStruct or VariableInformationStruct2 is used to resolve (IecVarAccessGetNode3) or browser the node.

This behavior will not be fixed. Instead of using on of these two structures, the VariableInformationStruct3(4,5) should be used. These structures require a proper initialization with IecVarAccessInitVarInfo(2) and IecVarAccessExitVarInfo. These changes are easy and do not need any change to your general logic, how IecVarAccess is used.

Typically, you would replace code like

VariableInformationStruct2 varInfo;
RTS_HANDLE hNode;
RTS_HANDLE hInterface;

memset(&varInfo, 0, sizeof(varInfo));
hNode = IecVarAccessGetNode3("somenode", &hInterface, &varInfo, &Result);

with a code like:

VariableInformationStruct3 varInfo;
RTS_HANDLE hNode;
RTS_HANDLE hInterface;

IecVarAccessInitVarInfo(&varInfo, sizeof(varInfo));
hNode = IecVarAccessGetNode3("somenode", &hInterface, &varInfo, &Result);

// Do Something

IecVarAccessExitVarInfo(&varInfo);
COMM-577 Bug

Set communication parameters may fail

Fixed
COMM-574 Bug

Information model: Compile errors about unknown nodesets when two devices use the same information model

Fixed
COMM-570 Bug

Compiler: Internal error on executing Generate Code

Fixed
COMM-568 Bug

ResetWarm, ResetCold: uaNamespaceFragmentDescr receives initial values, while the referenced NodeDescriptions dont't change

Fixed [[GENERAL]]
This fix will increase the size of the generated code proportional to the size of the used information model, since a backup copy has to be created to be able to reset them to their original value.
COMM-567 Bug

Datasources, OpcUa: Reconnect fail if an error occurs with a authentifcated connection

Fixed
COMM-565 Bug

IecSymbolPublishing: Access rights are not considered correctly

Fixed
COMM-553 Bug

SymbolicVarsBase: SymbolicVarNodeAccessor.EventCallback should use RTS_IEC_RESULT instead of CmpEventMgr.RTS_IEC_RESULT

Fixed
COMM-552 Bug

Datasource OpcUa: Possible access violation in logging code

Fixed
COMM-520 Bug

DataSource OPC UA: Internal error when inserting browse result as flat list

Fixed
COMM-517 Bug

OPCUA Server : Static variables in function blocks closes OPC UA connection with "Bad Behaviour"

Duplicate [[GENERAL]]
Duplicats COMM-594
COMM-486 Bug

OPC UA: Datasources: Certificate exchange with Sign&Encrypt communication does not work completely

Won't Fix [[GENERAL]]
I was able to connect without issues with the current Communcation version(older versions had issues) . Doing the following steps:
Start server
Configure client and create client browse certificate
Try to browse -> Will fail but exchange browse certificate with server
Trust client browse certificate on server
Try to browse again and configure variables
Run client -> Will fail, since no client certificate exists
Create a client certificate
Wait for autoreconnect of client -> Will fail because server does not trust certificate
Trust client certificate on server, and trust server certificate on client
Wait for autoreconnect -> Will work without issue.
COMM-236 Improvement

Optimize Implementation of BrowseGetNext, BrowseUp and BrowseDown

Fixed