Applies to:
PcVue 7 to PcVue 15
Summary:
This article describes how to resolve compatibility issues with the Microsoft® ActiveX web browser by configuring the Windows Registry to use a more recent browser engine.
Details:

Context

On versions of PcVue prior to 16, there was no native browser (Web Browser Control). Instead, it was possible to use a browser via ActiveX.

However, when using this browser, error messages may appear when loading web pages, indicating compatibility issues. By default, ActiveX uses the Internet Explorer 7 web engine, which is obsolete and does not support modern website features.

For example, you might encounter the message: ‘Webvisu not supported due to missing browser feature HTML5-Canvas’.

Solution

To resolve this issue, you can force ActiveX to use the Internet Explorer 11 web engine, which is more recent. Here is how to proceed:

Note: Ensure you have administrator rights on your machine to make these changes.

1. Open the Registry Editor: Type regedit in the Windows search bar and press Enter

2. In the Registry Editor, navigate to the following path: HKEY_CURRENT_USER\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION

3. Right-click in the right-hand pane, select New, then DWORD (32-bit) Value.

4. Name it sv32.exe, double-click on it, and assign it the value 11001 (select Decimal).
The value 11001 (in decimal) on these registry keys forces ActiveX to use the IE11 engine instead of the obsolete IE7 engine.

5. Now, navigate to this second key: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION

6. Reproduce exactly the same steps to create a DWORD sv32.exe with the value 11001.

You can activate the silent mode on the properties of the Microsoft® ActiveX control browser to avoid error messages :


Conclusion

Restart your PcVue project. By following these steps, you should be able to resolve the compatibility issues with the Microsoft® ActiveX browser.

Note

If you set the DWORD registry key to 0, it will select the latest Microsoft® browser available on the PC.

Applies to:
PcVue 16.0 onwards
Summary:
This article explains a change in the behavior of the “Bit Send” animation when configured in “Pulse” mode with a duration set to 0 seconds. This change primarily affects projects migrated from PcVue 15 (or earlier) to PcVue 16 or higher.
Details:

Context

When migrating a project from PcVue 15 to 16, you may encounter issues where commands or switches using the “Bit Send” animation no longer work as expected. This occurs specifically under the following configuration:

  • Animation Type: Bit send
  • Mode: Pulse checked
  • Duration: 0 seconds
Pasted image 20251211143233

Analysis & Root Cause

The interpretation of a “0-second pulse” has been updated in PcVue 16 to improve logical consistency.

  • In PcVue 15: A 0-second pulse was treated as a Direct Activation, functioning like a standard switch and maintaining the value.
  • In PcVue 16: A 0-second pulse is now interpreted literally as an instantaneous pulse. As a result, the value may not be held long enough to trigger the expected state change in the connected device or variable.

Solution

Choose the appropriate solution based on the desired behavior for your equipment:

Case 1: Direct state change

If the control was intended to toggle a state (e.g., turn a valve ON/OFF) and maintain it, the “Pulse” setting is no longer suitable.

  1. Open the symbol or mimic containing the control.
  2. Open the properties of the Bit Send animation.
  3. Uncheck the “Pulse” (Impulsionnel) option.
  4. Save the symbol.

This restores the behavior observed in V15, where the switch toggles the state.

Case 2: Momentary signal (True Pulse)

If the PLC or device actually requires a rising edge or a temporary signal:

  1. Open the properties of the “Bit Send” animation.
  2. Keep “Pulse” checked.
  3. Set the duration to a valid time (e.g., 1 second or more).

Note: The value will automatically return to its initial state (0) after the specified duration.

Applies to:
PcVue 12.0.31, PcVue 15.2.12, PcVue 16.3.1, PcVue 16.3.2
Summary:
This is a known issue discovered thanks to SPR #76112 in version 16.3.2

Fix planned in 12.0.32, 15.2.13 and 16.3.3

Details:

If the security fix described in security bulletin SB2025-4 is enabled, networking packets can be falsely detected as malformed, causing a server station to force a disconnection. This issue leads to a situation where a client station may not be able to stay connected to a server station in a stable way.
Recommendation:

The issue does not manifest itself if the recent hardened connection mechanism is disabled. To disable this mechanism, the security alteration setting named ‘Networking.Allow security altering configuration options’ must be checked and the property ‘Allow stations with altered security’ on Nodes must be set to Yes.

Applies to:
PcVue 16.3.0, PcVue 16.3.1, PcVue 16.3.2
Summary:
This is a known issue discovered thanks to SPR #76089 and 75445 in version 16.3.2

Fix planned in 16.3.3

Details:

Since 16.3.0, BACnet COV re-subscriptions are not handled correctly, leading to a situation where BACnet variables are no longer monitored nor refreshed. Because the issue is related to re-subscription, it becomes obvious only after some time, once a re-subscription is necessary (typically 1 hour).
Recommendation:

