Improvements and bug fixes V12.2.67.u2 (build 02)

for D2000 V12.2.67.u2 (build 02)

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

D2D-5733 SYSTEM
An expression ?[]:[] was considered invalid when combined with a string.
For example:
TEXT _SchemeName
_SchemeName := {_SchemeName = """"} ? [""""] : [""]""]

D2D-5715 CNF,KOM
The Omron FINS communication protocol was newly implemented in the D2000 KOM process.

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-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.

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-5693 CNF,KOM
In the D2000 system, a possibility to enter the addresses of stations and I/O tabs in hexadecimal format using the # character (e.g. #3f) has been implemented in the following protocols:
Zoznam dotknutých protokolov:
ABB Elektro,
Advantech ADAM 4000,
ALYA MMP,
AMiT ARION,
AMiT Atouch32 DB-Net,
Contal CR,
CSV Import,
Datalogger ESC8800,
Datalogger ESC8816,
Diamo-L KOS/SOS,
HOPF Mains Voltage Analysis Board 7515,
Hydrolab DATASONDE 4a TTY,
ID-Innovations RFID ASCII Protocol,
Incos/VUVT PMEL 04,
KMZ Lite Protocol,
KMZ Protocol,
MODBUS Circutor CVMk,
Orange GDEP,
Paufex DIRAS,
Paufex DIRAS-B,
Premex CALMEX II,
Remia E3,
Servomex XENTRA 4900,
Transcon DAP 128TC,
UNIP,
ZPA INMAT 64/65,

D2D-5836 CNF,KOM
Support for TCP/IP-TCP line was added to the L&G Toccata protocol

****************** Bugs *********************

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-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).

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.

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.

D2D-5847 ARC
An error in the archive that caused an interval recalculation malfunction (e.g., for the RECALC tell command) was fixed for a calculated archive that did not use other archives in the expression (i.e., a constant computation or a value derived from @EvalTime).
Possible workaround: artificial addition of source archive (e.g. change of expression ""Hour(@EvalTime)"" to ""Hour(@EvalTime) + H.Day - H.Day"").

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