Skip to content

Latest commit

 

History

History
2238 lines (1725 loc) · 209 KB

ReadMe.md

File metadata and controls

2238 lines (1725 loc) · 209 KB

Содержание

Проект

Описание надстройки и ее использование

Настройки проекта

Оборудование IO

Операции Eplan

Устройства технологической схемы

Редактирование технологических объектов

Установка ограничений

Синхронизация и экспорт

Объектная модель по ISA

Система помощи OSTIS

Межпроектный обмена сигналами

Работа с описанием базовых объектов

IOL-Conf

1 Правила именования проекта

Имя проекта является важной частью любого проекта. Оно используется в автоматически генерируемых .lua файлах (PAC_name), а так же в других функциях надстройки. Имя проекта берется из названия файла-ярлыка проекта (предоставляется API Eplan).

Имя проекта логически состоит из двух частей: имя площадки, имя проекта.

Правила именования:

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

2 Описание надстройки и ее использование

2.1 Описание надстройки

Надстройка EasyEPlanner разработана как Add-In к EPLAN, на данный момент используется EPLAN 2.9. Надстройка используется при разработке проектов в EPLAN и позволяет автоматизировать работу инженера по автоматизации, а так же инженера-программиста, который описывает проект на языке программирования LUA. С помощью EasyEPlanner описываются технологические объекты (Танк, Бойлер и др.), операции этих объектов, шаги операций, устанавливаются ограничения для операций, а так же множество других свойств технологического объекта. В конечном итоге, EasyEPlanner генерирует LUA файлы, которые загружаются в контроллер.

Надстройка содержит следующие пункты меню:

  1. Экспорт XML для EasyServer.
  2. Экспорт технологических устройств в Excel.
  3. Редактировать технологические объекты.
  4. Устройства, параметры объектов.
  5. Операции, ограничения и привязка объектов.
  6. Синхронизация названий устройств и модулей.
  7. Генерация описания IOL-Conf.
  8. О дополнении.

Описание каждого из пунктов Вы найдете при прочтении данной документации.

2.2 Подключение к Eplan

Для того, что бы использовать EasyEPlanner, можно перекомпилировать библиотеку, либо скачать последнюю Release версию проекта. Для подписывания надстройки используйте свой Eplan сервер подписей. Далее, необходимо запустить EPLAN и в меню и перейти в Сервисные программы -> API-Addins. В появившемся окне необходимо нажать кнопку "Загрузить", откроется диалоговое окно, в котором необходимо перейти в папку с надстройкой и выбрать файл "EPLAN.EplAddin.EasyEPlanner.dll", а после нажать кнопку "Открыть". Надстройка загрузится, и появится пункт меню "EPlaner".

ВАЖНО: Периодически обновляйте папку с надстройкой через SVN, а так же, не удаляйте файлы из папки, иначе работа надстройки не гарантируется!

2.3 Описание автоматически генерируемых Lua-файлов

Дополнение EasyEPLANner автоматически генерирует некоторые файлы управляющей программы контроллера. Данные файлы находятся в следующем каталоге с проектами (задается в configuration.ini).

Список файлов, описывающих проект:

  • main.plua - описание управляющей программы. При отсутствии данного файла, он генерируется автоматически с шаблонами необходимых функций. Если данный файл уже существует, то тогда он остаётся прежним;
  • main.io.lua - описание привязки устройств к модулям I/O. В данном файле вначале идет список удаленных узлов (BC - bus couplers) с указанием их параметров (IP-адрес, тип и т.п.) и наполнения - модулей ввода/вывода (I/O modules). Далее идет список технологических устройств (S88 term - control modules) с указанием каналов ввода\вывода, которые с ними связаны. Внутри каналов описывается к какому BC они привязаны, к каким портам подключены и смещения адресного пространства. Помимо каналов внутри технологических устройств могут быть его различные параметры;
  • main.devices.lua - описывает список всех устройств проекта. Раньше использовался в ПЛК, а сейчас является устаревшим и является поддерживающим для межпроектного обмена.
  • main.modbus_srv.lua - описание взаимодействия с modbus-клиентами;
  • main.objects.lua - описание объектов проекта. Описание из редактора технологических объектов. Сначала описываются технологические объекты (Танк, Бойлер и др.). Внутри этих объектов могут описываться различные параметры, таймеры, указываться свойства этого объекта, а так же список операций с шагами и действиями;
  • main.profibus.lua - описание profibus шины;
  • main.restrictions.lua - описание ограничений, которые устанавливаются для технологических объектов через редактор технологических объектов. Устанавливаются в числовом виде, поэтому лучше просматривать их через редактор в EPLAN;
  • main.rm_PACs.lua - описание взаимодействия с удаленными PAC. Находится в бета-версии.
  • prg.lua - описание базовой функциональности объектов. В текущей реализации в файле сначала описываются переменные, к которым присваиваются те или иные объекты, после идет добавление базовой функциональности, в перспективе будет добавлена так же базовая инициализация объектов. Файл генерируется так же на основе данных редактора технологических устройств.

2.4 Настройка каталога проектов

Дополнение позволяет настраивать каталог для записи и считывания lua файлов проектов. Для этих целей в каталоге с дополнением есть файл configuration.ini. Если пути не указаны - будет выведена ошибка.

В файле напротив ключа folder_path в кавычках указывается путь к каталогу проектов. Например: folder_path="C:\Folder1\folder2".

Также есть возможность указания в файле configuration.ini нескольких путей к проектам. Если заданы пути, но ни один из них не существует - описание будет сохранено по первому найденному пути. Если задано и существует несколько путей - будет сохранено по первому существующему пути. Разделитель для путей - ";" (точка с запятой).

Например: folder_path="C:\Folder1\folder2;D:\Folder3\folder4".

2.5 Версия надстройки

В меню EasyEplanner есть пункт - О дополнении. С помощью этого пункта можно узнать текущую версию надстройки, которая подключена к Вашему Eplan. Нажав этот пункт меню будет показано диалоговое окно, в котором будет обозначена версия надстройки.

Версия генерируется по следующему шаблону - Год.Месяц.Сборка.Ревизия.

Сборка - число дней, начиная с 1 января 2000 года. Ревизия - число секунд от полуночи, независимо от часового пояса.

2.6 Статистика

2.6.1 Оценочная сложность проекта

В надстройке осуществляется генерация статистики относительно сложности проекта (по заранее заданным значениям). В частности, измеряется количество строк кода в файле main.plua (предельное значение для статистики - 1000 строк кода), измеряется количество аппаратов в проекте (предельное значение - 10 штук), агрегатов (50 штук) и количество тэгов (5000 штук) и количество устройств (1000 штук). На основе этих значений генерируются SVG-картинки, которые могут говорить о сложности проекта. Картинки будут находиться в папке с описанием проекта (docs/statistics).

Файлы:

  • agregates_total.svg - количество агрегатов проекта.
  • lines_total.svg - количество строк кода в файле main.plua.
  • tags_total.svg - количество тэгов в проекте.
  • units_total.svg - количество аппаратов в проекте.
  • devices_total.svg - количество устройств в проекте.
  • io_link_usage.svg - количество используемых IO-Link модулей ввода-вывода в процентном отношении к общему количеству модулей ввода-вывода.
  • io_couplers_total.svg - количество узлов ввода-вывода.
  • io_modules_total.svg - общее количество используемых модулей вовда-вывода.

2.6.2 Модуль простоя надстройки

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

3 Настройка проекта

3.1 Настройка диапазона IP-адресов проекта

Помимо корректного имени, в проекте необходимо задать диапазон IP-адресов, который был заложен для этого проекта. Этот диапазон задается в свойствах проекта, в полях "Пользователь, доп. поле[1]", и "Пользователь, доп. поле[2]".

  • Пользователь, доп. поле[1] - начальное значение диапазона.
  • Пользователь, доп. поле[2] - конечное значение диапазона.

По заданному диапазону проверяются все устройства, содержащие IP-адрес, на корректное заполнение.

Пример корректного IP-адреса: "192.168.1.0.". IP-адрес задается без кавычек и разделяется точками.

3.2 Настройка тестирования проекта

Надстройка позволяет тестировать проект на работоспособность. Тесты написаны не на весь функционал, проект тестируется частично.

В данный момент, чтобы включить тестирование, необходимо в файле конфигурации configuration.ini указать в секции TestSettings параметр ProjectsTestEnabled в True. Если этого параметра в секции нет, то будет использовано стандартное значение - False.

Пример:

[TestSettings]
ProjectTestEnabled=True

Если переключить этот параметр в False, то тестирование не будет включаться.

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

  1. Тестирование проекта прошло успешно. - Это сообщение означает, что текущие тесты проведены успешно, но это не гарантирует 100% работоспособности проекта, так как тесты не покрывают все случаи.
  2. В системе не найден LUA, тестирование проекта невозможно. - Это сообщение говорит о том, что в системе не найден LUA, его надо установить.
  3. Тестирование проекта завершилось с ошибками. Проект не работоспособен. - Это сообщение говорит о том, что тесты завершились с ошибкой. После этого сообщения обычно выводятся логи проведенных тестов, где видно, какие ошибки привели к его некорректной работе.

Для корректного запуска тестов, тестовый скрипт должен быть обновлен до последней версии. Система пытается найти тестовый скрипт в директории ..\..\spec\main.lua, относительно папки с файлами проекта. Также, помимо настроенного каталога с проектами, нужно чтобы скрипты управляющей программы тоже были настроены. Это каталог ..\..\sys-scripts относительно папки с файлами проекта, также ..\..\editor относительно папки с файлами проекта. Аргументы командной строки хранятся в папке CMD этого проекта.

4 Оборудование IO

ВАЖНО: Все устройства (устройства, узлы ввода-вывода и др.), добавляемые в проект должны быть расположены на ФСА (функциональная схема автоматизации) для того, что бы надстройка их считывала. Если устройства на ФСА нет, то оно не будет прочитано! Дополнительные поля устройств заполняются также на ФСА. Также важно, что бы в устройстве на ФСА был включен флажок - "Главная функция", а в его макросах на других схемах - отключена.

4.1 Настройка узлов и модулей ввода-вывода

Именование узлов осуществляется в следующем виде: буква A и номер, кратный 100. Пример: "A100", "A200". В проекте узлы должны идти последовательно от "A100" (для WAGO - старые проекты), а для новых типов проекта (Phoenix Contact) необходимо учитывать, что узловой контроллер (на котором находится управляющая программа) именуется как "A1".

У узлов так-же можно задавать параметры:

  1. Доп. поле[1] - признак пропуска устройства (если в поле написано значение - 1, то устройство игнорируется);
  2. Начальный адрес карты ПЛК (в окне "Блок ПЛК") - указывается IP-адрес устройства.

Информация о модулях ввода-вывода получается на основе описания модуля (сведения об изделии). В проекте должно быть главное изделие для модуля (узел).

4.2 Привязка устройств к модулям IO

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

Рисунок - Окно "Устройства"

Вызов данного окна осуществляется через пункт меню "EPlaner" -> "Устройства"

Рисунок - Путь к окну "Устройства"

Для привязки клеммы необходимо при активном функциональном тексте клеммы дважды нажать (double click) на требуемый канал в окне устройств (пример, выделено зеленым).

Примечание: для клапанов с AS-интерфейсом и IO-Link Mixproof клапана привязывается только 1 из 2 каналов (AI или AO).

Рисунок - Пример привязки к модулю ввода-вывода

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

При привязке действуют следующие ограничения:

  • К модулю AI привязывается AI сигнал;
  • К модулю AO привязывается AO сигнал;
  • К модулю DI привязывается DI сигнал;
  • К модулю DO привязывается DO сигнал;
  • К модулю IO-Link от Wago привязываются AO, AI сигналы;
  • К модулю IO-Link от Phoenix Contact привязываются AO, AI, DO, DI сигналы;
  • К модулю DO/DI от Phoenix Contact привязываются DO и DI сигналы;

Примечание:

  1. Для IO-Link модуля Phoenix Contact дополнительно, после комментария к сигналу, (прим., Пуск, как на рисунке ниже) через символ новой строки указывается тип канала. Тип канала указывается не всегда, только если устройство имеет более двух каналов для привязки. Тип канала указывается ТОЛЬКО для DI или DO канала. Тип каналов может быть:
    • DI (для каналов DI);
    • DO (для каналов DO).
  2. Если устройство по какой-то причине не привязывается, пожалуйста, проверьте все клеммы устройства ввода-вывода, к которому вы хотите привязаться. Клеммы не должны иметь галочек "Главная функция".

Рисунок - Пример функционального текста для модуля Phoenix Contact IO-Link

Рисунок - Пример функционального текста

Рисунок - Отображение введенного функционального текста

4.2.1 Привязка пневмоострова Festo (VTUG)

Пневмоостров Festo (DEV_VTUG - старые проекты, Y - новые) поддерживает обычную привязку к своим клеммам, а так же множественную привязку. Важно, что бы привязка осуществилась - это наличие привязки самого пневмоострова к клемме модуля ПЛК.

На электрической схеме указывается, к какой клемме ПЛК привязан пневмоостров, а на схеме обзора пневмоострова (или электрической схеме, в зависимости от расположения) происходит привязка клапанов к клеммам пневмоострова. Важно: использовать способы раздельно, для каждого из устройств.

Примечание:

  • Только тип пневмоострова Y привязывается описываемым способом. Для старых типов - DEV_VTUG, необходимо использовать обычный способ привязки (старый тип устарел, но используется в старых проектах). Поддерживается "переходное состояние", когда DEV_VTUG заменен на Y, но используется старый тип привязки. При использовании старого типа привязки с новым типом пневмоострова не гарантируется работа функции - Синхронизация названий устройств и модулей.
  • Пневмоостров, который расположен на ФСА и на схеме обзора, должен иметь галочку "Главная функция".

Рисунок - Привязка пневмоострова на электрической схеме

На первой части рисунка - пневмоостров без клемм и его привязка к модулю ввода-вывода. На втором рисунке - привязка к клеммам в прямоугольном макросе пневмоострова на схеме "Пневмоостров.Обзор".

Рисунок - Привязка пневмоострова на схеме обзора

Помимо всего описанного выше, необходимо указать тип используемого пневмоострова. Для этого, схематически располагаем пневмоостров на ФСА и прописываем в доп. поле 2 тип используемой версии (см. пункт 5.2.3). Незабываем про флажок "Главная функция".

