[?]: Как тестировать ПО для АСУТП?

Прочие PLC и HMI на русском
Alexor
Posts: 4
Joined: Fri Apr 22, 2011 9:11 pm

[?]: Как тестировать ПО для АСУТП?

Post by Alexor »

Уважаемые коллеги!
Разрабатываю инструмент для тестирования ПО АСУТП.
Создал страничку с описанием и демо версией, ни а какой коммерческой деятельности пока речь не идёт.
Хотел бы предложить обсуждение идеи на форуме.
Поделитесь, пожалуйста, опытом как у вас организуется процесс тестирования программного обеспечения для АСУТП.
Особенно интересует вопрос, создаётся ли под каждый проект симулятор работы оборудования и какое специализированное ПО вы для этого используете.

По мере сил совершенствую собственную разработку. Недавно выделил время и оформил небольшое описание на automation.ucoz.com.
Пока есть энтузиазм развиваться дальше, но иногда терзают смутные сомнения, что изобретаю велосипед.
Linkinx64
Posts: 894
Joined: Sun Apr 11, 2010 3:00 am
Location: Russia

Re: [?]: Как тестировать ПО для АСУТП?

Post by Linkinx64 »

Скачав и просмотрев твой тул, не прояснил главного: что он собственно тестирует? Что за ПО АСУТП?
ПО АСУТП - это целый комплекс программных средств. От ПО планирования производства до ПО программирования ПЛК/операторских панелей.. и тестировать их можно по-разному.
Про велосипед: велосипед велосипеду рознь, как известно, а потому если изобретёшь что-то более существенное и/или удобное, чем уже существующее - вполне вероятно, твоя разработка воплотится в жизнь..
Alexor
Posts: 4
Joined: Fri Apr 22, 2011 9:11 pm

Re: [?]: Как тестировать ПО для АСУТП?

Post by Alexor »

Под термином ПО АСУТП я имел ввиду связку PLC+SCADA (+ панель оператора). Системы планирования производства, как мне кажется, относятся скорее к АСУП, но спорить не буду :)
Так сложилось в нашей конторе, что программу для PLC и для SCADA делают разные люди. До выезда на ПНР желательно чтобы большинство ошибок были отловлены, автоматические алгоритмы были отработаны, кроме того желательно проработать удобство интерфейса оператора. Мой основной вопрос к коллегам был именно в этом: Каким образом вы это делаете в условиях офиса?
Oldman
Posts: 797
Joined: Tue Aug 21, 2007 7:05 am

Re: [?]: Как тестировать ПО для АСУТП?

Post by Oldman »

я часто делаю проекты примерно таким же образом как вы описываете.один пишет проект на контроллер а другой на визуализацию.у нас заведено так-главный тот кто пишет визуализацию.он должен смыслить в программировании плк.ну и он является конечным потребителем данных от программиста плк.хорошо бы чтобы он являлся и идеологом проекта (т.е он должен понимать чего хотят получить в конце проекта).отладка проекта осуществляется симуляторами и эмуляторами.сначала каждый свою часть чекает а потом перед выездом на объект все собирается воедино.вот вкратце.если все проверено на стендах то потом доработок не так много.впрочем это все процесс творческий засады имеют место быть.
Linkinx64
Posts: 894
Joined: Sun Apr 11, 2010 3:00 am
Location: Russia

Re: [?]: Как тестировать ПО для АСУТП?

Post by Linkinx64 »

В условиях офиса:
У нас, например, есть специальное помещение, куда ставятся шкафы с низковольтной аппаратурой и компьютеры. Программа грузится в реальный ПЛК, борды вводов-выводов замыкают, размыкают и шунтируют (или как это правильно сказать, для имуляции на входах сигнала в 4-20мА), симулируя многочисленные ситуации на производстве. Следят за прогой в ПЛК, правильно ли срабатывает она на ту или иную ситуацию..
Затем, уже отлаженное оборудование поставляется заказчику. Т.е по прибытию на сайт (на место) нам остаётся только запитать шкафы и ПК, подключить интерфейсы к существующим системам (если таковые имеются). Но на практике, почти всегда приходится дорабатывать софт уже на территории заказчика... потому что, как ни симулируй - в условиях реального производства оно всё равно ведёт себя потом не так, как это предполагалось (как в офисе).

Планирование производства - СОУП, действительно не принадлежит к АСУТП. Между ним и АСУТП ещё и второй уровень имеется (т.н. АСУПП). Но когда говоришь с заказчиком, что именно они хотят под АСУТП - зачастую оказывается, что системы производственного планирования они относят туда же.
Alexor
Posts: 4
Joined: Fri Apr 22, 2011 9:11 pm

Re: [?]: Как тестировать ПО для АСУТП?

