Miscellaneous
How to access methods of shapes placed in another module
There is no problem if you want to access a property of a specific shape in another panel or module. You can do it as described in Online Help:
setValue("moduleName.panelName:shapeName","property","value");
main()
{
string sColor;
setValue("ModuleEllipse.PanelEllipse:MyEllipse","foreCol","Red");
getValue("ModuleEllipse.PanelEllipse:MyEllipse","backCol", sColor);
}
But if you want to access a method of a shape in another panel or module you cannot use
the syntax above. You have to access the method of the shape with the help of the CTRL -
function invokeMethode()
or by using the “shape” data type.
Example:
User wants to call the method selectedItems()
for the a tree widget
“TREE1”, which is placed in panel “PanelViews” in a module named “ModuleBase”.
If only getValue() function is used:
main()
{
dyn_string dsItems;
getValue("ModuleBase.PanelViews:TREE1","selectedItems",dsItems );
}
The WinCC OA UI throws following error message in the Log Viewer:
Object "TREE1" of type "TREE" does not know the attribute "selectedItems" for "getValue()"
Solution: Use of “invokeMethode” or “shape” data type:
main()
{
dyn_string dsItems;
invokeMethod("ModuleBase.PanelViews:TREE1", " selectedItems ", dsItems);
// OR
shape s = getShape("ModuleBase. PanelViews:TREE1");
dsItems = s.selectedItems();
}
How do I get the information if a backup is running?
The information as to whether a backup is running is stored in the data point element
_DataManager(_2).Backup.Status
.
The DPE is set by the server which is doing the backup.
When the backup is started, the value 1 is written.
If the backup was completed successfully, the value 0 is written.
A negative value is written if an error occurred during the execution of the backup.
The error codes and their description can be found in the WinCC OA documentation:
Can I use AMQP in WinCC OA?
The integration of an AMQP interface within WinCC OA is not planned.
There is an MQTT driver to fulfill requirements such as connecting WinCC OA to IoT.
The MQTT driver is not able to communicate with AMQP as they are different protocols based on the idea of a publish-and-subscribe mechanism.
Please check if MQTT can be used in the WinCC OA project.
How to read information from the _lock config
Basically there are the following attributes which can be read with a dpGet:
Attribute | Type | Description |
---|---|---|
_locked |
bool | Config blocked |
_man_id |
Int | The manager ID as an int like it is returned by the CTRL function convManIdToInt(). |
_man_nr |
Char | Manager number. Numerical char data type that takes the values 0 to 255 |
_man_type |
Char | Manager type. Numerical char data type that takes the values 0 to 255. |
_type |
Int | Type of lock. |
_user_id |
Uint | User ID |
To find out from which system the _lock
config was set, the function
getManIdFromInt(int manIdInt, char &manType, char &manNum [, int
&sysNum [, char &replica]]);
must be used.
Is it possible to connect to web services like Azure IOT Hub with WinCC OA?
Azure IOT Hub has an MQTT interface. It should therefore be possible to connect the Azure IOT Hub using 'sMQTT driver.
Azure IOT Hub provides a web interface which you can connect to by using the existing WinCC OA commands (net*), e.g. netGet() and parsing the answer inside a CTRL script.
A detailed description of the functions can be found in the WinCC OA documentation: CONTROL --> Control functions --> Functions N --> net*.
How to get the Datapoint type name by the type ID?
If you want to know the name of a DP type and only the ID is known you can use the tool WCCOAtoolNameToId.
- Open a cmd-shell and go to the WinCC OA version/bin - directory
- Enter the following command:
WCCOAtoolNameToId.exe -proj <your projectname> -t <Type ID>
Example: WCCOAtoolNameToId.exe -proj MYPROJECT -t 523
Details can be found within the WinCC OA documentation -> Special Functions -> Identification Caching & DP Identification
How do I read the output of the debug flag "-dbg STAT_HISTO"?
If the debug flag -dbg STAT_HISTO
is activated, detailed information
about the processed value changes and changes to alert instances is reported
The information is written to the log file for the Event Manager.
The interval can be defined with the config entry MessageDiagSecs in the [general] section. The default value is 30 seconds.
The output may slightly differ from WinCC OA version to WinCC OA version.
When the output does not contain all lines described below, the information is still valid for the other lines.
If the output contains more columns then described below, the additional columns must not be taken into account, they are not used.
For every debug three lines of information are written.
- The first line contains information about the value changes in the system.
- The second line contains information about the processed alert instance changes. The information is written in the form of a histogram. Each slot of the histogram has a special meaning.
- The third line contains information about the size of the value changes for a DP element of type string or blob
Value changes
The first column contains the total number of value changes for the last period.
In the following columns detailed information for the latency is reported. The latency is the difference between the value change timestamp and the processing in the Event Manager.
If the value changes due to a dpSet/dpSetWait message, the difference is always 0 because the timestamp is specified by the Event Manager.
If the value is changed in a PLC and the driver provides the timestamp, some latency might be detected. Due to time synchronization there might be negative latency intervals as well, which are counted in a separate slot.
The histogram contains information for following latency intervals:
// slots:
// total number [ 0]
// 0 .. 90 ms [ 1] .. [10]
// 100 .. 900 ms [11] .. [19]
// 1 .. 9 s [21] .. [29]
// 10 .. 90 s [31] .. [39]
// <0.0 [102]
// >= 100s [101]
The log message example shows value changes triggered by a CTRL script running on the same server as the Event Manager. Therefore, no latency is detected.
There are 68 changes in total, and all are detected with a latency of less than 10 ms.
WCCILevent (0), <TIMESTAMP>, STAT_HISTO, "STAT_HISTO, "DPEChanges [10 ms] - decades: total 68 |
68, 0, 0, 0, 0, 0, 0, 0, 0, 0 | 0, 0, 0, 0, 0, 0, 0, 0, 0 | 0, 0, 0, 0, 0, 0, 0, 0, 0 | 0, 0, 0,
0, 0, 0, 0, 0, 0 | 0, 0, 0, 0, 0, 0, 0, 0, 0 | >= 100000 0, < 0 0"
Changes of alert instances
The first column contains the total number of changes of alert instances for the last period.
In the following columns detailed information is listed according to the alert type (continuous alarms, multi instance alarms, suppressed alarms) and the alert state.
// ALERTEVENT_CAME (0)
// ALERTEVENT_CAME_IMPULSE (1)
// ALERTEVENT_GONE (2)
// ALERTEVENT_MULTIPLE_ACK (3)
// ALERTEVENT_SINGLE_ACK (4)
// ALERTEVENT_GONE_INACTIVE (5)
// ALERTEVENT_GONE_IMPULSE (6)
// ALERTEVENT_GONE_OBSOLETE (7)
// NOEVENT (8)
The histogram contains the following slots:
// slots:
// total number [ 0]
// continuous alarms [ 1] .. [10] sorted by AlertEvent constant
// multi instance alarms [11] .. [20] sorted by AlertEvent constant
// suppressed alarms due to minPrio setting [32]
// _alert_hdl config was set active/inactive [33]
The following sample shows
changes of continuous alarms and multi instance alarms. 1036 alarm changes in total
29 continuous alarms (ALERTEVENT_CAME)
7 continuous alarms (ALERTEVENT_GONE)
1000 multi instance alarms (ALERTEVENT_CAME)
WCCILevent (0), <TIMESTAMP>, STAT_HISTO, "AlarmChanges [#]: total 1036 | 29, 0, 7, 0, 0, 0,
0, 0, 0, 0 | 1000, 0, 0, 0, 0, 0, 0, 0, 0, 0 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0| 0, 0, 0, 0, 0,
0, 0, 0, 0, 0 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 | 0, 0, 0, 0, 0, 0, 0,0, 0, 0 | 0, 0, 0, 0, 0,
0, 0, 0, 0, 0 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 | 0, 0, 0, 0, 0,
0, 0, 0, 0, 0 | > 10 0, < 0 0"
Size of value changes (strings, blobs)
The first column contains the total number of messages which were counted in the last period.
In the following columns the number of messages is listed according to the size of the message in decades.
The histogram contains information for following message sizes:
// slots:
// total number of messages [ 0]
// 0-1 .. 9-9.99 kB [ 1] .. [10]
// 10-19.99 .. 90-99.99 kB [11] .. [19]
// 100-199.99 .. 900-999.99 kB [20] .. [29]
// 1000-1999.99 .. 9000-9999.99 kB [30] .. [39]
// 10000-19999.99 [40]
// >20000 [41]
WCCILevent (0), <TIMESTAMP>, STAT_HISTO, "Msg Size [kB] - decades: total 56 | 11,
10, 10, 10, 10, 5, 0, 0, 0, 0 | 0, 0, 0, 0, 0, 0, 0, 0, 0 | 0, 0, 0, 0, 0, 0, 0, 0,
0 | 0, 0, 0, 0, 0, 0, 0, 0, 0 | 0, 0, 0, 0, 0, 0, 0, 0, 0 | >= 100000 0, < 0 0"
How do I change the system number and system name for distributed systems
If you want to connect WinCC OA systems using distributed systems, they need to have unique system numbers and names.
With the command line tool WCCOAtoolSyncTypes
(can be found in WinCC OA installation folder/bin) it is possible to change the
name and number of an existing system.
- Stop the project
- Make a backup of the database. If HDB archiving is used, it is not necessary to back up the VA_* directories as they are not modified when changing the system number and/or system name.
- Open a command line window/terminal and switch to the bin folder of your used WinCC OA installation (e.g. C:\Siemens\Automation\WinCC_OA\3.19\bin).
- Run the following command:
WCCOAtoolSyncTypes -proj <the project name> -system <new System number> <new System name> -log +stderr
- Wait until the command is finished and check the log output if an error is written
DistSync feature - How long is the synchronization time?
We have measured the synchronisation times for 1000 configs per config-types:
feature | synchronization time (sec) |
---|---|
DpGroup |
7.991 |
UserDefDpGroup |
11.437 |
Alarmclass |
8.414 |
Trend | 8.56 |
AES | 22.483 |
User | 6.17 |
Also we know that the number of configs and the synchronization times are linear with each other.
From that you can predict the synchronization time for a given number of configs.
e.g.: If you have 5000 AES configs, the estimated time would be 5 * 22.483 sec
Which video sources are supported by the WinCC OA Video feature?
You can find an overview in our product help (in general: ONVIF 2.0 (Profile S) support is required) or at our technical solution partner Accellence Technologies:https://www.accellence.de/uploads/media/vimacc_Systemdokumentation_Bildquellenliste_EN_01.pdf
How to avoid copy of string variables, mappings, and dyn_arrays at function call?
On passing a variable to a function in CTRL (including UI), the value of the variable will copied. On using large variables (e.g. big strings, arrays or mappings), it is a good idea to use a reference variable. That would avoid the overhead of copying the variable, saves performance and reduce the memory consumption of the manager.
Example for using a reference:
myFunction(dyn_dyn_anytype &ddaMuchData)
To sign that the variable will only be used for reading and the function is not modifying its value, the reference variable can declared as const:
myFunction(const dyn_dyn_anytype &ddaMuchData)
What is an alternative to use dpGet() inside a callback function?
dpGet()
is a blocking function, which should not be used inside callback
functions (because it could lead to too much pending runs, which would be thrown
away).
- Option 1: Connect to all required values.
On using dpConnect it is easy to add all required DPEs to the connection list.
- Option 2: Keep slow changing values on global variables.
Create a global variable, and do a dpConnect on the additional DPE, the callback should fill the current state to that global variable. Every time that additional state is required, it is just needed to read it from the global variable (instead of doing the dpGet).
Can there be problems with WinCC OA installation and Matrox cards ?
Yes, in rare cases installation of WinCC OA 3.17+ is not possible due to a conflict with Qt and the Matrox driver.
Our Recommendation:
- Install the newest Matrox driver.
- Set the environment variable QT_OPENGL and try one of the following values:
- software
- angle
- desktop
How do I create my own object library (symbols and DPTs)?
The easiest and fastest way to create your own object library (including symbols, DPTs, faceplates) is to use the Stdlib.
The Stdlib is a framework that allows creating an object library by following some Rules instead of the required CTRL programming.
The basic rules are the location where to save panels, how to name DPTs and functions. Details about how to create an object library based on the Stdlib framework can be found in the Online help of the Stdlib. The BasicS7, AdvS7 and BACnet libraries are all created with the Stdlib.
The object library should be used as sub project and has a high level of reusability.
How can I enforce a faster start-up when the RDB Manager takes too long to establish a connection with the Oracle Server?
In the default configuration of WinCC OA, the RDB tries to establish a connection to the Oracle Server during start-up. This could take a few minutes in dependency of the actual state of the Oracle Server (stopped, currently starting up, heavy load and so on)
In this situation all following WinCC OA managers will not be started until the RDB gets its connection to the Oracle Server.
To avoid this situation and to optimize the start-up behavior, it is possible to start
the RDB manager in an offline mode. In this mode, the RDB manager will begin buffering
all of its values until it gets the command to establish a connection with the Oracle
Server. This command can be triggered a few minutes after the complete start-up of the
WinCC OA project with a manual set of the
_RDBArchive.connection.openDBConnection
DPE.
With this configuration, there is no need to be concerned about the actual state of the Oracle Server during the start-up of the WinCC OA project, because the start-up is not interrupted by a RDB manager trying to establish a connection with the Oracle Server.
For more information regarding this configuration please check chapter: “Details on data buffering” in the RDB manager section of the WinCC OA Online Help
How to migrate panels/message catalogues for an ISO project to UTF8?
When using WinCC OA 3.16 or a newer version, only UTF8 languages are supported.
If your project framework uses ISO languages and you want to use UTF8 languages you need to follow the instructions given below to migrate the panels and message catalogs into your project framework.
Modification of panels
When using special characters in the panel, texts may not be displayed correctly if the panels with ISO texts are used in a UTF8 project. This rule also applies to $ parameters defined in the panel files.
The easiest way to make the panels readable in UTF8 projects is to save them as XML files. A panel file in XML format is always saved as a UTF8 file.
All you need to do is change the format of the panel file. Even if the panel file is saved as an XML file, you can use the file extension “.pnl” or another extension..
- The conversion of panel files in PNL format to XML is done via the WinCC OA UI
with the command line option -xmlConvert. The file names are given the extension
".xml".
For example, conversion of the main.pnl for the PlantProject
WCCOAui -xmlConvert main.pnl -proj PlantProject
- Rename the converted panels back to “.pnl” or the extension you used before. Then you don't need to change the scripts or code that refers to the panel names.
If you have many panels, you can write a script (e.g. a CTRL script) that performs the tasks.
Change in message catalogs
The encoding for the catalog files must be changed to UTF8. This can be done with a text editor, e.g. Notepad++
You must save the converted message catalog in the
msg/<language>.utf8
directory.
- Open the news catalog with a text editor
- Change encoding to UTF8 without BOM
- Save the message catalog in the correct directory
Why is an OPC error "No such interface supported(0x80004002)" reported when starting a OPC DA process?
Causes of the following log messages
When the OPC DA Client is started:WCCOAopc (1), 2016.11.23 08:07:02.465, IMPL, WARNING, 54, Unexpected state, OPCServer,
CheckSrvInterfaces, Server does not support IOPCBrowseAddressSpace -> no browse info (No such interface
supported(0x80004002))WCCOAopc (1), 2016.11.23 08:07:02.465, IMPL, SEVERE, 54, Unexpected state, OPCServer,
CheckSrvInterfaces, Server does not support IOPCServer -> server cannot be used (No such interface
supported(0x80004002))
When the OPC HDA Client is started:
WCCOAopchda (2), 2016.11.23 08:11:58.283, PARAM,SEVERE, 54, Unexpected state,
OpcHDAClientServer, OpcHDAClientServer, Error when creating instance for server WINCC_OA.OPCHDA. hr
= 524306, -2147467262, -2147467262, 0
While browsing for available OPC DA Servers in the panel
WCCOAui1:CreateInstance Failed (80040154)
WCCOAui1:Are you sure you have registered the latest OPCPROXY.DLL?
These log messages occur if the installation of the OPC Core Components is missing or if different versions are installed.
See below for a detailed description:
- OPC Core components are not installed
-
WinCC OA 3.14 or newer was installed after the installation of WinCC OA 3.12 or WinCC OA 3.13 or the OPC Core Components Redistributable 105.0 was installed.
During the setup an update of the OPC Core Components Redistributable (x64) from 105.0 to 106.0 is made. This update sometime fails and therefore the new version 106.0 is not installed properly.
If you try to uninstall the OPC Core Components 106.0 manually, you will receive this error message:
There is a problem with this Windows Installer package. A program that is
required to complete the installation could not be
executed...
Solution:
Please use the "Repair" function, which is available via the Windows function
If you have not installed any OPC Core Components before the installation of WinCC OA 3.14 or a newerWinCC OA version, the upgrade of the OPC Core Components is not necessary.
If the current OPC Core Components (x64) 106.0 have already been installed before the installation of WinCC OA 3.14 or newer, the error does not occur.
How to use user defined icons in PARA
With version 3.10 of WinCC OA we introduced the feature to use your own icons for data points, data point elements, etc.
For this purpose you must create a script called icons.ct
l.
This script might look as following:
main()
{
mapping map;
map["dist_1:"] = "dist_1.png"; //the system dist_1 gets this icon
map["dist_1:[PUMP1]"] = "pump1.png"; //the data point type PUMP1 in the system
dist_1 gets this icon
map["dist_1:[PUMP1].state.on"] = "on.png"; //the data point element .state.on of
the data point type PUMP1 in the system dist_1 gets this icon
map["dist_1:[PUMP1].state.on_2"] = "on_2.png";
map["dist_1:[PUMP1].state.off"] = "off.png";
map["dist_1:[PUMP1].state.mode.remote"] = "remote.png";
map["dist_1:[PUMP1].state.mode.local"] = "local.png";
map["dist_1:[PUMP1].state.mode.auto"] = "auto.png";
map["dist_1:[PUMP1].state.mode.man"] ="man.png";
map["dist_1:[PUMP1].state.mode.service"] = "service.png";
dpTreeSetIcons(map); //set the icons
}
The User Interface where these icons should be used must be started in the following way:
PVSS00ui -m para -s icons.ctl
The icons that are used must be located in the “pictures” folder of the project.
With which user should I start the WinCC OA Pmon Service when I’m using Kerberos?
The correct answer for this question depends on the specific requirements for every project. Every option has some advantages and disadvantages:
Option 1: Start Pmon as Network Service
- Advantage: This is the recommended option if high security requirements have to be fulfilled. With this option it is possible to limit the access to local folders on the own machine and it is not possible to get access to remote resources like printers and UNC-paths.
- Disadvantage: In case where it is needed it is not possible to grant permission for remote resources
Option 2: Start Pmon as Local Service
- Advantage: No permissions for local and remote resources but it’s possible to grant access to local resources if they are required.
- Disadvantage: In case where it is needed it is not possible to grant permission for remote resources
Option 3: Start Pmon as Local System
- Advantage: No permission for remote resources and full access to local resources but it is possible to limit the access to local resources.
- Disadvantage: In case where it is needed it is not possible to grant permission for remote resources
Option 4: Start Pmon as specific User
- Advantage: A detailed distribution of permissions is possible. Access to local and remote resource could be granted.
- Disadvantage: Malpractice of this user is possible and root permission in WinCC OA could be archived very easily. A high effort of working time could be possible to define a secure system.
How to keep project files synchronized (redundancy and UIs)
On a redundant System it is necessary that the project files are synchronized between both redundant hosts.
WinCC OA has a feature to keep the projects of redundant hosts
synchronized. With the CTRL script fileSync.ctl
you can use the split
mode for testing your changes. On leaving split mode, by answering the question which
host should recover, the projects files can be synchronized as well.
You can also synchronize by pressing the FileSync button in the system overview panel on demand.
For using the file synchronization in the redundant project, a CTRL manager with
different number on both hosts which runs the script fileSync.ctl
is
required.
Example
on left host1: fileSync.ctl -num 98 –connectToRedundantHosts
on right host2: fileSync.ctl -num 99 –connectToRedundantHosts
According to WinCC OA Online Help (chapter File Synchronization), the CTRL debug DPs for those managers (e.g. 98 and 99) are required as well:
DPT: _CtrlDebug
DPs: _CtrlDebug_CTRL_98 and _CtrlDebug_CTRL_99
This functionality can overwrite, add and delete files. All deleted and overwritten files will be moved to an zip backup file.
Project files on UI or web clients
To keep the UI client projects up to date, you can use the web client, which caches the project files.
The same is possible with an UI outside of a browser by starting the UI process with the
option –server http://<web client server>
.
Can I harden my WinCC OA project by limiting the amount of started WinCC OA processes in a RDB Project?
Yes, there is no need for the databg Manager in a pure RDB project both events and alerts are logged into a Oracle DB.
The startup of the databg manager could be prevented with this config entry in the [data] section from config file of the WinCC OA project:
[data]
dataBgName = ""
How can I start a remote WinCC OA process for a redundant pair of servers?
In this case, it is recommended to have a local project installation on the remote computers with a correct link to the Data and Event Manager on the server computers. This can be configured by creating a new remote UI project using the WinCC OA Project Administrator.
Outside of this project, it is possible to start remote processes with the “-proj” option via CMD-Line. In this case, you don't have to worry about the actual status of redundant servers because the connection is established automatically
- Start a remote UI with this CMD line:
WCCOAui –proj [project name]
- Start a remote UI with a local license (this is used when a dongle with a Para
license is connected to the remote machine and this license is to be used
instead of the license on the servers):
This option is available for many WinCC OA processes could also be used for CMD-based tools from WinCC such as: “WCCOAtoolNameToId”WCCOAui –localLicense –m para -proj [project name]
ExcelReport - Compile error in hidden module
Due to internal changes of registration keys through Windows security updates, it can occur that the WinCC OA Excel Report cannot be used anymore and returns errors like "Compile error in hidden module".
To solve this issue, the registration for the WCCOAcom.dll, the SubTimer.dll, mscomctl.ocx and the mscomct2.ocx must be removed and a new registration must be created.
e.g. for WinCC OA 3.12 following steps must be taken:
- Open the command line interface (cmd.exe) as administrator
- Change to the directory SysWOW64 - use "
cd C:\Windows\SysWOW64\
" - Unregister the WCCOAcom.dll - use "
regsvr32 /u <WinCC OA Installation Path>\bin\windows\WCCOAcom.dll
" - Register the WCCOAcom.dll again - "
regsvr32 <WinCC OA Installation Path>\bin\windows\WCCOAcom.dll
" - Unregister the SubTimer.dll - use "
regsvr32 /u <WinCC OA Installation Path>\bin\SubTimer.dll
" - Register the SubTimer.dll again - "
regsvr32 <WinCC OA Installation Path>\bin\SubTimer.dll
" - Unregister the mscomctl.ocx - use "
regsvr32 /u mscomctl.ocx
" - Register the mscomctl.ocx again - "
regsvr32 mscomctl.ocx
" - Unregister the mscomct2.ocx - use "
regsvr32 /u mscomct2.ocx
" - Register the mscomct2.ocx again - "
regsvr32 mscomct2.ocx
"
Further details regarding the changes through the Windows security updates can be found here.
How do I simulate NaN (not a number) values for testing purposes
In some cases, it is necessary to simulate NaN (not a number) values for testing purposes (f.e. if you want to test, how your business logic is able to handle such values (they could come from PLCs in case of errors).
Here is a code-sample for generating a NaN-value (-1.#QNAN0) with a Control-Script:
main()
{
blob source;
int len, pos;
string s;
float value;
s = "7F,FF,FF,FF";
source = s;
len = 4;
pos = 0;
blobGetValue(source, pos, value, len, FALSE);
DebugN(isnan(value)); //this will result into a TRUE output<o:p></o:p>
dpSet("System1:TestValue.", value); //If some other Script is connected to this DPE,
it must be able to handle this value
}
Why is a SQL Query on _alert_hdl.._act_state not possible?
A query like SELECT ALERT '_alert_hdl.._act_state' FROM '*.**' WHERE _DPT =
"myDPType"
is not possible because the alert_hdl.._act*
attributes can not be used alone in Query Connects since they don't trigger a work
function.
If the Select statement contains an attribute which can be used for connects, the query will be possible.
e.g. such a query will work:
SELECT ALERT '_alert_hdl.._act_state', '_alert_hdl.._ack_time' FROM '*.**' WHERE
_DPT = "myDPType"
How to query DPs and DPGroups in one SQL statement?
To query data points and data point groups in one SQL statement, write the 'FROM' statement like this:
FROM
'{<DP>,<DP2>,DPGROUP(_DpGroup00017_Public),DPGROUP(_DpGroup00016_Public)}'
Why is my stylesheet.css file not working correctly?
If you used a CSS editor/text editing program (Notepad is a well known "culprit" for this) that saves the file with a BOM (Byte Order Mark), WinCC OA can no longer apply that .css file correctly.
Please note: There is no log viewer message.
You can easily check if your file uses a BOM by validating it here: http://validator.w3.org/i18n-checker/check
Solution: Use a different editor (e.g. Notepad++) or disable the BOM option.
How to change System number and name of an existing project
Because only Systems with different names and numbers can be connected via dist, each system in WinCC OA needs to have a unique System name and number.
If Systems with should be connected which have the same numbers or names, one of the Systems need to be renamed and the number needs to be changed:
- Stop the project if it is running
- Run the command line tool WCCOAtoolSyncTypes.exe from bin folder of the WinCC OA installation with the following options:
WCCOAtoolSyncTypes -system <new System number> <new System name> -proj <your project name>
e.g.
C:\Siemens\Automation\WinCC_OA\3.11\bin\ WCCOAtoolSyncTypes –system 3 dist_3 –proj myDistSystem3
Does the TLS Gateway run on Linux?
Yes, the TLS Gateway is available for all delivered WinCC OA platforms.
Is it possible to print a trend with legend?
After configuring a trend and viewing it in the trend panel there is the possibility to print this view. This can be triggered by using the "Print" button in the bottom bar of the panel.
If the user wants to print the panel with the legend there is also the "Legend" button in the bottom bar. This includes the legend of the currently configured datapoints of this trend on the top of the print.
How to show an alert message for ULC UX when the browser is not running on 100% zoom display?
When the browser is (accidentally) zoomed, panel design may not be displayed as
planned in ULC UX. Add the following lines to
[projectdirectory]\data\ulc\customer.js
to show the user an
info about it
$(document).ready(function()
{
if(window.devicePixelRatio != 1)
{
alert("window zoom level is not 100%.");
}
}
);
Can the standard port number of Webclient be changed manually ?
The used standard portnumber of the WinCC OA webclient can be changed
by editing <Version_Dir>/scripts/webclient_http.ctl
in the following
way (and saving it into the <Project_Dir>/scripts
):
Grep for the following statement...
httpServer(false, 80, 443);
...and change it to your needs
httpServer(false, <your used port number>, 443);
Use of WinCC OA in VMware vSphere cluster solutions
This FAQ is for information about the advantages and disadvantages about the usage of VMware vSphere clusters with WinCC OA.
There are 5 configuration options:
- VMware vSphere vMotion®
- VMware vSphere Storage vMotion
- VMware vSphere High Availability (HA)
- VMware vSphere Fault Tolerance (FT)
- vSphere Storage Appliance (VSA)
____________________________________
- WinCC OA is already released for:
Virtualization on vmWare
- WinCC OA will be released for:
Virtualization on vmWare Clusters (without special vSphere options)
- WinCC OA evaluates the release for:
vSphere High Availability virtualization on vmWare Clusters
- WinCC OA will not be released (in near future) for:
vSphere Fault Tolerant option (Nr. 4)
vSphere vMotion option (Nr.1)
Note: Due to known issues with the 5th option is this one not supported by WinCC OA.
This table shows the advantages and disadvantages of a WinCC OA System in combination with a VMware vSphere cluster.
Functionality | WinCC OAwith built in redundancy on dedicated servers | VMware HAwithout built in WinCC OA redundancy | WinCC OARedundant WinCC OA on vSphere HA cluster |
---|---|---|---|
Operability | Seamless redundancy switch | >15s | Seamless redundancy switch |
Data loss | No data loss | >15s | No data loss |
Connection loss to PLC | Seamless redundancy switch | >15s | Seamless redundancy switch |
Failover | Supervises the status of both redundant servers and the rules for the switchover of the active system can be parameterized | Cover faults caused by a total failure of a server | both advantages available |
Geographically distribution | Yes | Yes | Yes |
Availability | High Availability | High Availability | High Availability |
Setup and reinstallation of a destroyed server hardware | ~4hours | ~minutes | ~minutes |
Performance | High Performance | Performance degraded due to virtualization | Performance degraded due to virtualization |
Configuration | High effort | Lower effort | Lower effort |
Online Version Upgrade | WinCC OA can be updated in split mode during system operation | Offline update | WinCC OA can be updated in split mode during system operation |
IEC 61508 (SIL) certification | Up to SIL 3 for use on non virtualized platforms | Not available | Not available |
Can I run the web server that is used for communication for the Desktop UI on the same server as my project?
Although it is technically possible, we strongly recommend - for increased security - to use different machines for the server project and the webserver.