.

Release Notes: CODESYS Visualization 4.7.0.0

Key Issue Type Summary Resolution Note
VIS-4958 Bug

Visu, Alarms: Compile error when deactivation text is whitespace

Fixed
VIS-4830 Bug

Visu Slider write value is not clientspecific

Fixed
VIS-4817 Bug

Visu, Online: An item with the same key has already been added

Fixed
VIS-4786 Bug

Visu: HTML5 Controls disappear after resize

Fixed
VIS-4782 Bug

Security issues in System.Data.SQLite.Core versions before 1.0.119.0 containing sqlite 3.46.1

Fixed
VIS-4776 Bug

Textlist-OC leads to Exception

Won't Fix [[GENERAL]]
The problem cannot be fixed in the visualization Addon. It will be fixed with BASLIB-63.
VIS-4747 Improvement

Visu, Overlay: Add support for simple elements

Fixed
VIS-4740 Bug

Alarm Table: the 'AlarmCounter' variable is not counted if no visu is actively displayed

Won't Fix [[GENERAL]]
The alarm table is only called and updated if it is contained in the page currently displayed. This is as designed.

It is possible to query the number of active alarms via an AlarmManger API.
VIS-4724 Bug

Visu: Bugfix attempt for possible crash with Combobox

Fixed
VIS-4723 Bug

Trend, Display setting: Link (F1) to Onlinehelp does not work

Fixed
VIS-4721 Bug

Alarm Manager: Handling of Re-Alarm feature in UI

Fixed
VIS-4700 Bug

[HMI] Targetvisu crash during page change with overlay on

Fixed [[GENERAL]]
Duplicates CDS-89834
VIS-4691 Improvement

XY-Chart: improve Autoscale for Time formats

Fixed
VIS-4684 Bug

[HMI] VisuElems.Visu_Prg will not be added by default to VISU_TASK

Fixed
VIS-4663 Bug

Visu, Alarms: TO_BOOL operator is no longer working in Alarm Configuration Groups

Fixed
VIS-4661 Bug

Compiler: Memory corrupted error after simple change and generate code

Fixed [[GENERAL]]
A project state with this kind of error messages could not be reproduced with a new project. Such corrupted projects can be fixed by manually changing the affected textlist names. It is normally expected that descriptive "Ambigous use of name .." errors appear when there are duplicate textlist names in the same application.

To reduce the possibility of such errors appearing in the future, the Textlist will automatically be renamed when it is copied to or created in an application where Textlists with such name already exist.
VIS-4651 Epic

Responsive Design: Dynamic element positioning

Fixed
VIS-4631 Bug

Trend Recorder: Unhandled Exception if wrong sign is entered in textfield

Fixed
VIS-4624 Bug

Visu, Alarms, Templates: Exception when using base FB template alarms

Fixed
VIS-4622 Bug

Visu, Alarms, Templates: Alarms from base FBs don't contain latch variables

Duplicate
VIS-4607 Bug

Visu, ComboBox Array: Using Combobox Array leads to Crash from Visu

Fixed
VIS-4604 Bug

AlarmGroupTemplate: Fix errors with alarm observation type Change

Fixed
VIS-4603 Bug

Visu, InputAssistant: The libaries collector should check for existing elements

Fixed
VIS-4586 Bug

Alarms, Composer: Possible exception during generating project with alarms

Fixed
VIS-4585 Bug

Visu, Font: Support all common font weights

Fixed
VIS-4571 Bug

Visu, Alarm Group Template: Unexpected refactoring rename, it end with __fb

Fixed
VIS-4567 Epic

XY Chart Support of Date/Time data types

Fixed
VIS-4562 Improvement

Visu, AlarmGroupTemplate: define alarms to a type 2

Fixed
VIS-4558 Bug

Visu, Template Alarm, use same alarm group template with base alarm group template twice, the visualization crash

Duplicate
VIS-4551 Improvement

AlarmGroupInstances: Provide new method for alarmgroup to get all instance alarms belonging to this alarmgroup

Fixed
VIS-4549 Bug