Post by Alexor »

Oldman wrote:отладка проекта осуществляется симуляторами и эмуляторами.
Если несложно, поясните как вы реализуете симулятор. Это программное или аппаратное решение? Какой софт вы используете?
Я так понимаю, что под эмулятором вы имеете ввиду эмулятор PLC, например Siemens S7PLCSim?
CoMod
Site Admin
Posts: 4041
Joined: Thu Feb 16, 2006 3:25 pm
Location: Russia

Re: [?]: Как тестировать ПО для АСУТП?

Post by CoMod »

Alexor wrote:
Oldman wrote:отладка проекта осуществляется симуляторами и эмуляторами.
Если несложно, поясните как вы реализуете симулятор. Это программное или аппаратное решение? Какой софт вы используете?
Я так понимаю, что под эмулятором вы имеете ввиду эмулятор PLC, например Siemens S7PLCSim?
Симулятор PLCSim - только симулирует видимость работы контроллера и ввода/вывода, делая всё в памяти и не обращаясь к реальному железу и аппаратным интерфейсам.
Эмулятор WinAC - эмулирует (выполняет) работу контроллера в реальном времени (используя мощности компьютера) и обращается к реальному железу по сети через аппаратные интерфейсы.
Oldman
Posts: 797
Joined: Tue Aug 21, 2007 7:05 am

Re: [?]: Как тестировать ПО для АСУТП?

Post by Oldman »

я же не сказал что работаю всегда с сименсом.есть другое железо которое это позволяет делать.по поводу всего остального все верно.но написать основную часть проекта и проверить верность идеи можно.100% уверенности в том что все сделано верно нет.работа с железом тока ставит точку в работоспособности проекта.скаду и панельку можно на симуляторе отчекать.т.е 60-70% проекта можно сделать без железа.хотя есть люди которые все сразу делают на макете будущей системы.наверное такой подход имеет место быть.кто как привык и у кого какие знания имеются.на практике народ сильно не парится делает макет и вперед и людей знающих софт досконально мало.посему думаю создать отладочную систему для проекта бывает сложнее чем написать сам проект.это деньги и нервы.может оно этого не стоит.
Alexor
Posts: 4
Joined: Fri Apr 22, 2011 9:11 pm

Re: [?]: Как тестировать ПО для АСУТП?

Post by Alexor »

Много работаю с PLCSim, в студенческие годы был опыт по WinAC (использовал в дипломной работе). Не совсем согласен, что WinAC эмулирует работу контроллера. Это скорей SoftPLC, причём режим жёского реального времени обеспечивает только версия, где модифицируется ядро операционной системы.

Попробую ещё более уточнить вопрос – Как при тестировании ПО АСУТП вы имитируете сигналы реального оборудования?

Из ответа Linkinx64, понял, что у них симуляция происходит вручную чисто железным способом. Таким образом, тестируются шкафы и ПО одновременно.
У нас в конторе был реальный опыт, когда мы собирали отдельный симулятор на основе PLC и SCADA и подключали его к тестируемой системе по методу входной сигнал к выходному и наоборот. Потом приехал заказчик и была заводская приёмка системы.
В интернете встречаются ещё примеры использования Matlab, обычно для сложных технологических процессов.
Последнее время, при отладке и тестировании делаю в PLC возможность подмены входных сигналов из другой области памяти по программному ключу. Именно для такой работы и предназначена моя разработка.
Кстати, без железа тоже работал. В проекте 5 PLC, а на руках свободного железа нет. Использовали 5 компьютеров (виртуальных машин) с S7PLCSim и на каждой симулятор оборудования. SCADA тоже подключалась к этим компьютерам как к PLC.
CoMod
Site Admin
Posts: 4041
Joined: Thu Feb 16, 2006 3:25 pm
Location: Russia

Re: [?]: Как тестировать ПО для АСУТП?

Post by CoMod »

Не совсем согласен, что WinAC эмулирует работу контроллера. Это скорей SoftPLC...
SoftPLC это и есть эмуляция выполнения команд инородного процессора программными средствами.
slovari.yandex.ru wrote:Эмуляция - имитация (в смысле подражание выполнения) работы одной системы средствами другой без потери функциональных возможностей и искажений результатов. Эмуляция выполняется программными и/или аппаратными средствами.
причём режим жёсткого реального времени обеспечивает только версия, где модифицируется ядро операционной системы
Так иных и уже не держим на многоядерных процессорах
http://www.plcforum.uz.ua/viewtopic.php ... 183#p44183
Oldman
Posts: 797
Joined: Tue Aug 21, 2007 7:05 am

Re: [?]: Как тестировать ПО для АСУТП?

Post by Oldman »

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