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.
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.
Control Functions - Empty File Path
Since WinCC OA Version 3.15 P011 following CTRL functions translate the stating of an empty file path as path to the project directory:
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"";