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

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.

Control Keywords

With version 3.16 some new control keywords are reserved (e.g.new or delete, refer to Variables and constants for further information) or used (e.g.struct or class, refer to Control++) byWinCC OA and cannot be used e.g. as variable names anymore. When updating older projects to 3.20, problems can arise if you have defined one of these keywords as a variable name. In this case you have to replace the now invalid names in the respective scripts and panels.

Script Execution

As of version 3.18, functions throw a syntax error in the following cases, which prevents the script from being executed:

  • Functions that are declared as void but still return a value.
  • Functions that have a declared return value but do not return anything.

getFileNames() - dir Parameter

Starting with WinCC OA version 3.16 P001 only a valid folder path can be stated for the dir parameter of the function getFileNames(). Stating an actual file path will return an empty string as the file path is no valid directory.

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.

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"";