CONTROL
Panel und Skript Umstrukturierung
Um den Platzbedarf zu reduzieren, die Ressourcennutzung zu begrenzen und die Startzeit zu verkürzen, wurden viele ungenutzte/unnötige Funktionen aus dem Produkt entfernt.
Die Änderungen wurden an den folgenden Teilen des Produkts vorgenommen:
- Config-Dateien
- Interne Datenpunkttypen und Datenpunkte
- Panels
- Skripte
- CTRL-Bibliotheken
- Meldungskataloge
Die Struktur der Skripte und CTRL-Bibliotheken wurde geändert, um die Anzahl der Bibliotheken im Dateisystem und die Anzahl der beim Start eines Managers geladenen Bibliotheken zu reduzieren. Insbesondere für ein Runtime-UI wurde die Anzahl der geladenen Standardbibliotheken deutlich reduziert, um die Startzeit zu verkürzen. Dies wirkt sich besonders positiv auf die mobile Benutzeroberfläche aus, wenn eine Netzwerkverbindung mit geringerer Bandbreite genutzt wird.
Um die Auswirkungen auf bestehende Projekte zu begrenzen, verbleiben die "veralteten" Bibliotheken als Datei in der Installation.
Wenn eine veraltete Bibliothek geladen wird, wird eine der folgenden Log-Meldungen geschrieben. Wenn nun eine andere Bibliothek die Funktionen enthält, die zuvor in der veralteten Bibliothek definiert waren, wird der neue Bibliotheksname in der Log-Meldung angegeben.
Beispiel für das Laden der veralteten Bibliothek stdlib.ctl, wenn eine andere Bibliothek std.ctl verwendet werden muss:
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.
Beispiel für das Laden einer abgelehnten Bibliothek:
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 über interne Datenpunkte: Die reduzierte Anzahl der internen Datenpunkte wird nur bei der Erstellung eines neuen Projekts angewendet.
Wenn ein Projekt von einer älteren Version auf die aktuelle Version aktualisiert wird, gibt es keine Funktionalität, welche die veralteten Datenpunkttypen und Datenpunkte löscht.
Veraltete Bibliotheken
Die folgenden Bibliotheken wurden mit WinCC OA Version 3.20 als veraltet erachtet:
- 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
Geänderte Funktions-Speicherort
Die Funktionen auf folgender Liste wurde aus ihrer originalen Bibliothek in eine neue Bibliothek verschoben:
Funktionsname | Neue Bibliothek | Originale Bibliothek |
---|---|---|
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 |
Veränderter Panelspeicherort
Die folgenden Panels wurden aus ihrem ursprünglichen Verzeichnis in ein neues Verzeichnis verschoben:
Panel | Ursprüngliches Verzeichnis | Neues Verzeichnis |
---|---|---|
alertHornProps.pnl | vision | DemoApplication |
Entfernte Funktionen
Folgende Funktionen wurden aus WinCC OA Version 3.20 entfernt:
Entfernte Funktion | Originale Bibliothek |
---|---|
_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 |
Entfernte Panels
Die folgenden Panels wurden aus WinCC OA Version 3.20 entfernt:
- 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
Entfernte Datenpunkte
Die folgenden Datenpunkte wurden aus WinCC OA Version 3.20 entfernt:
- _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
Entfernte Datenpunkttypen
Die folgenden Datenpunkttypen wurden aus WinCC OA Version 3.20 entfernt:
- _Abb
- _AbbUdpArcConn
- _AlertFilter
- _AlertHorn
- _AlertRow
- _AlertStatusText
- _ChildPanel
- _DbgFlags
- _DpListTable
- _Layer
- _Module
- _ModuleOn
- _MP
- _Pager
- _Panel
- _Printer
- _PrintPanel
- _PrintTable
- _RootPanel
- _UltralightClient
Entfernte Bibliotheken
Die folgenden Bibliotheken wurden aus WinCC OA Version 3.20 entfernt:
- as.ctl
- cnsExtensions.ctl
- deviceManager.ctl
- es.ctl
- impexp.ctl
- proj_http.ctl
- sysOverview.ctl
Entfernte Skripte
Die folgenden Skripte wurden aus WinCC OA Version 3.20 entfernt:
- 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
Enfernte Textkataloge
Die folgenden Textkataloge wurden aus WinCC OA Version 3.20 entfernt:
- aesExtension.cat
- applicom.cat
- BACnetGeneral.cat
- cnsToolTips.cat
- ngedi.cat
- nis.cat
- pager.cat
- sim.cat
Ersetzte Control Funktionen
Die folgenden Funktionen wurden als obsolet erachtet und sollten durch andere Funktionen ersetzt werden:
Obsolete Funktion | Ersetzt durch |
---|---|
_const2str() | varTypeToString() |
_emSendExtMail() | sendMail() |
_str2const() | stringToVarType() |
dpExistsDPE() | dpExists() |
emSendMail() | sendMail() |
errorHandling() | throwError() |
fileEditor() | textEditor() |
std_getDpName | dpGetDescription() |
stringEditor() | textEditor() |
Control Funktionen - Parameter Warnung
Ab WinCC OA-Version 3.20 wird bei Funktionsaufrufen eine WARNING-Meldung ausgegeben, wenn zu viele Parameter angegeben werden.
Control Schlüsselwörter
Beachten Sie, dass WinCC OA ab Version 3.16 neue Control-Schlüsselwörter reserviert (z.B. new
oder
delete
, siehe Variablen und Konstanten) bzw. verwendet (z.B. struct
oder class
, siehe Control++) werden. Beim Nachziehen von älteren Projekten auf 3.18 kann
es daher zu Problemen kommen, falls Sie diese Schlüsselwörter, beispielsweise als Variablennamen, definiert haben. In diesem Fall müssen Sie
alle Panels & Scripts anpassen, in denen diese Schlüsselwörter falsch verwendet werden.
Skriptausführung
Ab Version 3.18 werfen Funktionen in den nachfolgenden Fällen einen Syntaxfehler, welcher das Ausführen des Skripts verhindert:
- Funktionen, welche als
void
deklariert wurden, aber einen Rückgabewert liefern. - Funktionen, welche einen deklarierten Rückgabewert haben, aber keine Rückgabe liefern.
Control Funktionen - Leere Pfadangaben
Seit WinCC OA -Version 3.15 P011 wird in folgenden CTRL-Funktionen die Angabe eines leeren Dateipfades als Pfad auf das Projektverzeichnis interpretiert:
getFileNames()
- dir
-Parameter
Seit WinCC OA -Version 3.16 P001 kann für den
dir
-Parameter der Funktion getFileNames() nur noch ein Verzeichnispfad angegeben werden. Bei Angabe eines
Dateipfades liefert die Funktion nur einen leeren String, da ein Dateipfad kein gültiges
Verzeichnis ist.
CNS-Funktionen mit Wildcards
Ab Version 3.20 gibt es ein neues Standardverhalten der Funktionen cnsGetIdSet() und cnsGetNodesByName().
Die Wildcards *, ** und ? können abhängig von dem Config-Eintrag cnsUseDoubleAsterisk im Abschnitt [general] verwendet werden.
Der Config-Eintrag ist standardmäßig auf 1 gesetzt. Das bedeutet:
- Ein Asterisk * gibt eine Ebene zurück.
- Zwei Asterisken ** geben alle Ebenen zurück.
- Das Fragezeichen ? gibt ein Zeichen zurück.
Sie können auch das alte Verhalten aktivieren, indem Sie den Config-Eintrag auf 0 setzen. Das bedeutet, dass die Wildcards * und ? verwendet werden können:
- Ein Asterisk * gibt alle Ebenen zurück.
- Das Fragezeichen ? gibt ein Zeichen zurück.
SQL-Abfragen – "." vor UserName
Beginnend mit Version 3.20 wurde die Syntaxprüfung von SQL-Abfragen verbessert, wodurch es nun bei einer invaliden Angabe von Benutzernamen (UserName ohne "." als Prefix) zu einer Fehlermeldung kommt.
Dieses Verhalten wurde in früheren Versionen nicht explizit geprüft.
Fehlerhafte Angabe des Benutzernamens
sQuery = "SELECT 'UserName:_online.._value' FROM '*' WHERE _DPT = "_Ui"";
Korrekte Syntax der SQL-Abfrage
sQuery = "SELECT '.UserName:_online.._value' FROM '*' WHERE _DPT = "_Ui"";