Показано с 1 по 10 из 103

Тема: ПЛК 63 в примерах

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #4
    Пользователь
    Регистрация
    18.07.2008
    Адрес
    Владимир
    Сообщений
    113

    По умолчанию Первый шаг

    Для себя уже смастерил, просто стоит задача, "развлекательная", упражнения для ума и тела, сделать систему которая впишется в шиток 12*2 автоматов. И так получилось что данная реализация совпала. А так как я за свободу информации, вот и выкладываем.

    Как и обещал начинаю выкладывать описания на функциональные блоки для моего частного случая (использование плк 63 в качестве контролера отопления). Данный пример больше подходит для тепловых узлов и небольших котельных. Узел ГВС выполнен в виде бойлера. Основываясь на цели облегчения понимания работы данной программы принял решение писать модули на CFC и SFC. В тех случаях когда это сложно буду выкладывать два вида, т.е. дополнительный сделанный на других языках поддерживаемых CoDeSys. А в совсем сложных случаях предлагаю воспользоваться описанной функцией как готовым блоком. В будущем и возможно для кого то уже сейчас можно это все скомпоновать в библиотеку. Призываю всех желающих поучаствовать в написании функций и их устройства, не скупиться на комментарии.


    ШАГ 1 — инициализация, обработка сигналов

    Базовая часть программы используется стандартное PLC_PRG рекомендую использование SFC, так как в нем достаточно просто реализуется шаги МЭК для режима инициализации и работы. В конечной реализации программы в первом шаге будут производиться инициализация входов-выходов и другие действия «холодного старта» программы.
    Первое с чем сталкивается пользователь это работа с датчиками, я не описываю в данном примере получение значений. Это хорошо описано в руководствах, хотя и будут примеры когда используются устройства подключенные по ModBus. Однако есть задача и со стороны программиста проверить корректность получаемых значений. Для этих целей я использую два функциональных блока SensorReal и jitter.
    SensorReal контролирует диапазон получаемых значений и в случае выхода их из него выдает аварию датчика и Подменяет значение в случае выхода из диапазона, это может происходить в случае обрыва или короткого замыкания датчика. Данных функциональный блок в двух видах один в CFC другой на IL (делал из удовольствия и ностальгии по ассемблеру). Структура достаточно простая производятся сравнение с максимальным и минимальным значение и в случае выхода за диапазон выдается сигнал авария и одновременно с этим подставляется для выхода значение по умолчанию.
    В некоторых случает значение параметра остается диапазоне но перестает меняться, что говорит тоже о неполадках с датчиком. Данный блок jitter (с анг. дрожать) состоит всего из трех элементов, первый сравнивает изменилось ли значение с последнего момента исполнения кода данного функционального блока, если разница есть, то второй блок это таймер задержки включения TON, в данном случае он выполняет функцию по задержке подачи аварийного сигнала, то есть дает время значению измениться, если это не происходит в течении указанного времени то на выходе появится аварийный сигнал. Третий элемент постоянно выполняет копирование значения со входа в память функционального блока в случае если есть между ними разница. Хотя можно было бы и не использовать EN/ENO и выполнять копирование постоянно, но так более правильно с точки зрения написания кода, например кто-то баловался с порядком обработки блоков и поменяет последовательность и копирование начнет теперь выполняться раньше чем было произведено сравнение, получится постоянная авария с этого функционального блока.

    Дополнительный комментарий
    Обработку сенсоров я предпочитаю выносить в отдельный программный блок, это более удобно, а здесь буду использовать вариант с шагами SFC чтобы показать стандартный порядок обработки данных и в нем сложнее допустить ошибку. Т.е. это не правило пишите так как вам удобно. Сначала описание базовой части производится без привязки к контролеру, однако к шестому шагу все соберется в одну кучу.

    ШАГ 2 Два варианта вычисления погодозависимого графика
    ШАГ 3 Работа с насосами (отопления, бойлера)
    ШАГ 4 Работа с трехточечным сервоприводом отопления
    ШАГ 5 Аварийные ситуации
    ШАГ 6 Финальная сборка и привязка к ПЛК63
    ШАГ 7 Отображение данных
    Вложения Вложения
    • Тип файла: zip step1.zip (27.8 Кб, Просмотров: 716)
    Если человек доверяет судъбе, то она ведет его по жизни, иначе тащит %)

Похожие темы

  1. ошибки в примерах ...
    от Дмитрий Артюховский в разделе ПЛК1хх
    Ответов: 21
    Последнее сообщение: 25.01.2009, 21:17

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •