понедельник, 22 декабря 2014 г.

Групповые операции – новый функционал Modbus Universal MasterOPC сервера

В процессе создания конфигураций OPC сервера разработчик может допустить ошибки – неправильные адреса регистров, чередование байт, или типы данных. Ошибки могут возникать не только из-за невнимательности разработчика, так и из-за неточностей в исходной проектной документации, на основе которой он создает конфигурацию. Если ошибка допущена в одном-двух тегах, то ее исправление не займет много времени, но как быть, если ошибки сразу у множества тегов? Для решения данной задачи в третьей версии Modbus Universal MasterOPC сервера реализован новый функционал – групповые операции.

Вызов окна групповых операций

Для проведения групповых операций с тегами сделано специальное окно. Вызвать данное можно двумя способами. Первый способ – через контекстное меню устройства, подустройства или группы.
При этом открывается окно, в котором представлены все теги данного устройства. 
У каждого тега можно отключить галочку – тогда операции над этим тегом выполняться не будут. Операции с тегами мы разберем чуть позже.
Второй способ более удобен – через таблицу тегов. Внимательные пользователи нашего сервера уже обратили внимание на вкладку «Таблица тегов» в нижней части окна.
Ранее, используя таблицу тегов, можно было посмотреть полный список тегов, а также перейти на конкретный тег в дереве через двойной клик мыши. Теперь через данную таблицу можно вызвать и окно групповых операций. При таком вызове в окно попадают только те теги, которые были выделены в таблице. Можно выделить все теги:

А также выделить отдельные теги, используя стандартные клавиши выделения – Shift (выделение группы тегов), Ctrl (выделение отдельных тегов) и Ctrl + Shift (прибавление группы тегов к уже выделенным). Таким образом в таблице можно выделить только теги, необходимые для исправления.
Кроме того, для повышения удобства мы добавили в таблицу возможность сортировки тегов по всем атрибутам. Теперь достаточно кликнуть мышью на заголовок столбца нужного атрибута, и теги отсортируются. Например, мы ходим внести правки во все теги, с типом Float – нажимаем на заголовок столбца «Тип в устройстве». Все теги от сортируются по этому атрибуту и окажутся сгруппированными. 

Теперь выделить нужные нам теги можно будет очень быстро.
Повторное нажатие на заголовок столбца сбросит сортировку – теги вернуться на стандартное чередование (как в дереве).
Аналогично можно отсортировать по адресам – и убедиться, что нет пропусков регистров (или внести изменения в какие-то регионы адресов), по регионам и т.д.  Сортировка возможна по всем атрибутам таблицы тегов.

Обзор групповых операций

Выделим несколько тегов в таблице и рассмотрим какие же возможности дает окно групповых операций.
В окно добавились те теги, которые мы выделили в таблице.

Копировать, вырезать и удалить

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

Изменить адрес

Данная операция предназначена для правки адресов тегов. Доступно три алгоритма изменения – «По смещению», «По типам» и «По сумме». При типе изменения «по смещению» задается базовый адрес – адрес, который будет иметь первый тег в таблице, и смещение (шаг) – значение, которое будет прибавляться к базовому адресу и присваиваться следующим тегам. 
При алгоритме «по типам» нужно задать только базовый адрес, а адреса следующих тегов будут определяться, исходя из их типа в устройстве. То есть типы Int16 и Uint16 находятся в одном Modbus регистре, Float и Int32 – в двух регистрах, double – четырех регистрах.
Например, у нас есть список тегов с разными типами:
Если применить к ним операцию по типам, указав базовый адрес 0, то теги получат следующие адреса.
То есть OPC сервер, в зависимости от типа тега определяет, сколько Modbus регистров он занимает, и определяет какой адрес должен иметь следующий за ним тег, чтобы не возникло пересечения регистров.
При операции «По сумме» к тегам прибавляется заданное число.

Изменить перестановку байтов

Данная операция предназначена для изменения чередования байт у тегов. Данная ошибка  является распространенной при разработке конфигурации. По стандарту у двухбайтовых переменных (int16, uint16) используется чередование байт «Старшим байтом вперед», у четырехбайтовых (int32, uint32, float) – «Старшим словом вперед», у восьмибайтовых (double) - «Старшим двойным словом вперед». Иногда разработчики пропускают этот нюанс, и при наладке получают от устройства некорректные данные. Используя данную операцию можно быстро исправить эту ошибку. Для задания чередования байт используется стандартное окно перестановки байт.
Особенно эффективно при такой операции предварительно отсортировать теги – выполнить сортировку по типу в устройстве, выделить теги нужных типов и затем поменять чередование байт.

Изменить регион

При разработке конфигураций такая ошибка встречается, но не часто. Если при разработке конфигурации вы перепутали регион тегов, и, например, вместо Input_Registers указали Holding_Registers, то теперь через операцию «Изменить регион» эту ошибку можно будет быстро править.

Изменить тип тега в устройстве и сервере

Аналогичным образом производится исправление типа данных в устройстве и сервере.

Заключение

Групповые операции – мощный инструмент правки конфигурации. При этом его можно использовать как на этапе правки готовой конфигурации (для исправления ошибок), так и на этапе создания конфигурации (правка после тиражирования).
Для лучшего понимания работы групповых операций, мы сняли видеопример, в котором есть как обзор функционала, так и примеры его использования:

Скачать видеопример, а также новую версию Modbus Universal MasterOPC сервера можно с нашего сайта:
http://insat.ru/prices/info.php?pid=6944#m1






Комментариев нет:

Отправить комментарий

Поделиться