Отличительная особенность контроллера: компактные размеры и очень низкая стоимость.
12V AC/DC, RS-485 (Modbus RTU), 5xDin ("сухой контакт"), 3xAin (NTC10k), 5Dout (реле 5А 220VAC), 2xAout (0-10V, 22mA каждый канал). Память пользовательских программ - 24к, ОЗУ - 2к (около 400-600 функциональных блоков). Программы для контроллера можно создавать при помощи системы zetFBD
Здравствуйте есть ли готовые решения программ для приточной вентиляции?
Добрый день!
да, в выходные выложим на сайте
И для 400-го пож тож :)
Здравствуйте. Скажите, где можно посмотреть список изменений на новые версии программ для упрравления приточками?
Добрый день!
Программное обеспечение, которое мы предоставляем пользователям, является демонстрационным вариантом и распространяется "как есть". Вы вправе самостоятельно отслеживать изменения и вносить любые коррективы в программные решения.
А скажите пожалуйста, что означает ошибка ERROR08 "Превышение времени цикла контроллера" и как её устранить?
http://zentec.ru/dev/docs/d150714/d120213/
Пункт 5 и 6
Здравствуйте господа модераторы!
Т.к. в настоящее время обладаю только Z401 и делаю первые шаги в звб,
то возникают трудности в невозможности проверить правильность приема данных.
Прошу Вас посмотреть опытным взглядом и подсказать будет ли работать или где я накосячил.
Правильно ли выставлены настройки, как в карте сети связать Z401 со слейвом?
Нужно опросить в приборе с адресом 1, сеть 19200 8N1,
регистры 1..6 и 10..12.
С Уважением Сергей.
Добрый вечер!
Сейчас посмотрю.
Убедительная просьба не рушить концепцию ЗВБ)))
Для "вывода" проекта нужно пользоваться кнопкой "экспорт" в главном меню.
Работаем с однопортовой машиной, соответственно загрузка будет производиться несколько иначе.
Выставляем на карту сети рабочую станцию и 401 машину, соединяем.
Далее очень внимательно!
Имеется контроллер, в который ничего еще не записано. Поэтому для рабочей станции мы даем указание, что будем загружать в подчиненное устройство.
Наконечник пина порта в этом случае имеет форму круга (см. скрин1)
После того, как произойдет запись программы в контроллер порт станет мастером (по вашей программе).
Поэтому, для того, что бы повторно загрузить в порт, настроенный в режим мастера программу, вам надо "сказать" об этом рабочей станции.
Делается это просто, см. скрин2
После нажатия на кнопку ОК, наконечник пина изменится на квадрат.
Теперь по программе.
Почти все правильно.
Я могу ошибаться, но вы хотите постоянное чтение переменных по сигналу en.
В этом случае схему можно упростить.
См. скрин4
Не так давно мы ввели возможность фиксировать сигналы на входах и выходах блоков чтения и записи.
Это видно на скриншоте5.
Теперь, если в вашем алгоритме нет необходимости создавать внешнюю переменную, то значения на выходах блока чтения можно зафиксировать в текущем цикле.
Проще говоря, та конструкция, которую вы построили снаружи блоков будет автоматически реализована внутри при установки соответствующего флажка.
Теперь, обладая этими знаниями, упрощаем схему.
Остался последний момент.
Но это уже у меня вопрос к вам. А зачем вам динамически изменяемые номера регистров подчиненного?
Входы "читать 1...6" и "читать 10...11"
В принципе все. Вам осталось добавить детектор связи с подчиненным и обработку ошибок от него для формирования поведения мастера в случае отсутствия связи.
Цитата: mike от 01 апреля 2016, 22:10:19
Остался последний момент.
Но это уже у меня вопрос к вам. А зачем вам динамически изменяемые номера регистров подчиненного?
Входы "читать 1...6" и "читать 10...11"
В принципе все. Вам осталось добавить детектор связи с подчиненным и обработку ошибок от него для формирования поведения мастера в случае отсутствия связи.
я пока ждал ответа, решил еще разбить по времени опрос(чтоб не в 1 цикл) и написал обработку ошибок и блок разросся до приличных размеров.
Номера не изменяю динамически, просто так, как шаблон. Во входах макроса прописаны константы.
Спасибо. Все оказалось значительно проще.
Поясните пожалуйста :
"Вам осталось добавить детектор связи с подчиненным"
не совсем понял или я уже это сделал?
Секунду, сейчас посмотрю.
Детектор ошибок ошибочный)))
Вы не даете подчиненному шансов!
А вдруг пакет "проглотит" или подчиненный затупит?
Я бы реализовал "отвал" подчиненного по отсутствию строба rdy в течение какого-то разумного времени.
А ошибки использовать по необходимости, если от этого зависит "поведение" алгоритма
Что касается разбивки запроса. Такое кол-во переменных нет смысла разбивать по времени. Вот сотню другую - тут можно подумать.
Все переменные на сцене избыточны для этой задачи.
понимаю, но это шаблон. я это для наглядности.
Сейчас перепишу детектор.
Я почти закончил, сейчас выложу
Готово
Посмотрите, правильно?
А ваш файл не могу открыть.
сохранил, импортирую. но не открывает.
У меня бета 105.
Должно работать. Что пишет при импорте?
Только что попробовал скачать - открывает без проблем.
Все разобрался. При импорте писал, что с таким именем существует,
переименовывал, не понимал, что он требует др. дирректорию.
В общем разобрался.
Проблема в том, что при попытке импорта создается новая папка и я этого не понял.
Переделал, как у Вас, но подскажите в скрине сверху допустимо так ошибку связи проверять?
насколько я понял, у нас параметр еррора тоже фиксируется и я полагал, что если более 5 сек ошибка висит, то ...?
Или все же как у Вас?
Допустимо. Строб появится только в том случае, если чтение успешное. Если пришла ошибка - строб не появится. Это есть в инструкции и в документе по работе в сетях (кстати, очень полезный док. Лежит на сайте в разделе документы. Называется "Работа в Modbus сетях).
Параметр ошибки фиксируется только на момент прихода этой ошибки (это естественно). Можно делать и по ошибке - тут для творчества безграничное поле.
Например, анализируя ошибки, можно строить сканеры регистров, устройств и т.п.
Хотел дать маленький совет.
Вы можете включить вашу программу в симулятор, а к COM порту компьютера подключить подчиненного, которого из симулятора вы сможете опросить.
Так можно отладить программу на однопортовых машинах.
Цитата: mike от 02 апреля 2016, 07:24:31
Хотел дать маленький совет.
Вы можете включить вашу программу в симулятор, а к COM порту компьютера подключить подчиненного, которого из симулятора вы сможете опросить.
Так можно отладить программу на однопортовых машинах.
А как при этом топология сети будет выглядеть ?
А я в этом топике уже показывал ее.
401+ Рабочая станция.
Только включать надо не отладку в устройстве, а симуляцию.
Тогда 401 начнет посылать запросы к рабочей станции, а она будет их передавать реальному подчиненному через тот порт, который был указан в настройках
Здравствуйте mike!
Я тут запись в слейв накидал.
кстати именно прочитав документ с сетями. я перестраховался и в первой версии опроса написал все как в том документе.
Посмотрите пожалуйста правильно ли я сделал ФБ записи. Особенно в плане постучать в слейв при ошибке. Не понял у нас если EN =1, то отправка инициируется один раз по фронту или каждый цикл, пока En=1
Про разнесение опроса по времени- это у меня от опыта работы с Дельтой по модбасу. Дельта больше 3-х регистров в цикле корректно не опросит. нужно разносить. Поэтому и здесь перестраховался.
Почти правильно.
Только мы же должны знать начальное состояние подчиненного (значение переменной).
Например, при подаче питания.
Следовательно, надо сначала считать, а затем уже принимать решение на запись.
Я исходил из того, что по умолчанию(включении питания)
у нас в переменных на входе макроса и внутри нули, т.к. переменные мы не сохраняем.
После считывания значения из слева (ПМП) на входе значение будет отличным от нуля.
и при каждом изменении, будет инициироваться запись.
Планировал в ФБ добавить счетчик ошибок, чтобы отключать попытки записи при неисправности или
отключении слейва.
К примеру отсчитали 20 неудачных посылок, выставили флаг и больше не стучимся в слейв до перезагрузки.
С этим вопросов нет.
Спасибо. Вы мне сильно помогли.
Пожалуйста, обращайтесь!
Здравствуйте mike!
Я замахнулся на один проект.
В нем заложено другое железо.
Но можно здорово сэкономить, используя к примеру Z401 или М100.
Не хватает мне функционала немного.
В частности часов реального времени и работы с нестандартным протоколом.
Но эти недостатки можно обойти.
есть представление как.
Если Вас не затруднит, напишите мне в личку, чтобы обсудить.
serge197a@yandex.ru
Я бы вложился в разработку.
С Уважением Сергей.