Release Notes D2000 Server 12.2.65.u3

Improvements a bug fixes for D2000 V12.2.65.u3 (build 03)

**************** Improvements ****************

D2D-4970 ARC
A new configuration parameter OldValIgnoreAge lets you ignore values older than the specified time (in hours). The parameter can be set at runtime with the SET_OPTION command. If the debugging category DBG.ARCHIV.IGNORED_VALUES.OLD is enabled, the information about discarded value is logged in the file.

D2D-5127 ARC
In the D2000 Archiv process, protection of write actions in the script has been improved (UPDATEARCHVAL, INSERTARCHARR). Correct handling of a case where a user tried to write to a structured archive as if it were unstructured (column and row equal to 0) was implemented. When unhandled, this operation could cause the archive to end with an error.

D2D-5272 ARC
The Tell command REOGANIZE has been enhanced so thatn a tablespace can be specified. Now it is possible to move a table to a specific tablepace on the PostgreSQL platform.

D2D-5332 ARC
The calculation of archive objects for the archive with depositories has been optimized. If an archive object has never had a value, when calculating archive objects which depend on it , the archive will not try to read the value from the depositories, even if they are available.

D2D-5078 ARCSynchro
A new parameter /UX was implemented in arcsynchro utility. This parameter enables to synchronize data from older D2000 applications (e.g. pre-UTF8 D2000 version 8.0) without need to upgrade the old archive database. This is convenient e.g. when preparing a migration to a new D2000 version using a different database platform for D2000 Archiv.

D2D-5090 ARCSynchro
In the arcsynchro utility, support for the /STPG parameter was implemented. This parameter allows you to read data from PostgreSQL depositories. The parameter can be used e.g. when migrating PostgreSQL depositories.

D2D-3471 CALC
The following ESL functions have been implemented: INT %RxFind(TEXT in text, TEXT in regExp, INT  in from := 1, INT  out endIndex) INT %RxReplaceStr(TEXT in text, TEXT in regExp, TEXT in subStr, INT  in from := 1, INT  in count := 0)

In the cfgsynchroauto utility the synchronization of OBJLIFE_LOG and OBJLIFE_LOGEXT tables has been improved. Only the rows that have been added or deleted are synchronized. Unchanged rows are not synced.

D2D-2206 CNF
A watch window has been added in which it is possible to find out the number of the elements in the data container, the key type, the container handle and the name of the event in which the container was created. The window also allows you to view the content of the container (keys and values).

D2D-4754 CNF
A process configuration dialog has been added to configure the process according to its type. It clearly shows commonly used parameters and enables extended configuration of parameters.

D2D-4965 CNF
The opening of a configuration dialogue for the configuration of structured variables took too long. Currently, the time for opening is not dependant on the size of the structured variable.

D2D-4966 CNF
After saving an object in CNF, if unknown objects were used, the user was informed only of the first one. The others were not displayed. Correction extends the number of displayed unknown objects to a maximum of ten.

D2D-5128 CNF
The following features had been added in the Quick Watch window: -The line with value type of the current expression (Text, Integer, ...). -Now it is able to copy the value of selected line by pressing Ctrl + C.

D2D-5170 CNF
An ability to copy filtering conditions in dialog for displaying dependencies between objects have been added. Copying can be turned on/off at any time by using the ckechbox.

D2D-5031 CNF,KOM
In the Johnson Controls N2-Bus protocol, support for TCP-IP/TCP line has been added. Multiple names/IP addresses separated by a semicolon or comma can be entered for support of redundant configurations with multiple PLCs or multiple Moxa NPort serial servers in TCP mode.

D2D-5234 CNF,KOM
In the IEC 870-5-101 Server protocol, the DataClass parameter has been added to control whether the server is sending data as Class1 (default), Class2, Class1/2. Another option is to send replies to commands as Class1 data and all other data as Class2 data.

D2D-5283 CNF,KOM
Support for hexadecimal notation of Selector in the address of the I/O tag  was implemented in the LonTalk protocol . The hexadecimal Selector begins with a ""#"", e.g. #1AD.

