Первый шаг во взаимодействии с Сервером OPC из MATLAB® программное обеспечение предназначено для установления соединения между сервером и программным обеспечением OPC Toolbox™. Вы создаете opcda
клиентские объекты для управления соединением между Сервером OPC и тулбоксом. Затем вы создаете dagroup
объекты для управления наборами daitem
объекты, а затем вы создаете daitem
сами объекты, которые представляют серверные элементы. Серверный элемент соответствует физическому устройству или месту хранения в системе SCADA или DCS.
Вы должны создать объекты тулбокса в порядке, описанном выше. Подключение к серверам доступа к OPC Data описывает, как создать opcda
объект клиента. В этом разделе рассматриваются способы создания и настройки dagroup
и daitem
объекты.
Программное обеспечение OPC Toolbox DA реализовано с использованием трех базовых объектов, призванных помочь вам управлять подключениями к серверам и наборами серверных элементов. Три объекта расположены в определенной иерархии, показанной на следующем рисунке.
Объекты клиента доступа к OPC Data (opcda
объект клиента s
) представляет определенный образец клиента OPC, который может взаимодействовать только с одним сервером. Сервер определяется с помощью Host
и ServerID
свойства. The Host
свойство определяет компьютер, на котором установлен сервер. The ServerID
свойство задает идентификатор программы (ProgID) сервера, созданный при установке сервера на этом узле. The opcda
объект клиента действует как контейнер для нескольких групповых объектов и управляет подключением к серверу, обменом данными с сервером и пространством имен сервера.
Объекты группы доступа к данным (dagroup
объекты) представляют контейнеры для одного или нескольких серверных элементов (точки данных на сервере.) A dagroup
объект управляет тем, как часто должны считываться элементы группы, должна ли храниться информация об исторических элементах, а также управляет созданием и удалением элементов. Группы не могут существовать без opcda
объект клиента. Вы создаете dagroup
объекты, использующие addgroup
функция opcda
объект клиента.
Объекты элемента доступа к данным (daitem
объекты) представляют серверные элементы. Элементы определяются идентификатором элемента, который однозначно определяет, что серверный элемент в пространстве имен сервера. A daitem
объект имеет Value
, а Quality
, и TimeStamp
, представляющую информацию, собранную сервером из прибора или точки данных в системе SCADA. The Value
, Quality
, и TimeStamp
свойства представляют информацию, известную серверу, когда серверу в последний раз было предложено получить доступ к информации с этого инструмента.
A dagroup
объект может существовать только «внутри» opcda
объект клиента. Точно так же, daitem
объект может существовать только в dagroup
объект. Вы создаете dagroup
объекты, использующие addgroup
метод opcda
объект клиента. Вы создаете daitem
объекты, использующие additem
метод dagroup
объект.
Программное обеспечение OPC Toolbox использует объекты для определения сервера, к которому должен подключиться клиент, и расположения элементов в группах. Следующий рисунок показывает связь между OPC Toolbox Данных Доступа объектами и Сервером OPC.
The opcda
объект клиента устанавливает соединение между программным обеспечением OPC Toolbox и сервером OPC, используя стандарты спецификации доступа к OPC Data. Стандарты основаны на Microsoft® Стандарты взаимодействия COM/DCOM.
The daitem
объекты представляют определенные серверные элементы. Обратите внимание, что для эффективной работы клиента обычно требуется только подмножество всего пространства имен сервера в порядок. На рисунке выше только PV
и SP
элементы FIC01
, и LIT01
элемент, требуется для этой конкретной группы. Другая группа может содержать только одну daitem
объект, представляющий один серверный элемент.
Примечание
The dagroup
объект не имеет эквивалента на сервере OPC. Однако сервер хранит запись каждой группы, созданной клиентом, и использует это имя группы для передачи клиенту информации об элементах этой группы.
Как только вы создали opcda
объект клиента, можно добавить группы к клиенту. A dagroup
объект управляет несколькими daitem
объекты. Использование dagroup
объект позволяет считывать данные из всех элементов этой группы в одном действии, записывать данные в элементы группы, задавать действия, выполняемые при изменении значения любого из элементов этой группы или регистрировать данные для всех элементов этой группы для анализа и обработки.
Как создать dagroup
объект, вы используете addgroup
функция, задающая opcda
объект клиента, в который необходимо добавить группу, и необязательное имя группы. Правила определения имени собственной группы см. в разделе «Задание имени группы».
Приведенный ниже пример создает opcda
клиентский объект, соединяет этот объект с сервером и добавляет к клиенту две группы. Первая группа автоматически именуется сервером, а второй группе присваивается заданное имя.
da = opcda('localhost','Matrikon.OPC.Simulation.1'); connect(da); grp1 = addgroup(da); grp2 = addgroup(da,'MyGroup');
Каждая группа, созданная под определенным клиентским объектом, должна иметь уникальное имя. Это позволяет Серверу OPC уникально идентифицировать группу, когда клиент делает запрос сервера, используя эту группу. Имя может быть любым непустым вектором символов.
Вы не должны указывать имя группы для каждой группы, добавляемой к клиенту. Если вы не задаете имя, Сервер OPC автоматически присвоит вам имя группы. Каждый Сервер OPC определяет различные правила для автоматического присвоения имен группам.
При попытке создать группу с таким же именем, как и группу, уже созданную для этого клиента, будет создана ошибка.
Сведения о том, как группы автоматически именуются при создании групп с отключенным клиентом, см. в разделе Удаление объектов.
Просмотр сводных данных характеристик dagroup
созданный вами объект, введите в командной строке имя переменной, присвоенное объекту. Для примера это сводные данные для объекта grp1
.
grp1
Элементы этого списка соответствуют нумерованным элементам в сводных данных объектов:
Область заголовка Summary
включает имя dagroup
объект. В примере это присвоенное серверу имя Group0
.
The Object Parameters
В разделе перечислены значения ключевых dagroup
свойства объекта. Эти свойства описывают тип группы, daitem
объекты, связанные с группой, имя родительского элемента группы opcda
объект клиента и свойства, которые управляют тем, как сервер обновляет сведения об элементах для этой группы. В этом примере все элементы, созданные в этой группе, будут обновляться на полсекунды интервалов с интервалом нечувствительности 0%. Дополнительные сведения о том, как сервер обновляет сведения об элементах, см. в разделах События изменения данных и Подписка.
The Object Status
В разделе перечислено текущее состояние объекта. A dagroup
объект может находиться в одном из нескольких состояний:
The Active
состояние определяет, применяется ли какая-либо операция в группе к элементу.
The Subscription
состояние определяет, будут ли изменения в значении или качестве элемента приводить к событию изменения данных. Смотрите События Изменения данных и Подписка для получения дополнительной информации о Subscription
свойство.
The Logging
Состояние описывает, регистрируется ли группа или нет. Смотрите Журнал данных Сервер OPC для получения информации о том, как вести журнал данных.
The Logging Parameters
В разделе описываются значения свойств регистрации для этой группы. Свойства логгирования управляют тем, как dagroup
объект регистрирует данные, включая длительность задачи регистрации и назначение записанных данных. Смотрите Логгирование Серверы OPC данных для получения информации о логгировании данных с помощью dagroup
объекты.
A dagroup
объект без элементов не выполняет никаких полезных функций. После добавления элементов в группу можно использовать группу в
Считывайте данные из и записывайте данные в Сервер OPC. Для получения дополнительной информации см. раздел Чтение и запись данных.
Управление тем, как Сервер OPC уведомляет MATLAB об изменениях в любом элементе, связанном с dagroup
объект. Дополнительные сведения см. в разделах События изменения данных и Подписка.
Журнал данных из всех элементов этой группы для последующей обработки и анализа. Журнал Сервер OPC Data описывает, как управлять логгированием.
A dagroup
объект предоставляет контейнер для сбора одной или нескольких daitem
объекты. A daitem
объект предоставляет ссылку на конкретный серверный элемент. The daitem
объект определяет способ извлечения и хранения клиентского значения серверного элемента, а также сохраняет последние данные, извлеченные с сервера для этого серверного элемента. Можно использовать daitem
объект, чтобы считать данные с сервера для этого серверного элемента или записать значения в этот серверный элемент на сервере.
Вы создаете daitem
объект с использованием additem
функция, задающая dagroup
объект, к которому должен быть добавлен элемент, и полный идентификатор элемента серверного элемента. Вы можете получить список полных идентификаторов товаров для всех серверных элементов, используя serveritems
функция.
Приведенный ниже пример основан на примере создания групповых объектов доступа к данным путем добавления daitem
объект первой группе, созданной в этом примере. Серверный элемент, связанная с этим элементом, вызывается 'Random.Real8'
.
itm1 = additem(grp1,'Random.Real8');
Когда вы создаете daitem
вы создаете объект, который хранит значение серверного элемента локально в клиенте. Можно указать, что тип данных локального хранилища отличается от типа данных серверного хранилища. Например, можно задать, что значение, сохраненное на сервере в виде целого числа, будет сохранено в MATLAB как значение с двойной точностью с плавающей точностью, потому что вы знаете, что будете выполнять вычисления с двойной точностью со значением этого элемента.
Несмотря на возможность изменения типа данных элемента после его создания, можно также создать элемент с определенным типом данных, указав тип данных в качестве третьего параметра для additem
функция. Спецификация типа данных должна быть вектором символов, описывающей этот тип данных. Допустимыми типами OPC Data являются любой тип числовых данных MATLAB, плюс 'char'
, и 'logical'
. Дополнительные сведения о поддерживаемых типах данных см. в разделе Работа с различными типами данных.
В приведенном ниже примере в группу добавляется другой элемент grp1
созданный в примере в разделе «Создание групповых объектов доступа к данным». Идентификатор элемента 'Random.UInt2'
, который хранится на сервере в виде беззнакового 16-битного целого числа. Путем определения типа данных следующим 'double'
значение будет возвращено в MATLAB и сохранено локально в виде числа с плавающей запятой двойной точности.
itm2 = additem(grp1,'Random.UInt2','double');
Примечание
Процесс преобразования типа данных сервера в тип данных элемента выполняется сервером с помощью правил преобразования варианта Microsoft COM. Если вы пытаетесь преобразовать значение в тип данных, который не имеет области значений этого значения, Сервера OPC вернёт ошибку при попытке обновить значение этого элемента. Затем необходимо изменить тип данных на тот, который имеет ту же или большую область значений, чем тип данных серверных элементов. Для получения дополнительной информации см. раздел «Работа с различными типами данных».
Вы можете опционально задать Active
состояние daitem
объект путем передачи вектора символов в качестве четвертого параметра в additem
функция. The Active
статус можно 'on'
или 'off'
. Элемент с Active
состояние 'off'
ведет себя так, как будто элемент не был создан: обновления значения элемента не будут выполняться сервером, и чтение или запись с этим элементом не будет выполняться. Вы используете Active
состояние, чтобы временно отключить элемент без удаления этого элемента из MATLAB. Для получения дополнительной информации о Active
status, см. страницу с описанием для Active
свойство.
Просмотр сводных данных характеристик daitem
созданный вами объект, введите в командной строке имя переменной, присвоенное объекту. Для примера это сводные данные для объекта itm1
.
itm1
Элементы этого списка соответствуют нумерованным элементам в сводных данных объектов:
Область заголовка Summary
включает полный идентификатор элемента элемента. В примере элемент связан со 'Random.Real8'
Серверный элемент.
The Object Parameters
В разделе перечислены значения ключевых daitem
свойства объекта. Эти свойства описывают имя элемента Parent
группа и Access Rights
объявленный сервером.
The Object Status
В разделе перечислено активное состояние объекта. The Active
состояние определяет, применяется ли к элементу какая-либо операция в родительской группе и нужно ли уведомлять об изменениях в значении элемента.
The Data Parameters
В разделе перечислены Data Type
используется в daitem
объект для хранения значения и Value
, Quality
, и TimeStamp
последнего значения, полученного с сервера для этого элемента. Для получения дополнительной информации о Value
, Quality
, и TimeStamp
элемент см. OPC Data: Значение, Качество и TimeStamp.
Вы создаете daitem
объект, чтобы запросить значение связанного серверного элемента или записать значения в этот серверный элемент. Можно записать значения в один элемент и считать значения из одного элемента, используя daitem
объект. Для получения дополнительной информации о чтении и записи значений смотрите Чтение и Запись данных.
Можно также использовать родительский dagroup
объект для чтения и записи значений для всех daitem
объекты, содержащиеся в этой группе, или для регистрации изменений в значении элемента в течение определенного периода времени. Смотрите Журнал Сервера OPC данных для получения информации о регистрационных данных.
Когда вы создаете объекты с подключенным клиентом, программное обеспечение OPC Toolbox проверяет эти объекты с Сервером OPC перед их созданием на клиенте. Например, при добавлении группы к клиенту используя addgroup
функция, процесс проверки гарантирует, что на сервере не существует другой группы с таким именем и что сервер примет эту группу. При добавлении элемента идентификатор элемента считается допустимым серверным элементом.
Иногда может потребоваться создать иерархию объектов тулбокса без подключения к серверу. Например, вы можете быть вне сайта и хотите сконфигурировать задачу регистрации для использования на следующий день, а не ждать, чтобы сконфигурировать объекты для этой задачи, когда вы находитесь на сайте.
Программное обеспечение OPC Toolbox позволяет вам конфигурировать целую иерархию объектов тулбокса, не подключаясь к серверу. Однако без подключения к серверу тулбокс не может проверить созданные объекты с этим сервером. Вместо этого программное обеспечение OPC Toolbox выполняет некоторую базовую валидацию созданных объектов и повторно оценивает эти объекты с сервером при подключении.
При создании объектов тулбокса с отключенным клиентом выполняется следующая валидация:
При добавлении группы с помощью addgroup
функция, если вы не задаете имя, программное обеспечение OPC Toolbox автоматически присваивает уникальное имя 'group
N
'
, где N
- самое низкое целое число, которое гарантирует, что имя группы уникально. Для примера будет создана первая группа 'group1'
, затем 'group2'
и так далее.
Когда вы задаете имя группы при использовании addgroup
функция, ошибка генерируется, если группа с таким именем уже существует.
При добавлении элемента в группу с помощью additem
функция, ошибка генерируется только в том случае, если элемент с таким именем уже существует в этой группе. Другие проверки на элемент не выполняются.
При добавлении элемента в группу, если вы не задаете тип данных для этого элемента, тип данных устанавливается на 'unknown'
. При подключении к серверу тип данных будет изменен на CanonicalDataType
серверного элемента.
Несмотря на все проверки, описанные выше, сервер может не принимать все объекты, созданные на отключенном клиенте, когда этот клиент соединяется с сервером, используя connect
функция. Для примера идентификатор элемента может быть недопустимым для этого сервера, или имя группы может быть недопустимым для этого сервера. Когда вы соединяете клиент с сервером используя connect
все объекты, которые сервер отклоняет, будут удалены из иерархии объектов, и будет сгенерировано предупреждение. Таким образом, все объекты на подключенном клиенте гарантированно были приняты сервером.
Программное обеспечение OPC Toolbox поддерживает использование векторов объектов. Вектор объекта является одной переменной в рабочем пространстве MATLAB, содержащей ссылку на несколько объектов. Например, все группы, добавленные в opcda
объект клиента хранится в Group
клиента свойство. The
Group
свойство содержит dagroup
вектор объекта, который представляет все группы в этом клиенте. Точно так же, dagroup
объект имеет Item
свойство, содержащее ссылку на каждую daitem
объект, созданный в группе.
Можно создать векторы с помощью любого из стандартных методов конкатенации, доступных в MATLAB. Однако программное обеспечение OPC Toolbox накладывает некоторые ограничения на конструкцию векторов объектов:
Объекты должны быть совпадающими классами. Например, можно объединить две dagroup
объекты, но вы не можете объединить dagroup
объект со daitem
объект.
Группа и объекты элемента должны иметь одинаковый родительский элемент.
Одна из размерностей получившегося массива должна быть скалярной. Можно создать вектор-столбец (объекты m на 1) или вектор-строка (объекты 1 на n), но не матрицу m на n.
Программное обеспечение OPC Toolbox не заполняет отсутствующие элементы в векторе. Вместо этого генерируется ошибка. Для примера вы не можете назначить скалярный объект по 4-му индексу скалярному объекту.
В следующих разделах обсуждается, как создать и использовать векторы объекта тулбокса:
Конструкция векторов объектов описывает, как создать векторы объектов.
Отображение сводных данных векторов объектов описывает, как векторы объектов отображаются в командной строке.
Использование векторов объектов описывает, как можно использовать векторы объектов с программным обеспечением OPC Toolbox.
Можно создать вектор объекта с помощью любого из следующих методов:
Использование конкатенации списков отдельных переменных объекта
Использование индексированного назначения
Использование свойств объекта для извлечения векторов объекта
Создание векторов объектов с помощью конкатенации. Чтобы создать вектор объекта OPC Toolbox Data Access с помощью конкатенации, вы используете обычный синтаксис MATLAB для конкатенации. Создайте список всех объектов, которые вы хотите создать, и окружите этот список квадратными скобками ([]
). Разделите каждый элемент вектора объекта либо запятыми (,), чтобы создать вектор-строку, либо точкой с запятой (;), чтобы создать вектор-столбец.
В следующем примере создаются три фиктивных opcda
клиентские объекты и объединяет их в вектор-строку.
da1 = opcda('Host1','Dummy.Server.1'); da2 = opcda('Host2','Dummy.Server.2'); da3 = opcda('Host3','Dummy.Server.3'); dav = [da1, da2, da3];
Создание векторов объектов с использованием индексированного назначения. Индексированное назначение относится к созданию векторов путем назначения элементов конкретным индексам в векторе. В следующем примере создается тот же самый трехэлементный opcda
вектор клиентского объекта, как и в предыдущем примере, с использованием индексированного назначения.
dav(1) = opcda('Host1','Dummy.Server.1'); dav(2) = opcda('Host2','Dummy.Server.2'); dav(3) = opcda('Host3','Dummy.Server.3');
Создайте вектор объекта с использованием свойств объекта. Вы можете получить вектор объекта, если вы присвоите Group
свойство opcda
объект клиента или Item
свойство dagroup
объект, переменной. Если у клиента более одной группы или у группы более одного элемента, получившееся свойство является вектором объекта.
Для получения информации о получении свойств объекта смотрите Просмотр значения конкретного свойства.
Чтобы просмотреть сводные данные по вектору объекта, введите имя вектора объекта в командной строке. Для примера это сводные данные вектора клиента dav
.
dav
OPC Data Access Object Array: Index: Status: Name: 1 disconnected Host1/Dummy.Server.1 2 disconnected Host2/Dummy.Server.2 3 disconnected Host3/Dummy.Server.3
Сводная информация для каждого класса объекта OPC Toolbox Data Access различна. Однако базовое отображение аналогично.
Векторы объектов используются так же, как и переменная нормального объекта. Функция, которую вы вызываете с вектором объекта, просто применяется ко всем объектам в векторе. Для примера передайте вектор клиента dav
к функции connect соединяет каждый объект в векторе с его Сервером OPC.
Примечание
Некоторые функции OPC Toolbox не принимают векторы объектов в качестве аргументов. Если вы пытаетесь использовать вектор объекта с функцией, которая не принимает векторы объекта, будет сгенерирована ошибка. Обратитесь к соответствующей странице с описанием функции за информацией о том, поддерживает ли функция векторы объектов.
Если необходимо извлечь элементы вектора объекта, используйте стандартные обозначения индексации MATLAB. Например, в следующем примере второй элемент извлекается из вектора клиента dav
.
dax = dav(2);
Спецификация доступа к OPC Data предоставляет механизм совместного использования строения группы многими клиентами. Обычно клиент имеет частный доступ к группе; ни один другой клиент, подключенный к тому же серверу, не может видеть эту группу и элементы, настроенные в этой группе. Однако клиент может определить группу как общедоступную, позволяя другим клиентам, подключенным к тому же серверу, получить доступ к этой группе.
Примечание
Спецификация доступа к OPC Data определяет поддержку общедоступных групп как необязательную. Следовательно, некоторые серверы OPC не будут поддерживать общедоступные группы.
Открытая группа отличается от частной следующим образом:
Если группа определена как общедоступная, вы не можете добавлять элементы в эту группу и удалять элементы из нее. Это ограничение гарантирует, что каждый клиент, использующий эту общедоступную группу, имеет доступ к тем же элементам и не должен беспокоиться о добавлении или удалении элементов из этой группы. Перед открытием этой группы необходимо убедиться в правильности элементов группы.
Каждый клиент, который обращается к общей группе, может задать свои собственные свойства группы, такие как UpdateRate
, DeadbandPercent
, Active
, и Subscription
свойства. Для примера один клиент может задать UpdateRate
от 10
секунд для общей группы, в то время как другой клиент задает UpdateRate
как 2
секунд.
Каждая общедоступная группа, заданная на сервере, должна иметь уникальное имя. При попытке создать общедоступную группу с таким же именем, как и открытая группа на сервере, генерируется ошибка.
Один клиент не может иметь открытую группу и частную группу с таким же именем. Например, вы не можете подключиться к общей группе с именем 'LogGroup'
а затем создайте частную группу под названием 'LogGroup'
.
Используя программное обеспечение OPC Toolbox, можно определять и публиковать собственные общедоступные группы или подключаться к существующим общедоступным группам. Вы также запросами, чтобы открытые группы были удалены из Сервера OPC. В следующих разделах показано, как можно работать с общедоступными группами с помощью программного обеспечения OPC Toolbox:
Определение новой публичной группы описывает создание новых общедоступных групп.
Подключение к существующей общедоступной группе описывает, как использовать общедоступную группу, которая уже определена на сервере.
Удаление общих групп из сервера описывает, как можно удалить общие группы из Сервера OPC.
Определите новую открытую группу путем создания частной группы обычным способом (описанным в разделе «Создание групповых объектов доступа к данным») и последующего преобразования этой частной группы в общедоступную группу.
Вы используете makepublic
функция для преобразования частной группы в общедоступную группу. Единственный аргумент в makepublic
функция является групповым объектом, который необходимо преобразовать в общедоступную группу.
В следующем примере создается частная группа с определенными элементами в этой группе. Затем группа преобразуется в открытую группу.
da = opcda('localhost','My.Server.1'); grp = addgroup(da,'PublicGrpExample'); itms = additem(grp,{'Item.ID.1','Item.ID.2'}); makepublic(grp);
Тип группы можно проверить с помощью GroupType
свойство.
grp.GroupType
public
В дополнение к созданию новых общедоступных групп можно также создать подключение к существующей общедоступной группе на сервере. Чтобы получить список доступных общедоступных групп на сервере, используйте opcserverinfo
function, передает клиентский объект, который соединяется с сервером в качестве аргумента. Возвращенная структура включает поле, называемое 'PublicGroups'
, содержащего массив ячеек из общих групп, определенных на этом сервере. Если на 'PublicGroups'
поле пустое, тогда вы должны проверить 'SupportedInterfaces'
чтобы убедиться, что сервер поддерживает общедоступные группы. Сервер, поддерживающий общедоступные группы, реализует IOPCServerPublicGroups
интерфейс.
Если у вас есть список доступных общедоступных групп, вы можете создать соединение с этой группой с помощью addgroup
функция, передающая ее клиенту, который соединяется с сервером, содержащим общедоступную группу, имя общей группы и 'public'
спецификатор типа группы.
Примечание
Вы не можете создать подключение к существующей общедоступной группе, если ваш клиентский объект отключен от сервера.
Следующий пример соединяется с общей группой с именем 'PublicTrends'
на сервере с идентификатором программы 'My.Server.1'
.
da = opcda('localhost','My.Server.1'); connect(da); pubGrp = addgroup(da,'PublicTrends','public');
При соединении с общедоступной группой элементы этой группы создаются автоматически.
itm = pubGrp.Items
itm = OPC Item Object Array: Index: DataType: Active: ItemID: 1 double on item.id.1 2 uint16 on item.id.2 3 double on item.id.3
Вы не можете добавлять или удалять элементы из общей группы. Однако можно по-прежнему изменять частоту обновления группы, процент мертвых полос, а также активный статус и статус подписки группы, и можно использовать группу для чтения, записи или журнала данных так же, как для частной группы.
Когда вы закончили использовать общедоступную группу, можно использовать delete
функция для удаления этой группы из объекта клиента. Удаление группы из клиента не приводит к удалению общедоступной группы с сервера; другие клиенты могут потребовать эту группу после завершения работы с ней. Вместо этого удаление группы из клиента указывает серверу, что эта группа больше не интересует вас.
Можно запросить удаление общедоступной группы с сервера с помощью removepublicgroup
функция, передающая удаляемый клиентский объект, подключенный к серверу, и имя общедоступной группы.
Внимание
Спецификация доступа к OPC Data не обеспечивает какого-либо механизма безопасности для удаления общедоступных групп; любой клиент может запросить удаление общедоступной группы. Вы должны использовать эту функцию с особой осторожностью!
Если какие-либо клиенты в данный момент подключены к этой группе, сервер выдаст предупреждение о том, что группа будет удалена после завершения использования группы всеми клиентами.