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.

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