D2D-5311 CNF,KOM
A new communication protocol Siemens SIMATIC 3964 (R) CW (Control Web)  has been implemented for serial communication with Siemens Simatic S5 and S7 PLCs. This protocol was implemented to migrate Control Web to D2000 technology.

D2D-5437 CNF,KOM
In the IEC 62056-21: 2002 Serial protocol, a new ""Time Date Mode"" parameter has been implemented that extends the date and time writing capabilities (necessary e.g. for Schrack LZQJ)

D2D-5099 DBM
In the D2000 DBManager process, experimental support was added for PostgreSQL column with binary data (BYTEA type) that stores strings in UTF-8 encoding. Such data can be read into a text column (with a maximum data size of 4000 characters by default, which can be set with an existing DBManager parameter to set the maximum string size - /DBD). A string in UTF-8 encoding must begin with three bytes 0xef 0xbb 0xbf (so called Byte order mark - BOM)

D2D-2162 EDA
Compiled functions of calculated vectors can be stored in global cache of EDA Server. This, depending on type of calculation, can result in significant speed up of calculations.

D2D-4706 EDA
EDA-L functions %Replace and %Remove has been improved to support comparison of non-equality against invalid value. Further optimization led up to 15% speed improvement.

D2D-5153 EDA
The IP address of EDA Server is detected automatically from computer name, if it's not set using /EDAH parameter.

D2D-5212 EDA
Detection of connection drops using PostgreSQL database has been improved and is now more reliable.

D2D-5274 EDA
Logging information about access to EDA vectors has been extended by computer name.

D2D-5275 EDA
Access rights to EDA vectors can now be defined using computer name mask.

D2D-3907 EDA,System,WBK
Naming of log files has been improved to prevent name conflicts and to be consistent with D2000 process name.

D2D-3758 ESL
An optional parameter bTrim has been added, which determines, if the returned word has to be trimmed or not.

D2D-4218 ESL
An additional parameter to remove additional characters from the string edges has been added

D2D-5064 ESL
It wasn't possible to recognize normal and critical alarm. New attribute was added to allow this.

D2D-5121 ESL
It is able to access the current values of objects that are loaded within the current page by the actions LST_CREATE, LST_GO_NEXT, ... The action ON CHANGE reacts to changes in object values. When the list is closed, or when page number is changed, only the most recent values are accessible and the ON CHANGE action stops responding to value changes.

D2D-5243 ESL
The ON CHANGE action allow to watch the changes  the local unstructured variable.

D2D-5237 ESL,EVH,System
A new asynchronous interface for external functions has been created. Simultaneously with it, a new version of helper library for development of external functions has been released.

D2D-4945 GRED
We did a speed optimization of opening display palettes.

D2D-5113 GTW
In the gateway client process (gtwcli), the /NOINV start parameter has been added, affecting behavior in transparent mode. This parameter disables invalidating values of objects that are not found on the side of gateway server.

D2D-5224 HI
In IEC104 client protocol a new parameter ""Interrogation By Broadcast Address"" has been implemented.  If the parameter is True, then the process D2000 KOM sends ASDU 100 [Interrogation Command] resp. ASDU 101 [Counter Interrogation Command] during connection initialisation to a single station with ASDU address 0xFFFF (decimally 65535).  Otherwise, it sends these ASDUs to all stations on the line that have input I/O tags and are not turned off.

D2D-5226 HI
The new function %HI_LNG_SetCurrLngIdx (IN INT _lngIdx) allows you to change the current user language in the D2000 HI process.

D2D-5321 HI
AutoCompletteList adapts list width to entryFiled width. A horizontal scroll bar has been added to the list.

D2D-5454 HI
Functions %HI_SetBrowserAutoRefresh and %HI_GetBrowserAutoRefresh are also available in the HIX version.

D2D-5146 KNL
When importing XML files, the D2000 Server can also import an object that has been renamed ( item in the  section was changed) and references itself (i.e. it contains a reference in the  section with the old name and somewhere else - e.g. in the calculation if it is a calculated point, is the old object name).

