Improvements a bug fixes for D2000 V12.0.61.u6 (build 06)
**************** Improvements ****************
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.
We did a speed optimization of opening display palettes.
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.
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.
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.
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
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.
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.
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)
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.
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.
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.
It wasn't possible to recognize normal and critical alarm. New attribute was added to allow this.
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.
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.
Object information had been extended by UUID of the object and time of the last modification of the object
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)
Adding an atribute for detecting a ""blocking alarm"" which defines if object is blocked.
******************** Bugs ***************************
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).
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.
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.
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-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.
The error occurred after switching redundancy so. Periodic calculated points have not been recalculated. The error occurred randomly.
D2D-5052 CFG SYNCHRO
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.
Fixed calls D2SD.deleteRow(int) and D2SD.deleteRows(int, int) - incorrectly deletes double count of rows.
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.
In process D2000 KOM, a bug that caused memory leaks when saving lines and stations was fixed.
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.
fixed D2SD.insertRows for an empty structure
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
In case of database connection failure is global cache automatically disabled to prevent cache inconsistency.