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

cnsSubStr

Извлекает части пути службы CNS.

Краткое описание

bool cnsSubStr(string cnsPath, int flags[, bool ]);

Параметр

ПараметрОписание
cnsPathПуть службы CNS, который должен быть проанализирован
flagsОпределяет, какие части пути должны быть извлечены. Можно комбинировать использование нескольких флажков с двоичным ИЛИ. Доступны следующие флажки:
CNSSUB_SYS: Имя системы. Если resolvePath имеет значение «истина», и можно разрешить окно просмотра, то имя системы будет взято из существующего окна просмотра, в противном случае оно будет взято из строки заданного пути.
CNSSUB_VIEW: Если при указании не выбраны другие флажки, тогда будет имя окна просмотра («<>»), в противном случае — путь к окну просмотра («.<>:»).
CNSSUB_PATH: Путь к узлу. Если resolvePath имеет значение «истина», и можно разрешить путь, то CNSSUB_PATH будет действовать начиная с разделителя окна просмотра и до последнего существующего узла включительно. В противном случае он будет действовать начиная с разделителя окна просмотра и до дополнительного второго разделителя окна просмотра (не включительно) и дополнительного разделителя пути непосредственно перед ним (см. примеры).
CNSSUB_PARENT:Как CNSSUB_PATH, но только без последнего узла. Если CNSSUB_PATH имеет только один узел, то этот узел будет возвращен.
CNSSUB_ROOT: Первый узел из CNSSUB_PATH.
CNSSUB_NODE: Последний узел из CNSSUB_PATH.
CNSSUB_TAIL: Любой элемент после CNSSUB_PATH.
resolvePathОпределяет необходимость разрешения пути. Если имеет значение «истина», и существует окно просмотра или узел с заданным путем, то существующий элемент будет использоваться для определения имени системы, а также для разделения CNSSUB_PATH и CNSSUB_TAIL. Если имеет значение «ложь» или невозможно найти элемент, то указанные части будут извлечены посредством синтаксического анализа строки пути. Отключение разрешения пути полезно главным образом тогда, когда вы уже знаете о существовании узла, следовательно, это поможет вам избежать использования дополнительных служебных данных для доступа к службе CNS.

Возвращаемое значение

Возвращает значение TRUE (ИСТИНА) в случае успешного выполнения или FALSE (ЛОЖЬ) — при возникновении ошибки.

Ошибки

Описание

Данная функция извлекает части пути службы CNS.

ПРИМЕР

main()

