PDA

Просмотр полной версии : Система управления центробежным сепаратором.



SeaDog
29.10.2024, 18:40
Представлена автоматическая система управления судовым центробежным сепаратором Alfa Laval очистки топлива и масла. Проект разработан в среде Codesys V3.5 для СПК107

Описание по ссылке:
https://rutube.ru/video/e8ff48464406cf63db08334694853027/

Буду благодарен за любые комментарии.

МихаилГл
29.10.2024, 19:27
А на невыключение контакторов аварии есть? На включение без команды управления?

Почему бы сразу на ST не делать. И основная программа не обязательно на ST, можете на любом языке делать, это не обязательное требование или ограничение...

SeaDog
29.10.2024, 21:16
Спасибо!
- По контакторам аварии есть
79707

- По поводу ST - пока практики не хватает. Бейсик и Паскаль учил в школе в далёкие времена, но прописывать на ST таймеры, триггеры и тп пока тяжеловато (есть над чем поработать).
Разбил всё на большое количество программ, чтобы не запутаться. Столкнулся по работе с кривым китайским проектом, где всё в одной сплошной куче и было трудно найти ошибки.
- При открытии нового проекта PLC_PRG появляется сразу на ST. Почитаю завтра, как выбрать другой язык.

МихаилГл
30.10.2024, 04:59
Можно любую другую подпрограмму прописать в менеджере задач, не обязательно plc-prg.

Просто у вас куча управляемых элементов для одного механизма... Хотя на самом деле несколько механизмов отдельных... Что будет если клапан не перейдёт в другое положение? Вопросов много.

Я делаю для каждого Механизма блок по 32 аварии, вплоть до выбивания автомата при запущенном - это авария. Выключение автомата при не запущенном - неготовность. И т.п. А такой подход немного неправильный. Но, как говорится, если работает, то не стоит менять...

79707
NE - это как я понял "не равно"... Сразу все аварии в "Отказ"... А как поймете по какой причине? И не много ли 3 секунды на замыкание контактора? Если бы это был частотник или плавный пуск, где сигнал "В работе" приходит после времени разгона, тогда без вопросов...

and909
30.10.2024, 07:08
Почему бы сразу на ST не делать.
Не нужно совать ST в каждую дырку, его применение должно быть обоснованно, так как затрудняет обслуживание оборудования в будущем.

МихаилГл
30.10.2024, 07:27
Не нужно совать ST в каждую дырку, его применение должно быть обоснованно, так как затрудняет обслуживание оборудования в будущем.

Ну LD ещё куда ни шло, но SFC... Внесете доп элемент, забудете проверить последовательность выполнения действий, и будете голову 2 дня ломать, почему бит сбрасывается, хотя не должен.

Или свернуть кучу элементов до одного универсального... Вот примерный код скрина автора на ST:


For i:=1 to 2 do
TimerX[i](in:=(cmd[i] <> con[i]); pt:=t#3s) ;
ala[i]:= TimerX[i].Q;
End

И хоть 1000 таких, только диапазон i расширяй.

Валенок
30.10.2024, 09:17
Не нужно совать ST в каждую дырку, его применение должно быть обоснованно, так как затрудняет обслуживание оборудования в будущем.
Не нужно совать LD/FBD в каждую дырку, их применение должно быть обоснованно, так как затрудняет обслуживание оборудования в будущем

and909
30.10.2024, 09:26
ST это язык "тру" программистов, которые сначала писали глючное ПО для ПК, а потом пришли на ПЛК со своим уставом.
А графические языки предназначались для спецов-электриков, которые работают руками и им некогда изучать этот замудреный текстовый ST, а надо чтобы просто и надежно работало.

МихаилГл
30.10.2024, 09:31
ST это язык "тру" программистов, которые сначала писали глючное ПО для ПК, а потом пришли на ПЛК со своим уставом.

Вы работали на fbd Сименса? Там один нетворк может занимать несколько страниц экранных. А когда это не твой код, а код заказчика, в котором он сам не бельмес, это вообще трэш. Ну ничего, справились в своё время. А на ST этот код занял бы около 20 строк.

Я по началу на LD в кодесисе писал, так как с Rockwell пришёл в него. Но потом на ST перебрался. А вот в Rockwell ST как раз ужасен. Всё зависит от среды программирования.

Валенок
30.10.2024, 09:34
ST это язык "тру" программистов, которые сначала писали глючное ПО для ПК, а потом пришли на ПЛК со своим уставом
Текстовые языки - это первые (это про "устав") и естественные языки программирования вообще. ПК от ПЛК ничем не отличаются.
А графические языки для тех кто не может выразить словами то, что хочет - надо руками размахивать и невнятные карты железных дорог мира показывать.

and909
30.10.2024, 09:50
Всё зависит от среды программирования.
Писал и для сименса и омрона и митсубиси - у каждого свои приколы. Сейчас кодесис осваиваю - нравится.
И сименс хоть и великий, но и ужасный местами - согласен ;)
ИМХО IL покрасивше ST - лишних буков меньше.

