Форум Zentec

Оборудование => ПЛК серии M => M100 => Тема начата: bagammo от 23 октября 2019, 17:37:01

Название: Доработка стандартного ПО для контроллера M100-2 и Z031
Отправлено: bagammo от 23 октября 2019, 17:37:01
Добрый вечер, на конец то удалось собрать щиты с контроллерами M100-2B и настенной панелью Z-031, прописал все параметры в панели, столкнулся такой проблемой что панель не выводит температуру с датчиков притока или вытяжки, показывает 12,4 С, но если поменять параметр B-6  на 0 (встроенный датчик в панели ) то температура отображается правильно. датчики NTC 10k. Возможно я пропустил какой-то параметр?
Название: Re: Контроллер M100-2B Не хочет обновляться.
Отправлено: mike от 24 октября 2019, 23:10:52
Задача у коллеги - простая, в дополнительном режиме параметров контроллера 031 отображать температуру отработанного теплоносителя.
Самое смешное, что описание вывода занимает больше времени, чем реализация, но тем не менее - приступим.
В ЗВБ есть классный инструмент - симулятор. Подготовим проект к изучению и отладке.
Загружаю проект универсальной программы для контроллера М100, добавляю в него шаблон программы Z031, создаю дополнительное сетевое представление (для удобства) и на рабочей станции настраиваю виртуальные порты. Все, что я только что сделал подробно описано на форуме. Те, кому "надо побыстрее" и "некогда разбираться" могут скачать доработанный проект в конце статьи.
Название: Re: Доработка стандартного ПО для контроллера M100-2 и Z031
Отправлено: mike от 24 октября 2019, 23:23:40
Напомню, задача сводится к выводу в доп режиме 031 ПЛК температуры отработанного теплоносителя.
Но помимо этой температуры есть еще несколько физических параметров, которые можно вывести в 031ый.
Для вывода нам нужно будет немного доработать программу контроллера М100. Но это очень быстро.
Оглядимся, что мы имеем. Для начала посмотрим программу 031 и его сетевые переменные:
Название: Re: Доработка стандартного ПО для контроллера M100-2 и Z031
Отправлено: mike от 24 октября 2019, 23:28:41
Вот в эти переменные и будем писать значения. Перейдем в программу сотого контроллера.
В ЗВБ есть инструмент подключения переменных из шаблонов, принадлежащих проекту. Штука крайне удобная. Воспользуемся ей. Настроим сразу порт, на котором работает мастер. В нашем случае это порт 1. Так же настроим адрес девайса, в который будем производить запись. У панели 031 адрес 1.
Название: Re: Доработка стандартного ПО для контроллера M100-2 и Z031
Отправлено: mike от 24 октября 2019, 23:30:06
Дальше все стандартно для этого блока:
Выбор шаблона программы подчиненного устройства. В нашем случае это программа 031
Название: Re: Доработка стандартного ПО для контроллера M100-2 и Z031
Отправлено: mike от 24 октября 2019, 23:33:01
И тут же указываем начальную переменную и количество подряд идущих переменных, которые требуется записать. В данном случае их 6.
Название: Re: Доработка стандартного ПО для контроллера M100-2 и Z031
Отправлено: mike от 24 октября 2019, 23:37:01
Почти закончили))
После применения изменений получается блок записи переменных, которые были выбраны. Обратите внимание, что ножку "reg" (это стартовый регистр) в данном случае трогать не надо, так как значение на нее будет подано автоматически. Поэтому не обращаем на нее внимание.
Что бы не перегружать обмен Z031 и M100  - поставлю таймер, который раз в секунду срабатывает и по фронту формирует сигнал записи по сети.
Название: Re: Доработка стандартного ПО для контроллера M100-2 и Z031
Отправлено: mike от 24 октября 2019, 23:42:21
Пора проверить что получилось.
К примеру, запишу значение мощности нагревателя. Ставлю константу, например 100 (соответствует процентам).
И запускаю симулятор на 031 и 100
Перехожу в шаблон 031 и в макросе дополнительного режима вижу, что все работает исправно. Значит и в реальной машине будет работать.
Название: Re: Доработка стандартного ПО для контроллера M100-2 и Z031
Отправлено: mike от 24 октября 2019, 23:55:47
Останавливаю симулятор и собираю программу.
Снова перехожу в программу М100. Надо подать значения температур на соответствующие ноги блока записи, что и делаю.
Из блока мультиплексирования в программе получаются значения температур в формате 2х байтового знакового числа. Температуре 1,0 градуса соответствует значение 100 (так надо), то есть целая часть значения температуры умножается в мультиплексоре на 100.
Панель 031 для вывода значений температур использует  2х байтовые знаковые с множителем целого разряда на 10, а для вывода значений влажности, качества воздуха и мощность нагревателя 1но байтовые беззнаковые без множителя.

Например, из блока мультиплексирования получаем значение температуры отработанного теплоносителя 6783 (67,83С).
Для записи в панель необходимо всего лишь разделить значения температур из мультиплексора на 10.
Название: Re: Доработка стандартного ПО для контроллера M100-2 и Z031
Отправлено: mike от 24 октября 2019, 23:58:16
Для вывода значения текущей мощности регулятора составляю пропорцию.
Название: Re: Доработка стандартного ПО для контроллера M100-2 и Z031
Отправлено: mike от 25 октября 2019, 00:00:06
Вот и все. Обещанный файл в приложении.