{

cnsSubStr(«System1.View1:», CNSSUB_SYSTEM); //»System1″

cnsSubStr(«System1.View1:», CNSSUB_VIEW); //»View1″

cnsSubStr(«System1.View1:», CNSSUB_SYSTEM | CNSSUB_VIEW); //»System1.View1:»

cnsSubStr(«System1.View1:», CNSSUB_VIEW | CNSSUB_PATH); //».View1:»

cnsSubStr(«System1.View1:», CNSSUB_PATH); //»»

cnsSubStr(«System1.View1:», CNSSUB_TAIL); //»»

cnsSubStr(«System1.View1:root», CNSSUB_PATH); //»root»

cnsSubStr(«System1.View1:root», CNSSUB_ROOT); //»root»

cnsSubStr(«System1.View1:root», CNSSUB_NODE); //»root»

cnsSubStr(«System1.View1:root», CNSSUB_PARENT); //»root»

cnsSubStr(«System1.View1:root», CNSSUB_VIEW | CNSSUB_PATH); //».View1:root»

cnsSubStr(«System1.View1:root», CNSSUB_SYS | CNSSUB_VIEW | CNSSUB_PATH); //»System1.View1:root»

cnsSubStr(«System1.View1:root», CNSSUB_TAIL); //»»

cnsSubStr(«.View1:root.node1.node2″, CNSSUB_PATH); //»root.node1.node2»

cnsSubStr(«.View1:root.node1.node2″, CNSSUB_ROOT); //»root»

cnsSubStr(«.View1:root.node1.node2″, CNSSUB_NODE); //»node2»

cnsSubStr(«.View1:root.node1.node2″, CNSSUB_PARENT); //»root.node1»

cnsSubStr(«.View1:root.node1.node2″, CNSSUB_VIEW | CNSSUB_PATH); //».View1:root.node1.node2″

cnsSubStr(«.View1:root.node1.node2″, CNSSUB_TAIL); //»»

cnsSubStr(«.View1:root.node1.node2.», CNSSUB_PATH); //»root.node1.node2″

cnsSubStr(«.View1:root.node1.node2.», CNSSUB_NODE); //»node2″

cnsSubStr(«.View1:root.node1.node2.», CNSSUB_TAIL); //».»

cnsSubStr(«.View1:root.node1.node2.:_online.._value», CNSSUB_PATH); //»root.node1.node2″

cnsSubStr(«.View1:root.node1.node2.:_online.._value», CNSSUB_NODE); //»node2″

cnsSubStr(«.View1:root.node1.node2.:_online.._value», CNSSUB_TAIL); //».:_online.._value»

cnsSubStr(«.View1:root.node1.node2.dpe1.dpe2:_online.._value», CNSSUB_PATH, false); //»root.node1.node2.dpe1.dpe2″

cnsSubStr(«.View1:root.node1.node2.dpe1.dpe2:_online.._value», CNSSUB_NODE, false); //»dpe2″

cnsSubStr(«.View1:root.node1.node2.dpe1.dpe2:_online.._value», CNSSUB_TAIL, false); //»:_online.._value»

// если узел «.View1:root.node1.node2» существует,

// но «.View1:root.node1.node2.dpe1» не является:

cnsSubStr(«.View1:root.node1.node2.dpe1.dpe2:_online.._value», CNSSUB_PATH, true); //»root.node1.node2″

cnsSubStr(«.View1:root.node1.node2.dpe1.dpe2:_online.._value», CNSSUB_NODE, true); //»node2″

cnsSubStr(«.View1:root.node1.node2.dpe1.dpe2:_online.._value», CNSSUB_TAIL, true); //».dpe1.dpe2:_online.._value»

}

Используется для объекта

Функции управления службы общих имен

Доступность

Интерфейс пользователя, CTRL

См. также

cns_createView

Позволяет создать новое представление (View).

Краткое описание

bool cns_createView(string view, langString viewdisplay, string viewseparator);

Параметр

ПараметрОписание
viewИмя окна просмотра
viewdisplayName der für die Sicht angezeigt werden soll
viewseparatorSeparator der für die Sicht verwendet werden soll

Возвращаемое значение

Функция возвращает значение TRUE, если она была создана успешно, и значение FALSE, если произошла ошибка.

Ошибки

Возможные ошибки:

  • Имя представления уже присвоено
  • Недопустимый разделитель

Описание

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

ВНИМАНИЕ

Следующие символы не разрешены для использования в качестве разделителей: ‘,»,’*’,’?’
Также следует обратить внимание на то, что цифры и буквы, которые уже используются в названии узлов или самого представления, недопустимы!

ПРИМЕР

В следующем примере создается новое представление с именем «MyView».

main()

{

langString myLang;
setLangString(myLang,0,»Meine Sicht»);
setLangString(myLang,1,»My View»);

DebugN(cns_CreateView(«myView», myLang, «.»));

}

Используется для объекта

Функции управления службы общих имен

Доступность

Интерфейс пользователя, CTRL

См. также

cnsSetSystemNames

Изменяет отображаемое имя заданной системы.

Краткое описание

bool cnsSetSystemNames(string sys, langString displayNames);

Параметр

ПараметрОписание
sysИмя системы
displayNamesНовое отображаемое имя системы

Возвращаемое значение

