1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

Вопрос

Обсуждение вопросов, не относящихся ни к одному из других подразделов

Модератор: kirillio

Ответить

Автор темы
2e3i
новенький
новенький
Сообщения: 1
Зарегистрирован: 25 окт 2012, 16:56
Имя: Дмитрий Александрович
Страна: Россия
город/регион: Ангарск

Вопрос

Сообщение 2e3i »

Доброго времени суток.

Сразу внесу ясность - я программист и с АСУТП не был связан никогда .
Прошу не пинать...

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

Сейчас читаю про OPC и не знаю туда ли иду т.к. не владею ни терминологией ни знанием в автоматизации.

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

Спасибо.
Аватара пользователя

Jackson
администратор
администратор
Сообщения: 17576
Зарегистрирован: 17 июн 2008, 16:01
Имя: Евгений свет Брониславович
Страна: Россия
город/регион: Санкт-Петербург
Благодарил (а): 824 раза
Поблагодарили: 1652 раза

Re: Вопрос

Сообщение Jackson »

2e3i писал(а):Да так чтобы отключив модель можно было включить в эту SCADA реальный тех. процесс по которому эта модель построена (т.е. полностью прозрачный переход от тренажера к реальному процессу).

Сейчас читаю про OPC и не знаю туда ли иду
Спасибо.
Туда-туда, правильное направление.

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

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

Во-2-х, весь вопрос в том насколько сложен Ваш объект, насколько детальная модель Вам нужна (как выше писал: нужна динамика, логика или всё сразу) и какие затраты (материальные и людские ресурсы) Вы готовы в связи с этим понести. :) Исходя из этого и определяется способ "как делать".
По вопросам работы Форума можно обратиться по этим контактам.

alex_ugrumov
почётный участник форума
почётный участник форума
Сообщения: 626
Зарегистрирован: 29 сен 2008, 17:05
Имя: Алексей Угрюмов
Страна: Россия
город/регион: СПб
Благодарил (а): 8 раз
Поблагодарили: 23 раза

Re: Вопрос

Сообщение alex_ugrumov »

Смотрите. Простой случай - один АРМ в системе. От этого АРМ, на котором крутиться СКАДА, идёт провод/провода к контроллеру/контроллерам. СКАДА по этому проводу получает данные от оборудования и показывает эти данные как-то (мнемосхемы, графики и т.п.) Дальше. Чтобы скада что-то показывала, она д.б. "запрограммирована", сделан проект для скада системе. В этом проекте указано что эта лампочка на мнемосхеме должны загораться, если на контроллере с адресом таким-то, подключенном по полевой шине такой-то, в ячейке по адресу такой-то лежит 1. Если используется ОРС, то в проекте скада указано: возьми переменную вот с этого ОРС сервера, переменная зовётся так-то, по её значению зажигай лампочку (А ОРС тоже "запрограммирован" / настроен - ему объяснили с какого контроллера брать значение для этой перемнной). То есть если Вы хотите, чтобы
2e3i писал(а): Да так чтобы отключив модель можно было включить в эту SCADA реальный тех. процесс по которому эта модель построена (т.е. полностью прозрачный переход от тренажера к реальному процессу).
То единственно как это можно сделать, прикинуться на другой стороне провода контроллером и отдавать данные с модели ТП. Иначе никак. Потому что иначе Вам нужно будет указывать, что данные нужно брать с другого места, то есть это изменение проекта скада.
Поэтому реализовать тренажёр абстрактного процесса не получиться, потому что реальный процесс стоится на конкретном железе, контретных контроллерах и конкретных скада. И чтобы реализовать модель абстрактного процесса Вы должны быть готовы прикинуться любым контроллером (в плане ответа на запросы по сети).
Alex.
Аватара пользователя

Jackson
администратор
администратор
Сообщения: 17576
Зарегистрирован: 17 июн 2008, 16:01
Имя: Евгений свет Брониславович
Страна: Россия
город/регион: Санкт-Петербург
Благодарил (а): 824 раза
Поблагодарили: 1652 раза

Re: Вопрос

Сообщение Jackson »

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

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

san
преподаватель
преподаватель
Сообщения: 1357
Зарегистрирован: 01 сен 2008, 18:32
Имя: Пупена Александр
Страна: Украина
город/регион: Киев
Поблагодарили: 6 раз

Re: Вопрос

Сообщение san »

Я как раз этим занимаюсь. Начало моих поползновений в направлении имитации объектов в ПЛК выложил тут. Сейчас уже сделал модель теплообменника, ёмкости с теплообменной рубашкой. Ничего сложного в принципе нет, если пользоваться методом Эйлера. Но о полной адекватности модели объекту говорить не приходится, имитационная модель ипсользуется только для целей проверки работоспособности программы в ПЛК и ЧМИ.
Кстати, нагрузил ещё свою магистрантку, будет делать модель пастеризатора, посмотрим что из этого получится.
Ответить

Вернуться в «Общие вопросы»