The discovery of vulnerabilities in the PcVue client/server networking feature resulted in major fixes (see the security bulletin SB2025-4).
These fixes include the addition of security features to ensure the confidentiality and integrity of the messages exchanged between PcVue stations.
These security features are enabled by default only for new projects but not for migrated project (e.g. from version 16.2 to 16.3.4).
To apply them please follow the steps described below :
- Open the Application Explorer
- Go to the Networking feature
- Open the Settings dialog from the left panel
- In the Interoperability issues section uncheck the following options :
- Allow any node addresses
- Allow stations with altered security
- Save and deploy the modified project to all stations

If these settings are not the same at each station, they can’t communicate with each other. This situation will persist until the stations are configured in the same way.
During this transient stage, the following warnings are logged and displayed in the event viewer :
2025/09/01,10:37:27.760,3,D,,3388,,11,Networking message version of station SERVER1 = 163000
2025/09/01,10:37:27.760,3,W,,3712,,11, Networking, the version ‘163000’ of the remote station ‘SERVER1’ is not compatible due to security constraints
2025/09/01,10:37:27.760,3,W,,3072,,11,Client->server connection CLIENT10C -> SERVER10S is aborted
…
2025/09/01,10:37:46.228,3,I,,3070,,11,Server->client connection CLIENT10S -> SERVER10C is OK
2025/09/01,10:37:46.230,3,W,,3716,,11,Networking, connection CLIENT10S -> SERVER10C is not secure, the remote node ‘DATASERVER10’ must not alter the security or the local node must allow it
2025/09/01,10:37:46.230,3,W,,3142,,11,Server->client connection CLIENT10S -> SERVER10C is rejected
We strongly recommend applying the security features as soon as possible to avoid exposing the SCADA system to the discovered vulnerabilities.
The ‘Allow stations with altered security‘ option has been implemented to disable the security feature when a migration is to be carried out in several stages over a period of time.
The ‘Allow any node addresses‘ option has been implemented to disable a whitelist filter controlling which IP addresses are authorised to connect to the station.
This whitelist is defined by the Networking configuration.
Please contact your technical support if you have any question regarding these security features.
Introduction to Trace.log and Event viewer
- The Event viewer in PcVue is limited to displaying a few hundred lines of errors. You can call it by pressing F7 on the keyboard.
- The Trace.log file can grow up to 10MB, making it difficult to handle with standard text editors.
- Sorting through many minor errors to find important problems can be difficult.
Importance of Minimizing Errors
- Large Trace.log files can slow down system performance and make error analysis too complex.
- Reducing minor errors can help in identifying and resolving more serious issues efficiently.
- Unnecessary errors can create noise, making it harder to focus on critical problems.
Steps to Minimize Errors
- Regular Monitoring and Maintenance: Implement continuous monitoring of system variables and adjust archiving parameters accordingly.
- Resolve Minor Errors: Addressing minor errors can sometimes resolve more serious issues, improving overall system health.
- Limit HDS Traces: Configure tracing parameters to limit continuous insertions, especially for files. Disable non-essential Audit traces.
- Navigate to the HDS icon in the Windows bar.
- Open “General parameters…” in the “Debug” menu.
- Validate with only essential options ticked (e.g., Error, Warning).
- More information on HDS here.
Best Practices
- Regularly review and clean up the Event viewer and Trace.log files.
- Configure the scripts to only log significant changes or errors.
- Schedule regular maintenance tasks to prevent the accumulation of errors.
Meaning of error code

I Infomation
Generally useful information to log (service start/stop, project loading, user logon, license number, …). Info that are important in the lifecycle of the application/project, but that are usually not useful under normal circumstances.
E Error
Any error that is fatal to the project, but not to the application (communication loss with equipment, license expiration, …). These errors will force user (administrator, or direct user) intervention.
W Warning
Anything that can potentially cause application and/or project oddities, but for which they can automatically recover (such as switching from a primary to passive server, retrying an operation, incorrect setting, …).
D Debug
Information that is diagnostically helpful to people more than just developers (integrators, IT, sysadmins, etc.).
T Trace
Only for “tracing” the code and to track specific details in one part of a function. They should be activated on demand and per component, as they can be very verbose.
A Application
Error generated by the project. (Configuration error)
F Fatal
Any error that is forcing a shutdown of the application to prevent data loss (or further data loss), or due to application instability (null pointer, …).
How to fix errors

Search for a Warning or an Error you want to fix, W or E in the event viewer or Trace.log file.
Then do a research in our knowledge base of either the message (connection abort) or the code for this message (3072).
The advantage of searching for the message code is that it does not change depending on the display language of PcVue.
Prerequisites
- Images are from Windows Server 2019
- PcVue installed
- Administrative access to the server
Step-by-Step Configuration
1. Add and Set the Default App Language
- Open Settings > Time & Language > Language.
- Under Preferred languages, click Add a language and select the desired No-Latin language (e.g., Chinese (Simplified, China)).
- Set the newly added language as the default app language by dragging it to the top of the list.
Example: Chinese set as the default app language in Windows Server 2019.

2. Change Region Settings for Non-Unicode Programs
- Open Settings > Time & Language > Region.
- Go to the Administrative tab.
- Under Language for non-Unicode programs, click Change system locale….
- Select the appropriate language (e.g., Chinese (Simplified, China)) and confirm with OK.
Example: System locale set to Chinese (Simplified, China).

3. Update Region Format Settings
- In the Region settings, go to the Formats tab.
- Set the Format to match the No-Latin language (e.g., Chinese (Simplified, China)).
- Ensure date, time, and number formats are consistent with the selected language.
Example: Region format set to Chinese (Simplified, China).

Important Notes
- Restart Required: After applying these changes, restart the server for the settings to take full effect.
- PcVue Controls: If the region format is not updated, Non-Latin characters may not display correctly in PcVue controls (e.g., event viewer, combobox).
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
IMPORTANT: This method contains steps that tell you how to modify the registry. However, serious problems might occur if you modify the registry incorrectly. Therefore, make sure that you follow these steps carefully. For added protection, back up the registry before you modify it. Then, you can restore the registry if a problem occurs. For more information about how to back up and restore the registry, click the following article number to view the article in the Microsoft Knowledge Base: 322756 – How to back up and restore the registry in Windows
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.
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

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.
- Open the symbol or mimic containing the control.
- Open the properties of the “Bit Send“ animation.
- Uncheck the “Pulse” (Impulsionnel) option.
- 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:
- Open the properties of the “Bit Send” animation.
- Keep “Pulse” checked.
- Set the duration to a valid time (e.g.,
1second or more).
Note: The value will automatically return to its initial state (0) after the specified duration.
Fix planned in 12.0.32, 15.2.13 and 16.3.3
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.
Fix planned in 16.3.3
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
Fix planned in 16.3.3
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.
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:

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:
| Param01 | Param02 | Param03 | Param04 |
| Last Chrono | Last Name | Last Value | Last Quality |
| SQL.Query01.LastChrono | SQL.Query01.LastName | SQL.Query01.LastValue | SQL.Query01.LastQuality |
Creation of these variables:
1- Param01 corresponds to the chrono, so we need to create a text variable

In Row selection: Select the last Row:

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

In parameters: Select =Value for ?Param01

In advanced tab of the variable, Check Save

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:

Check that the SV DbConnect service has been started:

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:

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.

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:
When using the Smart Genrator BACnet, sometimes, after selecting the EDE file, the following dialog appears :

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: 
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.
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 API | WST_DeveloperManual.pdf |
| PcVue RESTful API | WST_REST DeveloperManual_1_0.pdf |


