Archived

Этот пост заблокирован, редактирование отключено

Программное обеспечениеВопросы по zWorkbench"Групповая запись" в подчинённое устройство

Вопросы по системе сквозного проектирования и менеджмента проектов
Исходное сообщение:
Danial, 23.11.2017, 11:26
Danial
"Групповая запись" в подчинённое устройство
Здравствуйте. У меня есть стороннее slave-устройство (которое подключено на порт СОМ1 контроллера Z400) и это slave-устройство имеет набор регистров с адресами от 300 до 400.
И если Master-устройство (Z400) перезаписывает небольшую группу регистров из диапазона 300-313, то запись проходит нормально (скажем 5 регистров с 309 по 313 см.скрншот 1), но если записывать большую группу (с 300 по 312 например (см.скриншот 2 ) то запись в подчинённое устройство вроде и проходит, но бит rdy не появляется и висит ошибка 16 (нет ответа от устройства в течение установленного таймаута).
Ответы:
VoronovMaksim88, 23.11.2017, 12:56
VoronovMaksim88
"Групповая запись" в подчинённое устройство
Попробуйте на карте сети кликнуть правой кнопкой по порту - настройка.
Там есть таймаут, можно попытаться его увеличить.
Но лично я бы наверно вообще по одной переменной запрашивал.
Чем короче посылка тем выше шансов что она дойдёт.
Danial, 23.11.2017, 13:16
Danial
"Групповая запись" в подчинённое устройство
Как бы да. Мне, в общем-то, Артём уже написал, что нужно в шаблоне, на ножке СОМ1 у контроллера увеличить Таймаут (см.скриншот в приложении). Я попробовал - это помогает.
Но может можно как-то сохранить этот параметр в шаблоне программы, или не знаю...
Чтобы не требовалось каждый раз переназначать таймаут в карте сети.
VoronovMaksim88, 23.11.2017, 18:54
VoronovMaksim88
"Групповая запись" в подчинённое устройство
В шаблоне можно только задать тип порта мастер или слэйв.
А настройки порта они уже для конкретного контроллера.
Согласен, маленько путанно, но я сам не знаю как предложить сделать лучше.
Danial, 13.12.2017, 12:05
Danial
"Групповая запись" в подчинённое устройство
А вы не подскажите ещё.
Вот у меня есть несколько систем на контроллерах Z400, которые по порту СОМ0 выведены на пульт Samkoon SK-035AE.
Порты СОМ0 настроены в режим Slave и имеют "Таймаут" 100 мекс (значение по-умолчанию).
И пульт Samkoon (настроен как Master) имеет в настройках параметр "Communication Time" (см.скриншот в приложении), про который в [url=https://p-avt.ru/Files/samkoon-panel/SK-User_manual_RUS.pdf]мануале (стр.298)[/url] ничего толком не написано. Но если я ввожу туда значения меньше 100мс, пульт начинает периодческий выдавать ошибку, суть которой в том, что тот или иной регистр не удалось прочитать.

Я тут подумал, имеет ли смысл попробовать уменьшить время "Таймаута" у контроллера Z400 до 10-20 мсек?
Или это чем-то может быть чревато? И почему разработчики сделали именно 100 мсек значением по-умолчанию?
serge197a, 13.12.2017, 12:12
serge197a
"Групповая запись" в подчинённое устройство
нет, уменьшение таймаута тут сильно не поможет не поможет.
Это параметр - период опроса.
100мс- это 10 раз за секунду опрашивает.
У вас все параметры так часто меняться не могут.
В среднем опрашивать параметры чаще 1 раза в секунду нужды нет.
Artem, 13.12.2017, 14:36
Artem
"Групповая запись" в подчинённое устройство
Вы имеете виду вот этот параметр? Который на рисунке?
Если да, то это таймаут ожидания ответа для порта в режиме мастера. Для режима слэйв настройки таймаута нет. Задержка при ответе слэйва будет зависеть только от величины программы, то есть от времени выполнения одного цикла программы. Вряд-ли он будет слишком большой, но 20-30 мсек - это где то уже на пределе. Так что у мастера нет смысла ставить такой маленький таймаут.