D2D-5106 KNL, CNF
The IGNR_CRC parameter has been added to the XML import options. It causes ModifyTime to be used from the XML file, even if the CRC of XML file does not match, i.e. changes were made to the file.

The Honeywell C-Bus protocol, which was only supported on the ""Honeywell C-Bus"" link (a proprietary ISA card was required), was supported on the Serial / SerialOverUDP lines using either a KPX02 communication computer or an RS-485 port computer directly.

D2D-4598 KOM
In IEC101 (Master, Client, Balanced) protocols, the ""System Redundancy: Manages A Status Address"" link parameter was added to allow to ignore values from an inactive control system (SystemA or SystemB) on a system-redundant line (SerialOverUDP System&Line Redundant). This parameter copies the behavior of the Telegyr 809 Server protocol parameter with the same name.

D2D-5008 KOM
In the KOM process, a modification was made for the OPC UA protocol - after changing the I/O tag configuration, a request for reading the current value is generated.

D2D-5075 KOM
In Modbus Server protocol, support for 32-bit signed/unsigned values (little/big endian) has been added. The configuration of these types is identical to that of the Modbus Client protocol, i.e. L - Unsigned long (4 bytes = 2 registers) - two registers with Address and Address+1 are read, unsigned and transmitted as big-endian Ll - Unsigned long (4 bytes = 2 registers) - two registers with Address and Address+1 are read and transmitted as little-endian, unsigned S - Signed long (4 bytes = 2 registers) - two registers with Address and Address+1 are read, signed and transmitted as big-endian Sl - Signed long (4 bytes = 2 registers) - two registers with Address and Address+1 are read and transmitted as little-endian, signed

D2D-5151 KOM
In the OPC UA protocol, the ""Client Type"" parameter has been added which can be set to the ""Secure"" option. This mode supports advanced authentication, encryption, and message signing capabilities.

D2D-5222 KOM
Handling of responses for AT+CSQ command was improved in SMS Gateway protocol. Some modems (e.g. Huawei E3372) sent an unexpected multiline response, which D20000 KOM was unable to process and subsequently SMS messages could not be sent.

D2D-5271 KOM
Remia KME protocol has been extended to support reading of generic instant data. These can be of different types (BYTE, SBYTE, WORD, SWORD, DWORD, SDWORD, FLOAT, DFLOAT, RTD). A new protocol parameter ""Generic Actual Data Object ID"" has been implemented to activate the functionality. The address of the I/O tags for generic instant data starts with ""GA"". The possibility of reading from the event logs has also been added. A new protocol parameter ""Generic Event Object ID"" has been implemented to activate the functionality. The address of the I/O tag that activates reading from the event log is ""RECNR"".

D2D-5287 KOM
In the OPC UA protocol, an option to specify multiple hosts separated by a comma or semicolon in the line configuration has been added, similar to the TCP and UDP line configuration.

D2D-5322 KOM
The functionality of the ""Check Receive Length"" parameter for I/O tags reading binary Modbus registers using functions 1 (Read Coils) and 2 (Read Discrete Inputs) has been corrected.

D2D-5391 KOM
Support for writing to array items has been implemented in the OPC UA Client protocol. Only one item can be written at a time; via the output I/O tag with the ""Array Index"" set to a single value.

D2D-5392 KOM
In the Modbus protocol, the ""standard"" version of the 8-byte little endian format   < B8>  was supported using the modifier ""D"" in the address of the I/O tag . Until now, only the format  was supported using the ""d"" modifier.

