Найти в Дзене
Ты же инженер АСУ ТП

Автоматизация поста налива на CoDeSyS 3.5

2 года назад заказчик дал задание на автоматизацию постов налива бензина. На каждый пост своё управление. Затем все собираем в кучу в SCADA систему. К сожалению проект пришлось заморозить, так как требовалось кучу разрешительной документации. Сама программа работала «на столе». На реальном объекте испытать не удалось. Пишу статью, может для кого-то пригодятся «Фичи» в CoDeSyS 3.5. Пост налива — это некая металлоконструкция с лестницей и гибким шлангом, либо сверху, либо снизу. Этот шланг подводят к бензовозу и наполняют его топливом. Выглядит он следующим образом: Что находится примерно в составе оборудования. Какие задачи были поставлены в реализации программы: Управление постом налива реализовывали на базе ПЛК200 с применение CoDeSyS 3.5. Ну начнем с того, что я разбивал все процессы и задачи на подпрограммы — чтобы потом легче было находить косяки при отладке. Дерево проектов выглядит примерно так: В основной программе создан подраздел действие (ACT), сюда я записываю различные пре
Оглавление

2 года назад заказчик дал задание на автоматизацию постов налива бензина. На каждый пост своё управление. Затем все собираем в кучу в SCADA систему. К сожалению проект пришлось заморозить, так как требовалось кучу разрешительной документации. Сама программа работала «на столе». На реальном объекте испытать не удалось. Пишу статью, может для кого-то пригодятся «Фичи» в CoDeSyS 3.5.

Что за пост налива?

Пост налива — это некая металлоконструкция с лестницей и гибким шлангом, либо сверху, либо снизу. Этот шланг подводят к бензовозу и наполняют его топливом. Выглядит он следующим образом:

Что находится примерно в составе оборудования.

  • Насос
  • Клапан большого налива
  • Клапан малого налива
  • Массовый расходомер
  • Различные сигнализации

Какие задачи были поставлены в реализации программы:

  1. Универсальность — передача данных для верхнего уровня либо по Ethernet, либо по RS-485.
  2. Подключение различных видов массовых расходомеров — по импульсу или по Modbus.
  3. Фиксация различных аварий и защит и запись в аварийный журнал.
  4. Запуск программы по месту или удаленно.
  5. Различные клапана подачи топлива, либо два клапана либо регулирующий кран.

Управление постом налива реализовывали на базе ПЛК200 с применение CoDeSyS 3.5.

Программа на CoDeSyS 3.5

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

Дерево проектов выглядит примерно так:

-2

В основной программе создан подраздел действие (ACT), сюда я записываю различные преобразования данных, передачу данных и привязку физических входов-выходов.

Тело программы (PLC_PRG) с логикой.

И различные функциональные блоки и функции. Аварии(Avarii_post) и Регулирующий кран(kran)/

Опрос модуля ввода аналогового, панели оператора и массового расходомера по интерфейсу RS-485.

-3

Обязательно ручной режим, включение насосов, задвижек, клапанов, кранов и т.д.

-4

Расчет расхода сделал примерно таким, без учета цены импульса. Знаю, что код кривоват, если есть варианты получше, подскажите, как написать?

-5

Выбор режима для расхода и задвижки делал через CASE.

-6

Запуск пошаговой программы реализован через CASE. При отладке наглядно показано, где программа остановилась и по какой ПРИЧИНЕ.

-7

Обработчик стоповой кнопки, все прописано, когда, куда и что должно остановиться.

-8

Обработчик аварий и отправка сообщений через массив.

-9

Аварийная ситуация и что должно произойти.

Ставили ещё маленькую панель оператора, вот такая была менюшка:

-10
-11

Ну и что предполагалось быть в мнемосхеме Master SCADA 3.12. Ставили именно её.

-12

На этом я заканчиваю, если будут вопросы, пишите.