Быстродействие при обмене данными

18 Apr Быстродействие при обмене данными

Как быстро WebHMI может реагировать на внешние воздействия?

Что бы ответить на этот вопрос мы собрали испытательный стенд. Этот стенд состоит из WebHMI, контроллера Delta DVP-14SS2, логического анализатора и кнопки. Кнопка подключена ко входу X0 ПЛК. ПЛК дублирует состояние кнопки на выход Y3. WebHMI читает состояние X0 по протоколу ModBus RTU (115200, 8E1) и при изменении значения X0 записывает его в Y2. Логический анализатор подключен ко всем сигналам (X0, Y2, Y3) и позволяет измерить время реакции с высокой точностью.

Таким образом, в Y3 отображается вход X0 с помощью внутренней программы ПЛК, а в Y2 – с помощью программы WebHMI.

Т.к. тест у нас синтетический, мы постарались выжать все соки из PLC и WebHMI для получения наилучшего результата. Для этого время фильтрации от дребезга в PLC (регистр D1020) мы уменьшили с 10мс до 0мс. Также, регистр Y2 мы перевели в режим Read On Demand для того, что бы не тратить время на чтение его значения. В него производится только запись, так что чтение нам не нужно в этом примере.

regs-test

При такой конфигурации (чтение только одного регистра X0) среднее время скана WebHMI у нас получилось в среднем 7мс.

Ниже приведен скриншот испытания с временными метками.

test-speed

Здесь видно, что ПЛК реагирует на нажатие кнопки примерно за 4.9мс, а WebHMI – за 15.9 мс. Это время между возникновением электрического сигнала на входе ПЛК и возникновением ответного сигнала на выходе ПЛК.

Таким образом, при подключении к ПЛК на скорости 115200 в идеальных условиях можно получить время реакции WebHMI на внешние воздействия порядка 16мс.