SeaDog
30.10.2024, 11:05
При написании я повторял алгоритм оригинала, насколько я его понимаю. Понимаю, что получилось не оптимально, мягко говоря. Остались небольшие кусочки, которые надо добавить. Но в целом, оно рабоботает.

Вопрос возник по работе ещё лет 5 назад и был связан с долгостроем в российском судостроении. Поставки котлов на серию судов растянулись на годы, а производитель поменял концепцию своих щитов, перешел с релейных на щиты с Siemens S1500. Надо было повторить релейные щиты, воспользовались Овеном - ПЛК 73.
В ковидные времена в Россию пришло много сепараторов, в щитах которых просто отсутствовали контроллеры с модулями расширения. Фишки с проводами висят и рядом положена бумажка - "PLC на ПНР привезём" ))). Контроллеры B&R серия X20. В итоге начались всем известные события, ничего не привезли. Прошивки софта есть (скомпилированные), наши кое-как накупили B&R на Алибабе за несколько ценников (можно было 10 Овенов в каждый щит купить).

По поводу клапанов.
Для трёхходового клапана V1 обратной связью является давление на выходе РТ4 - авария, переход в POU_8, ожидание опытного механика.
Для клапанов операционной воды SV10...16 это тоже РТ4, но во время задержки 20-30 секунд нефтепродукт вместо штатного выхода хлещет в шламовый танк. Не столько жалко топлива/масла, сколько неприятно наполнение этого танка - потом головная боль, как это утилизировать.
Как раз тут очень правильное замечание

А как поймете по какой причине?
Опытный механик в ручном режиме пройдёт последовательность и увидит на каком элементе сбой. Часто бывает, что труба "заросла" и вода толком не идёт, а он мучается, жмёт зелёную кнопку месяцами, пока кого-нибудь потолковее не пришлют. Хотя, сепаратор - штука не совсем интуитивно понятная, причин и нюансов много. Как-то автоматизировать выявление вероятной причины трудно. В S-серии сепараторов Альфа Лаваль реализовали калибровку подачи воды и выявление события "Шлам в барабане". Но в Р-серии так не получится - барабан конструктивно проще.


И не много ли 3 секунды на замыкание контактора?
Хотел 1 секунду поставить. Задумался, а почему именно одну? В принципе и одной много, но и за 10 ничего страшного не произойдёт. Завис сильно надолго, плюнул и поставил 3 )). Поставлю 1.

Валенок
30.10.2024, 11:15
ИМХО IL покрасивше ST - лишних буков меньше.
Ну я ж и говорю. Графика нужна тем кто не только выражаться словами не может, но и читать не умеет

IVM
30.10.2024, 12:03
Не нужно совать ST в каждую дырку, его применение должно быть обоснованно, так как затрудняет обслуживание оборудования в будущем.

ST самый человечный язык в программировании ПЛК.