Возвращает значение TRUE (ИСТИНА) в случае успешного выполнения или FALSE (ЛОЖЬ) — при возникновении ошибки.

Ошибки

Описание

Данная функция изменяет отображаемое имя заданной системы.

ПРИМЕР

main()

{

langString newSysNames;

setLangString(newSysNames, 0, «Mein System»);

setLangString(newSysNames, 1, «My System»);

cnsSetSystemNames(«System1», newSysNames);

}

Используется для объекта

Функции управления службы общих имен

Доступность

Интерфейс пользователя, CTRL

См. также

cnsSetProperty

Задает свойства для данного узла в виде пары ключ/значение.

Краткое описание

bool cnsSetProperty(string cnsPath, string key, anytype value);

Parameter

ПараметрОписание
cnsPathИдентификационный путь к узлу
keyИмя ключа
valueЗначение ключа

Возвращаемое значение

TRUE or FALSE indicating success or failure of the operation.

Ошибки

Возможные ошибки:

  • Неправильные или отсутствующие параметры
  • Не удалось найти определенный узел
  • Пара ключ/значение превышает максимальную длину для свойств узла (256 байт). Следовательно, пара не может быть добавлена.

Описание

Для узлов CNS можно сохранять свойства в виде пар ключ / значение. Эта функция устанавливает свойство для определенного узла. Если указанный ключ не существует, он создается с заданным значением. Если ключ уже существует, обновляется только значение. На каждый узел может быть сохранено максимум 256 байт (сумма длины ключа, значения и символов внутреннего контроля).

Следующие ключи уже используются «КАСКАД Цифра» внутренне:

