Tz овна: TZ ARIETIS Galaxy Mixed Media by Edward Wolverton
Содержание
Pump Station Framework для ПЛК ОВЕН 110-32м2 / Хабр
Привет, Хабр! Это мой первый опыт написания здесь, если что, уж сильно не пинайте). Сам я программист самоучка. Новый язык Structured Text и среду разработки Codesys разбирал по мануалу и стандарту МЭК-61131-3. В статье будет рассматриваться легкий самописный фреймворк для быстрой сборки насосной станции реализованной на ПЛК 110-32м2 фирмы ОВЕН.
Посчастливилось мне на работе из рядового слесаря по КИПиА перевестись в инженеры-программисты в состав группы комплексной автоматизации, в которой кроме меня состоял только начальник этой самой группы.
Большую часть парка промышленного оборудования на предприятии фирмы ОВЕН (это различные датчики температуры и давления, ТРМы, блоки питания, ПЛК (110) аналоговые и дискретные модули ввода-вывода (110), сенсорные панели (СП307 и СП310), и сетевые шлюзы для доступа к сервису OwenCloud, частотные преобразователи(ПЧВ). Основной контроллер который мы используем — ПЛК 110-60 (для автоматизации котельных) и ПЛК 110-32 (для автоматизации ЦТП). Разработка программ для этих ПЛК происходит в Codesys 2.3. Поскольку Программистских академий мы не кончали, а курсов по промышленному программированию на языках МЭК никто отродясь не видывал, пришлось с нуля осваивать новую стезю. О первый мой рабочий код.. я буду плакать по тебе кровавыми слезами. Надеюсь сейчас мой код выглядит получше, чем тогда..
Случилось так что на ЦТП вышла из строя, по сроку годности, одна импортная насосная станция. И светлым умам нашего предприятия пришла идея собрать свою, на ПЛК. набросали хардкодингом-быдлокодингом одну программу.. Через полгода скачком напряжения убило насосную станцию на другом объекте.. Снова ПЛК и снова захардкодили программу. Местному руководству так понравилась идея собственной разработки насосной станции, что при ближайшей реконструкции объекта заменяла старую станцию — собственной разработкой ведь экономия средств то какая. Но конфигурация станций всегда разная: тут два насоса, там пять; на этом объекте надо чтобы насосы поочередно переключались, на следующем чтобы работали в каскадном режиме. Разные запросы были. И тут-то я созрел — нужен какой-нибудь фреймворк, чтобы можно было быстро собирать эти станции различной конфигурации.
Для работы нам понадобятся:
Создаем новый проект. выбираем конфигурацию нашего ПЛК.
Главная программа будет на языке CFC. Так наглядней и проще для тех кто не знаком с языками программирования.
По ТЗ у нас на ПЛК приходят сигналы:
Discrete inputs:
Защита по сухому ходу (низкое давление на входе насоса).
Защита по превышению давления на выходе насоса.
Внешняя авария (авария частотного преобразователя).
Статус частотного преобразователя «Работа» (RUN).
Discrete outputs:
Запустить частотный преобразователь.
Квитировать/сбросить аварию частотного преобразователя.
Импортируем в программу нашу виртуальную модель ПЛК, структуру для ее работы и методы.
Сложим наши свежие импорты в папочку чтоб не растерять. Структуры необходимые для работы блока ПЛК110Вид ПЛК110-32 на языке CFC
Теперь к этому блоку мы можем как на электрической схеме подключить наши сигналы к дискретным входам. Допустим у нас станция будет из трех насосов. Подключаем наши сигналы виртуальными проводочками. Для работы с входами ПЛК мы их упаковываем в inputs_plc имеющей тип данных classPLC32m2StatusInputs
inputs_plc присваиваем соответствующую структуры данных.
Для работы с этими данными у нас имеются методы: get_fdi и get_di
get_fdi(number_fdi: int, inputs_plc: classPLC32m2StatusInputs) -> bool; get_di(input_number: int, inputs_plc: classPLC32m2StatusInputs) -> bool;
Подключим наши выходные сигналы к выходам. Для управления выходами добавляем вспомогательный блок get_status_outputs, он принимает на соответсвующий вход булевое состояние и упаковывает все в тип данных classPLC32m2StatusOutputs, с которым работает блок main_plc.
К входам блока outputs мы будем подключать непосредственно результат логики работы нашего контроллера.
Эти блоки для работы с ПЛК110-32 универсальны и могут использоваться в любых других проектах под этот контроллер. Визуально все в одном месте и при онлайн отладке удобно наблюдать за состоянием входов-выходов ПЛК.
Для получения давления на входе и выходе насоса используются датчики 4-20мА. Сигнал в контроллер приходит через модуль аналоговых входов МВ110-8а. Импортируем модель этого модуля в проект.
В PLC_PRG добавляем наш блок аналоговых входов. analog_inputs упаковываются в соответствующий класс classInfoAnalogInputModule
Для работы необходим вспомогательный блок с настройками SetChannelsAnalogInputsModule. Этот блок содержит конфигурацию входов модуля. По умолчанию настройки всех каналов (0-100, 4-20мА).
Конфигурация регистров:
Не забываем проставить адреса регистров которые мы будем считывать (см инструкцию Приложение В, таблица В. 4 — регистры протокола modbus.
Сконфигурировав канал аналогово модуля можем импортировать блок для датчика 4-20мА.
Метод get_channel_current_value(number_channel: int, analog_inputs: classInfoAnalogInputModule)
позволяет получить значение с АЦП соответствующего канала.
И собрав нехитрую конструкцию, получить информацию о давлении которое приходит на датчик.
Блок с параметрами датчика нужен для соответствующего масштабирования согласно параметрам реального датчика.
Насосом у нас управляет частотный преобразователь. Импортируем содержимое папки invertor_drive.
Функциональный блок частотника и его методы.
Добавляем блок в проект, подключаем данные со входов ПЛК, используя метод get_di. ain_value (float) — это аналоговый вход частотника, подключаем туда наше давление, которое мы собираемся контролировать. set_point (float) — это уставка по давлению.
start_id (bool) — сигнал на старт частотного преобразователя; auto_id (bool) — когда True, то работает ПИД-регулятор, когда False — режим manual; manual_hz — значение выходной частоты в режиме manual (Hz) ;active_id (bool) — флаг готовности к работе насоса; alarm_on (bool) — это флаг аварийного состояния, когда он активен, частотник не стартует. P, I, D — это коэффициенты регулятора, по умолчанию (2, 10, 0). min, max _range — это нижний и верхние пределы значения на выходе регулятора. aout_value — сюда мы подключим частоту на выходе регулятора и она на выходе автоматически масштабируется в значение тока 4-20мА.
Для регулятора импортируем блок распаковки настроек регулятора.
PID регулятор возьмем из библиотеки Util.lib которая идет в комплекте с Codesys (через менеджер библиотек добавляем в проект).
Частотник готов к работе и теперь им можно управлять.
Вывод частоты преобразовывается в токовый сигнал отправляется на модуль аналогового вывода.
Реализация модуля аналогового вывода.
Для работы насосной станции предусмотрены 3 режима. Single — одиночный режим работы, когда выбираем насос и он всегда работает; Cycle — режим циклического переключения насосов. Задаем время переключения и активные насосы по очереди работают. Cascade — режим каскадного включения насосов, при недостатке давления на выходе. Чтобы насос участвовал в работе его флаг active должен быть True
Блоки режимов работы станции.
Каждый блок может управлять до 8-ми насосов. Притом для цикла и каскада необходимо более 2х активных насосов.
Рулит этими режимами — селектор.
В селекторе предусмотрен режим обработки ошибок, например таких как: не выбран режим работы или не задан опорный насос и пр.
Обработкой всех ошибок занимается alarm_manager. Для аварий частотного преобразователя сделан свой блок. Сюда собираются все аварийные флаги и в случае нештатной ситуации генерируется код аварии и сообщение.
Менеджер возвращает нам флаг аварии, код аварии и расшифровку в виде информационного сообщения.
Не забываем вывести наши выходные сигналы на выходы ПЛК.
Конфигурируем выходы ПЛК.
Можно запустить эмуляцию и проверить как работают режимы.
Для работы функциональных блоков в фреймворке реализованы functions project. Простенькие функции для работы с массивами, функция масштабирования диапазона и функция для задания времени.
Общие функции фреймворка.
Вот в принципе и всё. Я надеюсь что основная мысль понятна. С помощью фреймворка для контроллера буквально за 15-20 минут можно реализовать программу для нескольких групп насосов работающих независимо друг от друга. Останется дело за малым, сконфигурировать вывод параметров на HMI. Но об этом в следующий раз.
Код проекта с примером
Концевые (механические) выключатели серии TZ-8
Компактный и точный концевой выключатель, обладает высоким пыле- и влагозащищенным исполнением, что позволяет применять его в тяжелых условиях в различных отраслях промышленности.
- Коммутация 2-х цепей
- Высокая прочность конструкции
- Встроенный переключатель с двойным пружинным механизмом
- Серия с клеммой заземления
- Легкое подключение проводов
- Металлический ролик
- Пыле- и влагозащищенное исполнение (IP65)
Каталог на концевые выключатели (PDF)
Типы выключателей
Модель | Переключающий механизм | Контактная группа |
---|---|---|
TZ-8104 | рычаг с роликом поворотный | |
TZ-8108 | регулируемый рычаг с роликом поворотный | |
TZ-8107 | шток регулируемый поворотный | |
TZ-8111 | кнопка нажимная | |
TZ-8112 | шток с горизонтальным роликом нажимной | |
TZ-8122 | шток с вертикальным роликом нажимной | |
TZ-8166 | шток пружинный с диэлектриком на отклонение | |
TZ-8167 | шток пружинный на отклонение | |
TZ-8169 | шток пружинный с утоньшением на отклонение |
Электрические характеристики
Напряжение | Неиндуктивная | Индуктивная | ||||||
---|---|---|---|---|---|---|---|---|
резистор | лампа | катушка | мотор | |||||
НЗ | НР | НЗ | НР | НЗ | НР | НЗ | НР | |
250 V AC | 5 | 1. 5 | 0.7 | 3 | 2 | 1.0 | ||
500 V AC | 5 | 1 | 0.5 | 3 | 1.5 | 1.8 | ||
15 V DC | 5 | 3 | 4 | 3 | ||||
30 V DC | 5 | 3 | 4 | 3 | ||||
125 V DC | 0.4 |
Технические характеристики
Скорость срабатывания | 0.05…50 см/сек |
Частота срабатывания | механическая: 120 переключений/мин электрическая: 30 переключений/мин |
Контактная группа | Н.О. + Н.З. |
Сопротивление контактов | < 15 мОм |
Сопротивление изоляции | 100 МОм (500 В AC) |
Диэлектрическая прочность | ~1000 В AC в теч. минуты контакт-контакт |
Износоустойчивость | механическая: >10^7 циклов электрическая: >10^5 циклов |
Вибропрочность | Без разрушений: 10…55 Гц, ампл. = 1.5мм, по осям |
Ударопрочность | механическая: 100g без сбоев: 30g |
Корпус | Металл с пластиковой крышкой |
Рабочая температура | -5…+65 °C |
Влажность | < 95% |
Масса | 120…190 г |
Степень защиты | IP65 |
Рабочие характеристики
Модель | TZ-8104, TZ-8107, TZ-8108 | TZ-8111 | TZ-8112, TZ-8122 | TZ-8166, TZ-8167, TZ-8168, TZ-8169 |
---|---|---|---|---|
Макс. усилие срабатывания, г | 750 | 900 | 150 | |
Макс. усилие отпускания, г | 100 | 150 | — | |
Рабочий ход, мм | 20° | 1.5 мм | 30 мм | |
Общий ход, мм | 50° | 4 мм | — | |
Отклонение хода, мм | 12° | 1 мм | — | |
— | — | 26±0. 8 мм | 37±0.8 мм | — |
Внешний вид и габаритные размеры
TZ-8104 рычаг с роликом поворотный | TZ-8107 шток регулируемый поворотный | TZ-8108 регулируемый рычаг с роликом поворотный | TZ-8111 кнопка нажимная |
TZ-8112 шток с горизонтальным роликом нажимной | TZ-8122 шток с вертикальным роликом нажимной | TZ-8166 шток пружинный с диэлектриком на отклонение | TZ-8167 шток пружинный на отклонение |
TZ-8169 шток пружинный с утоньшением на отклонение | |||
Брандмауэры SonicWall TZ | Приобрести технологию брандмауэра нового поколения
Просмотрите таблицу ниже или нажмите на название продукта, чтобы получить дополнительную информацию
Сцепление Саут-Бенд — SBCK05074-TZ | Сцепление South Bend 94-01 Dodge Ram 1500 3.
9L / 94-99 Dodge Dakota 5.2L Stg 2 Ежедневный комплект сцепления — K05074-TZ
нажмите, чтобы увеличить
- Описание
Описание
Сцепление Саут-Бенд 94-01 Dodge Ram 1500 3.9L / 94-99 Dodge Dakota 5.2L Stg 2 Daily Clutch Kit
This Part Fits:
Year | Make | Model | Submodel |
---|---|---|---|
1994-1996 | Dodge | Ram 1500 | Base |
1997-2001,2003 | Dodge | Ram 1500 | Laramie |
1997 | Dodge | Ram 1500 | LT |
2002-2003 | Dodge | Ram 1500 | SLT |
1997-2001 | Dodge | Ram 1500 | Sport |
1998 | Dodge | Ram 1500 | SS/T 5. 9L |
1997 -2003 | Dodge | Ram 1500 | ST |
1994-1996,1998-2002 | Dodge | Ram 2500 | Base |
1998-2002 | Dodge | Ram 3500 | Base |
Получите лучшие цены и обслуживание на продукцию South Bend Clutch в Armageddon Turbo Systems (www.goturbo.net). Мы предлагаем полную линейку продукции South Bend с наилучшим сервисом.
Новые и восстановленные сцепления, начиная с заводских спецификаций OEM и заканчивая различными степенями производительности и высокой нагрузкой для всех автомобилей, грузовиков и промышленного применения! Наша цель в South Bend Clutch — предоставить нашим клиентам высококачественные детали сцепления, дружелюбное и компетентное обслуживание, а также сеть складских запасов, обеспечивающую быструю доставку. Как семейный бизнес в четвертом поколении, наш совместный опыт позволяет нам предлагать лучшие варианты сцепления для любого автомобиля и условий вождения.
South Bend Clutch — одобренная SFI компания по производству, восстановлению и механической обработке с четырьмя поколениями промышленных знаний и опыта.
Наша миссия
Постоянно и своевременно предоставлять ценные услуги нашим клиентам по конкурентоспособной цене с дружелюбным и заботливым обслуживанием.
Получите лучшие цены и обслуживание на запчасти South Bend Clutch сегодня на www.goturbo.net — Armageddon Turbo Systems!
Рекомендуемая производителем розничная цена:
$668,96
$571,46
Вы сэкономили
97,50 долларов США
- Артикул:
- СБКК05074-ТЗ
- Доставка:
- Рассчитывается на кассе
- MPN:
- К05074-ТЗ
- Код продукта:
- 356550
- Описание
Описание
Сцепление South Bend 94-01 Dodge Ram 1500 3,9 л / 94-99 Dodge Dakota 5,2 л Stg 2 Daily Clutch Kit
Подходит для этой детали:
Year | Make | Model | Submodel |
---|---|---|---|
1994-1996 | Dodge | Ram 1500 | Base |
1997-2001,2003 | Dodge | Ram 1500 | Laramie |
1997 | Dodge | Ram 1500 | LT |
2002-2003 | Dodge | Ram 1500 | SLT |
1997-2001 | Dodge | Ram 1500 | Sport |
1998 | Dodge | Ram 1500 | SS/T 5. https://kykyry.ru2025
|