IAlarm.InternalID does not reflect the combination of AlarmGroupId and AlarmID

Duplicate [[GENERAL]]
Duplicates VIS-4514
VIS-4542 Bug

Exception when closing dialog

Fixed [[GENERAL]]
The reason of the exception is a missing configuration in the inputconfiguration of a visual element. For 'OpenDialog' parameters are missing for the pointer variables of the dialog.
With this fix, a compiler error will be shown for such missing variables.

[[COMPATIBILITY_INFORMATION-EndUser]]
To prevent possible exceptions at runtime, a new compile error will be issued when such a misconfiguration is detected.
VIS-4539 Bug

Visu, Overlay: Tooltips do not disappear when you move to the top left out of the element

Fixed
VIS-4537 Bug

Targetvisu, Overlay: Possible crash of targetvisu when increasing paint buffer

Fixed
VIS-4534 Bug

Refactoring: Renaming a variable has no effect on the visualization.

Fixed
VIS-4530 Bug

Webvisu with/without "CFG_DebugHTML5=true", different content of pages

Fixed
VIS-4525 Bug

Visu: Possible exception when visu profile is cloned

Fixed
VIS-4520 Bug

Alarmmanagement: Check for valid project handle necessary in GetAllAlarmClassObjects

Fixed
VIS-4516 Bug

Visu, Alarmtable: Message not shown with automatic linebreaks and alarm class from library

Fixed
VIS-4515 Bug

Visu, Software Metrics, Table with multidimensional array, the tags count wrong

Fixed [[GENERAL]]
For all possible Data Array Input Values, the tag value for the table is counted now.
VIS-4514 Bug

Visu, Alarmtable: Exception when sorting history table while alarms are active

Fixed [[GENERAL]]
This problem occurred only when there was a former alarm storage containing alarms that are no longer part of the current project.

[[COMPATIBILITY_INFORMATION-EndUser]]
As part of the bugfix the mechanism how unknown alarms, i.e. one that are part of the alarm database on the PLC but not part of the currently running application, are handled. Formerly the alarm message of one of the existing alarms might have been displayed accidentally by the alarmtable. Now, in such a situation, no message at all is displayed anymore by an according unknown alarm.
VIS-4504 Bug

Visu: Build error after setting access rights in hotkey configuration

Fixed
VIS-4503 Bug

Placeholder with format definition, wrong displayed time with %t[hh/HH]

Fixed [[GENERAL]]
For the datatype TIME and LTIME the format placeholder hh works like the HH placeholder.
VIS-4473 Bug

AlarmBanner: Acknowledge can cause exception

Fixed
VIS-4454 Improvement

Visu: Review and improve Textlist Download of AlarmConfiguration

Fixed
VIS-4450 Bug

Wrong displayed data if using frames with multiple TextLists as input

Fixed
VIS-4448 Improvement

Visu, UserMgmt: Provide improved usermanagement dialog with more than 3 displayed users

Fixed
VIS-4439 Bug

Histogram, Datasource: Long instance paths not working

Fixed
VIS-4437 Bug

Visu, Overlay: Fix slow performance when using a background image

Fixed
VIS-4433 Bug

Visu, Polyline: Do not evaluate gradient condition on paint

Fixed
VIS-4423 Bug

ComboBox: If the Enum Names are used as ID and not the Number an Exception occurs

Fixed [[GENERAL]]
Fixed exception that was caused by an erroneous check in an internal method.

As for using enum variables as Textlist IDs in the Combobox: this is not supported. Only IDs in numerical format are valid. The online help will be extended to better describe the correct usage.
VIS-4418 Bug

Project compare fails with library

Fixed
VIS-4416 Bug

Visu, ElemRepository: Exception after wrong (non HTML5) controls are usable with active HTML5 option

Fixed
VIS-4411 Improvement

Visu: Investigate performance with many frames

Fixed [[GENERAL]]
An optimization was only possible for legacy mode.

For overlay mode, optimization would have been much more complex and also more critical. Since this project structure is rather rare, this risk was not taken.
VIS-4410 Bug

Visu, UserMgmt Dialog: Own dialog for "change password" does not close