Рисунок - Указание типа используемой версии пневмоострова

4.2.2 Правила написания комментариев к привязке

При множественной привязке, в функциональный текст будет заноситься лишь обозначение устройств (ОУ) друг за другом (прим., "+V1 +V2 +V3"), причем можно задавать её как в строку (задается изначально), так и в столбец (необходимо расставить символы переноса строки между ОУ). Разделитель при множественной привязке - символ переноса на новую строку.

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

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

  • Комментарий должен начинаться с заглавной буквы;
  • Комментарий не должен содержать в себе ОУ (прим, +V3);
  • Комментарий может содержать буквы латинского и кириллического алфавита в любом регистре (верхний, нижний), а также буквенно-цифровые обозначения (прим., CR2, B4 и др.);
  • Комментарий не должен содержать спецсимволы, скобочки, и др. (за исключением символа - ).

Пример корректного комментария: "Подача в объект OBJECT2".

4.3 Поддерживаемые модули ввода-вывода

В этом разделе находится список модулей-ввода вывода, которые поддерживаются надстройкой. Данные хранятся в файле sys_io_modules.lua, если этот файл удалить, то будет создан файл со стандартным шаблоном описания, который надо будет заполнить. В файле находится подсказка по заполнению данных, которая облегчает внесение изменений. Файл находится в папке Lua.

Производитель Название (Номер) Тип Примечание
WAGO 750-450 AI 4 канала RTD
WAGO 750-461 AI 2 канала RTD
WAGO 750-466 AI 2 канала RTD
WAGO 750-491 AI 1 канал resistance measuring bridge
WAGO 750-496 AI 8 каналов
WAGO 750-638 AI Счетчик
WAGO 750-554 AO 2 канала
WAGO 750-555 AO 4 канала
WAGO 750-655 AI/AO AS-интерфейс
WAGO 750-657 AI/AO IO-Link
WAGO 750-402 DI 4 канала
WAGO 750-430 DI 8 каналов
WAGO 750-1405 DI 16 каналов
WAGO 750-1415 DI 8 каналов
WAGO 750-1420 DI 4 канала
WAGO 750-504 DO 4 канала
WAGO 750-512 DO 2 канала relay module
WAGO 750-530 DO 8 каналов
WAGO 750-1504 DO 16 каналов
WAGO 750-1515 DO 8 каналов
WAGO 750-600 - Конечный модуль
WAGO 750-602 - Питание
WAGO 750-612 - Питание
WAGO 750-627 - Расширение шины
WAGO 750-628 - Расширение шины
Phoenix Contact AXL F CNT2 INC2 1F (2688093) AI 4 канала, счетчик
Phoenix Contact AXL F AI4 I 1H (2688491) AI 4 канала
Phoenix Contact AXL F RTD4 1H (2688556) AI 4 канала RTD
Phoenix Contact AXL F AO4 1H (2688527) AO 4 канала
Phoenix Contact AXL F IOL8 2H (1027843) AI/AO/DI/DO IO-Link с привязкой DI/DO, 8 каналов
Phoenix Contact AXL F DI16/4 2F (2688022) DI 16 каналов
Phoenix Contact AXL F DO16/3 2F (2688048) DO 16 каналов
Phoenix Contact AXL F DI8/3 DO8/3 2H (2702071) DI/DO 8 каналов DI и 8 каналов DO
Phoenix Contact AXL F DI8/1 DO8/1 1H (2701916) DI/DO 8 каналов DI и 8 каналов DO
Phoenix Contact AXL F AI2 AO2 1H 0-10V (2702072) AI/AO 2 канала AI и 2 канала DI
Phoenix Contact AXL SE AI4 I 4-20 (1088062) AI 4 канала
Phoenix Contact AXL SE RTD4 PT100 (1088106) AI 4 канала RTD
Phoenix Contact AXL SE CNT1 (1088131) AI 1 канал, счетчик
Phoenix Contact AXL SE AO4 I 4-20 (1088123) AO 4 канала
Phoenix Contact AXL SE IOL4 (1088132) AI/AO/DI/DO IO-Link с привязкой DI/DO, 4 канала
Phoenix Contact AXL SE DI16/1 (1088127) DI 16 каналов
Phoenix Contact AXL SE DO16/1 (1088129) DO 16 каналов
Phoenix Contact AXL SE SC-A (1088134) - Заглушка

Поддерживаемые контроллеры и каплеры, которые берутся из файла sys_io_nodes.lua. Он работает аналогично sys_io_modules.lua:

Производитель Название (Номер)
WAGO 750-863
WAGO 750-341
WAGO 750-841
WAGO 750-352
WAGO 750-362
WAGO 750-8202
WAGO 750-8203
WAGO 750-8204
WAGO 750-8206
Phoenix Contact AXL F BK ETH
Phoenix Contact AXL F BK ETH NET2
Phoenix Contact AXC F 1152
Phoenix Contact AXC F 2152
Phoenix Contact AXC F 3152

5 Объекты технологической схемы

Объектами являются физические танки, линии и т.д. Логически они делятся на аппараты, агрегаты, блоки управления.

5.1 Операции объектов

Операции может включать оператор. Во время операции происходит включение\выключение устройств, обработка значений с датчиков и т.д. Операции выделяются исходя из системного подхода. Операции разделяются на основные и вспомогательные. Каждая операция имеет название, характеризуется единым для всех проектов описанием (т.е. операция “наполнение” одинакова для всех проектов и характеризуется следующими параметрами: объемом наполнения, проводимость смеси, проводимость воды). Операции описываются в графическом виде в редакторе операций Eplaner.

Для операции определяется:

  1. Номера операций, на которые можно перейти после данной операцию (из схемы операций).
  2. Значения параметров, необходимые для выполнения операции.

Операции состоят из шагов. Операция может находится в состоянии выполнение, пауза, остановка.

Рисунок - Переход между состояниями операций

5.2 Схемы

Рисунок - Схема описания операций в Eplan

6 Устройства технологической схемы

6.1 Нумерация устройств

Для идентификации используются заглавные латинские символы, символ подчеркивания, спецсимволы (== ,= , +, -) и цифры.

Идентификация объектов осуществляется следующим обозначением:
== площадка = проект + технологический объект # пользовательский объект - устройство.

6.1.1 Технологический объект

Название технологического объекта (танка, линии…). Всегда содержит название латиницей и цифровой номер. Примеры типовых технологических объектов:

  • M2 – линия №2;
  • KOAG2 – коагулятор №2;
  • TCW1 – бачек с холодной водой №1;
  • THW1 – бачек с горячей водой №1.

6.1.2 Пользовательский объект

Содержит дополнительную информацию.

6.1.3 Устройство

Содержит код устройства и номер (V1 – клапан №1). Устройство уникально в пределах технологического объекта.

6.2 Перечень устройств

Ниже приведено описание используемых технологических устройств. Для каждого устройства также могут задаваться дополнительные поля (смотри раздел 5.3 "Дополнительные параметры").

6.2.1 HA. Аварийная звуковая сигнализация. Сирена

Обозначение: HA.
Каналы ввода/вывода: DO1.
Пример: HA1. Аварийная звуковая сигнализация. Сирена.

Рисунок - Пример аварийной звуковой сигнализации, сирены

6.2.2 FQT. Счетчик

Обозначение: FQT.
Подтип: FQT.
Каналы ввода/вывода: AI1.
Название каналов: AI1объем.

Обозначение: FQT.
Подтип: FQT_F.
Каналы ввода/вывода: AI2.
Название каналов: AI1поток, AI2объем.

Обозначение: FQT.
Подтип: FQT_F_OK.
Каналы ввода/вывода: AI2, DI - 1.
Название каналов: DI1состояние, AI1поток, AI2объем.
Пример: +OBJ1-FQT1. Объект 1. Объем.

6.2.3 HL. Световая сигнализация

Обозначение: HL.
Каналы ввода/вывода: DO1.
Пример: HL1. Аварийная сигнализация. Зеленый.

6.2.4 LT. Текущий уровень

Обозначение: LT, LT_CYL, LT_CONE, LT_TRUNC.
Каналы ввода/вывода: AI1.
Пример: +OBJ1-LT1. Объект №1. Текущий уровень.

Обозначение: LT_IOLINK.
Каналы ввода/вывода: AI2.
Пример: +OBJ1-LT1. Объект №1. Текущий уровень.

6.2.5 GS. Датчик положения

Обозначение: GS.
Каналы ввода/вывода: DI1.
Пример: +OBJ2-GS1. Объект №2. Датчик люка.

6.2.6 М. Мотор (электродвигатель)

Обозначение: M.
Подтип: M.
Каналы ввода/вывода: DO - 1, DI1.
Название каналов: DO1 - пуск, DI1обратная связь.

Обозначение: M.
Подтип: M_FREQ. Каналы ввода/вывода: DO - 1, DI1, AO1.
Название каналов: DO1 - пуск, DI1обратная связь, AO1частота вращения.

Обозначение: M.
Подтип: M_REV. Каналы ввода/вывода: DO2, DI1.
Название каналов: DO1реверс, DO2 - пуск, DI1обратная связь.

Обозначение: M.
Подтип: M_REV_FREQ. Каналы ввода/вывода: DO2, DI1, AO1.
Название каналов: DO1реверс, DO2 - пуск, DI1обратная связь, AO1частота вращения.

Обозначение: M.
Подтип: M_REV_2. Каналы ввода/вывода: DO2, DI1.
Название каналов: DO1реверс, DO2 - пуск, DI1обратная связь.

Обозначение: M.
Подтип: M_REV_FREQ_2. Каналы ввода/вывода: DO2, DI1, AO1.
Название каналов: DO1реверс, DO2 - пуск, DI1обратная связь, AO1частота вращения.

Обозначение: M.
Подтип: M_REV_2_ERROR. Каналы ввода/вывода: DO2, DI1.
Название каналов: DO1реверс, DO2 - пуск, DI1авария.

Обозначение: M.
Подтип: M_REV_FREQ_2_ERROR. Каналы ввода/вывода: DO2, DI2, AO1.
Название каналов: DO1реверс, DO2 - пуск, DI1авария, DI2обратная связь, AO1частота вращения.

Обозначение: M.
Подтип: M_ATV, M_ATV_LINEAR.
Каналы ввода/вывода: управляется через Ethernet.

Пример: +OBJ1-M1. Объект 1. Пуск.

6.2.7 FS. Датчик наличия потока

Обозначение: FS.
Каналы ввода/вывода: DI1.
Пример: FS1. Датчик наличия потока.

6.2.8 LS. Предельный уровень

Обозначение: LS_MIN, LS_MAX.
Каналы ввода/вывода: DI1.
Дополнительные поля:

  • Тип подключения: max, min.

Обозначение: LS.
Подтип: IO_LINK_MIN, IO_LINK_MAX Каналы ввода/вывода: AI1 (AOAI).
Дополнительные поля:

  • Тип подключения: max, min.

Пример: +TANK1-LS2. Танк №1. Верхний уровень.

6.2.9 QT. Датчик проводимости

Обозначение: QT.
Подтип: QT, QT_IOLINK.
Каналы ввода/вывода: AI1.

Обозначение: QT.
Подтип: QT_OK.
Каналы ввода/вывода: AI1, DI - 1.

Пример: OBJ1+-QT1. Объект 1. Датчик проводимости.

6.2.10 TE. Температура

Обозначение: TE.
Подтип: TE, TE_IOLINK, TE_ANALOG.
Каналы ввода/вывода: AI1.
Пример: +OBJ1-TE1. Объект №1. Температура.

6.2.11 SB. Кнопка

Обозначение: SB.
Каналы ввода/вывода: DI1.
Пример: +OBJ1-SB1. Объект №1. В дренаж.

6.2.12 V. Клапан

Обозначение: V.
Каналы ввода/вывода:

  1. V_DO1: DO - 1;
  2. V_DO2: DO - 2;
  3. V_DO1_DI1_FB_OFF, V_DO1_DI1_FB_ON: DO - 2;
  4. V_DO1_DI2: DO - 1, DI - 2;
  5. V_DO2_DI2, V_DO2_DI2_BISTABLE: DO - 2; DI - 2;
  6. V_MIXPROOF, V_BOTTOM_MIXPROOF: DO - 3; DI - 2;
  7. V_IOLINK_MIXPROOF, V_AS_MIXPROOF, V_AS_DO1_DI2, V_IOLINK_DO1_DI2: AO - 1, AI - 1;
  8. V_IOLINK_VTUG_DO1: AO - 1;
  9. V_IOLINK_VTUG_DO1_FB_OFF, V_IOLINK_VTUG_DO1_FB_ON: AO - 1, DI - 1.
  10. V_IOLINK_VTUG_DO1_DI2: AO - 1, DI - 2.

Название каналов: DOоткрыть НС, открыть ВС, открыть, закрыть, открыть мини; DIоткрыт, закрыт, AO, AI.
Пример: +OBJ1-V7. Объект №1. Дренаж.

6.2.13 VC. Управляемый клапан

Обозначение: .
Каналы ввода/вывода: AO1.
Пример: VC3. Паровой клапан.

6.2.14 DO. Управляющий (выходной) сигнал

Обозначение: DO.
Каналы ввода/вывода: DO1.
Пример: OBJ2+-DO2. Объект 2. Готовность объекта

6.2.15 DI. Входной сигнал

Обозначение: DI.
Каналы ввода/вывода: DI1.
Пример: DI10. Приемник готов.

6.2.16 AO. Выходная величина

Обозначение: AO.
Каналы ввода/вывода: AO1.
Пример: AO1. Задание производительности.

6.2.17 AI. Входная величина

Обозначение: AI.
Каналы ввода/вывода: AI1.
Пример: AI1. Ток двигателя.

6.2.18 WT. Датчик веса

Обозначение: WT.
Каналы ввода/вывода: AI2.
Пример: WT1. Весы танка 1.

6.2.19 PT. Датчик давления

Обозначение: PT.
Подтип: PT, PT_IOLINK,
Каналы ввода/вывода: AI1.
Пример: OBJ1+-PT10. Объект 1. Датчик давления.

6.2.20 Y (DEV_VTUG). Пневмоостров Festo

Обозначение: Y, DEV_VTUG - старые проекты.
Каналы ввода/вывода: AO1. (AOAI)
Пример: OBJ1+CAB1-Y1. Проект OBJ1, шкаф №1, устройство пневмоостров Festo.

6.2.21 F. Автоматический выключатель

