Показано с 1 по 7 из 7

Тема: CoDeSys + ModBus

  1. #1

    Lightbulb CoDeSys + ModBus

    Здравствуйте.
    Рассматриваю ПЛК100 как очень привлекательную альтернативу. Останавливает только незнание практических аспектов среды программирования и самого контроллера.
    Стоит следующая задача:
    - организовать в контроллере пять недельных расписаний (с хранением в ПЗУ) и работу дискретных выходов по ним
    - предоставить возможность изменять по протоколу ModBusRTU параметры недельного расписания.
    Т.е. за каждые сутки такие парметры (ЧЧ:ММ, действие (ВКЛ/ВЫКЛ), ЧЧ:ММ, действие (ВКЛ/ВЫКЛ)) - выходит 8 переменных. За неделю 7*8=56 переменных. В пяти недельных расписаниях - 56*5=280 переменных.
    Понятно, что для компактности можно кое-что запаковать, но, т.к. требуется еще передавать состояние входов-выходов, синхронизировать время, то будем для простоты полагать, что будет 280 перменных ModBus.

    Вопросов два:
    - потянет ли контроллер обмен данных в описанном объеме
    - сложна ли реализация такого расписания (может макросы уже готовые есть)

    Спасибо.
    Последний раз редактировалось progress; 15.05.2009 в 13:35.

  2. #2

    По умолчанию

    альтернатива чему?
    плк стакой задачей справится без труда...
    реализация сложной не выглядит...
    (макросов нет, по крайней мере у меня.)
    опишите задачу подробнее, может будет проще помочь...

  3. #3

    По умолчанию

    ПЛК100 как альтернатива SMH для решения именно этой задачи.
    SMH, например, 8 вышеописанных расписаний не потянет по ModBus.

    Задача вроде бы описана достаточно подробно (для ответа на мои вопросы). Трехдиапазонный суточный таймер по которому идет управление дискретным выходом. Таких таймеров в контроллере должно быть пять.

    Беспокоит именно возможность передавать такое кол-во переменных.
    Последний раз редактировалось progress; 15.05.2009 в 17:04.

  4. #4

    По умолчанию

    Не вижу никаких трудностей, тем более что не все 280 переменных необходимо записывать в ПЛК, я полагаю...
    Это не задача для ПЛК, и он с ней легко справится.
    Макросов нет. Вам необходимо освоить работу с библиотекой SysLibTime, которая получает системное время с часов реального времени в контроллере. Ну и дальше в программе просто сравнивать полученное время с Вашими графиками.
    НИКАКИХ сложностей реализации я не вижу.
    Пример определения рабочий\дежурный (в Вашем случае может быть включить\выключить) во вложении.
    Время включения и выключения в данном случае были записаны по умолчанию и менялись с ИП320
    Вложения Вложения
    Последний раз редактировалось Николаев Андрей; 18.05.2009 в 09:42.

  5. #5

    По умолчанию

    Библиотека называется SysLibTime

  6. #6

    По умолчанию

    Цитата Сообщение от Николаев Андрей Посмотреть сообщение
    Не вижу никаких трудностей, тем более что не все 280 переменных необходимо записывать в ПЛК, я полагаю...
    Это не задача для ПЛК, и он с ней легко справится...
    Так вот как раз все эти 280 переменных и необходимо хранить в энергонезависимой памяти контроллера. Чтобы в автономном режиме (без связи с диспетчерской, например) он включался-выключался согласно недельному графику работы. Т.е. по каждому дню недели для одного релейного выхода ПЛК такие перменные: ЧЧ (1- часы), ММ (2 - минуты), ВКЛ/ВЫКЛ (3 - действие), ЧЧ (4 - часы), ММ (5 - минуты), ВКЛ/ВЫКЛ (6 - действие).
    Таких дней недели 7, таких релейных выходов 5. Итого 210 Modbus переменных с запоминанием в контроллере.
    Кроме того в SCADA необходимо передавать фактическое состояние I|O контроллера, системное время и дату для чтения-изменения по Modbus.

    Чувствую, что - не попробуешь, не узнаешь

    В любом случае благодарю ВСЕХ за участие в обсуждении

  7. #7

    По умолчанию

    Все достаточно просто.
    См. статью и примеры "Программируем временные сложности" тут.
    Плюс в биб-ке OSCAT есть такие блоки.

    Зачем тут вообще Модбас? Нужно обязательно с панели расписание менять?
    Альтернатива нарисовать визуализацию для управления расписанием прямо в CoDeSys (либо использовать CoDeSys HMI) – без Модбаса и без SCADA. Тогда эта задача решается минут за 20-30.

Ваши права

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