Fixed
VIS-4409 Bug

Frame configuration - Textlist Enumeration ComboBox selection

Won't Fix [[GENERAL]]
When using a text list enumeration, the language of the programming system must also be added to the textlist, then it will also be displayed correctly in the combobox. If no suitable language is found, the value is displayed by default.
Otherwise, a normal enumeration can also be used.
VIS-4408 Bug

VISU_TASK Exception AccessViolation if a non initialized pointer is used as "Text variable"

Won't Fix [[GENERAL]]
The problem is an error within the project. The behavior is like intended. Variables that are used in the visualization must not be null pointers.
There are no NULL-checks in the visualization for text variables because this would cause too much extra code that would slow down the visualization.
VIS-4407 Bug

In a specific project, Some visus/elements do not adopted set visibility rules, set via the usermanagement

Fixed
VIS-4406 Improvement

Include reference to BaseLibraries addon in Visualization addon

Fixed [[GENERAL]]
The visualization Addon now requires the following additional addons to be installed:
- CODESYS Library Dependency Inspection
- CODESYS Base Libraries
VIS-4405 Bug

Project Compare: exception during compare customer project

Fixed
VIS-4399 Bug

Color selection is not applied via frame interface

Fixed
VIS-4397 Bug

Pie (in frame) - not looking good in "overlay" mode

Fixed [[GENERAL]]
Note: A better solution can be achieved if the "Only show circle line" option is used (line width e.g. 10).
VIS-4396 Bug

Visu: Missing case statement in GetElementInfo leads to a call of protIsArmed

Fixed
VIS-4376 Bug

Crash if scrolled in Visu User-Configuration-Diag Group scrollbar

Fixed
VIS-4373 Improvement

Visu: Setup version 4.7.0.0

Fixed
VIS-4370 Bug

Element from Library change position depending on Zoom

Duplicate [[GENERAL]]
Duplicates https://jira-intern.codesys.com/browse/VIS-3968
VIS-4369 Bug

Customized user configuration dialog not working with runtime user management

Fixed
VIS-4357 Bug

Optimization of the positioning function via mouse for all visual elements

Fixed
VIS-4350 Bug

Visu: Error "Index was outside the array area" is only shown online, but cannot be displayed locally

Fixed [[GENERAL]]
The following error message is now displayed:
An exception occurred on this element. Please check the element properties. Exception message: Index was outside the bounds of the array.
A double-click on the error message opens the visualization and selects the element.
VIS-4349 Bug

Visu, Editor: Visu editor is very slow during debugging

Fixed
VIS-4250 Bug

Visu, AlarmTable: AlarmStorageLocalBuffer is corrupted after clear historie

Fixed
VIS-4243 Bug

Legacy: Invisible ActiveX element still using "click" input

Fixed
VIS-4241 Bug

Using a visu from an library moved to a container lib is not working

Won't Fix [[GENERAL]]
As the support of all container-libraries use cases needs more changes / efforts / risk analyse as would be possible by a bugfix, this issue will be implemented by the improvement VIS-4609.
VIS-4236 Bug

Alarmtable change content during scrolling

Fixed
VIS-4225 Bug

Visu: DialogManagerListener cannot be registered with VisuInit

Fixed
VIS-4216 Bug

Visu, Alarms: Activating alarm from WaitingForConfirm state creates a new storage entry

Fixed
VIS-4199 Improvement

Visu: The date/time format should be localisable (Trend, Alarmtable+Banner, DateTimePicker)

Fixed [[GENERAL]]
For internationalize the Date/ Time Format, use a textlist instead and specify to each language the own Date/ Time Format.
VIS-4184 Bug

Webvisu with Overlay: images are reloaded frequently

Won't Fix [[GENERAL]]
This issue will not be fixed as the behavior is as intended and as expected.

In Legacy mode images are always drawn to a canvas which allows a dedicated caching by the webvisualization.
In Overlay mode instead, images are intentionally drawn as HTML5 Image elements which e.g. allows the usage of animated GIFs etc. To achieve this overlay behaviour it is necessary to assign the src-property of the image element which usually triggers a load of the image by the browser using the browser's caching mechanism instead.

