Архив рубрики: Control_Grundlagen

Подключение библиотек в Control

Помимо функций, представленных в последующих разделах, в сценариях Control могут также использоваться все функции, которые содержатся в файлах, находящихся в директории <путь_проекта>\scripts\libs. Некоторые функции могут вызываться только определёнными менеджерами (например, функция «setValue()» может вызываться только менеджером пользовательского интерфейса), поэтому библиотеки, содержащие в себе вызовы данных функций могут использоваться только в соответствующих менеджерах.

Библиотека Control может изменяться пользователем в любом текстовом редакторе даже во время выполнения проекта. Файл библиотеки может быть загружен непосредственно в редактор сценариев модуля GEDI (редактор GEDI -> меню «Редактировать» -> элемент меню «Редактировать библиотеку CTRL»). Редактор сценариев обеспечивает синтаксический контроль редактируемого файла.

При каждом открытии панели в модуле PARA или в модуле VISION ( с помощью диалогового окна выбора файла), менеджер пользовательского интерфейса проверяет наличие изменений в файлах библиотек. В том случае, если библиотека была изменена до момента запуска сценария, который использует библиотеку, то библиотека (файл библиотеки) подключается в её последней редакции. При наличии синтаксических ошибок в файле библиотеки изменения не применяются. При этом выводятся имя файла и номер строки с ошибкой.

Одновременный запуск нескольких сценариев CTRL

Несколько сценариев могут быть запущены при помощи одного менеджера сценариев WCCOActrl. Для этого в строке «Опции:» необходимо применить параметр «-f» с последующим указанием имени файла, содержащего перечень запускаемых сценариев. Данный файл имеет расширение .lst.

ПРИМЕР:

WCCOActrl -f pvss_scripts.lst