A workaround exists. The issue does not exist in the legacy COV implementation. While it is no longer the default, it can be re-activated by adding the following key in the Etc\experimental.ini file:

[BACnetStackCov]

Enabled=1

Applies to:
PcVue 16.3.0, PcVue 16.3.1, PcVue 16.3.2
Summary:
This is a known issue discovered thanks to SPR #76087 in version 16.3.2

Fix planned in 16.3.3

Details:

Since 16.3.0, a deadlock can occur when importing variables other than Internal. The issue manifests itself with a freeze during Application Architect generation or synchronization, while using a Smart Generator or the Xml Generic Import directly with the XmlImporter.exe command line. A forced exit of PcVue occurs after the 10-minute watchdog timeout.
Recommendation:

Product users who cannot wait for the fix should roll-back to 16.2.5.

Applies to:
PcVue 15.1 onwards
Summary:
PcVue 15 introduces the possibility to create Sql variables based on Sql queries. Version 15.1 introduces the ability to manually trigger these queries by manually entering parameter values. This article proposes a use case of these mechanisms. The repeat query option triggers automatically a query when the number of records received is greater than or equal to a constant value, instead of waiting for the configured trigger. Ex: Data avalanche or restart of PcVue after a downtime.
Details:

We have a query execution defined to be repeated every 10 seconds and with a maximum received row count equal to 100:

Then in the query itself, we add conditions according our execution plan. We want to retrieve the last 100 values since the last retrieved value:

images kbase KB1105 Query.png
images kbase KB1105 Query.png

About the query:

SELECT TOP (100) * FROM [TrendTable1]

WHERE   
([Chrono]> ?Param01)
OR
([Chrono]=?Param01 AND [Name]>’?Param02‘)
OR
([Chrono]=?Param01 AND [Name]=’?Param02‘ AND [Value]>?Param03)
OR
([Chrono]=?Param01 AND [Name]=’?Param02‘ AND [Value]=?Param03 AND [Quality]>?Param04)

ORDER BY [Chrono] ASC, [Name] ASC, [Value] ASC, [Quality] ASC

TrendTable1: Name of the table
Chrono: Timestamp of the variable in the table
Name: Name of the variable in the database
Value: Value of the variable in the database
Quality: Quality of the variable in the database
Order: You need to sort (ASC) the result in order to retrieve the data chronologically

In the WHERE condition, we use dynamic parameters and we store them in PcVue Sql variables:

Param01Param02Param03Param04
Last ChronoLast NameLast ValueLast Quality
SQL.Query01.LastChronoSQL.Query01.LastNameSQL.Query01.LastValueSQL.Query01.LastQuality

 Creation of these variables:

1- Param01 corresponds to the chrono, so we need to create a text variable

images kbase KB1105 Last chrono data selection.png
images kbase KB1105 Last chrono data selection.png

In Row selection: Select the last Row:

images kbase KB1105 Last chrono row selection.png
images kbase KB1105 Last chrono row selection.png

 In Mapping: Select FieldValue(“Chrono”) for Value

images kbase KB1105 Last chrono mapping.png
images kbase KB1105 Last chrono mapping.png

In parameters: Select =Value for ?Param01

images kbase KB1105 Last chrono parameters.png
images kbase KB1105 Last chrono parameters.png

In advanced tab of the variable, Check Save

images kbase KB1105 Last chrono advanced.png
images kbase KB1105 Last chrono advanced.png

2- Param02 corresponds to the Name, we also need to create a text variable similar to the previous one.
-Map the variable:
– In Row selection: Select the last Row
– In Mapping: Select FieldValue(“Name”) for Value In parameters: Select =Value for ?Param02
– Advanced Tab : Check Save

3- Param03 corresponds to the Value, we need to create a register variable.
– Map the variable:
– In Row selection: Select the last Row
– In Mapping: Select FieldValue(“Value”) for Value In parameters: Select =Value for ?Param03
– Advanced Tab : Check Save