D2D-1243 System
Full support for time zones as defined in the Time Zone Database ( has been added. This includes import, export and conversion of time stamps between various time zones.

D2D-5297 System
Format mask for absolute time can now include UTC offset.

A new type of logical groups has been created. Subgroups of root attribute logical group present values of attribute.

Object information had been extended by UUID of the object and time of the last modification of the object

Adding an atribute for detecting a ""blocking alarm"" which defines if object is blocked.

Implemented new ESL functions for manipulation with JSON format

System Console is now 64-bit process in 64-bit D2000 installation.

Object list can now be sorted using point address.

The system text length limit has been increased from 20 to 30 characters.

The value of a variable defined at the schema level can be defined by an expression.

**************** Bug fixes ****************

D2D-5150 ARC
An error affecting GETARCHVAL action was fixed. This error could cause the GETARCHVAL action to return old values for periodic archives filled from script that have value playback enabled.

D2D-5236 ARC
Functionality of CALCSTATFUNC action when calculating selected statistics for periodic archives was fixed. CALCSTATFUNC gave erroneous results for periodic archives when used to calculate statistics _STAT_F_INTEGRAL, _STAT_F_WGAVG, _STAT_F_GT_TIME, _STAT_F_GE_TIME, _STAT_F_LT_TIME, _STAT_F_LE_TIME, if the end time was in the future. It calculated a result as if  the last valid value of the source periodic archive was valid until the end of the interval. After correction, each value is considered valid only for a period equal to the period of archivation.

D2D-5050 CALC
The error occurred after switching redundancy so. Periodic calculated points have not been recalculated. The error occurred randomly.

In the cfgsynchro and cfgsynchroauto utilities, a bug was fixed that caused a synchronization error on PostgreSQL platform, if there was a line with ""Local Port"" greater than 32767.

D2D-3461 CNF
The function returned wrong start of the week for some years. The problem occurred in those years, in which the New year started on Friday, Saturday or Sunday. The problem was fixed.

D2D-5003 CNF,KOM
In the OPC UA protocol, the KOM process crashed when browsing if there were different CNF/KOM architectures (32-bit CNF and 64-bit KOM or vice versa). Patches for both CNF and KOM process must be applied.

D2D-5016 CNF,KOM
An issue was corrected in the Onesoft Devices protocol for SoftControl devices. The error was in processing of the default values of parameters ""Begin of Write Block"" and ""End of Write Block"". Workaround was possible - to change the default parameters 157 resp. 284 to 156 resp. 285.

D2D-5154 CNF,KOM
In the Johnson Controls N2-Bus protocol, the MaxErrors parameter has been added. If the number of errors in one reading cycle reaches MaxErrors, further I/O tags will not be read. The default value of 0 disables this behavior.

D2D-4873 DBM
An error in DbManager when working with DECIMAL and NUMERIC data (eg DECIMAL (20,4)) on MsSql platform has been fixed. The error caused the insert/update operation to return an error (HY104)[Microsoft][ODBC SQL Server Driver]Invalid precision value

D2D-5233 DBM
A bug in the DBManager process that caused it to crash while executing the SQL_EXEC_PROC action has been fixed. The bug was created on January 17, 2019 by issue ""D2D-4773 Optimizing work with non-text variables"".

D2D-5326 DBM
A crash of DbManager process due to calling SQL_BINDIN without previous SQL_PREPARE was fixed.

D2D-5415 DBM
In the DbManager process, several bugs related to reconnecting to a database after a connection breakdown have been fixed. All errors were related to connections opened by SQL_CONNECT using a connect string (as an alternative to a Database object).

D2D-5428 DBM
An error was fixed in DbManager that caused it to crash when empty operations for PostgreSQL or an unknown database were turned on. At the same time, empty operations for PostgreSQL database were implemented.

D2D-5074 EDA
Vectors, scenarios, and groups used in EDA-L script might have been wrongly cached as non-existent if there was no database connection during script compilation.

D2D-5131 EDA
In case of database connection failure is global cache automatically disabled to prevent cache inconsistency.

D2D-5193 EDA
If used after EXIST, EXVEC, EXSCN or EXGRP, invalid database entity has been incorrectly evaluated as existent.

D2D-3757 ESL
The position of the beginning of the search for substring has been added to the function.

D2D-5119 ESL
The values in the rows of the structured variable defined in the context of the schema to which the SET BIND action was applied had bad values.

D2D-5145 ESL
XML export from ESL was unified with XML export from CNF as follows: empty tags are generated as follows: <VHL_ID/>.

D2D-4883 ESL,HI
The entry OnLostFocus instead of OnSpin was sent when Windows component of the Text entry type preceded the spin button. The OnSpin entry is sent always now.

D2D-5215 GTW
A bug in the Gateway Server process has been fixed. This bug occurred when deleting objects on the D2000 Server to which the Gateway Server was connected. If an object that was transmitted by the Gateway Server was deleted, the Gateway Server did not close that object. As a result, it remained in the list of deleted objects on the D2000 Server, and it was not possible to recreate the object with the same name.

D2D-4944 HI
Popup menu opened after right-clicking was wrongly located. The setting of the scheme segment (when enlarging it) was happening in a different place as was the mouse location.

D2D-4960 HI
Correction of an error when the value of the connected variable was set to MyValue (internal identifier of a graphic object) by moving a mouse above the graphic object. The setting is allowed only by clicking on the object.

D2D-5477 HI
Fixed HI crash when Windows time format setting uses more than 12 characters.

D2D-5062 JAVA
Fixed calls D2SD.deleteRow(int) and D2SD.deleteRows(int, int) - incorrectly deletes double count of rows.

D2D-5068 JAVA
fixed D2SD.insertRows for an empty structure

D2D-5163 KNL
An error that could lead to application crash (crash of D2000 Server process)  was fixed. This error could be demonstrated by configuring a archive object with publishing value to structure (if instead of publishing value to a specific structure column - e.g. SV.Test [0] ^ Col1 the value was published into the whole structure - e.g. SV.Test).

D2D-5430 KNL
The list of alarms was displayed in the D2000 HI before user login.

D2D-5015 KOM
In the IEC 870-5-104 Sinaut protocol, a new ""Ignore Flagged"" parameter was added. If allows to configure flags (A..H) to cause the value to be discarded. The parameter was required by practice when it was necessary to filter out the values with the ""Non-topical"" flag (mapped into G flag) that came from the communication partner.

D2D-5094 KOM
In process D2000 KOM, a bug that caused memory leaks when saving lines and stations was fixed.

D2D-5232 KOM
In the IEC101 server/balanced (secondary) protocols, the checking of FCB bit has been added. If it is the same in two messages received in succession, the previous reply should be repeated to the master according to the standard (the message is considered duplicate). The discarding of redundant data has been added in the IEC101 client protocol. If a correct response has been received and there is still some data after it (e.g. a duplicated response), it is discarded.

D2D-5285 KOM
The functionality of the inverted polarity output I/O tag (Dout) has been fixed. At the same time, the behavior of the output I/O tags in the Modbus Server protocol was corrected. The values of the output I/O tags after the correction correspond to the assigned values and not to the values sent to the communication (these are different if the inverse polarity for Dout is activated or the conversion to technical units for Ao, Co is configured).

D2D-5331 KOM
If a structured control object (default value or output control) was configured for I/O tag, it was not functional after the start of the KOM process. Only the change of its value during the running of the KOM process (or saving of the I/O tag) caused the change of the I/O tag value. Similar problems could be encountered with evaluating of the I/O tag limits if the limits were configured as structure items.

D2D-5474 KOM
A bug that led to the KOM process crash has been fixed. The crash occurred after changing the value type of the I/O tag (eg Ci -> Ai), which had the destination structure configured, when a new value arrived.

"D2D-4921 OBJAPI
The interface randomly crashed according to the intensity of usage. The error appeared in the interface on 24th of May, 2018 when functions PrintCurrAllocations and EnableMemDebug were implemented. The error is in R39, R60, R61 versions for objapi.dll after 24th of May, 2018 (including).

Your message was successfully sent.

Thank you for submitting the form.

Image Description

Your message was successfully sent.

Thank you for submitting the form.

Image Description

Your message was successfully sent.

Thank you for submitting the form.

Image Description