A detailed look at the network recording in Overlay mode showed that this assignment does not trigger a real reload of the image from the webserver (status code 200, image data transferred) but at most a cache validation (status code 304, no image data transferred). Therefore, the seen behavior is not a bug.
VIS-4181 Improvement

Alarm Group instances: Bad performance on online change

Fixed
VIS-4175 Bug

Visu, KeyboardHandling: Selection rectangle not visible after selecting Combobox

Fixed
VIS-4172 Bug

Alarm: Latch variable in alarm configuration adopts obsolete value if Multiple/consecutive error messages are not acknowledged correctly

Fixed
VIS-4166 Improvement

Alarms: Possibility to register using global init

Fixed [[GENERAL]]
There is a new interface AlarmManager.IAlarmsCallOnInitialize.
A FB can implement it to get notified when the alarm initialization is done and can do other initialization steps.

That FB needs two functions: FB_Init and Init.
In FB_Init the FB must register to a global initialization instance with the following call: AlarmManager.AlarmGlobals.g_InitAlarmsOnStartup.Register(THIS^);
FB_Init must be called within a global init slot greater than 30000.

The function Init is called after intialization of the internal alarm data and before the alarms evaluation.

The FB needs to be decorated with the attribute 'no_online_change' to prevent an online change if something in the FB changes. Because otherwise changes in the Init-function wouldn't come into effect.
VIS-4162 Improvement

Webvisu, login: improve dialog when the option "semi-transparant drawing" is disabled

Fixed
VIS-4138 Bug

Two RadioButton groups influence each other when keyboard handling is activated

Fixed
VIS-4136 Improvement

Visu, Frame configuration: Add command „..add all standard properties" to the visu menu and extend online help

Fixed
VIS-4135 Bug

Multiline Value Change at Alarmgroup possible

Fixed
VIS-4134 Bug

Unhandeld exception during changing Alarmgroup Observationtype

Fixed
VIS-4108 Improvement

Improve performance on open project

Fixed
VIS-4106 Bug

Imagepool, missing pictures with option "Download only used images"

Won't Fix [[GENERAL]]
Won't Fix as the issue here is a false configuration. The problem can be solved if the "Download only used images" option of the affected imagepools is unchecked. Reason is there are image ids from variables configured in the library which cannot be known before a download.

The documentation of the download options should be improved: VSPRT-178.
VIS-4082 Bug

Visu, Property View: Blinking node is displayed in table columns

Fixed
VIS-4077 Improvement

Scale Option for Trend Data Range Picker

Fixed [[GENERAL]]
The touchsensitive range of the knob is expanded.
VIS-4076 Bug

Assertion Failed, Directory.Exists(stFolder2): opening a specific Project archive under x64 IDE leads to an error

Won't Fix [[GENERAL]]
Won't fix, as this bug is already part of epic VIS-2142.
Workaround: uninstall older versions of the HTML5 controls before extracting the project archive.
VIS-4074 Improvement

Alarms, AlarmClasses: State diagram should be displayed all the time

Fixed
VIS-4054 Improvement

Alarming: Give FB instances part of AlarmGroupTemplate access to alarm specific data

Fixed [[GENERAL]]
The interface IAlarmHandler7 in AlarmManager library provides two new functions to access alarm information from alarm template instances: "GetInstanceAlarm" and "GetInstanceAlarmByType". The function "GetInstanceAlarmByName" should be used if one Function Block is being used by several Alarm Group Templates. Otherwise the correct alarm instance cannot be obtained.

The interface IAlarm8 provides a new function to acknowledge an alarm: "SetAcknowledge".
Further details of the related alarm can be obtained by using the existing IAlarm-Interfaces.
VIS-4053 Bug

Specific CDS Project, with a new Visu Version leads to unclear described problems without the exact error position

Cannot Reproduce [[GENERAL]]
This issue could not be reproduced with Codesys Sp19 or 20 with Visualization 4.7.
VIS-4045 Bug

V2.3 Import: NullReference Exception during import of project with Visualization

