for D2000 V12.0.61.u6 (build 06)
**************** Improvements ****************
**************** 27.4.2020 ********************
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.
Logging information about access to EDA vectors has been extended by computer name.
Access rights to EDA vectors can now be defined using computer name mask.
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.
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-5487 CNF, KOM
In IEC 62056-21: 2002 Serial protocol, new parameters have been added that allow more flexible configuration of data reading from profiles:
- Profile Read Mode (standard/block reading + variants with sending password P1)
- Profile Read Block Length (block size for block reading)
- Profile Read Formatted Execution (specification of special command)
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-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.
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-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.
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"".
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.
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.
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.
AutoCompletteList adapts list width to entryFiled width. A horizontal scroll bar has been added to the list.
The IP address of EDA Server is detected automatically from computer name, if it's not set using /EDAH parameter.
Detection of connection drops using PostgreSQL database has been improved and is now more reliable.
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-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-5328 KNL, CNF, KOM
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.
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.
Functions %HI_SetBrowserAutoRefresh and %HI_GetBrowserAutoRefresh are also available in the HIX version.
The new function %HI_LNG_SetCurrLngIdx (IN INT _lngIdx) allows you to change the current user language in the D2000 HI process.
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.
In AMiT ATOUCH32 DB-Net protocol, optimized matrix readings (INT_MX, LONG_MX type variables) were also supported for Di, Dout I/O tags.
If there are multiple configured /O tags (not only Di, Dout, but also Ci, Co, Ai, Ao) with the same WID and Type, and if the ""Enable Matrix Read"" parameter is enabled on the station, they will all be read by one optimized matrix reading.
At the same time, the crash of the KOM process during matrix reading (variables of INT_MX/LONG_MX types) into Di, Dout I/O tags and writing Dout I/O tags into matrix was corrected.
Text mode for RFID readers was supported in the HI process. Mode selection is possible by setting the ""RFID parameters"" parameter string.
********************** Bugs **********************
******************* 27.4.2020 ********************
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).
XML export from ESL was unified with XML export from CNF as follows:
empty tags are generated as follows: <VHL_ID/>.
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.
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  ^ Col1 the value was published into the whole structure - e.g. SV.Test).
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.
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.
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"".
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.
A crash of DbManager process due to calling SQL_BINDIN without previous SQL_PREPARE was fixed.
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.
If used after EXIST, EXVEC, EXSCN or EXGRP, invalid database entity has been incorrectly evaluated as existent.
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.
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.
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.
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.
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).
Fixed HI crash when Windows time format setting uses more than 12 characters.
The following error that occurred on Serial and Moxa IP Serial lines when setting Handhaking = Custom was fixed:
If DTR/DSR handshaking was selected, the DTR setting was dependent not only on the Invert setting but also on whether DTR=0 or DTR=1 (while these settings were disabled in the CNF).
If RTS/CTS handshaking was selected, the RTS setting depended not only on the Invert setting but also on whether RTS=0 or RTS=1 (while these settings were disabled in the CNF).
After correction, the appropriate setting is 1 (ON) or 0 (OFF) if the Invert option is checked.
In practice, these settings were used for older types of converters (eg RS232 / RS485), where the access to the bus was controlled by DTR or RTS signal.
******************* 19.5.2020 ********************
An error has been fixed in the IEC 62056-21:2002 Serial protocol, which caused the loss of values at the time of the transition from winter time to summer time (e.g 29.3.2020 at 2:00 am).
The error occurred if the electrometer also sent a winter/summer time flag (characters '0' or '1' at the beginning of the date).