for D2000 V12.2.65.u4 (build 04)
**************** Improvements ****************
***************** 11.5.2020 ******************
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)
D2D-5514 KOM
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.
D2D-5535 HI
Text mode for RFID readers was supported in the HI process. Mode selection is possible by setting the ""RFID parameters"" parameter string.
D2D-5566 ESL
ESL action LST_CREATE can now create list of all object with possible alarm state.
***************** 1.7.2020 ******************
D2D-5405 KOM
A new protocol - KNX - was supported. See online documentation for more info.
D2D-5270 System
Support for Kerberos authentication has been implemented in the D2000 Server on the Linux / Raspberry PI platform.
D2D-5614 KOM
A new parameter /KKVOE has been added to the KOM process. It will cause the values of the I/O tags not to be invalidated after a communication error.
D2D-5620 KOM
A newly implemented parameter /KDBC disables the cache for browsing values (Kom Disable Browser Cache) in selected protocols that support spontaneous sending of values without prior request or with group request (IEC101, IEC104, KNX, DNP3). By default, caching is enabled for these protocols, so spontaneously incoming values are stored in it. In configurations with many objects, the cache can take up a significant amount of memory, which this parameter can prevent.
D2D-5619 CNF, KOM
In the IEC870-5-101 (client, server, balanced mode) and IEC870-5-104 (client, server) protocols, the possibility of browsing in the address dialog of the I/O tag and station has been added.
D2D-5643 ARCSynchro
A new parameter /XADC has been added to the arcsynchro utility, which allows you to specify a condition for the ArchivDef table (a table with definitions of archive objects in the archive).
Example of use: when using arcsynchro to copy data from depository segments (e.g. from an Oracle database) to depository segments (e.g. PostgreSQL database) it is possible to specify /XADC ""TRZ_SEG=2"". Only objects that are in depository segment no. 2 will be synchronized. This can speed up data copying (the source depository segment is not queried for object data that is in other depository segments).
***************** 27.8.2020 ******************
D2D-5653 CNF, KOM
A new data type for I/O tags - CHARARR has been implemented in the Siemens SIMATIC S7 ISO on TCP protocol, which allows working with an array of CHARs as if it were a string (STRING).
BCD and LBCD data types have also been implemented, which enable work with 2-byte and 4-byte BCD coded numbers.
D2D-5683 CNF, KOM
In the Siemens SIMATIC S7 ISO on TCP protocol, the possibility of communication with redundant PLCs has been added. Several line parameters for secondary PLC configuration have been added.
***************** 7.12.2020 ******************
D2D-5733 SYSTEM
An expression ?[]:[] was considered invalid when combined with a string.
For example:
TEXT _SchemeName
_SchemeName := {_SchemeName = """"} ? [""""] : [""]""]
D2D-5788 EDA
Functional vector is new, special type of EDA vectors, that uses vector read parameters (interval and step) as parameters of vector calculation.
D2D-5783 EDA
VBA interface for EDA has been extended with function for calculation of selected statistic over vector values (EDA_StatVector) and with function calculating sum of vector values in group or scenario (EDA_SumGroupOrScenario).
D2D-5718 KOM
Support for communication with a device Siemens Microbox (model IPC427C) has been implemented in the ""Siemens SIMATIC S7 ISO on TCP"" protocol. The support is based on ignoring empty answers.
D2D-5801 KOM
Within the callback calling of GetPoint/GetFastPoint, the value of PointPar.ppPtVal (of KomUniVal type) was set according to the current value of the I/O tag. This can be used for slow protocols using reading in blocks (e.g. Modbus type) to detect if the Transient flag is set. If so, writing to the I/O tag is in progress and setting the value of the I/O tag due to reading should be avoided.
D2D-5825 KNL, CNF
Column filtering allows you to use extended syntax (for example: C [^ o] *).
D2D-5836 CNF,KOM
Support for TCP/IP-TCP line was added to the L&G Toccata protocol
D2D-5723 KNL, CNF,KOM
A new parameter ""Immediate Disconnect"" has been added to the Modbus Client protocol (TCP variant). It permits immediate closure of the TCP connection after reading the station, or after writing. The parameter makes sense on unreliable GPRS lines.
***************** 25.8.2021 ********************
D2D-6071 KOM
Support for function 23 (Read/Write Multiple registers) has been added in the Modbus Client protocol. This function can be used to write a value. The function has been tested on Lenze i550 frequency inverters.
D2D-6087 CNF
Removal of automatic switching to the Debug tab in the ELS editor. In some cases, automatic tab switching was not desirable.
D2D-6107 KOM
A new LNALTERPATH command has been implemented in the KOM process. It allows switching the communication between the primary and the backup device on lines of type ""SerialOverUDP Device Redundant"", ""SerialOverUDP Line Redundant"", and ""SerialOverUDP System&Line Redundant"". The command also allows querying of the currently used device.
************** 11.1.2022 ******************
D2D-6186 ARC
Several optimizations have been implemented in the D2000 Archive process in order to increase speed on Linux (using unixODBC) and partially Windows platforms. In addition to these optimizations, we recommend recompiling unixODBC (see D2000 documentation).
D2D-6191 KOM
The MQTT protocol has been extended with minor improvements. Last Will sending and Retain have been supported in the protocol parameters.
D2D-6193 KOM
In the Modbus Client protocol, the passive mode has been added. In this mode, due to the nature of the Modbus protocol, it is necessary to receive both requests and responses.
D2D-6251 CNF
Incorrect display of a text value in a tooltip in the ESL debugger. For example, the value ""&&&"" was displayed incorrectly.
Within the watch window, the value was displayed correctly.
D2D-6248 CNF, KOM
Support for the ""MOXA IP Serial Library"" line was added to the ""IEC 62056-21:2002 Serial"" protocol.
D2D-6153 KOM
On the lines of the categories ""SerialOverUDP Device Redundant"", ""SerialOverUDP Line Redundant"" and ""SerialOverUDP System&Line Redundant"", the option to enter the device address * or ALL has been added. Then incoming packets from all devices are processed, but writing is not supported. The feature can be used, for example, by the Generic User Protocol.
D2D-6165 KOM
In the Siemens SIMATIC S7 ISO on TCP protocol, the possibility of working with variables of the DATE type (2-byte number indicating the number of days since 1.1.1990) has been added.
D2D-6194 KOM
A new ""Bool Mask"" parameter has been added to the Modbus Client protocol. Allows you to specify the bitmask that is applied when assigning integer registers to the Di/Dout I/O tags, and allows only specific bits to be considered.
D2D-6209 KOM
In the MQTT protocol, the possibility of addressing a station (Topic) using a regular expression has been added. It is also possible to interpret the data (Payload) as a JSON string and address individual data items by the I/O tags.
D2D-6218 KOM
In Generic User Protocol, server mode on TCP/IP-TCP line was supported. In this mode, the D2000 KOM process is waiting on the defined port for a TCP client connection.
In addition, the ""Character Encoding"" parameter has been implemented, which allows you to set the text encoding when sending and receiving data.
D2D-6261 KOM
In the Ethernetl/IP protocol, destination structure support has been added when reading encapsulated PCCC messages (does not apply to elements in Input and Output files).
D2D-6200 ARC
The D2000 Archive process has added the ability to configure chained reads from derived statistical archives. If the archive being read has a small archiving depth and older data is required, the D2000 Archive can continue reading from the derived statistical archive. Since there may be several different statistical archives (and only some statistical functions have the nature of source data), the ChainedReadPrio parameter can be used to define their priorities, e.g. F_WGAVG,F_AVG,F_TIMESLICE,F_MAX,F_MIN.
D2D-6267 ARC
The %GetCurrentRow v function for structured computed archives has been supported in the D2000 Archiv process.
D2D-6205 ARC
Optimization of recurrent recalculations (RECALC) has been implemented in the D2000 Archive process. The optimization works if the isochronous cache is enabled and the recalculation interval is completely covered by the cache. The computed values are compared with the original cached data. If they are identical, no deletion or insertion of data is performed.
D2D-6268 ARC
In GETARCHARR, GETARCHCOL, GETARCHROW, GETARCHARR_TO_CNT functions, the behavior for resampling with period > 1 day has been fixed. For such a period, the time has been aligned to a multiple of the period since January 1, 1972. That has been changed - the start time of timeFromIdent_TmA is used directly.
D2D-6215 CNF, KOM
In addition to HDLC, other link-level protocols were supported within the DLMS/COSEM protocol: TCP/UDP Wrapper, Gateway protocol, and their combination.
D2D-6132 KOM
The encapsulation of the PCCC protocol into the Ethernet/IP protocol has been implemented. This will enable Ethernet/IP communication support with SLC 5/05 and PLC5E.
Reading of I/O tag values and partial writing was supported (see description of parameter ""PCCC Command Set""), working with I/O addresses is not functional.
****************** Bugs *********************
*************** 11.5.2020 *******************
D2D-5503 KOM
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.
D2D-5571 KOM
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).
*************** 19.5.2020 *******************
D2D-5566 ESL
ESL action LST_CREATE can now create list of all object with possible alarm state.
*************** 1.7.2020 ******************
D2D-5592 KOM
The behavior of the I/O tag with an active default value when switching redundancy has been fixed. The incorrect sending of the last telemetric value was fixed - while in the case of an I/O tag with a default value, it was necessary to send the current value, not the telemetric value.
D2D-5608 HI
Calling the% HI_GetPictureWindowState () function crashed the D2000 HI process.
D2D-5627 KOM
A buffer overflow bug was fixed in the Johnson Controls N2-Bus protocol . This error could lead to a KOM process crash if data longer than 1kB was received.
D2D-5644 ARC
The malfunction of the calculated archive object has been fixed. The malfunction (archive object stopped being calculated) occurred with the following sequence:
- an XML import of the archive object was performed (without changing the configuration, i.e. maintaining the modification time)
- the archive object was subsequently edited or an XML import was performed with a configuration change.
Such an archive object stopped being calculated until the archive was restarted.
D2D-5647 DBM
A startup parameter /NMI has been added to the DbManager process. This parameter causes a text NULL value read from the database to be interpreted as Invalid. The default behavior (Oracle compatible) is that a NULL value is interpreted as a valid string with a zero length.
*************** 27.8.2020 ******************
D2D-5655 KOM
A bug in the BACnet protocol was fixed. This bug could cause reading of values on a particular BACnet station to stop working.
The error manifested itself on UDP lines in a configuration with a larger number of stations and a higher communication load.
D2D-5656 HI
In the expression of EXPRESSION variable type no function could be used.
D2D-5679 KOM
A bug was fixed in the IEC-104 Server protocol on the Linux platform, which manifested itself in the fact that after switching KOM redundancy, the process still received one client (despite the fact that it was no longer supposed to listen on the defined TCP port).
D2D-5676 KOM
A crash of the KOM process in IEC-101 and IEC-104 protocols (client / server), which could occur on redundant lines, was fixed. The bug was present in binaries from 15.6.2020 and later and it was a consequence of the modification of D2D-5619 (implementation of browsing support).
D2D-5685 KOM
An error in the OPC protocol was fixed, which could lead to a crash of the KOM process at the start of browsing (depending on the specific OPC server).
***************** 7.12.2020 ******************
D2D-5728 ARC
The following error in the archive has been fixed: if the source for the statistical archive is another statistical or calculated archive with storing of the interval start time, then the calculation was not corrected after calculating the source data for a specific interval. During the first calculation, not all data may have been available yet, after the calculation of the source data, the correction recalculation did not take place. The workaround was to manually trigger the correction calculation with the RECALC tell command. The error only concerned continuously calculated archives.
D2D-5745 ARC
An error in the calculation of on-change calculated archives was fixed in the D2000 Archive. This error could have caused the value not to be calculated. The error occurred if one of the source archived objects was a self-referencing calculated archive.
D2D-5780 CFG SYNCHRO
The crash occurred when the dialog for comparing differences was displayed and by moving the mouse cursor from the object type display area to the object list display area.
D2D-5784 ARC
An error in the archive that affected periodic script-filled archives has been fixed. Their local cache was filled when inserting into archives and was never deleted.
If an isochronous cache was configured in the archive, its depth was gradually reduced and subsequently the memory consumed by the archive increased.
D2D-5786 KOM
A bug was fixed in the KOM process that caused it to crash if the I/O tags were deleted, while all stations with a specific protocol on the parent line were turned off from the start of the KOM process.
The error applies to protocols:
ABB SPA bus
BACnet
DNP3
ESC8816
IEC870-5-101
OPC UA Client
OPC XML Data Access 1.01 Client
Siemens SIMATIC S7 ISO on TCP
D2D-5790 KOM
The StOff station status is treated correctly now in several protocols. The current treatment may have caused the communication not to start after the transition from the StOff state:
DNP3
Generic User Protocol
Honeywell PCNM
KNX
OPC UA
D2D-5794 ARC
In the D2000 Archive process, the TrezorReadSinceCreate parameter has been added, which allows you to restrict reading from depositoriess to those depositories that are not older than ""Create Time"" - the time of creation of the respective archive object.
D2D-5814 ESL
Performing a GETARCHSTRUCT, GETARCHROW, or GETARCHCOL action did not free memory. Its size is directly proportional to the number of archive objects that are read.
D2D-5815 KOM
A bug was fixed in the KOM process that could cause the occurrence of values with ValType=NaN (but gValType is correct, e.g. Bo) if the I/O tags were configured with process alarms.
D2D-5731 KOM
In the D2000 KOM process, the memory leak that occurred when using text I/O tags in OEM protocols was fixed. A memory leak was inside the callback function PointNewValue.
D2D-5708 KOM
The KomAPI function WriteToLine caused the KOM process to crash if it was called with the parameter Len=0. Sending zero-length data on a TCP line should cause the TCP connection to close.
D2D-5795 KOM
A bug in the Modbus Server protocol was fixed. It could cause clients that connected to the Modbus Server to read incorrect register values after restarting the KOM process.
D2D-5756 KOM
A bug in Modbus Client / Server protocols was fixed. It caused an I/O tag to be ""forgotten"" after editing (or XML import) of another I/O tag that had the same address, differing only in the Modbus function number - e.g. I/O tag with address I3.0 caused malfunctioning of an I/O tag with address I4.0 (register on address 0 in the address spaces Holding register (3) and Input Registers(4)).
In the Modbus Server protocol, the ""forgotten"" I/O tag became Invalid when a new value was written to it.
Workaround: a restart of the KOM process after an I/O tag was edited.
D2D-5676 KOM
A crash of the KOM process in IEC-101 and IEC-104 protocols (client / server), which could occur on redundant lines, was fixed. The bug was present in binaries from 15.6.2020 and later and it was a consequence of the modification of D2D-5619 (implementation of browsing support).
D2D-5821 KOM
Several errors have been fixed in the KOM process that could cause the KOM process to crash in different states (eg when switching redundancy) if stations with different communication protocols were configured on the line.
The error concerned protocols:
BACnet
DNP3
Ethernet/IP
Fisher-Rosemount RS3 SCI
Honeywell Excel C-Bus
OPC Data Access 2.05 & 3.0
OPC Historical Data Access 1.20
OPC XML Data Access 1.01
RFE
SNMP
D2D-5826 KOM
A new ""Read Mode"" parameter has been added to the OPC UA protocol. It allows values to be read by polling (ReadRequest) instead of sending notifications by the OPC UA server. This method of reading values has a higher overhead and is only recommended in case of problems with the standard method of reading.
D2D-5831 HI,KNL
A bug was fixed in temporarily blocking system alarms. The alarm configuration with the Block parameter enabled was incorrectly saved during temporary blocking. After automatic unblocking (after the time limit has elapsed), this parameter remained set. As a result, the alarm could not be blocked again (it was necessary to edit the configuration of the Alarm object and unblock it).
D2D-5848 ARC
If the calculated archive used the %Arc_GetValue function over the periodic/statistics archive that was calculated on-read and the time used in the %Arc_GetValue function did not match the times for which the source archive was to be calculated, then the %Arc_GetValue function could return bad results.
The fix handles the time specified in the %Arc_GetValue function and adjusts it to the periodicity of the source statistical/calculated archive.
Possible workaround: alignment of time used for the %Arc_GetValue function to a required period.
***************** 25.8.2021 ********************
D2D-5936 ARC
In the D2000 Archive process, the ability to compress depositories on the PostgreSQL platform has been added.
D2D-6078 KOM
An Allen-Bradley CSP/PCC and Allen-Bradley DF1 protocol malfunction was fixed. This malfunction was created by modification D2D-5929 dated 2.3.2021.
D2D-6091 SYSTEM
Invalid EXPORT_CSV for the entire object and row of the structured variable. The action has been wrong in event.exe and in event.dll since 28.04.2021
D2D-6116 KOM
An addressing error has been fixed in the Modbus Client protocol. If there were I/O tags with address X (lower byte) and B (upper byte) on the same address, e.g. X3.27 and B3.27, only one of them worked.
Workaround: change the address from X to Ul and from B to Uu (e.g. Ul3.27 and Uu3.27).
Furthermore, a bug of writing to an I/O tag with address B has been fixed (the writing also affected the lower byte) and the writing to an I/O tag with address X has been implemented.
************** 11.1.2022 ******************
D2D-6123 KOM
In the BACnet protocol, a bug was fixed that could cause a periodic read or periodic subscribe request to be lost from the timeout queue. Consequently, this action (read/subscribe) stopped being performed periodically.
D2D-6269 ARC
A bug was fixed in the D2000 Archive process - filters were not working. The bug was introduced in D2D-6205 Recalculation Optimization (RECALC) - binaries from November 12, 2021 and newer.
D2D-6270 ARC
The calculations of the statistical functions ""Number of local maximums/minimums"" have been corrected. The implementation had a bug that caused a monotonically increasing/decreasing series of values to be evaluated as having many minimum/maximums.