Обозначение: F.
Каналы ввода/вывода: AI - 1, AO - 1 (AOAI)
Пример: OBJ1+CAB1-F1. Проект OBJ1, шкаф №1, устройство автоматический выключатель.

6.2.22 ПИД-регулятор

Обозначение: Любое обозначение устройства, с символом - C на крайней позиции.
Каналы ввода/вывода: отсутствуют, виртуальное устройство. Только внутренние параметры.
Пример: OBJ1+TANK1-TC1. Проект OBJ1, Танк №1, ПИД-регулятор температуры танка №1.

6.2.23 HLA. Сигнальная колонна

Обозначение: HLA.

Подтип: HLA или пустой (аналог HLA).
Каналы ввода/вывода: DO - 4 (красный, желтый, зеленый и сирена).

Подтип: HLA_VIRT
Каналы ввода/вывода: 0

Подтип: HLA_IOLINK
Каналы ввода/вывода:AI - 1, AO - 1 (AOAI)

Пример: OBJ1+TANK1-HLA1. Проект OBJ1, танк №1, сигнальная колонна №1.

В сигнальной колонне используется три лампочки – зеленая, желтая, красная – и сирена.

Мигающий красный цвет – авария, тревога (неподавленная). Частота мигания 2 Гц. Дополнительно включается сирена, которую можно отключить из проекта (клик по значку) либо она также отключиться после подтверждения тревог, пропадания аварий.

Мигающий желтый свет – неподтвержденное сообщение. Частота мигания 0.5 Гц.

Зеленый цвет – есть включенные операции (аппарата).

6.2.24 CAM. Камера

Обозначение: CAM.
Каналы ввода/вывода:

  1. CAM_DO1_DI1 - DO - 1, DI - 1;
  2. CAM_DO1_DI2 - DO - 1, DI - 2;
  3. CAM_DO1_DI3 - DO - 1, DI - 3.

Название каналов: DO - сигнал активации. DI - готовность, результат обработки 1, результат обработки 2.
Пример: OBJ1+LINE1-CAM1. Проект OBJ1, линия №1, камера №1.

6.3 Дополнительные параметры

Дополнительные параметры указываются через свойства устройства.

6.3.1 Описание устройства

В поле «Примечание» записывается описание устройства. Пример приведён ниже.

Рисунок - Запись описания устройства

6.3.2 Назначение дополнительных полей

  1. Доп. поле [1]. Определяет обрабатывать или нет данное устройство при экспорте для PAC (например, ручная заслонка не управляется автоматически). Если оно содержит значение - 1, то данное устройство не обрабатывается. Или можно снять галочку "Главная функция" у устройства.

  2. Доп. поле [2]. Определяет подтип устройства. Описание:
Параметр Описание
NONE Подтип не определен.
V_DO1 Клапан с одним каналом управления.
V_DO2 Клапан с двумя каналами управления.
V_DO1_DI1_FB_OFF Клапан с одним каналом управления и одной обратной связью (выключенное состояние).
V_DO1_DI1_FB_ON Клапан с одним каналом управления и одной обратной связью (включенное состояние).
V_DO1_DI2 Клапан с одним каналом управления и двумя обратными связями.
V_DO2_DI2 Клапан с двумя каналами управления и двумя обратными связями.
V_MIXPROOF Клапан противосмешивающий (2 канала управления и 2 обратные связи).
V_IOLINK_MIXPROOF Клапан противосмешивающий с IO-Link.
V_AS_MIXPROOF Клапан противосмешивающий с AS интерфейсом.
V_BOTTOM_MIXPROOF Клапан донный.
V_AS_DO1_DI2 Клапан с одним каналом управления и двумя обратными связями с AS интерфейсом.
V_IOLINK_DO1_DI2 Клапан с одним каналом управления и двумя обратными связями с IO-Link.
V_DO2_DI2_BISTABLE Клапан с двумя каналами управления и двумя обратными связями бистабильный.
V_IOLINK_VTUG_DO1 IO-Link VTUG клапан с одним каналом управления.
V_IOLINK_VTUG_DO1_FB_OFF IO-Link VTUG клапан с одним каналом управления и одной обратной связью (выключенное состояние).
V_IOLINK_VTUG_DO1_FB_ON IO-Link VTUG клапан с одним каналом управления и одной обратной связью (включенное состояние).
V_IOLINK_VTUG_DO1_DI2 IO-Link VTUG клапан с одним каналом управления и двумя обратными связями (включенное и выключенное состояния).
V_VIRT Виртуальный клапан.
LS_MIN Предельный уровень по схеме минимум.
LS_MAX Предельный уровень по схеме максимум.
LS_IOLINK_MIN IO-Link уровень. Подключение по схеме минимум.
LS_IOLINK_MAX IO-Link уровень. Подключение по схеме максимум.
LS_VIRT Виртуальный датчик предельного уровня.
TE Температура.
TE_IOLINK Температура IO-Link без дополнительных параметров.
TE_VIRT Виртуальный датчик температуры.
TE_ANALOG Аналоговый датчик температуры 4-20 мА.
M Мотор без управления частотой вращения.
M_FREQ Мотор с управлением частотой вращения.
M_REV Мотор с реверсом (совместный) без управления частотой вращения.
M_REV_FREQ Мотор с реверсом (совместный) с управлением частотой вращения.
M_REV_2 Мотор с реверсом (отдельный) без управления частотой вращения.
M_REV_FREQ_2 Мотор с реверсом (отдельный) с управлением частотой вращения.
M_REV_2_ERROR Мотор с реверсом (отдельный). Отдельный сигнал аварии.
M_REV_FREQ_2_ERROR Мотор с реверсом с управлением частотой вращения. Реверс включается отдельно. Отдельный сигнал ошибки.
M_ATV Мотор, управляемый частотным преобразователем Altivar. Связь с частотным преобразователем по Ethernet. Реверс и аварии опциональны.
M_ATV_LINEAR Аналогично M_ATV, только есть параметры для расчета линейной скорости.
M_VIRT Виртуальный мотор.
FQT Счетчик.
FQT_F Счетчик с расходом.
FQT_F_OK Счетчик с расходом с диагностикой.
FQT_VIRT Виртуальный счетчик (без привязки к модулям).
QT Концентратомер.
QT_OK Концентратомер с диагностикой.
QT_IOLINK IO-Link концентратомер.
QT_VIRT Виртуальный концентратомер.
LT Датчик текущего уровня.
LT_CYL Датчик уровня для танка цилиндрической формы.
LT_CONE Датчик уровня для цилиндрического танка с дном в форме конуса.
LT_TRUNC Датчик текущего уровня для танка с дном в форме усеченного конуса.
LT_IOLINK IO-Link текущий уровень с возможностью задания параметров для танка.
LT_VIRT Виртуальный датчик текущего уровня.
DI Дискретный входной сигнал.
DI_VIRT Виртуальный дискретный входной сигнал.
АI Аналоговый входной сигнал.
АI_VIRT Виртуальный аналоговый входной сигнал.
DO Дискретный входной сигнал.
DO_VIRT Виртуальный дискретный входной сигнал.
АО Аналоговый выходной сигнал.
АО_VIRT Виртуальный аналоговый выходной сигнал.
Y Пневмоостров Festo.
DEV_VTUG_8 SPECIAL Festo valve terminal (16 клапанов).
DEV_VTUG_16 SPECIAL Festo valve terminal (32 клапана).
DEV_VTUG_24 SPECIAL Festo valve terminal (48 клапанов).
PT Датчик давления.
PT_IOLINK IO-Link датчик давления.
PT_VIRT Виртуальный датчик давления.
F IO-Link автоматический выключатель.
F_VIRT Виртуальный автоматический выключатель.
VC Аналоговый клапан.
VC_IOLINK IO-Link аналоговый клапан.
VC_VIRT Виртуальный аналоговый клапан.
HLA Дискретная сигнальная колонна (4 DO сигнала на каждый из цветов и сирену).
HLA_VIRT Виртуальная сигнальная колонна.
HLA_IOLINK IO-Link сигнальная колонна.
FS Датчик наличия потока.
FS_VIRT Виртуальный датчик наличия потока.
GS Датчик положения.
GS_VIRT Виртуальный датчик положения.
HA Сирена.
HA_VIRT Виртуальная сирена.
HL Сигнальная лампа.
HL_VIRT Виртуальная сигнальная лампа.
SB Кнопка.
SB_VIRT Виртуальная кнопка.
WT Весы.
WT_VIRT Виртуальные весы.
CAM_DO1_DI1 Камера с сигналом активации и результатом обработки.
CAM_DO1_DI2 Камера с сигналом активации, результатом обработки и готовностью.
CAM_DO1_DI3 Камера с сигналом активации, двумя результатами обработки и готовностью.

Пример приведен ниже:

Рисунок - Пример добавления типа устройству

  1. Доп. поле [3]. Определяет дополнительные параметры. Параметры задаются в следующем виде: «имя_параметра»=«значение_параметра». Список параметров приведен ниже.

Рисунок - Пример добавления доп. параметров к устройству

  • V

    • P_ON_TIME Время включения, мс. (Для клапанов с обратной связью).
  • AI

    • P_C0 - Сдвиг нуля.
    • P_MIN_V - Минимальное значение.
    • P_MAX_V - Максимальное значение.
  • AO

    • P_MIN_V - Минимальное значение.
    • P_MAX_V - Максимальное значение.
  • FS

    • P_DT - Время порогового фильтра, мс.
  • QT

    • P_C0 - Сдвиг нуля.
    • P_MIN_V - Минимальное значение.
    • P_MAX_V - Максимальное значение.
  • GS

    • P_DT - Время порогового фильтра, мс.
  • QT_IOLINK

    • P_ERR - Аварийное значение.
  • LS

    • P_DT - Время порогового фильтра, мс.
  • DI

    • P_DT - Время порогового фильтра, мс.
  • LT

    • P_C0 - Сдвиг нуля.
    • P_ERR - Аварийное значение уровня.
  • LT_CYL

    • P_C0 - Сдвиг нуля.
    • P_MAX_P - Давление, на которое настроен датчик, бар.
    • P_R - Радиус танка, м.
    • P_ERR - Аварийное значение уровня.
  • LT_CONE

    • P_C0 - Сдвиг нуля.
    • P_MAX_P - Давление, на которое настроен датчик, бар.
    • P_R - Радиус танка, м.
    • P_H_CONE - Высота конической части танка, м.
    • P_ERR - Аварийное значение уровня.
  • LT_TRUNC

    • P_C0 - Сдвиг нуля.
    • P_MAX_P - Давление, на которое настроен датчик, бар.
    • P_R - Радиус танка, м.
    • P_H_TRUNC - Высота усеченной части танка, м.
    • P_ERR - Аварийное значение уровня.
  • LT_IOLINK

    • P_C0 - Сдвиг нуля.
    • P_MAX_P - Давление, на которое настроен датчик, бар.
    • P_R - Радиус танка, м.
    • P_H_CONE - Высота конической части танка, м (изначально - 0).
    • P_ERR - Аварийное значение уровня.

Параметр P_H_CONE задается по необходимости. Если он не задан - это обычный LT_IOLINK или P_H_CYL (нет разницы). Задается только один из параметров, задаваемое значение - цифра 1. Если значение не задается, то не обязательно писать, что этот параметр равен 0, его можно удалить из устройства, он автоматически станет 0.

  • LS_IOLINK

    • P_ERR - Аварийное значение.
  • TE

    • P_C0 - Сдвиг нуля.
    • P_ERR - Аварийное значение температуры.
  • Все M кроме M_ATV_LINEAR

    • P_ON_TIME - Время включения, мс.
  • M_ATV_LINEAR

    • P_ON_TIME - Время включения, мс.
    • P_SHAFT_DIAMETER - Диаметр вала, м.
    • P_TRANSFER_RATIO - Передаточное число.
  • FQT

    • P_C0 - Сдвиг нуля.
    • P_MIN_F - Минимальное значение потока.
    • P_MAX_F - Максимальное значение потока.
    • P_DT - Время ожидания появления расхода после включения связанного насоса, мс.
  • WT

    • P_C0 - Сдвиг нуля, кг.
    • P_DT - Точность датчика, в кг. Для фильтрации.
    • P_NOMINAL_W - Характеристика датчика: номинальный вес, кг.
    • P_RKP - Характеристика датчика: рабочий коэффициент передачи, мВ/В.
  • PT

    • P_C0 - Сдвиг нуля, ед.
    • P_MIN_V - Минимальное значение.
    • P_MAX_V - Максимальное значение.
  • PT_IOLINK

    • P_ERR - Аварийное значение.
  • ПИД-регулятор (вариации с символом C)

    • P_k - Параметр k. Стандартное значение - 1.
    • P_Ti - Параметр Ti. Стандартное значение - 15.
    • P_Td - Параметр Td. Стандартное значение - 0.01.
    • P_dt - Интервал расчёта, мсек. Стандартное значение - 1000.
    • P_max - Максимальное значение входной величины. Стандартное значение - 100. Единица измерения в зависимости от датчика (прим., °C, м3/ч, бар, % и др.)
    • P_min - Минимальное значение входной величины. Стандартное значение - 0. Единица измерения в зависимости от датчика (прим., °C, м3/ч, бар, % и др.)
    • P_acceleration_time - Время выхода на режим регулирования, сек. Стандартное значение - 30.
    • P_is_manual_mode - Ручной режим, 0 - авто, 1 - ручной. Стандартное значение - 0.
    • P_U_manual - Заданное ручное значение выходного сигнала, %. Стандартное значение - 65.
    • P_k2 - Параметр k2. Стандартное значение - 0.
    • P_Ti2 - Параметр Ti2. Стандартное значение - 0.
    • P_Td2 - Параметр Td2. Стандартное значение - 0.
    • P_out_max - Максимальное значение выходной величины, %. Стандартное значение - 100.
    • P_out_min - Минимальное значение выходной величины, %. Стандартное значение - 0.
    • P_is_reverse - Обратного (реверсивного) действия, 0 - false, 1 - true. Стандартное значение - 0.
    • P_is_zero_start - Нулевое стартовое значение, 0 - false, 1 - true. Стандартное значение - 1.
  • CAM

    • P_READY_TIME - Предельное время отсутствия готовности к работе, с (для CAM_DO1_DI2 и CAM_DO1_DI3).
  1. Доп. поле [4]. Определяет дополнительные свойства. Свойства задаются в следующем виде: «имя_свойства»=«’значение_ свойства’». Список свойств описан ниже. Если нет значения свойства, то тогда оно устанавливается в пустое значение (например, связанный насос для счетчика – MT='').
  • FQT

    • MT - Насосы, качающие через данный счетчик. Необходимы для анализа работоспособности счетчика (насос работает – счетчик должен показывать расход).
  • LT_IOLINK

    • PT - Датчик давления, указывающий дополнительное избыточное давление. Необходим для коррекции показаний (из значения основного датчика отнимается данное избыточное давление).
  • DO

    • DST - Получатель сигнала.
  • DI

    • SRC - Отправитель сигнал.
  • M

    • IP - IP-адрес для частотного преобразователя, управляемого через Ethernet (M_ATV, M_ATV_LINEAR) по шаблону: IP='-.-.-.-'.
  • ПИД-регулятор (вариации с символом C)

    • IN_VALUE - Устройство, задающее входную величину для ПИД-регулятора (датчик, сигнал AI).
    • OUT_VALUE - Устройство, использующее выходную величину ПИД-регулятора (исполнительное устройство или другой ПИД, если необходимо каскадное регулирование).
  • CAM

    • IP - IP-адрес камеры: IP='-.-.-.-'.
  • HLA_VIRT, HLA_IOLINK

    • SIGNALS_SEQUENCE - последовательность сигналов (лампочек) и сирены на сигнальной колонне, начиная с нижнего элемента (прим., SIGNALS_SEQUENCE='ABGYR'). A - сирена, B - синяя лампа, G - зеленая лампа, Y - желтая лампа, R - красная лампа. Правила: дублировать символы нельзя, а длина последовательности должна быть от 1 до 5 символов (т.е наличие компонента сигнальной колонны - обязательно).
  1. Доп. поле [5]. Определяет дополнительные рабочие параметры. Рабочие параметры всегда устанавливаются при загрузке контроллера, они хранятся в оперативной памяти и не передаются на сервер. Рабочие параметры задаются в следующем виде: «имя_рабочего_параметра»=«значение_рабочего_параметра». Список рабочих параметров приведен ниже.
  • V

    • R_AS_NUMBER - AS-номер, с единицы. (Для клапанов с AS-интерфейсом).
    • R_VTUG_NUMBER - VTUG-номер, с единицы. (Для клапанов с IO-Link интерфейсом, в новом типе привязки пневмоострова задается автоматически).
  • HLA

    • R_CONST_RED - Тип красного сигнала устройства при подаче на него сигнала DO. (Постоянный или мигающий). Указываем 0 - если мигающий, 1 - если постоянный.