Fixed
VIS-4030 Bug

Alarm visu elements missing Absolute movement and State variables

Fixed
VIS-4011 Improvement

Visu, VisuUserMgmtDialog: list of available users is limited

Fixed
VIS-4007 Bug

Visu, Licensing: tag are counted if the VisuManager is exclude from build

Fixed
VIS-3994 Bug

Sporadic creation of AlarmGroups with the same InternalID

Fixed [[GENERAL]]
Duplicate IDs of alarm groups or alarm classes can be updated by clicking on the new error message.
VIS-3983 Bug

Table use a struct with ENUM show value only if use template is activated

Fixed
VIS-3982 Bug

Tooltip not shown at Frame with Inputconfig

Fixed [[GENERAL]]
Inputs are only forwarded from the frame with input configuration to the referenced visualization when the referenced visualization uses the "Frame configuration" and the standard nodes "Input configuration" and "Forward inputs" are included.
VIS-3974 Improvement

Alarmmanagement: Possibility to call "Create or update alarm instances" from AutomationPlatform by public interface

Fixed [[GENERAL]]
Use the Interface IAlarmInstanceService.
Call CreateOrUpdateAlarmInstance(int projectHandle, Guid objectGuid).
Note that projectHandle and ObjectGuid is the IAlarmConfigurationObject.
VIS-3968 Bug

Visu Edit: When scrolling the embedded frame is moved more than the visualization

Fixed
VIS-3966 Improvement

HTML5 Controls: Visu Element Repository command should be available with open project

Fixed [[GENERAL]]
Minimum required version is CDS SP20
VIS-3961 Improvement

AlarmGroupTemplate: It must be possible to define alarms to a type which comes from a library.

Fixed
VIS-3954 Bug

Object Type Visualization, Properties Dialog: Link to onlinehelp does not show the tab for "Visualization" in the list

Fixed
VIS-3950 Improvement

HTML5ControlEditor, StylesEditor: Fix AP-Profile risks

Fixed [[COMPATIBILITY_INFORMATION]]
It is hardly possible for the AddOn CODESYS Visualization to provide a small startup profile that is compatible with future modifications of CODESYS Essentials.
Therefore, the HTML5ControlEditor and the VisualStylesEditor now typically use the full startup profile (as used by CODESYS too).
If the extension or profile modification mechanisms from CDS-74880 / CDS-57136 ("SpecificStartupAssembly") are used then it's recommended to also user a full startup profile. Otherwise explicit functional testing has to be done to assure the functionality of these tools.
VIS-3931 Bug

VISU_USEPROPERTYINFO, Property handling error: inconsistent behavior when project options in the visu is used

Won't Fix [[GENERAL]]
This issue cannot be fixed as there is not sufficient information about the origin of the attached projects.
The error handling of the projects as these are is correct as an error describing the mismatch of compiler defines and option about property handling is shown.

As such inconsistent projects cannot be created using normal addition of visualizations and visualization managers, there's the assumption that there is a problem or restriction in the customer's generation mechanism that created the problematic projects.
VIS-3930 Bug

Visu, Input Configuration: Custom dialogs do not work with RTS User Managenment

Duplicate
VIS-3929 Improvement

Visu, Frame Interface: It must be possible to define the toolbox category and an svg image for the toolbox

Fixed [[GENERAL]]
The category of a visualization from the project or library is now configurable in the Visualization Properties (tab "Visualization" under "Toolbox Display"). Custom categories with localization can be created by textlist and displayed images selected from the image pool entries.
VIS-3924 Bug

Trend: Paint bug in customer project

Won't Fix [[GENERAL]]
The trend shows the data that are in the database. At the time in question, the database contains a 0. The data is best displayed in 1h resolution.

If the data is incorrect, it would have to be investigated why incorrect data is being written to the DB.
VIS-3923 Improvement

Alarms: Should support qualified-only AlarmManager Library

Fixed :
VIS-3897 Bug

Visu, Licensing Metrics, project with multiple frames tags count wrong

Fixed [[GENERAL]]
The count of tags by frame visualization is wrong if the referenced Frame Interface has referenced inputs where the name start with the same letters i.e.:

