Панель пользователя

Автор Тема: "Групповая запись" в подчинённое устройство  (Прочитано 3331 раз)

Оффлайн Danial

  • Новичок
  • *
  • Сообщений: 27
  • Карма: +0/-0
Здравствуйте. У меня есть стороннее slave-устройство (которое подключено на порт СОМ1 контроллера Z400) и это slave-устройство имеет набор регистров с адресами от 300 до 400.
И если Master-устройство (Z400) перезаписывает небольшую группу регистров из диапазона 300-313, то запись проходит нормально (скажем 5 регистров с 309 по 313 см.скрншот 1), но если записывать большую группу (с 300 по 312 например (см.скриншот 2 ) то запись в подчинённое устройство вроде и проходит, но бит rdy не появляется и висит ошибка 16 (нет ответа от устройства в течение установленного таймаута).

Оффлайн VoronovMaksim88

  • Ветеран
  • *****
  • Сообщений: 699
  • Карма: +10/-1
  • www.sibplc.ru
Попробуйте на карте сети кликнуть правой кнопкой по порту - настройка.
Там есть таймаут, можно попытаться его увеличить.
Но лично я бы наверно вообще по одной переменной запрашивал.
Чем короче посылка тем выше шансов что она дойдёт.

Оффлайн Danial

  • Новичок
  • *
  • Сообщений: 27
  • Карма: +0/-0
Как бы да. Мне, в общем-то, Артём уже написал, что нужно в шаблоне, на ножке СОМ1 у контроллера увеличить Таймаут (см.скриншот в приложении). Я попробовал - это помогает.
Но может можно как-то сохранить этот параметр в шаблоне программы, или не знаю...
Чтобы не требовалось каждый раз переназначать таймаут в карте сети.

Оффлайн VoronovMaksim88

  • Ветеран
  • *****
  • Сообщений: 699
  • Карма: +10/-1
  • www.sibplc.ru
В шаблоне можно только задать тип порта мастер или слэйв.
А настройки порта они уже для конкретного контроллера.
Согласен, маленько путанно, но я сам не знаю как предложить сделать лучше.

Оффлайн Danial

  • Новичок
  • *
  • Сообщений: 27
  • Карма: +0/-0
Re: "Групповая запись" в подчинённое устройство
« Ответ #4 : 13 Декабрь 2017, 12:05:16 »
А вы не подскажите ещё.
Вот у меня есть несколько систем на контроллерах Z400, которые по порту СОМ0 выведены на пульт Samkoon SK-035AE.
Порты СОМ0 настроены в режим Slave и имеют "Таймаут" 100 мекс (значение по-умолчанию).
И пульт Samkoon (настроен как Master) имеет в настройках параметр "Communication Time" (см.скриншот в приложении), про который в мануале (стр.298) ничего толком не написано. Но если я ввожу туда значения меньше 100мс, пульт начинает периодческий выдавать ошибку, суть которой в том, что тот или иной регистр не удалось прочитать.

Я тут подумал, имеет ли смысл попробовать уменьшить время "Таймаута" у контроллера Z400 до 10-20 мсек?
Или это чем-то может быть чревато? И почему разработчики сделали именно 100 мсек значением по-умолчанию?
« Последнее редактирование: 13 Декабрь 2017, 12:07:56 от Danial »

Оффлайн serge197a

  • Постоялец
  • ***
  • Сообщений: 245
  • Карма: +0/-0
Re: "Групповая запись" в подчинённое устройство
« Ответ #5 : 13 Декабрь 2017, 12:12:00 »
нет, уменьшение таймаута тут сильно не поможет не поможет.
Это параметр - период опроса.
100мс- это 10 раз за секунду опрашивает.
У вас все параметры так часто меняться не могут.
В среднем опрашивать параметры чаще 1 раза в секунду нужды нет.

Оффлайн Artem

  • Глобальный модератор
  • Старожил
  • *****
  • Сообщений: 293
  • Карма: +13/-1
Re: "Групповая запись" в подчинённое устройство
« Ответ #6 : 13 Декабрь 2017, 14:36:21 »
Вы имеете виду вот этот параметр? Который на рисунке?
Если да, то это таймаут ожидания ответа для порта в режиме мастера. Для режима слэйв настройки таймаута нет. Задержка при ответе слэйва будет зависеть только от величины программы, то есть от времени выполнения одного цикла программы. Вряд-ли он будет слишком большой, но 20-30 мсек - это где то уже на пределе. Так что у мастера нет смысла ставить такой маленький таймаут.