6.4 Изделия устройств

Надстройка контролирует задание изделий в устройствах. Это нужно для более полного описания проектов, а также для корректного расчета IO-Link адресов устройств (для IO-Link устройств) и корректного генерирования файлов проекта.

Изделия не проверяются в устройствах следующих типов: VC (кроме VC_IOLINK), M (кроме M_ATV, M_ATV_LINEAR), DI, DO, AI, AO, ПИД-регулятор, CAM и во всех виртуальных подтипах.

Список IO-Link устройств (их изделий) содержится в файле sys_iolink_devices.lua. В этом файле можно добавить новые изделия (если таковых не было раньше в проектах), задать для них области ввода-вывода. Это позволит системе корректно рассчитать IO-Link адреса устройств.

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

Список поддерживаемых изделий с областями ввода-вывода:

Тип Номер типа Input (Word) Output (Word)
V AL.9615-4003-06 2 0.5 (8 bytes)
V AL.9615-4003-08 2 0.5 (8 bytes)
V AL.9615-4004-20 2 0.5 (8 bytes)
V DEF.SORIO-1SV 2 0.5 (8 bytes)
QT IFM.LDL100 6 0
QT IFM.LDL200 6 0
PT IFM.PI2715 1 0
PT IFM.PI2794 1 0
PT IFM.PI2797 1 0
PT и LT IFM.PM1704 2 0
PT IFM.PM1705 2 0
PT и LT IFM.PM1707 2 0
PT IFM.PM1708 2 0
PT IFM.PM1709 2 0
PT IFM.IFM.PM1715 2 0
PT FES.8001446 1 0
LT IFM.LR2750 1 0
TE IFM.TA2502 1 0
TE IFM.TA2532 1 0
TE IFM.TA2535 1 0
TE IFM.TA2435 1 0
TE E&H.TM311-AAC0BH2BBB2A1 2 0
LS IFM.LMT100 1 0
LS IFM.LMT102 1 0
LS IFM.LMT104 1 0
LS IFM.LMT105 1 0
LS E&H.FTL33-GR7N2ABW5J 1 0
DEV_VTUG и Y FES.VTUG-10-MSDR-B1Y-25V20-G18FD-DTFD-M7SFD-12K+M1SCVA 0 2
DEV_VTUG и Y FES.VTUG-10-VRLK-B1Y-G18FD-DTFD-M7SFD-12K+SCVA 0 2
DEV_VTUG и Y FES.VTUG-10-VRLK-B1Y-G18FD-DTFD-M7SFD-16K+SCVA 0 2
DEV_VTUG и Y FES.VTUG-10-VRLK-B1Y-G18FD-DTFD-M7SFD-8K+SCVA 0 1
DEV_VTUG и Y FES.VTUG-10-VRLK-B1Y-G18FDL-DTFDL-M7SFD-4K+SCVA 0 1
F PXC.2910411 4 1.5 (12 bytes)
VC BURKERT.8694 5 2.5 (20 bytes)
HLA PXC.1191993 0 1

Для M_ATV и M_ATV_LINEAR надо указывать изделие, которое содержит номер частотного преобразователя (если не задано, то берется 360. Дополнительно существует ещё 630).

6.5 Работа с ПИД-регулятором

ПИД-регулятор используется как обычное устройство на функциональной схеме автоматизации. У него есть определенный перечень параметров и дополнительных свойств, узнать который можно здесь. ПИД-регулятор задается согласно ГОСТу т.е в обозначении устройства буква C (регулирование) должна стоять на крайней позиции. Пример: FC1, TC1 и др.

Базовые свойства ПИД-регулятора, которые записываются в Доп. поле [3] заданы стандартными значениями, которые описаны в перечне дополнительных свойств и параметров. Если нужно переопределить стандартное значение, то необходимо в Доп. поле [3] записать только переопределяемое значение (см. рисунок ниже).

Рисунок - Переопределение параметров ПИД-регулятора

В Доп. поле [4] задаются входы и выходы регулятора. Входом может быть датчик, сигнал AI или другое устройство. Выходом должны быть только устройства типа VC, AO, M или ПИД-регулятор. Когда выходом ПИД-регулятора указывается другой ПИД-регулятор, то образуется каскадное регулирование, где выход одного ПИД-регулятора является заданием для связанного ПИД-регулятора.

Рисунок - Образование каскадного регулирования

При вводе несуществующих входов и выходов будет выведено сообщение о несуществующих устройствах. Также, дополнительно проверяется выход ПИД-регулятора, на корректность ввода описанных ранее разрешенных устройств.

Использование (запуск) ПИД-регулятора осуществляется через использование (см. рисунок ниже) его в шагах операции. ПИД-регулятор добавляется во вкладку шага "Устройства" в группе во вкладке "Устройства", а в поле "Производительность" указывается его задание (параметр или сигнал AI).

Рисунок - Использование ПИД-регулятора в шагах

7 Общие сведения о технологических объектах

Технологический процесс (техпроцесс) – процесс производства какого-либо продукта (полуфабриката).
Технологический объект - объект, в котором (который) непосредственно осуществляется (осуществляет) техпроцесс. Технологический объект характеризуется наличием связанными с ним операциями. К технологическим объектам относятся танк, гребенка, автомат и т.д.
Операция – часть техпроцесса, которую непосредственно может запустить (включить) или остановить (выключить) оператор.
Шаг - часть операции, которой непосредственно не может управлять оператор.
Действие - входят в шаги, отвечают за типовую функциональность (открытие\закрытие устройств и т.п.).

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

В данной главе представлено описание для измененного редактора технологических объектов. Для того, чтобы посмотреть изменения относительно старого редактора технологических объектов, нужно обратиться к документации. Новый редактор модифицирует текущее дерево с оглядкой на модель рецептурного производства S-88.

7.1 Описание окна редактора

Вызвать редактор можно через меню EasyEplanner->Редактировать технологические объекты. Все объекты представляются в иерархической древовидной структуре S88.

Рисунок - Пример иерархии объектов

Описание панели инструментов редактора (подписаны числами черного цвета под кнопками):

  1. Развернуть/свернуть дерево объектов к 1 уровню.
  2. Развернуть/свернуть дерево объектов к 2 уровню.
  3. Развернуть/свернуть дерево объектов к 3 уровню.
  4. Развернуть/свернуть дерево объектов к 4 уровню.
  5. Развернуть/свернуть дерево объектов к 5 уровню.
  6. Включить подсветку устройств на схеме автоматизации.
  7. Включить режим редактирования (ниже описаны дополнительные команды для редактирования).
  8. Сохранение и синхронизация объектов.
  9. Создать новый объект в выделенной точке (вставка нового объекта).
  10. Удалить выделенный объект.
  11. Копировать выделенный объект.
  12. Вставить скопированный объект в выделенное место как новый (Ctrl + V).
  13. Вставить скопированный объект в выделенной место с заменой выделенного объекта (Ctrl + B).
  14. Импорт объектов в проект.
  15. Экспорт объектов из проекта.
  16. Сброс базового объекта
  17. Фильтрация пустых полей (скрывает пустые поля).

