Документация по SCADA системе Simp Light


Содержание:


Скрипты


  Защищать скрипты паролем

Флаг "Защищать скрипты паролем" управляет защитой скриптов и блок-схем в системе SIMP Light. В случае необходимости скрыть содержание скриптов и блок-схем от постороннего внимания, следует установить флаг. В этом случае увидеть содержимое скрипта станет невозможно ни снаружи системы SIMP Light, ни изнутри.

Скрипты системы SIMP Light, в общем случае, находятся по следующему адресу "c:\slProject\InternalTag\Script\" в виде обычных файлов, доступных для просмотра и редактирования.

При установленном флаге "Защищать скрипты паролем" содержимое файла невозможно будет посмотреть.

При попытке обратиться к скрипту изнутри системы SIMP Light, последняя запросит пароль перед открытием скрипта.

Таким образом, ознакомиться с содержанием скрипта сможет только сотрудник, знающий пароль, который был указан при установке флага "Защищать скрипты паролем". Точно также, этот пароль понадобится ввести при процедуре сброса флага "Защищать скрипты паролем".


Примечание
При установке флага "Защищать скрипты паролем" необходимо перезапустить модуль "Редактор каналов" для того, чтобы защита скриптов и блок-схем заработала в полном объёме.


  Использовать полное имя канала

Флаг "Использовать полное имя канала" оказывает влияние на работу функций (процедур), использующих имена активных каналов, находящихся в группах панели "Список активных каналов" модуля "Редактор каналов".

Активированный параметр "Использовать полное имя канала":
- решает проблему уникальности имен активных каналов (теперь в разных группах можно иметь каналы с одинаковыми именами);
- облегчает клонирование свойств группы (скрипты могут сразу работать в новой группе без необходимости редактирования кода скрипта)

Все эти возможности достигаются использованием подстановки "${CurrentGroup}" в имени канала при написании скрипта:

  • Подстановка в операторе "ReadValue('${CurrentGroup}/Имя_канала')" указывает компилятору заменить это ключевое слово на путь до канала, в котором размещен скрипт, то есть использовать полное имя канала.


  • Использование подстановки "${CurrentGroup}" позволяет копировать свойства группы активных каналов вместе со скриптами, которые сразу будут работать в новой группе, безо всякой корректировки кода скрипта.

    Например, этот код будет одинаково успешно работать и в канале "Пресс №1. Средняя t" и в канале "Пресс №2. Средняя t" из вышеприведенной иллюстрации списка активных каналов.



    При включении режима полного имени меняется поведение:

    • Редактора виртуальных каналов
      Отключается поддержка уникальности имен при дублировании групп. Уникальность поддерживается только на самом верхнем уровне имен групп, все что внутри группы остается неизменным.
    • Генератора отчетов
      Для отчетов по мгновенным значениям, данные для которых берутся из работающего модуля "Монитор", необходимо использовать полные имена каналов.


    Примечание
    Режимы "короткого имени" и "полного имени" между собой НЕ СОВМЕСТИМЫ. Переключение режимов в настройках сопровождается предупреждением о возможной потере работоспособности скриптов и некоторых отчетов. Скрипты, использующие короткие имена, не смогут найти каналы при переключении на полное имя, и наоборот.


    Полное имя канала складывается из пути до канала и непосредственно самого имени канала. Например, в проекте есть группа "Group 1", внутри которой находится группа "Group 2", а внутри нее канал "Температура". При включении поддержки полного имени, имя канала в скрипте должно быть "Group 1/Group 2/Температура".

    Если канал не принадлежит ни к одной группе, то использование подстановки "${CurrentGroup}" не является обязательным, хотя подстановка и может быть использована.

    Если параметр "Использовать полное имя канала" УСТАНОВЛЕН, то:

    • оператор использующий имя активного канала, не принадлежащего ни к одной группе, МОЖЕТ быть написан одним из вариантов (на примере оператора ReadValue()):
      • ReadValue('Имя_канала')
      • ReadValue('${CurrentGroup}/Имя_канала')
    • оператор использующий имя активного канала, принадлежащего к одной из групп, ДОЛЖЕН быть написан одним из вариантов (на примере оператора ReadValue())::
      • ReadValue('Имя_группы/Имя_канала')
      • ReadValue('${CurrentGroup}/Имя_канала')

    Если параметр "Использовать полное имя канала" НЕ УСТАНОВЛЕН, то:

    • оператор использующий имя активного канала, не принадлежащего ни к одной группе, ДОЛЖЕН быть только так (на примере оператора ReadValue()):
      • ReadValue('Имя_канала')
    • оператор использующий имя активного канала, принадлежащего к одной из групп, ДОЛЖЕН быть написан только так (на примере оператора ReadValue()):
      • ReadValue('Имя_канала')