FRAME_INTERFACE
VAR_IN_OUT
iVar : INT;
iVar2: INT;
END_VAR

This change may affect the total count of tags.
VIS-3866 Bug

VIS: On update of the visualization profile a value in the VisualObject is changed, which shouldn't

Won't Fix [[GENERAL]]
Performance problem for project comparison already resolved VIS-4029.
No other known problems.
Project comparsion works according to steps to repeat.
VIS-3865 Improvement

Alarms in Library: New API for raising events on an instance

Fixed [[GENERAL]]
There are two new functions of interface IAlarmHandler7: "RaiseEventAlarmInstance" and "RaiseEventAlarmInstanceByName".
With these it is possible to raise events of alarm template instances.
VIS-3856 Improvement

Visu, FOSS: Add referenced libraries of Webvisu

Fixed
VIS-3854 Bug

Text field: Incorrect entries cannot be canceled or aborted when done in false datatype

Fixed
VIS-3845 Bug

Alarm Manager: Compile errors when using Portuguese language

Fixed
VIS-3841 Bug

Properties: the "button for the input wizard" [...] is sometimes hidden behind a scroll bar

Cannot Reproduce [[GENERAL]]
Seen but not really reproducible with SP18.
Not reproducible in SP19 and SP20.
VIS-3837 Bug

Visu, Textlists: Might be registered twice in the runtime

Fixed
VIS-3807 Bug

Visu, IntegratedVisu, Trace: False cursor position displayed in tooltip

Fixed
VIS-3792 Epic

Visu, WebVisu: The language in the visualization should be clientspecific

Fixed [[GENERAL]]
As of VIS 4.7.0.0 and Runtime Version 3.5 SP20, visualization clients can have different languages. If a text is only retrieved via TextListUtils using GetText, it is no longer clear in which language the text is delivered. In this case, the new GetLanguageText function from TextListUtils should be used, which will be available with version VSPRT 4.5.0.0. This function can be used to obtain the text in the desired language. The comment on the function describes how the function can be used.

Calling DynamicTextChangeLanguage no longer causes this language change to affect all visualization clients.
VIS-3776 Improvement

Visu: Updating all visualizations takes a lot of time with many elements

Fixed
VIS-3656 Improvement

XYChart: 'curve settings' should support TIME data types

Fixed
VIS-3648 Bug

Git: Compare of visualization displayes too many changes

Fixed
VIS-3612 Improvement

Command: Navigate to URL (WebVisu): it should be possible to enter a URL with 255 charakters (STRING(255))

Fixed [[GENERAL]]
The commands in the "Execute Command" input action can now be used with string parameters with a maximum length of 2048. The parameters can be inserted directly or with a variable.
The "Execute Command" action is available in the Input Configuration dialog of a visualization element.
VIS-3597 Bug

Visu Elements change size when Screen-scaling 150%

Fixed
VIS-3480 Improvement

Alarms in Library: Display instance alarms in alarm group

Fixed
VIS-3456 Bug

Visu, Overlay, VisuSpecialControls: Animation scaling does not work

Fixed
VIS-3317 Improvement

ComboBox, VisuStyle: There should be an entry to set the background color of the selected entry

Cannot Reproduce [[GENERAL]]
In the visualization styles already the following entries exist:
Element-ComboBoxInteger-Selection-Color
Element-ComboArray-Selection-Color
VIS-3316 Epic

Alarmmanagement: Allow online change on change of alarm configuration

Fixed
VIS-2974 Improvement

Visu: Possibility to adjust element positions dynamically to the client size

Fixed
VIS-2880 Epic

Visu: Common operations on visualizations should be scriptable - step 1

Fixed
VIS-2018 Bug

Visu: When you scale within the visu editor, the scale of the slider element is not shown correctly

Fixed
VIS-1124 Improvement

Trend: IEC Access to Trend "Advanced Trend Settings" - "Measured in every n-th cycle" variable

Fixed
VIS-751 Improvement

Visu, Styles: Editor profile should be generated dynamically

Duplicate