КлючЗначение
OA:ICONИмя значка (включая путь относительно папки с изображениями), который должен быть установлен для узла.
OA:OPCСоответствующий битовый шаблон для определения уровня доступа. Например, 3 для установки битов для чтения и записи.Обратитесь к главе CNS соответствующего OPC-сервера для получения дополнительной информации об уровне доступа.
OA:MODКоличество используемых регистров (см.Modbus/TCP server details или Plantmodel Editor — Modbus
OA:DMODКоличество элементов dyn (см. Modbus/TCP server details или Plantmodel Editor — Modbus

ПРИМЕР — OPC

main()

{

cnsSetProperty(«System1.View1:Node3.Node1», «OA:OPC», 5);

}

Назначение

Common Name Service Control Funktionen

Доступность

UI, CTRL

См. также

cnsGetPropertycnsGetPropertyKeyscnsRemoveProperty

cnsRemoveProperty

Удаляет ключ из свойства данного узла.

Краткое описание

bool cnsRemoveProperty(строка cnsPath, строковый ключ);

Параметры

ПараметрОписание
cnsPathПуть к идентификатору узла
keyИмя ключа

Возвращаемое значение

ИСТИНА или ЛОЖЬ, указывающие на успех или неудачу операции.

Ошибки

Возможные ошибки:

  • Неправильные или отсутствующие параметры
  • Не удалось найти определенный узел

Описание

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

main()

{

cnsRemoveProperty(«System1.View1:Node3.Node1», «OA:OPC»);

}

Используется для объекта

Common Name Service Control Funktionen

Доступно

UI, CTRL

См. также

cnsGetPropertycnsGetPropertyKeyscnsSetProperty

cnsRemoveObserver

Прекращает регистрацию заданной функции-наблюдателя.

Краткое описание

bool cnsRemoveObserver(string callbackFunction);

Параметр

ПараметрОписание
callbackFunctionИмя зарегистрированной функции CTRL

Возвращаемое значение

Возвращает значение TRUE (ИСТИНА) в случае успешного выполнения или FALSE (ЛОЖЬ) — при возникновении ошибки.

Ошибки

Описание

Данная функция прекращает регистрацию заданной функции-наблюдателя.

ПРИМЕР

main()

{

cnsRemoveObserver(«observerCB»);

}

Используется для объекта

Функции управления службы общих имен

Доступность

Интерфейс пользователя, CTRL

См. также

cnsGetViewSeparators

Возвращает разделители заданного окна просмотра.

Краткое описание

bool cnsGetViewSeparators(string view, langString &separators);

Параметр

ПараметрОписание
viewПуть к идентификатору, указанный для окна просмотра
separatorsПолучает разделители заданного окна просмотра

Возвращаемое значение

Возвращает значение TRUE (ИСТИНА) в случае успешного выполнения или FALSE (ЛОЖЬ) — при возникновении ошибки.

Ошибки

Описание

Данная функция возвращает разделители заданного окна просмотра.

ПРИМЕР

main()

{

langString separators;

cnsGetViewSeparators(«System1.View1:», separators);

DebugN(separators);

}

Используется для объекта

Функции управления службы общих имен

Доступность

Интерфейс пользователя, CTRL

См. также

cnsGetViews

Возвращает пути всех окон просмотра в заданной системе.

Краткое описание

bool cnsGetViews(string system, dyn_string &views);

Параметр

ПараметрОписание
systemИмя системы
viewsПолучает пути ко всем окнам просмотра в системе

Возвращаемое значение

Возвращает значение TRUE (ИСТИНА) в случае успешного выполнения или FALSE (ЛОЖЬ) — при возникновении ошибки.

Ошибки

Описание

Данная функция возвращает пути к идентификаторам всех окон просмотра в заданной системе.

ПРИМЕР

main()

{

dyn_string viewPaths;

cnsGetViews(«System1», viewPaths);

DebugN(viewPaths);

}

Используется для объекта

Функции управления службы общих имен

Доступность

Интерфейс пользователя, CTRL

См. также

cnsGetViewDisplayNames

Возвращает отображаемые имена заданного окна просмотра.

Краткое описание

bool cnsGetViewDisplayNames(string view, langString &displayNames);

Параметр

ПараметрОписание
viewПуть к идентификатору, указанный для окна просмотра
displayNamesПолучает отображаемые имена всех элементов окна просмотра

Возвращаемое значение

Возвращает значение TRUE (ИСТИНА) в случае успешного выполнения или FALSE (ЛОЖЬ) — при возникновении ошибки.

Ошибки

  •  

Описание

Данная функция возвращает отображаемые имена заданного окна просмотра.

ПРИМЕР

main()

{

langString viewNames;

cnsGetViewDisplayNames(«System1.View1:», viewNames);

DebugN(viewNames);

}

Используется для объекта

Функции управления службы общих имен

Доступность

Интерфейс пользователя, CTRL

См. также

cns_createView

Создает новое представление.

Краткий обзор

bool cns_createView(string view, langString viewdisplay, string viewseparator);

Параметры

ПараметрОписание
ВидИдентификатор представления ВНИМАНИЕ! Для создания представления путь к представлению должен содержать имя системы, например «System1.MyView».
просмотр дисплеяОтображаемое имя представления
разделитель просмотровРазделитель для представления

Возвращаемое значение

Возвращает TRUE в случае успеха и FALSE в случае ошибки.

Ошибки

Возможные ошибки:

  • Идентификатор представления уже используется
  • Недопустимый разделитель

Описание

Эта функция создает новое представление. Для представления можно определить идентификатор, многоязычное имя и разделитель.

Примечание:

Следующие символы не допускаются в качестве разделителей: ‘,»,’*’,’?’

Более того, цифры и буквы, которые уже используются в представлении или имени узла, не должны использоваться.

ПРИМЕР

В примере создается представление с идентификатором «MyView» для многоязычного проекта (английский и немецкий языки).

main()

{

langString myLang;
setLangString(myLang,0,»Meine Sicht»);
setLangString(myLang,1,»My View»);

DebugN(cns_CreateView(«myView», myLang, «.»));

}

Используется для объекта

Функции управления службы общих имен

Доступность

Интерфейс пользователя, CTRL

См. также