Пользовательский скрипт на S7-300

ПЛК / Децентрализованная периферия

Пользовательский скрипт на S7-300

Сообщение Rusmir » 07 ноя 2018, 10:32

Видел такую систему в скаде пользователь (технолог) набивает примитивный скрипт по одной-двум командам в строке типа IF THEN ELSE GOTO присвоения значений аналоговых, дискретных, задержки. В качестве аргументов используются ресурсы ПЛК входы выходы переменные уставки и т.п. Потом контроллер это дело выполняет по шагам. Причем после "компиляции" комп уже только отображает шаги, сценарий в контроллере крутится. Такой себе самопальный batch control. Загорелся реализовать на S7-300 архитектуре без кучи монструозного софта от Сименс типа PCS, установка небольшая экспериментальная. Пока идея такая в цикле крутится блок, который проверяет все возможные шаги, например 255 шагов. Активный и пройденный шаг смотреть и отображать массивом булей. В активном шаге вызываются данные шага (теги в которых закодирован скрипт текущего шага) дальше разбор, выполнение и переход на следующий шаг. Куча косвенной адресации)). Но вот проблема что громоздко получается и сама реализация на STL видится туманно. Может кто что подскажет? Нет ли инструментов генерировать код блока динамически со скады (было бы интересно)? Уже подмывает написать все на каком нибудь сишарпе и поставить промышленный комп, но нравится идея с ПЛК надежность стандарты и все такое...
Rusmir
Профан
 
Сообщения: 2
Зарегистрирован: 07 ноя 2018, 09:54

Re: Пользовательский скрипт на S7-300

Сообщение Михайло » 07 ноя 2018, 11:22

Кажется речь идёт про рецепты (recipes). Изучайте эту тему.

Обычно на ПЛК не очень много места для рецептов, выгоднее тот же функционал реализовывать на панелях оператора или в SCADA. В любой из этих систем есть свои рецепты.
Михайло
Администратор
 
Сообщения: 3855
Зарегистрирован: 19 сен 2012, 19:16

Re: Пользовательский скрипт на S7-300

Сообщение Rusmir » 15 ноя 2018, 09:35

Ну рецепты это наборы данных, для колы сахара 50 воды 100 кислоты 30 для живчика 40 110 20 для пепси 50 90 25 и т.д. Я же спрашивал про составление гибкой функциональности по поведению. Например программа для колы нагреть до 120 градусов помешать 20 минут подождать 40 мин и если рН > 4 и прозрачность 20 добавить кислоты по формуле объем*прозрачность*коэффициент охладить до 10 гр и т.п. Тоесть скрипт. И набирает его технолог ))
Rusmir
Профан
 
Сообщения: 2
Зарегистрирован: 07 ноя 2018, 09:54

Re: Пользовательский скрипт на S7-300

Сообщение Михайло » 15 ноя 2018, 09:42

Ну технолог запросто отправит ПЛК в СТОП )))
Михайло
Администратор
 
Сообщения: 3855
Зарегистрирован: 19 сен 2012, 19:16

Re: Пользовательский скрипт на S7-300

Сообщение petr2off » 16 ноя 2018, 07:04

Рецепты это не наборы данных. В стандарте МЭК это язык SFC. У Сименсов он как то менее известный, потому как продается за отдельные деньги - т.е. самостоятельный продукт. Так есть своя нотация, суть ее в том, что есть шаги и переходы. И циклически выполняется текущий шаг, до тех пор - пока не будет выполнено условие перехода. Применяется для протяженных во времени алгоритмов. Например, в свое время я сделал на SFC программку запуска насоса.
1 Шаг - закрыть выходную задвижку, открыть входную. Условие перехода - задвижвки открыты
2 Шаг - Запустить насос. Условие перехода - насос запустился и набрал 300 оборотов
3 Шаг - уровнять давления на выходной задвижки. Условия перехода разница давлений на выходе насоса и входном коллекторе меньше 0.1 бар или число оборотов >=1100
4 Шаг - открытие выходной задвижки. Условие перехода - задвижка открыта
5 Шаг - включить PID регулятор

Это все конечно очень поверхностно. Но суть в том, что оператор только цепочку запускает - а дальше она выполняется сама, причем цепочки могут быть сложными, иметь несколько ветвей, разветвятся, сливаться.
petr2off
Любитель
 
Сообщения: 35
Зарегистрирован: 01 ноя 2018, 05:11

Re: Пользовательский скрипт на S7-300

Сообщение Михайло » 16 ноя 2018, 07:41

Технолог не сможет работать с ПЛК, ему нужна песочница.
Михайло
Администратор
 
Сообщения: 3855
Зарегистрирован: 19 сен 2012, 19:16

Re: Пользовательский скрипт на S7-300

Сообщение petr2off » 16 ноя 2018, 10:03

Понятное дело, программа работает в контроллере, а управляется с АРМа, где в скаде есть различные кнопки. Скажем у меня это была кнопка ФГУ (функционально-групповое управление). Там две команды было ПУСК НАСОСА и ОСТАНОВ НАСОСА. И подкоманды: приостановить, продолжить, прекратить. И два вида индикации. Короткая (в WINCC есть такой элемент ) - 5 полосок. белая - шаг еще не выполнялся, зеленая выполнился, красная - ошибка. И подробная, с указанием конкретно выполняемого шага, расшифровкой ошибки(если есть). И.т.д. Оператора ни в коем случае к PLC допускать нельзя.
petr2off
Любитель
 
Сообщения: 35
Зарегистрирован: 01 ноя 2018, 05:11


Вернуться в LOGO! / S7-200 / S7-1200 / S7-300/ S7-400 / S7-1500 / ET200

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 2