4- Param04 corresponds to the Quality, we also need to create a register variable.
– Map the variable:
– In Row selection: Select the last Row.
– In Mapping: Select FieldValue(“Quality”) for Value In parameters: Select =Value for Param04
– Advanced Tab : Check Save

    The attached sample project shows an example of using SQL queries attached to SQL connections defined in PcVue. In particular, it shows a possibility to repeat the execution of these queries automatically under certain conditions.

    First of all, you need to enter the correct login and password for the SQL connection declared in the general part of the Application Explorer:

    images kbase KB1105 SqlConnection credentials.png
    images kbase KB1105 SqlConnection credentials.png

    Check that the SV DbConnect service has been started:

    images kbase KB1105 SvDbConnect service.png
    images kbase KB1105 SvDbConnect service.png

    The query will be launched every 10 seconds. It will retrieve all the information from the TRENDTABLE1 table by packets of 100 rows, starting from the last information retrieved previously.

    After the development of such a query, it is mandatory to run it at least once by manually entering the parameters. For instance if we want to get all data:

    images kbase KB1105 Trigger query with parameters.png
    images kbase KB1105 Trigger query with parameters.png

    Warning: if the database size is important you should not use 0 for the field ?Param01 (Chrono) but an acceptable value instead.

    Then, since we save the value of the internal variables that are used both to define the parameters of the query and to store their new value after each execution, the system works continuously.

    If we look at the trend curve, we can see that the variable SQL.Query01.F1R1_TEMP only changes value every 10 seconds, at the rate of the SQL query. But in fact it changes value several times and all these changes are recorded with the timestamp coming from the TRENDTABLE1 table. So when we press the refresh button, we see a nice smooth ramp instead of stairs in real time.

    images kbase KB1105 Sample project.png
    images kbase KB1105 Sample project.png

    In order to record all the changes of values that can exist since the last execution of the query, we should not use a filtering period while we configure the trend for SQL.Query01.F1R1_TEMP variable, as explained in the Sql Variables and Data Archiving article.

    Sample project:

    RepeatSqlQuery.zip

    Applies to:
    All PcVue Versions
    Summary:
    An error dialog appears after selecting the EDE file. It explains the EDE file is not compatible, but the reasons of this error could be more various.
    Details:

    When using the Smart Genrator BACnet, sometimes, after selecting the EDE file, the following dialog appears :

    Error

    The first reason explained is about the csv-delimiter used in the EDE file.
    In this case, you just have to change this parameter in the advanced options: 
    Advanced

     Also, the problem could come from the contained of the EDE file :

    • According to KB 1101, if the device-object type is not present in the EDE file, PcVue won’t be able to create a device and associate objects to it.
    • As an EDE file is mainly provided by a manufacturer software, the format and structure of column could be different as expected, for example :
      • The column title “Supports Cov” have to be written without dash between “Supports” and “Cov”.
      • Extra columns could be presents but are not expected such as “schedule-type”,”schedule-state-text-reference” or “schedule-unit-code”. These columns are not defined in the EDE specification.
      • Some mistakes (a title column is missing or not well written)    

     N.B : The v2.2 (released in 2007) and v2.3 (released in 2017) layout are supported.

    Attached to this article, you will find a template of an EDE file provided by the BIG-E.U which can be perfectly imported in PcVue.
    You can us it and compare it to your EDE file.

    Applies to:
    PcVue 16.0 onwards
    Summary:
    This article describes how to use PcVue SOAP interface and PcVue REST API

    PcVue provides the ability to access data from the running project via Web Services technology.
    All the provided functions and services are grouped together in a development kit, called Web Services Toolkit.


    Web Services Toolkit allows third-party applications to exchange data with the supervisor. It is a server API (Application Programming Interface) that provides following accesses:

    • Authentication/session management
    • Realtime data access
    • Real time alarm access
    • Historical data access: logged events and trends
    • Graphical data: mimics and symbols

    Web Services Toolkit is available for several technologies:

    • SOAP/XML since SV version 8.00
    • REST since SV version 12.0

    Current article provides the developer manual for both technologies:

    PcVue SOAP/XML APIWST_DeveloperManual.pdf
    PcVue RESTful APIWST_REST DeveloperManual_1_0.pdf

    Applies to:
    PcVue 16 onwards
    Summary:
    This article will help you to communicate PcVue with the PostgreSQL database
    Details:

    PostgreSQL is “the world’s most advanced open-source relational database”. It’s made by PostgreSQL Global Development Group.

    Unfortunately, PostgreSQL like some open source projects such as  Maria DB  does not offer a ready to use ADO.NET provider.

    Once the binaries are obtained it is possible to install a third party provider with the tool : “ProviderInstaller.exe”.

    To be detected by PcVue, each ADO.NET provider must be installed in the Global Assembly Cache (GAC) of the .NET framework and referenced in the machine.config file. The tool “ProviderInstaller.exe” is there to facilitate this task.

    — How to install PostgreSQL ADO.NET Provider —

    1. Download Attachment “Npgsql 8.0.7 install.zip”

    2. Extract “Npgsql 8.0.7 install.zip” to “Npgsql 8.0.7 install”

    3. Open CMD prompt as Administrator

    4. Change directory to be in “Npgsql 8.0.7 install” directory

    cd “C:\Users\Dev\Desktop\Npgsql 8.0.7 install”

    5. Run following command:

    ProviderInstaller.exe /install

    CMD Prompt

    6. Restart your computer and then PcVue

    — How to configure a PostgreSQL connection in PcVue —

    1. At PcVue side, with Application Explorer, navigate to General > Data connections

    2. Add a new SQL Connection as below

    POSTGRE SQL CONNECTIONs
    POSTGRE SQL CONNECTIONss

    The connection string should be as below :

    Host=localhost;Port=5432;Database=postgres;Username=postgres;Password=******************************

    Fill these informations in according to your database connection informations.

    Like that you can get a successful connect to your postgres database server by clicking on test connection button.  

    — Some usuals Sql queries —

    .Create a table

    CREATE TABLE MyTable (col1 INT)

    POSTGRE SQL READ QUERY

    . Insert a value

    INSERT INTO MyTable (col1) VALUES (1)

    . Display table content

    SELECT * FROM public.mytable 

    Attached fileDescription
    Npgsql 8.0.7 install.zipNpgsql 8.0.7 install

    Applies to:
    PcVue 12 onwards
    Summary:
    The goal of this article is to show how to display milliseconds in timestamp in an export file
    Details:

    By default, the exported file does not display sample timestamp with milliseconds, even though export sampling is done in milliseconds.

    To display milliseconds, you generally need to change the date format of the language configured in Data Export.

    The default time format is: HH :mm :ss (even if nothing is selected).

    You therefore need to modify the time format of the language configured for export as follows:

    HH :mm :ss .fff

    In this example, the language is set to configuration 1:

    TimeFormat setting
    TimeFormat setting
    Export setting
    Export setting

    Useful links:

    https://www.pcvue.com/ProductHelp/PcVue/fr/Content/AE/Project/Languages_settings.php

    https://www.pcvue.com/ProductHelp/PcVue/fr/Content/AE/DataExport/Advanced.php

    Applies to:

     

    PcVue 16 onwards


    Summary:

     

    This article contains attached files at the end. This provider has been developed for the IoT offering to position PcVue as a serious solution for aggregating IoT data.The other providers launched at the same time were Live Object, Sigfox and The Things Network.

    Interact with devices managed by Netmore Platform.


    Status:

     

    This provider has the status: Release candidate


    Details:

     

    Download the latest version of the provider proposed in the table at the end of this article and unzip it to execute the msi file.

    Follow the instruction given in the ADO.Net Providers installation procedure article to install this provider.

    To declare a connection into PcVue, goto General -> Data connections -> Add a SQL connection and select the Data source Built-in providers, then you can choose .NET Framework Data Provider for Netmore Data provider:

    Netmore Provider declaration part 1

    Netmore Provider declaration part 1

     

    Netmore Provider declaration part 2

    Netmore Provider declaration part 2

    Few sample queries:

    SELECT * FROM [get_net/sensors] MAXDEPTH(0)

    SELECT * FROM [get_ net/sensors/70B3D5E820002169/values] MAXDEPTH(0)

    Files attached consist in the:

    Attached file Description
    sv-adonet-provider_Netmore_1.0.667.zip Version 1.0.667 of Netmore provider
      The documentation
      The Release Notes

       

    Applies to:
    PcVue 16.2 onwards
    Summary:
    To prevent PcVue from crashing when opening a 3D mimic if the required DLL is missing, a function can be used to check for the presence of the file. This check allows access to the mimic to be controlled via a status variable. In next version PcVue should no more crash if this dll is missing.
    Details:

    Issue

    PcVue may crash when opening a 3D mimic if a required DLL is missing at initialization.

    Cause

    The absence of the DLL at mimic startup causes a critical error, as the file is required for certain 3D functionalities.

    Solution

    To avoid this issue, the FSTAT instruction can be used in a PcVue program to check for the presence of the DLL during initialization (in the initialization program).

    Steps to follow:

    • Create a verification function in a PcVue program:
      • Use the FSTAT instruction to test for the presence of the DLL.
      • FSTAT returns 0 if the file is missing, and 1 if it is present (as it provides the file size and last modification date).
    • Control a bit variable:
      • If the DLL is present → the variable is set to 1.
      • If the DLL is missing → the variable is set to 0.
    image
    image

    sub verif()
    DIM res as integer;
    DIM bufh as LONG; ‘buffer handle
    CONST ALLOC=22; ’22 is the minimum required
    Dim str_path as str;
    Dim name as str;
    Dim chemin as str;
    CONST ALLOC=22; ’22 is the minimum required
    str_path = GetApplicationDir();’for the access path
    chemin = ADDSTRING(str_path,”\\D3DX9_43.dll”);’ the complete access path
    bufh=ALLOC_BUFFER(ALLOC);
    res=0;
    res= FSTAT(chemin,bufh);
    print(res);
    print(bufh);
    if (res=!0) then
    @DLL_present =1;
    end if
    FREE_BUFFER(bufh); ‘free buffer
    end sub

    • Configure the Link/open animation of the mimic:
      • In the Interlock condition field, insert the status variable.
      • Define the access condition (e.g., allow access only if the variable = 1).
    image
    image