Incompatibilities introduced in 3.20
General
Handling of deactivated _alert_hdl
Configurations
With WinCC OA Version 3.20, the handling of deactivated
_alert_hdl
configurations has been changed. In previous versions,
even if the alert handling was deactivated, the Event Manager still provided alert
previews.
To increase the overall performance of WinCC OA, this behavior has now been disabled and no alert previews will be generated.
Since the behavior of the earlier versions was also used in other areas of application,
e.g. in order to use a text
-attribute (_offline..text
)
to obtain additional information for value changes in historical queries, it may be
necessary to reactivate this for your use case.
To reenable the behaviour of older versions, the config entry [event] enableAlertPreview can be set.
[event]
enableAlertPreview = 1
_alert_hdl
configurations will lead to increased load of the Event Manager.ASCII Manager - DP Comment
As of WinCC OA Version 3.20, the DP Comment in the _common config is split into the sections comment, format and unit. This ensures easy handling of translatable content with the translator tool in the future
User Interface
UI - Light/Dark Mode
When the application mode of the Windows operating system is set to "dark" and the WinCC OA UI is started with the manager options
"-palette=light
" and "-style fusion
", then,
instead of a "light" appearance of the UI, the dark mode will be used. This behavior
will be fixed in a future patch of WinCC OA.
Databases
PostgreSQL® Schema Indices
The PostgreSQL® schema was changed from BRIN indices to BTREE indices in version 3.20. BRIN indices in the PostgreSQL® schema are therefore obsolete. You can request a tool/script for converting an existing PostgreSQL® database from BRIN to BTREE from WinCC OA support.
CONTROL
Panel, Function and Script Restructure
In order to reduce space requirements, limit resource utilization and shorten startup time, many unused/unnecessary functions have been removed from the product.
The changes have been made to the following parts of the product:
- Config files
- Internal data point types and data points
- Panels
- Scripts
- CTRL libraries
- Message catalogs
The structure of the scripts and CTRL libraries has been changed to reduce the number of libraries in the file system and the number of libraries loaded when starting a manager. In particular for a runtime UI, the number of loaded standard libraries has been significantly reduced in order to shorten the start time. This has a particularly positive effect on the mobile user interface if a network connection with a lower bandwidth is used.
In order to limit the impact on existing projects, an "obsolete" library remains as a file in the WinCC OA installation.
If an obsolete library is loaded, one of the following log messages is written. If another library now contains the functions that were previously defined in the obsolete library, the new library name is specified in the log message.
Example for loading the obsolete library stdlib.ctl if another library std.ctl must be used:
WCCOAui (1), 2023.10.04 12:32:25.478, SYS, WARNING, 253, Obsolete library, library 'C:\Siemens\Automation\WinCC_OA\3.20\libs\stdlib.ctl' is obsolete. Please use the library std.ctl.
Example for loading a rejected library:
WCCOAui (1), 2023.10.04 12:32:25.478, SYS, WARNING, 253, Deprecated library, library 'C:\Siemens\Automation\WinCC_OA\3.20\libs\stdlib.ctl' is deprecated. The functions defined in this library are no longer required - remove the link to the library.
Info about internal data points: The reduced number of internal data points is only applied when creating a new project.
If a project is updated from an older version to the current version, there is no functionality that deletes the obsolete data point types and data points.
Deprecated Libraries
The following libraries are declared as deprecated in WinCC OA Version 3.20:
- bandwidthMeasurement.ctl
- ChannelManager.ctl
- CtrlAudio.ctl
- dpDyn.ctl
- email.ctl
- ExcelReport.ctl
- hosts.ctl
- ini.ctl
- libCTRL.ctl
- ngedi.ctl
- notes.ctl
- pager.ctl
- pmonWatchdogAlarming.ctl
- pmonWatchdogTypes.ctl
- stdlib.ctl
- stdVar.ctl
- table.ctl
- tools.ctl
Changed Function Location
The list of the following functions was moved from their original library to a new library:
Function Name | New Library | Original Library |
---|---|---|
readSMS() | communication | std |
sendMail() | communication | std |
sendSMS() | communication | std |
sendSMSCB() | communication | std |
_createdpName() | csg | libCTRL |
_createfileName() | csg | libCTRL |
_CSG* functions | csg | libCTRL |
_checkValue() | ep | libCTRL |
evaluateVariableTypeStringValue() | ep | libCTRL |
getTrendDPE() | ep | std |
catInsertKey() | mp | std |
dynDynStringToString() | mpTemplate | libCTRL |
dynStringToDynDynString() | mpTemplate | libCTRL |
getPossibleVarTypes() | mpTemplate | libCTRL |
parseSimpleVarTypeToString() | mpTemplate | libCTRL |
parseStringToSimpleVarType() | mpTemplate | libCTRL |
stringToDynDynString() | mpTemplate | libCTRL |
dynContainsPattern() | pa | libCTRL |
dynInsertPatternMatch() | pa | libCTRL |
isValidProjectPath() | pa | std |
ColorNames() | para | libCTRL |
dpGetDefaultFormat() | para | libCTRL |
byteSizeToString() | spaceCheck | std |
dpValueFieldFormat() | std | libCTRL |
dynDynStringToDynString() | std | libCTRL |
dynLangString2dynString() | std | libCTRL |
dynString2dynLangString() | std | libCTRL |
dynStringToString() | std | libCTRL |
isAckable() | std | libCTRL |
lcDpGetFormat() | std | libCTRL |
stringToDynString() | std | libCTRL |
stringToVarType() | std | libCTRL |
varTypeToString() | std | libCTRL |
std_quittScript() | STD_Symbols | std |
dpExistsDPE() | varTrend | libCTRL |
lookupSorted() | WssCoreExtRequestHandler | std |
isTableAckable() | aescustomizations | libCTRL |
Changed Panel Location
The following panels were moved from their original directory to a new directory:
Panel | Original Directory | New Directory |
---|---|---|
alertHornProps.pnl | vision | DemoApplication |
Removed Functions
Following functions were removed from WinCC OA Version 3.20:
Removed Function | Library |
---|---|
_checkDPType() | libCTRL.ctl |
_checkValue2() | libCTRL.ctl |
_DPSEL_showdp() | libCTRL.ctl |
_tableHead() | libCTRL.ctl |
aesinitAEItemListCB() | libCTRL.ctl |
avgSmentTime() | libCTRL.ctl |
counter() | libCTRL.ctl |
diff() | libCTRL.ctl |
dpSetDynErrorCheck() | libCTRL.ctl |
dpSetErrorCheck() | libCTRL.ctl |
evaluateDpElementTypeStringValue() | libCTRL.ctl |
eventCounter() | libCTRL.ctl |
findDuplicateUser() | std.ctl |
getChildCentralPosition() | panel.ctl |
getStartDayOfWeek () | libCTRL.ctl |
getStartTimeOfWorkDay() | libCTRL.ctl |
initAEItemList() | libCTRL.ctl |
initAEItemList1() | libCTRL.ctl |
isJavaUI() | panel.ctl |
noFlickerRedraw() | panel.ctl |
Panel_OnZoomed() | panel.ctl |
PasswordDialog() | panel.ctl |
pvssRangeCheck() | libCTRL.ctl |
resetAEItemListsCB() | libCTRL.ctl |
smOpenSysMgmVisu | std.ctl |
std_catgets | std.ctl |
std_errorDialog | std.ctl |
std_miniHelp | std.ctl |
strcmp | std.ctl |
getCurrentOSUser | std.ctl |
getDomainOSUser | std.ctl |
getUserDomain | std.ctl |
getUserWithoutDomain | std.ctl |
valueEditor() | libCTRL.ctl |
ve_calculateValue() | libCTRL.ctl |
ve_setValue() | libCTRL.ctl |
ve_startFunction() | libCTRL.ctl |
ve_work () | libCTRL.ctl |
weekNumber | std.ctl |
Removed Panels
The following panels were removed from WinCC OA Version 3.20:
- gedi/dpsel
- gedi/dpsel2
- gedi/dpsel3
- gedi/dpsel4
- gedi/dpsel5
- para/address_skeleton.pnl
- vision/aes/AEScreenRegGeneral.pnl
- vision/aes/AS_propSort.pnl
- vision/aes/ES_propSort.pnl
- vision/alertHornProps.pnl
- vision/backupComplete_2.pnl
- vision/backupConfig_2.pnl
- vision/backupImplementation_2.pnl
- vision/backupMedium_2.pnl
- vision/DataManager_par
- vision/hupe.pnl
- vision/messages/MessageComboInput.pnl
- vision/miniHelp.pnl
- vision/notes_ref.pnl
- vision/PagerConfig.pnl
- vision/PagerMain.pnl
- vision/PagerMsgList
- vision/PagerPhonebook
- vision/PagerSelectUser.pnl
- vision/PagerSendMsg.pnl
- vision/SC/AlertRowvision/SC/AlertScreen
- vision/SC/AS_ackOldest
- vision/SC/AS_choice
- vision/SC/AS_comments.pnl
- vision/SC/AS_detail_ranges.pnl
- vision/SC/AS_detail.pnl
- vision/SC/AS_matching.pnl
- vision/SC/AS_properties.pnl
- vision/SC/AS_propFilter.pnl
- vision/SC/AS_propFilterSystems.pnl
- vision/SC/AS_propFilterTypes.pnl
- vision/SC/AS_propSort.pnl
- vision/SC/AS_propTime.pnl
- vision/SC/AS_status.pnl
- vision/SC/ES_detail.pnl
- vision/SC/ES_dpeList.pnl
- vision/SC/ES_properties.pnl
- vision/SC/ES_propFilter
- vision/SC/ES_propFilterSystems.pnl
- vision/SC/ES_propFilterTypes.pnl
- vision/SC/ES_propSort.pnl
- vision/SC/ES_propTime.pnl
- vision/SC/EventScreen
- vision/SC/timeRange.pnl
- vision/SC/trend.pnl
- vision/SC/trendButton.pnl
- vision/SC/XS_propFilterDpMatch.pnl
- vision/SC/XS_propGeneral.pnl
- vision/SC folder including all panels
- vision/valueEditor.pnl
- vision/valueEditorPoint.pnl
- vision/valueEditorValue.pnl
Removed Data Points
The following data points were removed from WinCC OA Version 3.20:
- _ConfirmAll.
- _ConfirmMode.
- _Dbg
- _Dbg_2
- _Device2
- _Device2_2
- _Device3
- _Device3_2
- _LayerOff.
- _LayerOn.
- _LT_1
- _ModuleOff.
- _ModuleOn.
- _Pager_1_2.
- _Pager_1.
- _PanelOff.
- _Printer.
- _PrintPanel.
- _RootPanelOn.
- _RootPanelOrigOn.
- _SilentPrint.
- _SMS_1
- _SMS_1_2
- _SPS_1
- _SPS_2
- _SystemPrinter.
- AlertHorn
Removed Data Point Types
The following data point types were removed from WinCC OA Version 3.20:
- _Abb
- _AbbUdpArcConn
- _AlertFilter
- _AlertHorn
- _AlertRow
- _AlertStatusText
- _ChildPanel
- _DbgFlags
- _DpListTable
- _Layer
- _Module
- _ModuleOn
- _MP
- _Pager
- _Panel
- _Printer
- _PrintPanel
- _PrintTable
- _RootPanel
- _UltralightClient
Removed Libraries
The following libraries were removed from WinCC OA Version 3.20:
- as.ctl
- cnsExtensions.ctl
- deviceManager.ctl
- es.ctl
- impexp.ctl
- proj_http.ctl
- sysOverview.ctl
Removed Scripts
The following scripts were removed from WinCC OA Version 3.20:
- AsyncImpExp.ctl
- userDrivers.ctl
- userPara.ctl
- vision/_archiveMonitor
- vision/_archiveMonitorClient
- vision/alamscr
- vision/allModuleOff
- vision/confirmHorn
- vision/eventscr
- vision/home
- vision/leer
- vision/logout.ctl
- vision/openSysMgm
- vision/password.ctl
Removed Message Catalogs
The following message catalogs were removed from WinCC OA Version 3.20:
- aesExtension.cat
- applicom.cat
- BACnetGeneral.cat
- cnsToolTips.cat
- ngedi.cat
- nis.cat
- pager.cat
- sim.cat
Replaced Functions
Following functions were deemed as obsolete and should be replaced with a different function:
Obsolete Function | Replaced by |
---|---|
_const2str() | varTypeToString() |
_emSendExtMail() | sendMail() |
_str2const() | stringToVarType() |
dpExistsDPE() | dpExists() |
emSendMail() | sendMail() |
errorHandling() | throwError() |
fileEditor() | textEditor() |
std_getDpName | dpGetDescription() |
stringEditor() | textEditor() |
Control functions - Parameter Warning
Starting with WinCC OA Version 3.20, a WARNING message is given for function calls when too many parameters are given.
SQL Queries - "." before UserName
Beginning with version 3.20 the syntax check for SQL queries has been improved, which results in an error message in case of invalid usage of user names (UserName without "." as prefix).
This behavior was not explicitly validated in previous versions.
Wrong usage of user name
sQuery = "SELECT 'UserName:_online.._value' FROM '*' WHERE _DPT = "_Ui"";
Correct syntax of the SQL query
sQuery = "SELECT '.UserName:_online.._value' FROM '*' WHERE _DPT = "_Ui"";
CNS Functions with Wildcards
As of version 3.20, there is a new default behavior.
The wildcards *, ** and ? can be used depending on the config entry cnsUseDoubleAsterisk in the [general] section.
The config entry is set to 1 by default, which means that:
- One asterisk * returns one level.
- Two asterisks ** return all levels.
- The question sign ? returns one character.
You can also activate the old behavior by setting the config entry to 0. This means that the wildcards * and ? can be used:
- One asterisk * returns all levels.
- The question sign ? returns one character.
GEDI
Maps EWO - Step Size
With WinCC OA -Version 3.20, the step size for the navigation error buttons has changed due to a change within the Marble library used by the Maps EWO.
GEDI - Picture Drag & Drop
With version 3.20, the behavior of dragging and dropping a picture from the project tree into a free area of the panel changes. Previously, this set the background of the panel. Now a new rectangle (without frame, in the standard size of the picture) is created with the picture as "fill".
Drivers
SNMP - Redundant Connection Data Point
The behavior of the SNMP driver in redundant systems has been changed. Previously, the SNMP driver did not use "<DP>_2" data points for connection data points. This meant that the SNMP driver could not provide separate status information for an agent connection in a redundant system. Previously, only the active driver set the status. This has now been changed in 3.20. In a redundant project the corresponding "<DP>_2" DPs for the types _SNMPAgent and _SNMPV3Entity will be created by default. Please note this if you use status information from these DPs in your project.
As an alternative, you can use the configuration entry useReduPostfix. It can be used to set the old behavior. Use this config entry only if it is really necessary, as in this case the fwdDpType config.redu entries, which refer to the data point types mentioned above, must be removed in order to achieve the old behavior.
DotNET API
- DotNET API TypeModel and ProcessModel Service Refactoring for bulk operations
as well as
- DotNET API refactoring of RequestObjects in relation to the change of item type to record
can lead to incompatibilities.