В примере выше pvss_scripts.lst представляет собой ASCII-файл, в котором могут быть указаны имена нескольких сценариев CTRL, по одному имени в строке. Все указанные в списке сценарии запускаются менеджером сценариев, при этом первый сценарий в списке запускается в первую очередь. Список сценариев также может содержать строки комментариев и пустые строки (строки комментариев начинаются с «#»). Поиск сценариев, указанных в списке, производится во всех директориях сценариев проекта (по аналогии с запуском отдельного сценария CTRL).

Подключение библиотек

Для указания библиотек CTRL, DLL или shlib, требующихся в сценарии или панели, используется ключевое слово #uses. При этом необходимость указания в конфигурационном файле используемых библиотек отсутствует. Подобный подход упрощает использование библиотек, а сами библиотеки загружаются по мере необходимости. Перечень библиотек, используемых менеджером, также может быть указан в файле «config.level«. Тем не менее, рекомендуется использовать ключевое слово #uses. Информация об использовании ключевого слова #uses и о подключении библиотек при помощи записей в файле «config.level» представлена ниже.

ВНИМАНИЕ

Если необходимая в панели функция не содержится в подключаемой по умолчанию библиотеке CTRL, интересующая библиотека должна быть подключена так, как описано ниже.

Ключевое слово #uses

Ключевое слово #uses предназначено для указания библиотек CTRL, DLL или shlib, требующихся в сценарии или панели.

#uses «myLib.ctl»

ПРИМЕЧАНИЕ

При подключении библиотек не требуется указание расширений имён файлов библиотек. По умолчанию библиотеки и расширения языка Control просматриваются в следующем порядке:
1. <Указанное имя библиотеки>
2. <Имя библиотеки>.ctl
3. <Имя библиотеки>.ctc
4. <Имя библиотеки>.dll или <Имя библиотеки>.so

или DLL

#uses «CtrlADO»

ВНИМАНИЕ

В случае, если #uses используется для подключения библиотек DLL/shlib, указывать файловое расширение не требуется, так как оно добавляется автоматически, в зависимости от платформы. Например, для записи #uses «CtrlADO» в ОС Windows осуществляется поиск файла CtrlADO.dll, а в ОС Linux — CtrlADO.so. Однако для конкретных библиотек, таких как #uses «myLib.ctl», следует указывать расширения.

Библиотеки CTRL, DLL или shlib, указанные в сценарии или в панели, действительны не только в сценарии, но и в пределах менеджера, и остаются в памяти до остановки самого менеджера. Библиотеки загружаются в память ядром CTRL. Ключевое слово может использоваться в начале каждого сценария, а также в функциях с областью видимости в пределах панели. Ключевое слово #uses может быть использовано неограниченное количество раз. При необходимости подключения в каком-либо сценарии библиотеки, которой требуется подключение другой библиотеки (например, сценарию myLib.ctl необходима библиотека yourLib.ctl, а последней необходима xLib.ctl), в данном сценарии следует подключить только непосредственно используемую библиотеку (в данному примере — yourLib.ctl). При подключении одной или нескольких больших библиотек первое открытие панелей может занимать продолжительное время.

ПРИМЕЧАНИЕ

«uses» является ключевым словом и не может использоваться в качестве имени переменной.

Подключение библиотек при помощи записей в файле «config.level»

Существует стандартный файл <путь_КАСКАД>/config/config.level, в котором определяется, какие библиотеки CTRL должны подключаться различными менеджерами. Он содержит настройки по умолчанию для менеджеров.

ВНИМАНИЕ

Настройки по умолчанию из файла <путь_КАСКАД>/config/config.level считываются автоматически. Изменения в данном файле не допускаются! Изменения настроек по умолчанию следует выполнять путём изменения файла «config.level» в директории ПРОЕКТА! Конфигурационный файл в директории проекта считывается первым. Далее считывается файл, находящийся в директории соответствующей версии программы. В случае наличия удаленного проекта, который использует локальный проект в качестве серверного проекта, файл удалённого проекта считывается последним. Формализованная последовательность:

1. Файл проекта
2. Файл в директории системы
3. Удалённый проект, использующий локальный проект в качестве серверного

Записи о подключаемых библиотеках располагаются в отдельных разделах файла «config.level«, которые соответствуют различным менеджерам, например [ui], [ctrl] и т.д. Секция [ui_extend] соответствует модулям PARA и GEDI. Таким образом, менеджер, работающий с параметрами запуска «-extend» или «-m para» или «-m gedi» (PARA, GEDI), считывает значения из секции [ui_extend]. Для всех менеджеров используются следующие ключевые слова в файле «config.level«.

LoadAllCtrlLibs

Тип: unsigned

По умолчанию: 0 (Диапазон: 0/1)

При значении 1 функционирование менеджера не отличается от обычного, он осуществляет загрузку всех файлов из директории сценариев/библиотек, другие записи с ключевыми словами «LoadCtrlLibs» и «UnloadCtrlLibs» игнорируются. По умолчанию подключаются только явно указанные библиотеки CTRL.

LoadCtrlLibs

Записи с данным ключевым словом располагаются в разделе менеджера и обеспечивают подключение всех указанных библиотек менеджера. При использовании в одной записи нескольких имён библиотек, данные имена разделяются запятыми. Ключевое слово может использоваться неограниченное количество раз. Загруженная библиотека может быть удалена при помощи последующей записи с ключевым словом «UloadCtrlLibs«.

ВНИМАНИЕ

Пустые сценарии или сценарии, начинающиеся с «.», не загружаются!

UnloadCtrlLibs

Записи с данным ключевым словом располагаются в разделе менеджера и обеспечивают удаление всех указанных библиотек из списка библиотек, предполагаемых к загрузке. При использовании в одной записи нескольких имён библиотек, данные имена разделяются запятыми. Ключевое слово может использоваться неограниченное количество раз. Библиотека, которая ранее была удалена, может быть снова подключена при помощи «LoadCtrlLibs«.

ПРИМЕР:

[ctrl_1]
LoadCtrlLibs = «archiv.ctl»

Менеджеру сценариев с номером 1 для архивирования данных требуется «archiv.ctl».

[ui]
LoadCtrlLibs = «archiv.ctl, libTOOLs»

Менеджер пользовательского интерфейса запускает панели для архивирования данных.

Подключение библиотек Ctrl при помощи командной строки

-loadCtrlLibs <list>
 

Подключение указанных библиотек CTRL. <list> — список подключаемых библиотек, такой же, как и в конфигурационном файле, только без кавычек.

Таким же образом могут использоваться параметры запуска «-LoadNoCtrlLib» и «-LoadAllCtrlLibs».

«-LoadNoCtrlLib» очищает список подключаемых библиотек. Список может быть затем перезаполнен при помощи параметра запуска «-LoadCtrlLibs <list>» в той же командной строке.

ПРИМЕР:

-loadNoCtrlLib -loadCtrlLibs javaui.ctc

После того, как список загружаемых библиотек был очищен, загружается только библиотека Ctrl «javaui.ctc».

Шифрование панелей

Шифрование панелей обеспечивает дальнейшую невозможность их открытия/изменения пользователем в GEDI. Зашифрованную панель можно открыть только в VISION.

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

ВНИМАНИЕ!

  • Открытие/дешифрование зашифрованной панели в GEDI не представляется возможным. Таким образом, резервная копия исходной панели должна быть всегда доступна системному интегратору. Зашифрованная панель предназначена только для конечного пользователя.
  • Совмещение зашифрованных панелей невозможно!

ПРИМЕЧАНИЕ

Для отображения дублирующих копий панелей в окне обзора проекта GEDI необходимо использовать пункт контекстного меню Show Backup Panels (Отобразить дублирующие панели).

Для шифрования одной или нескольких панелей (.pnl и .xml) предлагаются следующие опции шифрования:

  • С применением пункта констекстного меню Encrypt Panel (Шифровать панель) в окне обзора проекта GEDI.

Перед шифрованием панели с использованием опции контекстного меню Encrypt Panel (Шифровать панель) Шифровать панель, системный интегратор должен принять решение о том, как его панель должна шифроваться:

Шифрование панели при помощи окна обзора проекта

Шифрование без дополнительной лицензии

Для шифровки панели без ее визуализации (при помощи VISION) необходима дополнительная лицензия и выполнение следующих шагов:

  1. Откройте Обзор проекта в GEDI.
  2. Щелкните правой кнопкой мыши на панели, планируемой для шифрования, и выберите пункт контекстного меню Encrypt Panel (Шифровать панель).

  3. Откроется окно для ввода лицензионного ключа. Оставьте поле ввода незаполненным и нажмите кнопку OK.
  4. После успешного шифрования диалоговое сообщает, что панель была зашифрована без лицензионного ключа. Нажмите кнопку OK.
  5. Теперь, при попытке открытия панели двойным щелчком в GEDI, открывается диалоговое окно, сообщающее о том, что это зашифрованная панель, изменение которой невозможно (= открыто в GEDI). Но ее все еще можно открыть в VISION (например, с помощью пункта контекстного меню Open in QuickTest Module (Открыть в модуле быстрого тестирования), см. рисунок выше).

Шифрование с лицензионным ключом

  1. Откройте Обзор проекта в GEDI.
  2. Щелкните правой кнопкой мыши на панели, планируемой для шифрования, и выберите пункт контекстного меню Encrypt Panel (Шифровать панель).

  3. Откроется окно для ввода лицензионного ключа. Введите лицензионный ключ, который будет проверяться на предмет наличия полномочий пользователя на открытие этой панели в VISION. Лицензионный ключ может иметь, максимум, 10 символов. Нажмите кнопку OK.
  4. Впоследствии, «КАСКАД Цифра» генерирует кодированный ключ из лицензионного ключа для защиты от возможного несанкционированного использования (для получения дополнительной информации см. Лицензионный ключ в файле защиты). После успешного шифрования, диалоговое окно предоставляет информацию о том, какой кодированный ключ был использован для шифрования панели. Необходимо его записать и нажать кнопку OK (Ключ также копируется в буфер обмена, так что его данные можно вставить в любой файл для безопасного хранения).
  5. Без действующей лицензии панель не может быть открыта ни в GEDI, ни в VISION. После добавления кодированного ключа к файлу защиты, панель можно открыть в VISION.

ПРИМЕЧАНИЕ

Чтобы пользователь мог открывать только лицензированные панели в проекте «КАСКАД Цифра» и не мог использовать собственные панели, можно использовать лицензионный ключ «licensedPanelsOnly = 1». Для получения дополнительной информации, см. Лицензирование.

Опции командной строки для шифрования панелей

Инициируйте запуск менеджера интерфейса пользователя с помощью следующих опций командной строки, чтобы зашифровать одну или несколько панелей.

Опция командной строкиФункция
-encrypt [licenseKey] -p <panelName>Шифрует одну панель.[licenseKey] — это необязательный параметр. Его можно указать, если панели должны шифроваться с помощью дополнительного лицензионного ключа.Для параметра <panelName> необходимо ввести имя панели, если панель хранится в каталоге проекта \panels. В противном случае необходимо указать абсолютный путь к панели, например, C:\Kaskad\myProj\panels\gedi\myPanel.pnl.
-encrypt [licenseKey] -p <startDir>Рекурсивное шифрование всех панелей из определенного каталога. [licenseKey] — это необязательный параметр. Его можно указать, если панели должны шифроваться с помощью дополнительного лицензионного ключа.Для параметра <startDir> необходимо указать начальный каталог, из которого панели должны рекурсивно шифроваться, если каталог хранится в каталоге проекта \panels. В противном случае необходимо указать абсолютный путь к каталогу, например, C:\Kaskad\myProj\panels\myPanels\gedi..Примечание. Для шифрования всех панелей из каталога установки \panels, полный путь должен заканчиваться обратной косой, например, -encrypt -p C:\Sybcom\Automation\Kaskad\3.10\panels\.
-noBackupПредотвращает создание резервного файла (файл .bak) незашифрованной, исходной панели.

Лицензионный ключ в файле защиты

Лицензионный ключ, введенный интегратором, не виден для будущего конечного пользователя, а сделано это для того, чтобы он не мог создавать собственные зашифрованные панели, которые бы использовали лицензионный ключ интегратора. То есть, конечный пользователь видит только кодированный ключ, который сгенерирован программой «КАСКАД Цифра» во время шифрования. Его необходимо ввести в файл защиты.

Для установления различий, шифрованный ключ начинается с «pe_» и заканчивается на «_pe».

ПРИМЕР

Интегратор выбирает «myFeature» в качестве лицензионного ключа.

«КАСКАД Цифра» формирует кодированный ключ во время шифрования, например:

pe_87sdfhsdkrzlkjh4w_pe = 1

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

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

Шифрование сценариев/библиотек программы CTRL

Предусматриваются следующие опции для шифрования сценариев:

Вне зависимости от того, какая именно опция шифрования используется, до начала шифрования необходимо решить, нужен ли лицензионный ключ для последующего выполнения сценариев. Это делается добавлением одной из следующих строк в сценарий, который необходимо зашифровать:

// $License: NOLICENSE
 

либо
 

// $License: newFeature

«NOLICENSE» указывает, что для использования .ctc лицензия не нужна.

«newFeature» указывает, что ключевое слово лицензии «newFeature» должно существовать в файле shield (см. также раздел Лицензирование).

ПРИМЕЧАНИЕ

При определении ключевого слова лицензии необходимо учитывать следующие ограничения:

— Для ключевого слова лицензии следует использовать только строчные буквы (a…z).
— Разрешается использовать не более 11 букв.

ПРИМЕЧАНИЕ

Обратите внимание, что если до этого момента незашифрованный сценарий был, например, загружен в конфигурационный файл или использовалось выражение #uses, а зашифрованный сценарий должен быть загружен после шифрования, то необходимо изменить расширение с .ctl на .ctc.

Шифрование с помощью инструмента WCCOAtoolCryptCtrl

Инструмент WCCOAtoolCryptCtrl находится в каталоге <путь_КАСКАД>/bin, а его вызов из оболочки используемой операционной системы осуществляется следующим образом:
 

WCCOAtoolCryptCtrl <absoluthPath>\<inputFileName> [<absoluthPath>\<outputFileName>]

Указывать имя выходного файла не обязательно. Если вы четко не укажите имя выходного файла, автоматически будет использоваться имя входного файла. Зашифрованный сценарий создается в том же каталоге с расширением .ctc. Поэтому незашифрованный сценарий с расширением .ctl не удаляется.

Изменения, внесенные в .ctl, можно обновить до получения расширения .ctc посредством повторного выполнения команды (с помощью того же имени выходного файла).

Параметр -help или -h указывает информацию об инструменте шифрования:
 

WCCOAtoolCryptCtrl -help

ПРИМЕР

Откройте оболочку и измените на каталог \bin данной версии. Выполните следующую команду:

WCCOAtoolCryptCtrl <путь_проекта>\scripts\libs\Scripts.ctl

Файл Scripts.ctlшифруется и сохраняется в каталоге  <proj_path>/scripts/libs под именем Scripts.ctc . Зашифрованный файл имеет такое же имя, как и входной файл, так как выходной файл не был точно определен.

Шифрование посредством окна обзора проекта

Окно обзора проекта модуля GEDI позволяет шифровать сценарии в выполняющемся проекте. Для этого необходимо нажать правой кнопкой мыши на сценарии, который должен быть выполнен, а затем выбрать пункт Encrypt Script (Зашифровать сценарий).

Зашифрованный сценарий сохраняется с расширением .ctc в том же каталоге и стем же именем. Поэтому незашифрованный сценарий с расширением .ctl не удаляется.

Изменения, внесенные в .ctl, можно обновить до получения расширения .ctc посредством повторного шифрования того же сценария.

Шифрование, основы

Шифрование панелей и сценариев/библиотек программы CTRL (далее используется термин «сценарии») позволяет шифровать панели или сценарии, защищая таким образом вашу информацию и работу. Таким образом гарантируется тот факт, что посторонние лица не будут иметь доступ к определенным вами функциям и не смогут внести изменения в панели с помощью модуля GEDI.

Например, если вы не хотите непосредственно предоставлять кому-либо сценарии или панели отдельных функций, то вы можете также зашифровать панели и сценарии и установить лицензионные требования. Это значит, что в файле защиты должно существовать определенное ключевое слово лицензии, необходимое для использования отдельной функции (панели, сценарии). Это обеспечивает существенное преимущество при получении расширений «КАСКАД Цифра», которые были реализованы ценой больших усилий и высоких затрат.

ПРИМЕЧАНИЕ

Если во время шифрования панели/сценария используется новое ключевое слово лицензии, а это ключевое слово еще не существует в файле защиты, значит необходимо изменить существующую лицензию или получить новую (если панель/сценарий используются на новом компьютере). 

Шифрование панелей описано в разделе Encryption of Panels (Шифрование панелей). Информацию по шифрованию сценариев/библиотек программы CTRL см. в разделе Encryption of CONTROL scripts/libraries (Шифрование сценариев/библиотек программы CTRL).

ПРИМЕЧАНИЕ

Обратите внимание, что для шифрования панели/сценария вам необходимо обладать правами на запись.

Функции языка Control

A B C D E F G H I L M N O P Q R S T U V W X Y Z

Область доступности

Функции, входящие в стандартный объём поставки «КАСКАД Цифра», могут вызываться в сценариях пользовательского интерфейса, в сценариях, запускаемых при помощи менеджеров сценариев, а также в рамках функций точек данных и действий по алармам. Информация об области доступности каждой из функций представлена в индивидуальных описаниях данных функций.Ниже представлены сокращения, которые указывают на то, где могут применяться рассматриваемые функции:
 
  • UI (Интерфейс пользователя):  Функции могут использоваться в сценариях, вызываемых в рамках пользовательского интерфейса. Подобные сценарии Control могут вызываться либо из меню, либо по событиям, связанным с графическими объектами.
  • CTRL (Control): Функции могут использоваться в сценариях, вызываемых менеджером сценариев.
  • DP (функции точек данных или действия по аларму): Функции могут вызываться в рамках действия по аларму или в рамках функции точки данных.

Ожидающие функции

Функции, отмеченные литерой «W», блокируют выполнение сценария до получения ответа от Менеджера событий. Возвращаемое функцией значение указывает только на то, возникла ли ошибка при вызове функции. Возвращаемое значение не указывает каким-либо образом на возможные ошибки в сообщении, полученном от Менеджера событий. Ошибки хранятся в отдельной переменной. Проверка на предмет наличия ошибок, возникших во время выполнения ожидающей функции, может быть выполнена при помощи функции «getLastError()» (см. раздел «Ожидающие функции«).

Прочие функции

Здесь сгруппированы функции, которые не соответствуют другим категориям.

addGlobal()beep()callFunction()
createComObject()   createQRCodeFile()crypt()
dataHost()Debug()DebugFN()
DebugFTN()DebugN()DebugTN()
delay()dollarSubstitute()  enableSound()
evalScript()eventHost()execScript()  
getClipboardText()  getenv()  getGlobals()
getGlobalType()  getHostByAddr()getHostByName()
getHostname()getLicenseOption()getScreenSize()
getStackTrace()  getSystemId()getSystemName()
getSystemNames()getType()getTypeName()
getUiFunctionList()getUiStyle()globalExists()
HOOK_aes_acknowledgeTableFunction()HOOK_ep_acknowledgeTableFunction()html_ref()
httpConnect()httpDisconnect()httpParseDate()
httpServer()httpSetMaxAge()httpSetMaxContentLength()
isAckable()isEvConnOpen()isFunctionDefined()
isTableAckable()moduleOff()moduleOn()
msc_createFav()msc_FavMenu()msc_movePanel()
msc_moveToNextScreen()msc_moveToPrevScreen()myDisplayName()
myUiDpName()numberMatch()OPCEnumQuery()
rand()releaseComObject()removeDoneCB()
removeGlobal()seGetCursorPos()seGetLine()
seInsertLine()seRemoveLine()seSetCursorPos()
seSetLine()setClipboardText()setTrace()
snmpMIBBrowserGetAdditionalInfos()snmpMIBBrowserGetHierarchyNames()srand()
startSound()usesTouchScreen()userDefFunc()
stopSound()system()

Расширение XML языка программирования Control

Расширение XML языка программирования Control обеспечивает возможность использования данных XML с помощью языка сценариев CTRL.

Расширение реализует XML DOM, уровень 2 (объектная модель документа). DOM, уровень 2 является Рекомендацией W3C для XML интерфейсов, которые сопоставляют составляющие XML документа в иерархической структуре. DOM предоставляет интерфейс получения доступа, а также изменения содержания и структуры XML файла. Данное формирует иерархический вид документа (просмотр в виде дерева). Таким образом, объектная модель документа постоянно размещается в памяти после синтаксического анализа документа, что обеспечивает простоту обработки.

Спецификацию DOM, уровень 2 можно найти по адресу http://www.w3.org/DOM/.

Расширение XML языка программирования Control позволяет выполнять считывание, запись и изменение данных либо из файла, либо из строки. DOM предоставляет интерфейс доступа к содержимому и структуре для их изменения.

Для изменения XML файла можно использовать следующие функции:

xmlAppendChild()xmlNextSibling()
xmlChildNodes()xmlNodeName()
xmlCloseDocument()xmlNodeType()
xmlDocumentFromFile()xmlNodeValue()
xmlDocumentFromString()xmlParentNode()
xmlDocumentToFile()xmlRemoveElementAttribute()
xmlDocumentToString()xmlRemoveNode()
xmlElementAttributes()xmlSetElementAttribute()
xmlFirstChild()xmlSetNodeValue()
xmlGetElementAttribute()xmlNewDocument()

Функции окон

Эти функции должны использоваться только в пользовательском интерфейсе. Они открывают/закрывают панели, модули или уровни.

ChildPanelOn()ChildPanelOnCentral()
ChildPanelOnCentralModal()ChildPanelOnCentralModalReturn()
ChildPanelOnCentralReturn()ChildPanelOnModal()
ChildPanelOnModalReturn()ChildPanelOnModule()
ChildPanelOnModuleCheckPos()ChildPanelOnModuleModal()
ChildPanelOnModuleModalReturn()ChildPanelOnModuleReturn()
ChildPanelOnParent()ChildPanelOnParentModal()
ChildPanelOnParentModalReturn()ChildPanelOnParentReturn()
ChildPanelOnRelativ()ChildPanelOnRelativModal()
ChildPanelOnRelativModalReturn()ChildPanelOnRelativReturn()
ChildPanelOnReturn()ChildPanelReturnValue()
getChildCentralPosition()LayerOff()
LayerOffPanel()LayerOffPanelInModule()
LayerOn()LayerOnPanel()
LayerOnPanelInModule()LoginDialog()
LogoutDialog()moduleOff()
moduleOn()ModuleOnWithPanel()
panelOff()panelOff()
PanelOffModule()PanelOffPanel()
PanelOffReturn()PasswordDialog()
ptms_LoadOneBasePanel()restorePanel()
RootPanelOn()RootPanelOnModule()
SwitchLayer()SwitchLayerPanel()
SwitchLayerPanelInModule()ZoomModule()

Ожидающие функции

Управляющие функции ожидания блокируют выполнение сценария до получения ответа от менеджера событий. Возвращаемое значение функции указывает только что ошибка произошла перед выдачей вызова функции, но оно не отображает информацию, содержит ли полученное сообщение ошибку. Ошибки хранятся в отдельной переменной. Ее можно проанализировать и выполнить ее обработку в системе Control с использованием функции getLastError().

ПРИМЕЧАНИЕ

Управляющие функции ожидания определяются по присваиваниям «управляющей функции ожидания» и «W» в разделе Возможность использования документации функции.

alertConnect()dpSetUnit()
alertDisconnect()dpSetWait()
alertGetPeriod()dpTypeChange()
delay()dpTypeCreate()
dpConnect()dpTypeDelete()
dpCreate()dpWaitForValue()
dpDelete()evalScript()
dpDisconnect()execScript()
dpGet()getCurrentOSUser()
dpGetAsynch()getAllOSGroups()
dpGetPeriod()getAllOSUsers()
dpNames()getCurrentDomainName()
dpQuery()getWindowsEvents()
dpQueryConnectAll()OPCEnumQuery()
dpQueryConnectSingle()system()
dpQueryDisconnect()tcpOpen()
dpSetAlias()tcpRead()
dpSetComment()verifyOSUser()
dpSetDescription()v24Read()
dpSetFormat()dpSetTimedWait()

Функции менеджера пользовательского интерфейса (UIM):

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

setValue(«a-table», «printTable», …)errorDialog()
scriptEditor()Навигатор popupMenu()
colorEditor()popupMenuXY()
fillSelector()openDialog()
lineSelector()childPanel()
fontSelector()moduleOn()
dpSelector()printRootPanel()
langEditor()printPanel()
panelSelector()printTable()
folderSelector()getConfirmDps()
fileSelector()moduleAddDockModule()
textEditor() 

Управление пользователями (функции Control)

Эти функции осуществляют проверку пользователя, его идентификаторы и соответствующие полномочия. Пользователи «КАСКАД Цифра» могут обладать таким свойствами как имя, идентификационный номер, пароль и код допуска. Они контролируются автоматизированной системой управления технологическими процессами с использованием внутренней точки данных «_Users». Следующие функции имеют доступ к значениям элементов этой точки данных.

uss_getUserSettings()checkPassword()convManIdToInt()
convManIntToName()getManIdFromInt()getOSDomainName()
getUserId()getUserName()setUserNamePVSS()
getUserPermission()setUserId()uss_getGenericSetting()
uss_getSpecificSetting()uss_getSpecificUserSetting()

Следующие функции реализованы для управления пользователями ОС Windows:

getAllOSGroups()getAllOSUsers()getCurrentDomainName()
getOSUser()getOSGroupID()getOSGroupInfo()
getOSGroupName()getOSGroups()getOSGroupUsers()
getOSUserGroups()getOSUserID()getOSUserInfo()
getOSUserName()getUserPermissionForArea()getWindowsEvents()
setUserNameSSO()verifyOSUser()wss_getGenericSetting()
wss_getSpecificSetting()wss_getSpecificWorkstationSetting()wss_getWorkstationSettings()