Skriptování

Pro složitější zpracování dat, výpočty a logické vazby je možné v systému definovat skriptové datové body. Použitý skriptovací jazyk je JScript.NET. K němu existuje řada knihoven a příkladů, Mervis SCADA ho doplňuje o knihovny s funkcemi pro přístup k hodnotám datových bodů ze systému. Skriptové datové body čtou hodnoty jednoho nebo několika datových bodů a výsledky výpočtů poskytují na svých výstupech. Je tedy možné datové body z PLC dále zpracovávat, tvořit sumární hodnoty, reagovat na změny či překročení mezí atd.

Skriptové datové body mají stejné vlastnosti, jako datové body z technologií: lze je zobrazovat ve schématech, vzorkovat v čase nebo přenášet do subsystémů.

Zatímco RcWare Vision vyhodnocuje skripty v rámci GUI aplikace, v Mervis SCADA mohou běžet pouze v rámci serverové aplikace. To znamená, že jakákoliv interaktivita, integrace kódu třetích stran apod. ve skriptech není podporována, protože se nemůže projevit v prohlížeči. Některé skriptové funkce tudíž v prostředí klient – server nedávají smysl. Použití skriptů je tedy třeba řešit individuálně pro každý projekt.

Plná kompatibilita skriptů nemůže být zaručena vzhledem k architektonickému posunu od RcWare Vision. Použití skriptů je třeba řešit individuálně pro každý projekt. Musí nicméně zůstat podporovány běžné funkce, jako jsou například (ale ne pouze) tyto:

  • RCWareApp.GetDigital
  • RCWareApp.SetAnalogConstant
  • RCWareApp.SetDigitalConstant
  • RCWareApp.SetStringConstant
  • RCWareApp.SetAnalogOutput
  • RCWareApp.SetDigitalOutput
  • RCWareApp.GetAnalog
  • RCWareApp.GetDigital
  • RCWareApp.GetString
  • RCWareApp.GetAlarmStatus
  • RCWareApp.GetDataTimes
  • RCWareApp.GetDataPointUpdateTime
  • RCWareApp.GetEpochTime
  • RCWareApp.RaiseAlarm
  • RCWareApp.CancelAlarm
  • RCWareApp.QuitAlarm
  • RCWareApp.DoWrite
  • RCWareApp.PressButton
  • RCWareApp.GetDataPointName
  • RCWareApp.GetRCAddressFromInterface
  • RCWareApp.TimeString

RcWare Vision je tolerantní k chybám ve skriptu. U Mervis SCADA je přísnější kontrola běhu a při výskytu chyb skriptu je výsledek nedefinovaný.

Nepodporované skriptové funkce:

  • GetValueFromDialog()
  • GetParticularData() a další funkce pro čtení z DB
  • GetLoggedUserName()
  • TimeProgFunc()
  • SetParameter()
  • SendSMS()
  • RunRCInternalFunction()
  • GetConnectionStatus()
  • SetUserButtonPressed()
  • InterfaceAlarmEnabled()

Časové funkce ve skriptech nyní pracují v časovém pásmu UTC (místo aby pracovaly podle lokálního času). Zpracovávají se totiž na serveru, tj. není možné vědět, jaké pásmo má klientská platforma.

  • © Energocentrum Plus, s.r.o. 2017 - 2025