Имя объекта состоит из следующих составляющих: локальный номер в списке, имя, номер объекта, глобальный номер объекта. Например, объект - 1. Танк 2 (#4). Его составляющие:

  1. Локальный номер - "1.";
  2. Имя - "Танк";
  3. Номер объекта - "2";
  4. Глобальный номер объекта - "(#4)".

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

  • удаление – DEL,
  • вставка – INS,
  • редактирование текстового представления – двойной клик по активному узлу дерева,
  • отмена редактирования – ESC (во время редактирования),
  • ввод редактирования – ENTER (во время редактирования), или клик по другой строке,
  • копирование узла – CTR + C,
  • вставка узла – CTR + V, при этом надо находиться на родительском узле, куда мы вставляем скопированный элемент.
  • вставка узла – CTR + B, необходимо находиться на узле, который хотим заменить ранее скопированным,
  • вырезка узла - CTR + X, необходимо находиться в узле, который надо вырезать. Работает только для неопознанных объектов.
  • перемещение узла вверх – Shift + Up,
  • перемещение узла вниз – Shift + Down. При копировании – вставке/замене объекта копируются все поля исходного объекта необходимо учитывать следующие нюансы:
  • Номер объекта меняется на номер объекта, на место которого вставляем объект
  • Копируется полный список операций и происходит копирование устройств, которые используются в операции. При этом происходит корректная замена номера объекта на новый. Это происходит в случае совпадения у двух объектов поля ОУ. Так при копировании операций из объекта Танк 1 с устройством TANK1V1 и заменой в объекте Танк 3 устройство изменит свое имя на TANK3V1.
  • При копировании операций происходит копирование ограничений, описанных в операции. Для ограничений, относящихся к данному объекту («Ограничения внутри объекта», «Ограничения на последующие операции»), происходит замена старого номера объекта на новый.
  • Можно копировать не только отдельные строки параметров, операций, а также целые группы параметров, ограничений, операций.

7.1.1 Неопознанные объекты при загрузке описания проекта

Если базовый объект будет не распознан системой, добавляемый при загрузке объект будет добавлен в группу "Неопознанные объекты". Пример на рисунке ниже.

Рисунок - Неопознанные объекты

Неопознанный объект может им и оставаться. Но над ним нельзя выполнять никаких действий, кроме как: "Удалить", "Вырезать и "Редактировать". Если не переносить базовый объект в другие объекты, то он будет сохраняться как неопознанный объект. То есть, этот объект остается объектом, но его нельзя никуда копировать (только через вырезку) и новые неопознанные объекты также нельзя добавлять.

Вырезать объект можно с помощью сочетания клавиш Ctrl + X. После вырезки, объект станет перечеркнутым (будет перечеркнут текст, но объект останется активным). Для того, чтобы отменить вырезку, нужно нажать клавишу Esc при любом активном элементе дерева.

Рисунок - Неопознанные объекты

Для того, чтобы вставить вырезанный объект, необходимо выбрать место, куда его вставить и нажать сочетание клавиш Ctrl + V. С точки зрения программы, будет перенос объекта из одного места в другое, и назначение этому объекту базового объекта в который он был перенесен. Глобальный номер объекта не изменится.

Рисунок - Перенесенный объект

Если нужно перенести объект в базовый объект, которого ещё нет, то нужно нажать сочетание клавиш Ctrl + V на элементе дерева выше (например, если есть объект S88, то нажимаем на Агрегат, Аппарат). Если же нет даже объектов S88, то нажимаем на корень проекта (где название проекта) и нажимаем нужное сочетание клавиш. Когда система не может определить, куда перенести объект, будет вызвано окно (по аналогии с созданием нового объекта), где нужно выбрать, куда переносится неопознанный объект.

7.1.2 Создание объектов

В редакторе есть градация с возможностью создания конкретного базового объекта. В новом редакторе существует три варианта создания объекта: из корня дерева, из корня объекта S-88, из корня базового объекта.

Рисунок - Обозначение корней элементов

При создании объектов из первых двух корней (корень дерева и корень объекта S-88), будет вызвано диалоговое окно (см. рисунок ниже). В зависимости от того, из какого корня было оно вызвано, будут активированы или деактивированы возможные варианты. Подробности описаны ниже.

Рисунок - Создание нового объекта

Например, если создание объекта идет из корня дерева, то все списки в окне создания объекта будут доступны. При создании объекта из корня объекта S-88, так как объект уже известен, то будет заблокирован выбор объекта S-88, а при создании объекта из корня базового объекта, сразу будет создан соответствующий конкретный объект базового объекта без каких либо окон.

7.1.3 Копирование, вставка и замена объекта

Можно копировать любой объект, но вставить и заменить можно только объект с одинаковым базовым объектом. То есть, мы можем заменить Танк на Танк, но не можем Танк на Линию. Внутри объектов ситуация не изменилась. Мы можем скопировать операцию Танка в операции Линии, но базовая операция должна быть переназначена пользователем.

7.1.4 Удаление объекта

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

7.1.5 Перемещение объектов вверх и вниз

Перемещение объектов вверх и вниз изменяет из глобальные номера путем замены. Объект Х меняется на У и наоборот. Но так как в редакторе мы пользуемся локальными индексами и объекты сгруппированы, то перемещать объект вверх и вниз можно только в пределах одной группы. Выход в другие группы невозможен.

7.1.6 Добавление устройств в операции в текстовом виде

Необходимо включить режим редактирования (иконка синего карандаша вверху окна редактора) и выбрать (выделить) нужный узел.

Рисунок - Пример выбора узла

Далее кликнуть по нему и перейти в режим редактирования.

Рисунок - Пример режима редактирования

Последовательно через пробел записать требуемые устройства (как на рисунке с включенным режимом редактирования) и завершить ввод нажав Enter (Esc - отмена изменений), получив измененный результат и состояние строки, как на рисунке с примером выбора узла.

7.1.7 Добавление устройств в операции в графическом виде

Необходимо перейти в данный режим, нажав следующие кнопки:

Рисунок - Кнопки для работы с графическим режимом

Необходимо выделить нужный узел.

Рисунок - Выбор узла

На карте подсвечиваются участвующие устройства (устройства выключать - серого цвета, остальное - зеленого цвета).

Рисунок - Пример подсветки объектов

Путем клика на необходимых устройствах, добавляем или удаляем их из шага. После завершения редактирования шага переходим к следующему (клик по требуемому узлу).

7.1.8 Добавление устройств в операции в табличном режиме

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

Рисунок - Редактирование узла в табличном режиме

Путем отметки (снятия отметки) соответствующие устройства добавляются (удаляются) из действия.

7.1.9 Сохранение результатов редактирования

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

Рисунок - Кнопка сохранения и синхронизации

7.1.10 Использование параметров в объекте

В технологическом объекте задаются параметры объекта.

В дополнении присутствует механизм проверки параметров. С помощью этого механизма выявляются совпадения имен (Lua имен) параметров, так как имена должны быть уникальны. Механизм не проверяет параметры с пустым именем или со стандартным (Lua имя - "P").

Рисунок - Параметры технологического объекта

Также окно параметров содержится в каждой операции технологического объекта.

Рисунок - Параметры операции технологического объекта

Для удобства использования, в параметрах объекта есть поле "Операция", которое позволяет указать к какой операции относится параметр.

Рисунок - Поле "Операции" в параметрах объекта

После того, как это поле будет заполнено, то в заданной операции отобразится параметр, который был записан в поле "Операции" в параметрах объекта. В нынешней редакции можно задавать множество операций. Для этого необходимо перечислить номера операций через пробел (см. рисунок ниже). Для задания одного параметра необходимо указать его номер в поле, без пробелов.

Рисунок - Поле "Операции" в параметрах объекта

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

Рисунок - Пример отображения параметров в операции

7.2 Описание действий

Список реализованных действий:

  1. Проверяемые устройства. Проверяются на ошибки устройства во время выполнения шага.
  2. Включать. Включаются (устанавливаются в активное основное состояние) устройства. По завершению действия устройства отключаются.
  3. Включать реверс. Включаются в реверс (устанавливаются в активное реверсное состояние, обычно это двигатели и т.п.) устройства. По завершению действия устройства отключаются.
  4. Выключать. Отключаются (устанавливаются в пассивное состояние) устройства.
  5. Верхние седла. Включается верхнее седло (устанавливается в активное состояние) для устройства. Обычно используется для промывки противосмешивающих клапанов для шагов операции мойки. По завершению действия устройства отключаются.
  6. Нижние седла. Включается нижнее седло (устанавливается в активное состояние) для устройства. Обычно используется для промывки противосмешивающих клапанов для шагов операции мойки. По завершению действия устройства отключаются.
  7. Сигналы для включения. При включении операции проверяются на активность данные устройства - если хотя бы одно из устройств не активно, то выдаётся соответствующее сообщение и операция не включается.
  8. Мойка (DI, DO, устройства). Служит для упрощения типовой логики работы. Устройства, которые находятся в группе "устройства" включаются (активируются), а находящиеся в группе "реверсные устройства" включаются в реверс (аналогично действию Включать реверс) при активном (хотя бы одном) сигнале из группы "DI". Если нет ни одного сигнала из группы "DI", то устройства в группе "устройства" отключаются. Сигналы для группы "DO" выдаются всегда. По завершению действия все включенные устройства отключаются.
  9. Группы DI -> DO. Специальное действие - выдача дискретных сигналов при наличии входного дискретного сигнала.
  10. Группы инвертированный DI -> DO. Специальное действие - выдача дискретных сигналов при пропадании входного дискретного сигнала.
  11. Группы AI -> AO. Специальное действие - выдача аналоговых сигналов при наличии входного аналогового сигнала.
  12. Сигнал для включения шага. Служит для автоматического включения шага операции по сигналу DI, который записан в действии. Действие групповое, т.е можно группировать сигналы. Для сигналов, которые записаны в одно действие, действует условие И для включение шага, а для сигналов между действиями - ИЛИ.
  13. Перейти в шаг по условию. Специальное действие - переход к шагу по выполнении условия: включение и выключение заданных устройств (логическое И). Так как устройства могут включаться/выключаться долго, анализируется сигнал обратной связи и по его наличию определяется факт включения/выключения.

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

Для упрощения работы реализованы ограничения на добавляемые в действия устройства. Типы устройств, которые можно добавлять в действия:

  1. Проверяемые устройства - любые устройства.
  2. Включать - DO, M, V;
  3. Включать реверс - M;
  4. Выключать - DO, M, V;
  5. Верхние седла - V, DO с подтипами V_MIXPROOF, V_AS_MIXPROOF, V_IOLINK_MIXPROOF, V_VIRT, DO, DO_VIRT;
  6. Нижние седла - V, DO с подтипами V_MIXPROOF, V_AS_MIXPROOF, V_IOLINK_MIXPROOF, V_VIRT, DO, DO_VIRT;
  7. Сигналы для включения - DI, GS;
  8. Устройства
    • DI - DI, SB, GS, FS, LS;
    • DO - DO;
    • Устройства - DO, M, V, VC, AO, ПИД-регулятор (вариации С);
    • Реверсивные устройства - M;
  9. Группы DI -> DO - DI, GS, DO, SB, HL, FS, LS;
  10. Группы инвертированный DI -> DO - DI, GS, DO, SB, HL, FS, LS;
  11. Группы AI -> AO - AI, AO, M, VC, PT, LT, QT, FQT, TE.
  12. Сигнал для включения шага - DI.
  13. Перейти в шаг по условию - V, GS, DI, DO.

7.3 Использование функциональности базового объекта и базовой операции

Надстройка хранит описание базовой функциональности в файле. Файл хранится в папке с LUA файлами и заполняется по определенному шаблону (правила описания внутри файла, вначале). Имя файла - sys_base_objects_description.lua. Информация загружается из файла один раз, при запуске EPLAN. Для того, чтобы загрузить новые данные (после изменения файла), необходимо перезапустить EPLAN. При отсутствии этого файла в системе (был случайно удален или др.) этот файл будет создан заново со стандартным описанием (в теневом хранилище) и будет выведена ошибка о том, что файл не найден. Для исправления этой ошибки необходимо перенести созданный файл-шаблон из теневого хранилища в папку, где хранится надстройка, заполнить его и перезагрузить EPLAN.

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

7.3.1 Привязка базовых объектов друг к другу

Привязка позволяет привязать один объект к другому. В данный момент можно привязывать агрегаты к аппаратам, агрегаты к агрегатам, а также, привязывать танки к базовым линиям. Привязка агрегатов к аппаратам и агрегатов к агрегатам описана ниже. Привязка же танков к линиям осуществляется через поле "Группы танков" в базовых объектах линий. Привязка осуществляется по такому же принципу, как и привязка агрегатов к аппарату.

Рисунок - Привязка групп танков

Привязка агрегатов к аппаратам (хотя, линии у нас относятся к агрегатам, но мы можем привязывать к ним другие агрегаты) теперь выполняется не вручную, а может быть настроена также, как и ограничения (окно "Операции, ограничения, привязка объектов" в режиме редактирования). Пример настройки привязки объектов представлен ниже.

Рисунок - Новая привязка объектов

Примечание:

  1. Подчеркнутые номера - это глобальные номера объектов. Руками их менять нельзя. Объекты нужно привязывать через графический интерфейс. Ровно как и ограничения;
  2. К аппаратам нельзя привязать два базовых объекта одного типа . Например, нельзя привязать "Узел перемешивания 1" и "Узел перемешивания 2" к объекту "Танк 1". Произойдет автоматическая отвязка старого и привязка нового объектов (с сохранением заданных параметров, при условии, что это были объекты одного типа).
  3. К агрегатам можно привязывать множество агрегатов одного типа, но, есть пара моментов использования. Нужно, чтобы были одинаковые имена параметров у агрегатов т.к настройка одного привязанного агрегата будет распространяться сразу на все (значения параметров будут браться из каждого агрегата, и они могут быть уникальные, но не имена параметров). Включаться в операции также будут сразу все связанные агрегаты одного типа (нет настройки, чтобы можно было включать, к примеру, Узел перемешивания 1 в операции Х, и Узел перемешивания 2 в операции Y.
  4. Объекты привязываются в том порядке, в котором их задал пользователь. Порядок привязки ни на что не влияет.

7.3.2 Использование базовой операции

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

Рисунок - Выбор базовой операции

В Операции добавлено ещё один раскрывающийся элемент Дополнительные cвойства (Доп. свойства). В зависимости от выбранной операции, появляется разное количество полей, которое необходимо заполнить. Если в операции нет доп. свойств, то это поле не будет показано (будет скрыто) Заполнять можно вручную или при помощи клика по добавляемому устройству на ФСА. Также доступно редактирование через окно "Устройства, параметры объектов".

Рисунок - Настройка свойства через окно "Устройства, параметры объектов"

В этом окне можно графическим образом (поставить галочки) отметить, какие устройств или параметры должны быть заданы в поле. Если окно "Устройства, параметры объектов" пустое, то значит графическим образом добавлять данные не предусмотрено, либо это другие данные, которые таким способом добавлять нельзя.

Рисунок - Дополнительные поля операции

Надстройка проверяет, какие свойства заполнены, а какие нет. Для того, чтобы не было сообщения о незаполненном свойстве (например, оно не обрабатывается или сложилось так, что его нет, или какие-то другие условия), необходимо явно задать специальное значение. При обработке данных свойств, система проверяет, не введено ли значение-заглушка (слово "Нет"). Проверяется не просто слово "Нет", а его наличие в вводимой строке. Если было введено слово "АбвгднетАбвгд", то система распознает заглушку "Нет" и запишет это значение в поле. При автоматической проверке проекта данные поля считаются корректно заполненными.

Рисунок - Использование значения-заглушки

Типы свойств:

  1. Текстовое - значение задается в виде текста вручную, или клик по схеме (если предусмотрено).
  2. Булевское - двойной клик, который изменяет значение свойства на противоположное. Если значение отличается от стандартного, то оно будет выделено жирным.
Примечание:
  • Если базовая операция не выбрана, то дополнительных полей не появится.
  • Появляющиеся поля используются при формировании prg.lua.
  • Если операции в списке нет, то эта операция не реализована.
  • На каждый объект может быть выбрана только 1 базовая операция конкретного типа (прим., только 1 операция наполнения на объект).
  • Если в объекте нет какой-то базовой операции т.е она не используется, то её можно удалить без вреда для управляющей программы.

7.3.3 Использование базового шага

Базовый шаг позволяет указать те шаги, свойственные для базовой операции, информация о которых будет автоматически записана в файла prg.lua. Тем самым, описанный шаг не нужно будет вручную описывать в программе, через файл main.plua. Выбор базового шага осуществляется по такому же принципу, как и выбор базового объекта, базовой операции. Список базовых шагов для каждой базовой операции будет описан в следующем разделе документации.

Примечание:
  • Если в объекте нет какого-либо базового шага т.е он не используется, то его можно удалить без вреда для управляющей программы.

7.3.4 Использование оборудования базового объекта

В технологическом объекте есть вкладка Оборудование. Эта вкладка содержит физическое оборудование выбранного базового технологического объекта. Если у объекта нет никакого оборудования, то эта вкладка будет скрыта автоматически. Например, для базового объекта Узел перемешивания добавляются 3 устройства: датчик люка, датчик решетки, мешалка. Все устройства можно добавлять как руками, так и по клику на соответствующее устройство на ФСА. Пример добавления на рисунке ниже.

Рисунок - Оборудование базового объекта

Если какого-то оборудования нет в объекте, но оно есть в списке, то это оборудование можно не заполнять.

Примечание: оборудование можно добавлять по клику на объект в схеме.

В дополнении присутствует система автоматической привязки оборудования к объекту. Это происходит во время выбора/смены базового объекта, а также при открытии/закрытии/обновлении/сохранении проекта. Привязка осуществляется, только, если данное поле с оборудованием было заполнено стандартным значением и не является пустым. Автоматическая привязка работает на основании того, что стандартизированы имена устройств и их номера, которые используются для того или иного оборудования. Система формирует ОУ устройства (на основании ОУ объекта и его номера), составляет имя устройства, проверяет его наличие и привязывает, если устройство есть на схеме. Множественная автоматическая привязка устройств отсутствует.

Данный функционал позволяет привязывать более 1 устройства на один тип оборудования.

7.3.5 Использование дополнительных свойств объекта

Оборудование базового объекта является описанием физической структуры объекта, а поле "Доп. свойства" объекта позволяет настроить логику работы объекта (например, игнорирование ошибок или что-то ещё). В этом поле находятся свойства, которые влияют на объект. Если таких свойств у объекта нет, то это поле не будет отображаться т.е будет автоматически скрыто.

Рисунок - Доп. свойства объекта

В этом поле могут быть параметры булевые (да/нет), или активные параметры, которые могут принимать устройства, параметры и др.

7.3.6 Использование системных параметров в базовом объекте

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

Рисунок - Системные параметры объекта

7.3.7 Список базовых объектов, операций, параметров, шагов и оборудования

Перенесено в репозиторий с описанием базовых объектов. Т.е в ptusa-Lua-dairy-system. Файл ReadMe.md.

7.3.8 Рекомендации по использованию ОУ (обозначений устройств) в объектах

  • Для линии указывать букву, которая обозначает линию - B, C и др.
  • Для узлов перемешивания/охлаждения/подогрева указывать ОУ - MIX/COOLER/HEATER соответственно (регистр не важен). Если узел перемешивания/охлаждения/подогрева принадлежит только одному объекту, то для его ОУ можно использовать обозначение того объекта, к которому он принадлежит. Например, для линии с ОУ C можно использовать такое же ОУ для узла.

7.4 Экспорт объектов из редактора и обратный импорт

Надстройка позволяет экспортировать объекты, описанные в редакторе в файл, а затем использовать экспортированные объекты в других проектах, предварительно загрузив их (импортировав) в проект. Вызов окон экспорта или импорта вызывается из окна редактора (см. пункт 7.1).

В импорте и экспорте объектов, глобальные номера объектов будут занулены (нулевые значения). Это принято, потому что эти объекты ещё не находятся в общем пуле глобальных объектов основного дерева.

7.4.1 Экспорт объектов

При открытии меню экспорта, появляется специальное окно (см. рисунок), в котором нужно отметить галочками объекты, которые нужно экспортировать и нажать кнопку "Экспортировать". Кнопка "Отмена" - отменяет действие, закрывает окно экспорта. Дополнительные кнопки над списком: "Всё" и "Очистить", позволяют быстро отметить/снять галочки со всех элементов списка.

Рисунок - Окно экспорта

После нажатия на кнопку "Экспортировать", откроется диалог (стандартный Windows диалог, вызываемый при сохранении файла), в котором надо указать место сохранения и название файла. После нажатия кнопки "Сохранить", окно экспорта будет автоматически закрыто, а файл с объектами появится по указанному пути с указанным именем (см. рисунок ниже).

Рисунок - Окно сохранения

Алгоритм сохранения:

  1. Указываем путь к файлу;
  2. Указываем имя файла;
  3. Жмем кнопку "Сохранить".

7.4.2 Импорт объектов

При открытии меню импорта, появляется специальное окно (см. рисунок ниже). В этом окне, необходимо указать через кнопку "Обзор" файл с объектами и загрузить его, затем, отметив нужные объекты галочками в списке, нажать кнопку "Импортировать". Кнопка "Отмена" - отменяет действие, закрывает окно импорта. Дополнительные кнопки над списком: "Всё" и "Очистить", позволяют быстро отметить/снять галочки со всех элементов списка.

Примечание:

  1. У всех объектов при импорте привязка сбрасывается т.к неизвестно, что привязано к этому проекту в проекте, куда импортируется объект;
  2. В действиях сбрасываются устройства, которые не существуют в проекте, в который импортируется объект;
  3. Сбрасываются ограничения операций т.к они могут в новом проекте не совпадать и вызывать ошибки;
  4. Все остальное полностью копируется.

Рисунок - Окно импорта

Нажав кнопку "Обзор", появится окно (см. рисунок ниже), в котором надо указать путь к файлу (пункт 1 на картинке), выбрать файл и нажать кнопку "Открыть" (пункт 2 на картинке).

Рисунок - Окно загрузки

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

Рисунок - Окно импорта после загрузки объектов

После расстановки галочек на нужных для импорта в проект объектах, необходимо нажать кнопку "Импортировать". Объекты добавятся в конец дерева объектов проекта и окно импорта автоматически закроется.

7.5 Автоматическая вставка объектов из макросов

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

7.6 Сброс базового объекта

Сброс базового объекта позволяет сбросить базовый объект. Для того, чтобы сбросить объект, необходимо выделить объект и нажать кнопку сброса (картинка здесь) под номером 16. Необходимо включить режим редактирования. Базовый объект превратится в "Неопознанный объект" и будет перемещен в соответствующую вкладку редактора объектов. Изменение базового объекта из неопознанного в какой-то определенный объект можно осуществить через механизм вырезания (Ctrl + X). Подробнее - здесь.

Внимание: будут сброшены только поля и свойства, которые зависят от базового объекта. То есть, базовый шаги, базовые операции, оборудование и др. Все остальное - останется. Шаги, операции и устройства в них, а также параметры не поменяются.

8 Установка ограничений

Для каждой операции в объекте создана дополнительная группа полей: «Ограничения внутри объекта», «Общие ограничения», «Ограничения на последующие операции» , которые предназначены для настройки ограничений для данной операции.

Рисунок - Местонахождение ограничений

Ограничения представляются парами вида {N, M}, где N – номер объекта, в котором проверяем на включенность операцию M Только надо учитывать, что N - глобальный номер объекта, который для пользователя недоступен (осталось от старого редактора). Ограничения проверяются перед включением операции, в которой прописываются пары. «Ограничения внутри объекта» предназначены для описания недоступных операций внутри объекта. К примеру, для операции «Наполнение» можем указать операцию «Сквашивание», нам не нужно проверять «Сквашивание» во всех других объектах. «Общие ограничения» описывают недоступные операции с другими объектами. В поле «Ограничения на последующие операции» указываются операции объекта, которые нельзя включить после текущей, например, после операции «Выдача» нельзя включить «Наполнение». Редактировать ограничения можно вручную или через окно со списком операций. Его можно вызвать из меню "EasyEplanner" -> "Операции, ограничения, привязка объектов" (смотри пример в главе 1). Если окно для редактирования технологических объектов находится в режиме редактирования, то при переходе на строку с ограничениями у узлов дерева с операциями появятся _CheckBox_ для выбора необходимых ограничений.

Рисунок - Редактирование ограничений

После редактирования и закрытия проекта все ограничения экспортируются в отдельный файл main.restrictions.lua, который в дальнейшем записывается в контроллер. Перезагрузка данного файла возможна без перезагрузки программы. Для работы с ограничениями созданы следующие системные параметры:

  • CMD - Для перезагрузки файла ограничений в CMD пишем 100, если все ОК, то вернется 0, иначе 1 и строка с описанием ошибки будет в CMD_ANSWER.
  • CMD_ANSWER – Строка с описанием ошибки перезагрузки ограничений.
  • P_RESTRICTIONS_MODE – Параметр для включения/выключения ограничений - 0 - авто, 1 - ручной, 2 – полуручной (через время P_RESTRICTIONS_MANUAL_TIME вернется в автоматический режим).
  • P_RESTRICTIONS_MANUAL_TIME - Работа модуля ограничений в ручном режиме заданное время, мс.

9 Синхронизация и экспорт

9.1 Синхронизация названий устройств и модулей

Синхронизирует привязанные устройства, а именно: поля "Примечание" у устройств. Поле задается на функциональной схеме автоматизации (ФСА) и потом используется при привязке к модулям ввода-вывода. Если после выполнения привязки изменить это поле на ФСА, то там, где это устройство уже привязано, останется старое значение этого поля. Данная функция решает эту проблему. Будет полезно, когда за основу берется уже существующий проект или при изменении назначения устройств и др.

Примечание:

  1. Во избежание неправильного срабатывания функции синхронизации (когда проект в EasyEplaner описан не полностью или с ошибками), пожалуйста, делайте резервирование проекта перед вызовом функции синхронизации.
  2. Учтите, что проекты, в которых DEV_VTUG попросту заменен на Y (обозначение пневмоострова) будут обрабатываться с удалением множественной привязки, потому что считается, что переход от старого вида привязки к новому (хоть и устройства привязаны) завершен не полностью. Что бы этого не происходило, необходимо полностью перейти на новый вид привязки пневмоострова Y (см. раздел 3.2.2)

Также, если было удалено какое-либо привязанное устройство, то запустив синхронизацию это устройство автоматически будет удалено из всех привязок к модулям ввода-вывода.

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

  • Для одинарных устройств (когда к одному каналу привязано одно устройство) будет всегда добавляться текст из поля "Примечание", даже если его удалить вручную, то при синхронизации текст автоматически запишется в функциональный текст в привязываемом модуле ввода-вывода.

Если к модулю ввода-вывода привязано более 1 устройства, то есть на каждый канал устройства в функциональном тексте приходится два и более устройства (это возможно только при привязке клапанов к пневмоострову и AS-i интерфейсу), то в дело вступают другие алгоритмы обработки данных.

  • Для AS-интерфейса комментарии не пишутся и не обновляются, но в AS-интерфейсе учитывается параметр R_AS_NUMBER, в зависимости от которого клапана размещаются в функциональном тексте. Для корректного отображения необходимо правильно настроить отображение функционального текста во вкладке "Отображение" (см. конец подпункта). Так же для модулей AS-интерфейса автоматически в свойство "Доп. поле [20]" записываются порядковые числа от 1 до 62 (максимальное количество клапанов, которое может быть привязано для AS-i 3.0) с разделителем, который представляет собой символ новой строки. С помощью этих порядковых номеров создается видимое отображение, которое показывает какой R_AS_NUMBER у клапана и какие R_AS_NUMBER свободны.

Рисунок - Пример отображения для AS-i

  • Для пневмоострова обновление происходит более просто. Если к клемме пневмоострова привязано одно устройство, то синхронизация происходит по такому же алгоритму, как и для одинарных устройств, а если к клемме привязано более одного устройства, то возможны два варианта:
    • Если пневмоостров с привязкой находится на многополюсной схеме соединений, то у него будут убраны комментарии;
    • Если пневмоостров с привязкой находится на схеме типа "Обзор", то комментарии будут оставлены.
Настройка окна "Отображение" для AS-i модуля

Для того, что бы AS-i отображался нормально (и привязка, и порядковые номера), необходимо провести первоначальную настройку отображения функционального текста. ВАЖНО - порядковые номера клапанов записываются в Доп. поле [20] автоматически.

Ниже на рисунках показано, как должно быть настроено.

Рисунок - Настройка отображения функционального текста

Рисунок - Настройка отображения Доп. поле [20]

Рисунок - Результат настройки

То есть, отображение должно быть настроено так, чтобы напротив цифры 1 из Доп. поле [20] было первое значение привязки, а функция синхронизации сама расположит модули в нужном порядке.

Так же, можно использовать альтернативную настройку отображения для Доп. поле [20] (при условии, что отображение Функционального текста настроено так, как описано выше).

Рисунок - Альтернативная настройка отображения Доп. поле [20]

При использовании альтернативной настройки расположение цифр в Доп. поле [20] нельзя поменять с помощью свойств Абсцисса и Ордината.

9.2 Экспорт XML для EasyServer

Позволяет создать базу каналов для EasyServer. При нажатии на данный пункт меню появится окно, для настройки экспорта:

Рисунок - Окно экспорта базы каналов

При открытии окна, селекторы устанавливаются в стандартные положения (как на картинке).

Указывается:

  1. Необходимость создавать новый файл базы каналов (первая пара селекторов - "Да", "Нет, использовать существующую"), или же использовать существующую. После выбора в селекторе необходимо нажать кнопку "Обзор" и выбрать, куда сохранить базу каналов, или выбрать файл базы каналов (в зависимости от выбранного режима). Для сохранения новой базы каналов можно использовать стандартный путь (который задан в строке на картинке).

  2. Необходимость в группировке тегов в один подтип (вторая пара селекторов - "Да", "Нет"). В зависимости от выбранного режима группировки, объекты будут по-разному сгруппированы в базе каналов.

  3. Формат записи базы каналов (третья пара селекторов - "По индексам", "По именам"). Позволяет выбрать формат записи имен объектов. По индексам - обычный, старый вариант. По именам - новый вариант, когда вместо OBJECT используется поле "Имя объекта Monitor" и номер объекта.

Примечание: для корректного экспорта базы каналов, необходимо, чтобы в редакторе технологических объектов было правильно заполнено поле "Имя объекта Monitor" в объектах. Если эти поля в объектах будут совпадать, то эти объекты будут отключены (закомментированы) в базе каналов. Например, если есть объекты со значением поля TankObj с одинаковыми номерами (TankObj1 и TankObj1, тип не влияет), то база каналов закомментирует эти объекты. Поэтому, важно, что бы поле "Имя объекта Monitor" было уникально для каждого типа объектов. Например, Танк молока 1, Танк воды 1 можно обозначить, как TankMilkObj и TankWaterObj. Надстройка предупреждает пользователя о совпадающих именах в объектах.

Дополнительно, база каналов автоматически экспортируется при каждом закрытии проекта (или закрытие проекта, или завершение Eplan с открытым проектом). Сохранение осуществляется в папку с проектом Eplan,в каталог chbase. База каналов будет иметь такое же название, как и имя проекта. В базе каналов тэги будут сгруппированы по подтипам, а объекты описаны на основе индексов.

9.2.1 Экспортируемые параметры

Если не указан подтип устройства, то эти параметры экспортируются для любого типа этого устройства. Первый уровень списка - устройство, второй - подтип, третий это параметры с комментариями.

  1. Устройство - V
    • V_DO1, V_DO2, V_IOLINK_VTUG_DO1
      • ST - состояние;
      • M - ручной режим;
    • V_DO1_DI1_FB_ON, V_IOLINK_VTUG_DO1_FB_ON, V_DO1_DI1_FB_OFF, V_IOLINK_VTUG_DO1_FB_OFF
      • ST - состояние;
      • M - ручной режим;
      • P_ON_TIME - время включения;
      • P_FB - включение/выключение обратной связи;
      • FB_OFF_ST - текущее состояние обратной связи (на отключенное состояние);
    • V_DO1_DI2, V_DO2_DI2, V_DO2_DI2_BISTABLE, V_MIXPROOF, V_AS_MIXPROOF, V_AS_DO1_DI2, V_BOTTOM_MIXPROOF, V_IOLINK_VTUG_DO1_DI2
      • ST - состояние;
      • M - ручной режим;
      • P_ON_TIME - время включения;
      • P_FB - включение/выключение обратной связи;
      • FB_OFF_ST - текущее состояние обратной связи (на отключенное состояние);
      • FB_ON_ST - текущее состояние обратной связи (на включенное состояние);
    • V_IOLINK_MIXPROOF, V_IOLINK_DO1_DI2
      • ST - состояние;
      • M - ручной режим;
      • P_ON_TIME - время включения;
      • P_FB - включение/выключение обратной связи;
      • V - аналоговое значение;
      • BLINK - световая индикация устройства;
      • CS - сигнал управления;
      • ERR - ошибка;
    • V_VIRT
      • ST - состояние;
      • M - ручной режим;
      • V - аналоговое значение;
  2. Устройство - VC
    • VC, VC_VIRT
      • ST - состояние;
      • M - ручной режим;
      • V - аналоговое значение;
    • VC_IOLINK
      • ST - состояние;
      • M - ручной режим;
      • V - аналоговое значение;
      • BLINK - световая индикация устройства;
      • NAMUR_ST - состояние по стандарту NAMUR;
      • OPENED - открыт;
      • CLOSED - закрыт;
  3. Устройство - M
    • M
      • ST - состояние;
      • M - ручной режим;
      • P_ON_TIME - время включения;
    • M_FREQ
      • ST - состояние;
      • M - ручной режим;
      • P_ON_TIME - время включения;
      • V - аналоговое значение;
    • M_REV, M_REV_FREQ, M_REV_2, M_REV_FREQ_2, M_REV_2_ERROR
      • ST - состояние;
      • M - ручной режим;
      • P_ON_TIME - время включения;
      • V - аналоговое значение;
      • R - реверс;
    • M_ATV
      • ST - состояние;
      • M - ручной режим;
      • P_ON_TIME - время включения;
      • V - аналоговое значение;
      • R - реверс;
      • EST - расширенное состояние;
      • RPM - обороты в минуту;
      • FRQ - частота;
    • M_ATV_LINEAR
      • ST - состояние;
      • M - ручной режим;
      • P_ON_TIME - время включения;
      • V - аналоговое значение;
      • R - реверс;
      • EST - расширенное состояние;
      • RPM - обороты в минуту;
      • FRQ - частота;
      • P_SHAFT_DIAMETER - диаметр вала, м.;
      • P_TRANSFER_RATIO - передаточное число;
    • M_VIRT
      • ST - состояние;
      • M - ручной режим;
      • V - аналоговое значение;
  4. Устройство - LS
    • LS_MIN, LS_MAX, LS_VIRT
      • ST - состояние;
      • M - ручной режим;
      • P_DT - дельта;
    • LS_IOLINK_MAX, LS_IOLINK_MIN
      • ST - состояние;
      • M - ручной режим;
      • V - аналоговое значение;
      • P_DT - дельта;
  5. Устройство - FS
    • FS
      • ST - состояние;
      • M - ручной режим;
      • P_DT - дельта;
    • FS_VIRT
      • ST - состояние;
      • M - ручной режим;
      • V - аналоговое значение;
  6. Устройство - GS
    • GS
      • ST - состояние;
      • M - ручной режим;
      • P_DT - дельта;
    • GS_VIRT
      • ST - состояние;
      • M - ручной режим;
      • V - аналоговое значение;
  7. Устройство - TE
    • TE, TE_IOLINK
      • ST - состояние;
      • M - ручной режим;
      • P_CZ - сдвиг нуля;
      • V - аналоговое значение;
    • TE_VIRT
      • ST - состояние;
      • M - ручной режим;
      • V - аналоговое значение;
    • TE_ANALOG
      • ST - состояние;
      • M - ручной режим;
      • V - аналоговое значение;
      • P_ERR - значение ошибки (значение во время ошибки датчика);
      • P_MIN_V - минимальное значение;
      • P_MAX_V - максимальное значение;
      • P_CZ - сдвиг нуля;
  8. Устройство - LT
    • LT
      • M - ручной режим;
      • V - аналоговое значение;
      • P_CZ - сдвиг нуля;
      • P_ERR - значение ошибки (значение во время ошибки датчика);
    • LT_CYL
      • M - ручной режим;
      • V - аналоговое значение;
      • P_CZ - сдвиг нуля;
      • P_MAX_P - максимальное давление;
      • P_R - радиус танка;
      • CLEVEL - пересчитанный уровень;
    • LT_CONE, LT_IOLINK
      • M - ручной режим;
      • V - аналоговое значение;
      • P_CZ - сдвиг нуля;
      • P_MAX_P - максимальное давление;
      • P_R - радиус танка;
      • CLEVEL - пересчитанный уровень;
      • P_H_CONE - высота конусной части танка;
    • LT_TRUNC
      • M - ручной режим;
      • V - аналоговое значение;
      • P_CZ - сдвиг нуля;
      • P_MAX_P - максимальное давление;
      • P_R - радиус танка;
      • CLEVEL - пересчитанный уровень;
      • P_H_TRUNC - высота усеченной части танка (нигде и никогда не использовалось);
    • LT_VIRT
      • M - ручной режим;
      • V - аналоговое значение;
  9. Устройство - HA
    • HA, HA_VIRT
      • ST - состояние;
      • M - ручной режим;
  10. Устройство - HL
    • HL, HL_VIRT
      • ST - состояние;
      • M - ручной режим;
  11. Устройство - SB
    • SB
      • ST - состояние;
      • M - ручной режим;
      • P_DT - дельта;
    • SB_VIRT
      • ST - состояние;
      • M - ручной режим;
  12. Устройство - DI
    • DI
      • ST - состояние;
      • M - ручной режим;
      • P_DT - дельта;
    • DI_VIRT
      • ST - состояние;
      • M - ручной режим;
  13. Устройство - DO
    • DO, DO_VIRT
      • ST - состояние;
      • M - ручной режим;
  14. Устройство - AI
    • AI
      • ST - состояние;
      • M - ручной режим;
      • P_MIN_V - минимальное значение;
      • P_MAX_V - максимальное значение;
      • V - аналоговое значение;
    • AI_VIRT
      • ST - состояние;
      • M - ручной режим;
      • V - аналоговое значение;
  15. Устройство - AO
    • AO
      • M - ручной режим;
      • V - аналоговое значение;
      • P_MIN_V - минимальное значение;
      • P_MAX_V - максимальное значение;
    • AO_VIRT
      • M - ручной режим;
      • V - аналоговое значение;
  16. Устройство - PT
    • PT
      • ST - состояние;
      • M - ручной режим;
      • P_MIN_V - минимальное значение;
      • P_MAX_V - максимальное значение;
      • P_CZ - сдвиг нуля;
      • V - аналоговое значение;
    • PT_IOLINK
      • ST - состояние;
      • M - ручной режим;
      • P_MIN_V - минимальное значение;
      • P_MAX_V - максимальное значение;
      • V - аналоговое значение;
    • PT_VIRT
      • ST - состояние;
      • M - ручной режим;
      • V - аналоговое значение значение;
  17. Устройство - FQT
    • FQT
      • ST - состояние;
      • M - ручной режим;
      • V - относительное (пользовательское) значение;
      • ABS_V - абсолютное значение;
    • FQT_F, FQT_VIRT
      • ST - состояние;
      • M - ручной режим;
      • V - относительное (пользовательское) значение;
      • ABS_V - абсолютное значение;
      • P_MIN_FLOW - минимальное значение потока;
      • P_MAX_FLOW - максимальное значение потока;
      • P_CZ - сдвиг нуля;
      • F - расход;
      • P_DT - дельта;
    • FQT_F_OK
      • ST - состояние;
      • M - ручной режим;
      • V - относительное (пользовательское) значение;
      • ABS_V - абсолютное значение;
      • P_MIN_FLOW - минимальное значение потока;
      • P_MAX_FLOW - максимальное значение потока;
      • P_CZ - сдвиг нуля;
      • F - расход;
      • P_DT - дельта;
      • OK - проверка расходомера;
  18. Устройство - QT
    • QT
      • ST - состояние;
      • M - ручной режим;
      • P_MIN_V - минимальное значение;
      • P_MAX_V - максимальное значение;
      • V - аналоговое значение;
      • P_CZ - сдвиг нуля;
    • QT_OK
      • ST - состояние;
      • M - ручной режим;
      • P_MIN_V - минимальное значение;
      • P_MAX_V - максимальное значение;
      • V - аналоговое значение;
      • P_CZ - сдвиг нуля;
      • OK - проверка концентратомера
    • QT_IOLINK
      • ST - состояние;
      • M - ручной режим;
      • V - аналоговое значение;
      • P_CZ - сдвиг нуля;
      • T - температура;
    • QT_VIRT
      • ST - состояние;
      • M - ручной режим;
      • V - аналоговое значение значение;
  19. Устройство - WT
    • WT
      • ST - состояние;
      • M - ручной режим;
      • V - аналоговое значение;
      • P_NOMINAL_W - номинальная нагрузка;
      • P_DT - дельта;
      • P_RKP - рабочий коэффициент передачи;
      • P_CZ - сдвиг нуля;
    • WT_VIRT
      • ST - состояние;
      • M - ручной режим;
      • V - аналоговое значение значение;
  20. Устройство - F
    • F
      • ST - состояние;
      • M - ручной режим;
      • V - аналоговое значение;
      • NOMINAL_CURRENT_CH - Заданный ток канала (4 канала);
      • LOAD_CURRENT_CH - Текущий ток канала (4 канала);
      • ST_CH - Состояние канала (4 канала);
      • ERR - Авария устройства;
      • ERR_CH - Авария канала (4 канала);
    • F_VIRT
      • ST - состояние;
      • M - ручной режим;
      • V - аналоговое значение;
  21. Устройство - ПИД-регулятор вариации комбинаций с регулированием C (TC, FC и др.)
    • ST - состояние;
    • M - ручной режим;
    • V - аналоговое значение;
    • Z - задание.
  22. Устройство - HLA
    • HLA
      • ST - состояние;
      • M - ручной режим;
      • L_RED - состояние красной лампочки;
      • L_YELLOW - состояние желтой лампочки;
      • L_GREEN - состояние зелёной лампочки;
      • L_SIREN - состояние сирены;
    • HLA_VIRT, HLA_IOLINK
      • ST - состояние;
      • M - ручной режим;
      • L_BLUE - состояние голубой лампочки;
      • L_RED - состояние красной лампочки;
      • L_YELLOW - состояние желтой лампочки;
      • L_GREEN - состояние зелёной лампочки;
      • L_SIREN - состояние сирены;
  23. Устройство - CAM
    • CAM_DO1_DI1
      • ST - состояние;
      • M - ручной режим;
      • RESULT - результат обработки;
    • CAM_DO1_DI2 и CAM_DO1_DI3
      • ST - состояние;
      • M - ручной режим;
      • RESULT - результат обработки;
      • READY - готовность;
      • P_READY_TIME - предельное время отсутствия готовностик работе, сек.

Протоколируются: TE_V, QT_V, FQT_F, PT_V, VC_V, M_V, M_ST, LT_CLEVEL, V_ST, LS_ST, FS_ST, GS_ST, SB_ST, DI_ST, DO_ST, SB_ST, HL_ST, HA_ST, AO_V, AI_V.

Устанавливается период: TE_V, QT_V, LT_V, PT_V, AO_V, AI_V, FQT_F, M_V, VC_V, LT_CLEVEL, V_V.

Примечание: ПИД-регуляторы экспортируются исходя из базового объекта (если выбран базовый объект ПИД, то будет экспортирован дополнительно ПИД-регулятор, с номером объекта).

9.3 Экспорт технологических устройств в Excel

Экспорт, выполняемый этим пунктом меню, создает Excel-файл, в котором содержится различная информация, а именно:

  • Описание модулей ввода-вывода (привязка, цветовое обозначение, номера клемм);
  • Перечисление всех технологических устройств с типами и подтипами, а так же с параметрами при их наличии;
  • Сводная таблица всех устройств (сколько и каких устройств установлено);
  • Подключение устройств (текстовое описание, как в окне "Устройства, параметры объектов");
  • Параметры объектов (из редактора технологических объектов);
  • Описание операций и устройств (из редактора технологических объектов).
9.3.1 Экспорт информации для SCADA из проекта

Также, надстройка при закрытии проекта (или Eplan при открытом проекте), генерирует новый файл Excel в папке DOC с названием "<Название проекта> auto report". Этот файл предназначен для инженеров, которые разрабатывают проекты в SCADA системе. Данные, находящиеся в этом файле, покрывают их потребность в использовании Eplan. Таким образом, это позволяет меньше использовать плавающие лицензии Eplan, если их недостаточное количество.

10 Объектная модель по ISA (S88, S95)

10.1 Объектная модель рецептурного производства

Объектная модель

Рисунок - Объектная модель без модулей управления

Рисунок - Объектная модель модулей управления

11 Система помощи OSTIS

Это открытый проект базы знаний (сам проект OSTIS находится тут). Он содержит в себе информацию об объектной модели ISA-88, которая используется при разработке проектов с помощью надстройки EasyEplanner.

Для использования этой базы знаний, необходимо выделить объект в дереве и нажать кнопку F1. Надстройка сгенерирует ссылку, и откроет её в браузере по умолчанию. Если описания данного объекта нет, то ссылка будет открыта с главными описанием стандарта ISA-88.

Примечание: если дерево объектов не выделено, то будет открываться стандартное окно справки Eplan. В случае, если дерево будет выделено и не будет выделен никакой элемент, надстройка уведомит об этом пользователя и никакой ссылки открыто не будет.

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

Настройки:

  1. Для того, чтобы изменить адрес главной страницы, которая будет открываться, если не найдено описание объекта, нужно открыть файл конфигурации configuration.ini, найти секцию helpSystem и в ключе mainAddress нужно указать адрес, который будет открываться.
  2. Для изменения адреса базы знаний ostis (основной ссылки), нужно открыть файл конфигурации configuration.ini, найти секцию helpSystem и в ключе address нужно указать адрес, который будет использоваться для генерации ссылок.

Примечание: адрес базы знаний (основной) используется для дополнения его дополнительными данными в адресной строке и открытию ссылки по новой получившейся ссылке.

12 Межпроектный обмен сигналами

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

13 Настройка и программирование описания базовых объектов

Базовые объекты не хранятся внутри надстройки, а подгружаются из файлов с их описанием. Надстройка может иметь более 1 файла описания с базовыми объектами. Файлы с описанием хранятся по следующему пути: "Lua\BaseObjectsDescriptionFiles". В эту папку нужно загружать .lua файлы с описанием базовых объектов. При отсутствии файлов описания в папке с описанием (или самой папки), будет создан файл пустого шаблона (шаблон описан ниже). Необхожимо заполнить базовые объекты по шаблону (заполняя только то, что конкретно нужно Вам), можно в том же файле, или в своем собственном. Заполненный файл нужно добавить в директорию, описанную выше.

Файлы описания должны описываться по следующему шаблону:

-- Шаблон файла, описывающего базовую функциональность.
-- В этом файле описан один пустой базовый объект, для примера.

-- Базовый объект (название таблицы - eplanName т.е LUA-имя объекта, пишется в любых регистрах):
-- 1. s88Level - уровень объекта по ISA-88 (1 - для юнитов, аппаратов. 2 - для агрегатов).
-- 2. name - русскоязычное название объекта.
-- 3. baseOperations - описание базовых операций объекта.
-- 4. basicName - англоязычное имя объекта, которое фигурирует в функциональности (add_functionality).
-- Это имя должно содержать имя без приписки "basic_"
-- 5. equipment - оборудование базового объекта.
-- 6. aggregateParameters - параметры объекта, который является агрегатом (которые будут добавлены
-- в аппарат, при привязке агрегата к аппарату).
-- 7. bindingName - имя агрегата, используемое при привязке его к аппарату (для аппаратов не обязательно).
-- 8. isPID - является ли объект ПИД-регулятором.
-- 9. objectGroups - группы объектов (танки, линии и др).
-- 10. system_params - системные параметры объекта.
-- 11. parameters - указываются параметры объекта. Можно указать в виде ссылки на другую переменную,
-- которая представляет параметр, или же описать самому в виде lua-таблицы. При описании в виде
-- ссылки на переменную, параметры будут идти по порядку (по индексам), а если описывать через
-- Lua-таблицы, то по ключу Lua-таблицы. Предпочтительный первый вариант, он описан ниже по файлу,
-- а именно, там где определена переменная object_parameters.
-- 12. luaModuleName - имя модуля Lua, в котором описана логика работы базового объекта. Обычно описана
-- в скриптах, которые идут в поставке вместе с этим файлом. На основании этого имени в prg.lua
-- будет генерироваться заголовок подключаемого модуля - require( "luaModuleName").
-- Пустое или отсутствующее значение - модуль не будет подключен.
-- 13. monitorName - имя объекта Monitor, которое будет задаваться при автоматической настройке объекта
-- при его добавлении в дерево. Если не задано - будет задаваться стандартное значение - TankObj.
-- 14. baseProperties - базовые (дополнительные) свойства объекта. Добавляются также, как и параметры
-- базовой операции. За исключением того, что доступны только bool и active параметры.
-- 15. deprecated - устарел объект или нет. Если устарел - не будет показан в списке базовых объектов,
-- но его можно использовать в уже существующих проектах, где такие объекты используются. Для этого
-- надо добавлять его через Insert в группе объектов.

-- Базовые операции (baseOperations) (название таблицы - это Lua-имя операции, пишется в верхнем регистре):
-- 1. name - русскоязычное название операции.
-- 2. params - параметры операции, могут быть активными, булевыми.
-- 3. state - состояние базовой операции, в котором находятся шаги.
-- 4. defaultPosition - позиция операции при автоматической настройке, когда осуществляется вставка
-- объекта. Если поле отсутствует - операция не будет настраиваться автоматически.
-- Значения этого поля должны быть от 1 и не пересекаться (опционально).

-- Базовое состояние (state) - название таблицы, это LUA-имя состояния. Пока что это весь функционал
-- состояния. Внутри состояния указываются базовые шаги (steps).
-- Существующие состояния: RUN (Выполнение), PAUSE (Пауза), STOP (Остановка).

-- Базовые шаги - шаг базовой операции (steps). Название таблицы - LUA-имя базового шага, в верхнем регистре.
-- Внутри таблицы указываются следующие поля:
-- 1. name = строковое обозначение имени шага.
-- 2. defaultPosition - по аналогии с defaultPosition в базовой операции, только относится
-- к базовому шагу (опционально).

-- Активные параметры (active) - параметры, которые отображаются и сохраняются, имеют общую обработку,
-- которая характерна для всех таких параметров (название таблицы - это Lua-имя параметра,
-- пишется в верхнем регистре):
-- 1. name - русскоязычное имя параметра.
-- 2. defaultValue - значение по-умолчанию (опционально).
-- 3. displayObjects - список параметров, указывающий, что будет отображаться в окне
-- графической настройки параметра (окно "Устройства"), при настройке параметра.
-- Таблица displayObjects может отсутствовать.
-- Допустимые свойства: signals - будут добавлены сигналы AO, AI, DO, DI;
-- parameters - будут добавлены все параметры объекта.
-- Пример: displayObjects = { "signals", "parameters" } - будут добавлены сигналы и параметры.

-- Булевые параметры (bool) - аналог активных параметров, только имеют два значения - да или нет
-- (название таблицы - это Lua-имя параметра, пишется в верхнем регистре):
-- 1. name - русскоязычное имя параметра.
-- 2. defaultValue - значение по-умолчанию.

-- Главный параметр агрегата (main) - аналог булевого параметра. Является главным управляющим
-- параметром агрегата (управляет доступностью параметров). Имеет только два значения - да или нет
-- (название таблицы - это Lua-имя параметра, пишется в верхнем регистре):
-- 1. name - русскоязычное имя параметра.
-- 2. defaultValue - значение по-умолчанию.

-- Параметр оборудования (equipment) - параметр для оборудования. Обработка схожая с действиями
-- в шагах операции. Этот тип параметра создается, когда заполняется equipment в объекте.
-- Создается таблице equipment. Имеет общую обработку,которая характерна для
-- всех таких параметров (название таблицы - это Lua-имя параметра,
-- пишется в верхнем регистре):
-- 1. name - русскоязычное имя параметра.
-- 2. defaultValue - значение по-умолчанию (опционально).

-- Группы объектов (objectGroups) - группы объектов (в основном для линий). Внутри этой переменной
-- указываются группы объектов, которые нужны в объекте.
-- Название таблицы - Lua-имя группы, пишется в любом регистре:
-- 1. name - русскоязычное название группы.
-- 2. allowedObjects - указывается один из доступных типов объекта в виде строки (units, aggregates, all).
-- Стандартное значение - aggregates, оно будет использоваться, если не указать это поле.

-- Оборудование - параметр оборудования.
-- Параметры объекта, как агрегата - по аналогии с активными и булевскими параметрами и
-- главным параметром агрегата, он является обязательным для агрегата. main-параметр задается только один!

-- Системные параметры объекта (systemParams) - системные параметры объекта, которые используются
-- в контроллере. Доступны только для чтения, можно менять только значение.
-- Индекс таблицы - указывает его номер в списке параметров.
-- 1. name - русскоязычное название параметра
-- 2. meter - единица измерения параметра
-- 3. defaultValue - стандартное значение параметра
-- 4. nameLua - LUA-имя параметра

base_tech_objects = function()
return
    {
        uniqueEplanName = { -- Уникальное Lua-имя объекта
            name = "",
            s88Level = 0,
            baseOperations =
            {
                uniqueOperationLuaName = { -- Уникальное Lua-имя операции
                    name = "",
                    params =
                    {
                        active = -- Активные параметры
                        {
                            uniqueLuaName = { name = "Имя", defaultValue = "Значение по-умолчанию" },
                        },
                        bool = -- Булевые активные параметры
                        {
                            uniqueLuaName = { name = "Имя", defaultValue = "Значение по-умолчанию" },
                        },
                    },
                    state = -- Состояние
                    {
                        RUN =
                        {
                            steps = -- Шаги
                            {
                                uniqueLuaName = { name = "Имя" }
                            },
                       },
                    },
                },
            },
            basicName = "",
            equipment = -- Оборудование
            {
                uniqueLuaName = { name = "Имя", defaultValue = "Значение по-умолчанию" },
            },
            aggregateParameters = -- Параметры агрегата
            {
                uniqueLuaName = { name = "Имя", defaultValue = "Значение по-умолчанию" },
            },
            bindingName = "Lua-имя для привязки",
            system_params =
            {
                 [ 1 ] =
                     {
                         name = "Название параметра",
                         meter = "ед.изм",
                         defaultValue = 20,
                         nameLua = "parLuaName",
                     },
            },
            parameters = { object_parameters.ParLuaName1, },
            luaModuleName = "name",
            monitorName = "TankObj",
            baseProperties =
            {
                active = -- Активные параметры
                        {
                            uniqueLuaName = { name = "Имя", defaultValue = "Значение по-умолчанию", displayObjects = { "signals" }, },
                        },
                        bool = -- Булевые активные параметры
                        {
                            uniqueLuaName = { name = "Имя", defaultValue = "Значение по-умолчанию" },
            },
        },
    }
end

-- Здесь содержится общий пул параметров, для базовых объектов. Параметры
-- настраиваются следующим образом:
-- 1. luaName - указывается строковое Lua-имя параметра. Это Lua-имя дублируется
-- в названии переменной (таблицы) параметра.
-- 2. name - указывается строковое отображаемое название.
-- 3. value - указывается начальное значение параметра.
-- (целое число или число с плавающей запятой).
-- 4. meter - указывается единица измерения в виде строки.
object_parameters =
{
    ParLuaName1 = {
        luaName = "ParLuaName1",
        name = "Название параметра",
        value = 20,
        meter = "сек",
    },
}

14 Автоматическая генерация описания для IOL-Conf

Для IO-Link модулей ввода-вывода Phoenix Contact и IO-Link устройств можно сгенерировать автоматическое описание, которое может быть загружено через IOL-Conf в модуль ввода-вывода, тем самым, получим автоматическую настройку на основе описания EPLAN.

Примечание: IODD файлы должны быть загружены в IOL-Conf для автоматической настройки адресов ввода-вывода на клеммах модуля ввода-вывода.

В надстройке есть каталог IOL-Conf, внутри него каталоги Devices и Modules.

Modules - служит для хранения шаблонов описания модулей ввода-вывода IO-Link в .lrp формате. Название файла шаблона должно совпадать с названием изделия в EPLAN.
Devices - аналогично каталогу Modules, только для IO-Link устройств.

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

Готовые конфигурации будут сохранены в каталоге IOL-Conf в папке с файлами проекта, файлы конфигурации разделены по модулям и имеют имя, как на схемах ФСА (A100, A200, и т.д.) в формате .lrp.

14.1 Генерация шаблонов устройств и модуля ввода-вывода

Для того, чтобы получить шаблон для модуля ввода-вывода, нужно подключиться к модулю через IOL-Conf, выбрать его и сохранить конфиг.

Нужно обязательно выбрать только что-то одно (модуль или устройство)

И нажать кнопку сохранить. После этого, ввести название изделия и сохранить.

Примечание: корректное сохранение модуля ввода-вывода возможно только если в нем не определены устройства (порты пусты).

14.2 Настройка параметров устройств

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

Указываются параметры в Доп. поле[7] устройства.

Параметры записываются в виде: <Название параметра>=<Значение>, разделителем параметров является запятая. Разделитель целой части чисел - точка.

ВАЖНО: Если изменяемый параметр в шаблоне имеет InternalValue и Value равные 0, то параметр не может быть установлен. Эта проблема решается установкой значения отличного от нуля. Это происходит из-за расчета градиента (коэффициента), на основе которого работает IOL-Conf. Пользователь указывает лишь Value, а InternalValue уже рассчитывается на основе строк шаблона по пропорции.

14.3 Возможные сообщения окна логов, и пути их решения

E - exception/ошибка. S - solution/exception

E: Шаблон <путь к шаблону> с ошибкой.
S: Что-то не так с шаблоном, который предоставил IOL-Conf. Шаблон нужно повторно выгрузить (при условии, что его не правили вручную). Обычно, это значит, что изменилась схема XML и нужно менять её в EasyEplanner.

E: В устройстве <имя устройства в EPLAN> задано свойство <имя свойства>, его не существует в шаблоне устройства <изделие устройства>.
S: Было задан параметр, которого в шаблоне нет. Либо изменился шаблон, либо пользователь ошибся при вводе имени параметра. Проверьте шаблоны, возможно неправильно связан с изделием, либо он изменился и такого свойства в нем больше нет.

E: Шаблон <путь к шаблону> уже существует.
S: Такой шаблон уже был прочитан и добавлен в список шаблонов. Проверьте папки Devices и Modules, где-то совпадают имена файлов шаблонов.

E: Параметр клеммы <название параметра> модуля <имя модуля ввода-вывода прим., А100> <изделие модуля> не найден.
S: Имя параметров портов (в шаблоне они в атрибуте Id) сейчас зашито в код т.к оно везде одинаковое, а именно "V_PortConfig_ХХ", где ХХ - номер, двузначный (01, 02, 03, и т.д). Нужно проверять шаблон, поменялся ли он. Если да (более 2х типов названий), то надо поправить EasyEplanner. Конфигуратор не может настроить режимы работы клемм на модуле ввода-вывода.

E: В шаблоне изделия <имя изделия>, параметр <параметр изделия из шаблона> содержит Value или InternalValue равное 0. Деление на 0. Установите другие значения в шаблоне.
S: Это происходит, когда стандартное значение InternalValue и Value равняется 0. Я не могу посчитать множитель градиента (на который мы умножаем Value чтобы получить InternalValue). Поэтому, нужно в шаблоне изменить этот параметр (через IOL-Conf) на допустимые значения. После этого, все будет считаться как нужно. Если параметр не изменяется, но имеет Value и InternalValue равное 0, то это допустимо.

E: Невозможно проверить существование папок с шаблонами IOL-Conf.
S: Эта ошибка не должна вообще появляться. Она появляется если EasyEplanner не может найти путь к dll. Такое возможно при условии, что кто-то испортил исходный код и не протестировал изменения. Вероятность ошибка 1%.

E: Невозможно найти генерируемые файлы проекта.
S: Файлы проекта не найдены. Возможно такое, когда кто-то правил код и не проверил изменения. Также, такое возможно, если в файле configuration.ini не указывать вообще никакой путь к файлам проекта, но тогда описание становится неправильным. У нас по-умолчанию уже какие-то пути да заданы. Вероятность ошибки 1%.

E: Каталоги не созданы, сначала создайте каталоги.
S: Только достигается из кода. Кто-то изменил последовательность методов и передал неверные данные. Вероятность и причины появления такие же, как и в предыдущих двух ошибках.

E: Отсутствуют описания устройств.
S: В папке Devices нет ни одного шаблона, который мог бы быть считан. Будет показана эта ошибка, но описание модулей будет сгенерировано.

E: Отсутствуют описания модулей ввода-вывода.
S: В папке Modules нет ни одного шаблона, который мог бы быть считан. Генерация работать не будет.

E: Шаблоны не загружены, загрузите шаблоны.
S: Кто-то в коде пропустил этап загрузки шаблонов, или сломал её. Вероятность ошибки 1%. Происходит по вине программиста.