Быстродействие при обмене данными — различия между версиями
(не показана одна промежуточная версия этого же участника) | |||
Строка 1: | Строка 1: | ||
+ | <languages/> | ||
<translate> | <translate> | ||
+ | <!--T:1--> | ||
Как быстро WebHMI может реагировать на внешние воздействия? | Как быстро WebHMI может реагировать на внешние воздействия? | ||
+ | <!--T:2--> | ||
Что бы ответить на этот вопрос мы собрали испытательный стенд. Этот стенд состоит из WebHMI, контроллера Delta DVP-14SS2, логического анализатора и кнопки. | Что бы ответить на этот вопрос мы собрали испытательный стенд. Этот стенд состоит из WebHMI, контроллера Delta DVP-14SS2, логического анализатора и кнопки. | ||
Кнопка подключена ко входу X0 ПЛК. ПЛК дублирует состояние кнопки на выход Y3. WebHMI читает состояние X0 по протоколу ModBus RTU (115200, 8E1) и при изменении значения X0 записывает его в Y2. Логический анализатор подключен ко всем сигналам (X0, Y2, Y3) и позволяет измерить время реакции с высокой точностью. | Кнопка подключена ко входу X0 ПЛК. ПЛК дублирует состояние кнопки на выход Y3. WebHMI читает состояние X0 по протоколу ModBus RTU (115200, 8E1) и при изменении значения X0 записывает его в Y2. Логический анализатор подключен ко всем сигналам (X0, Y2, Y3) и позволяет измерить время реакции с высокой точностью. | ||
+ | <!--T:3--> | ||
Таким образом, в Y3 отображается вход X0 с помощью внутренней программы ПЛК, а в Y2 - с помощью программы WebHMI. | Таким образом, в Y3 отображается вход X0 с помощью внутренней программы ПЛК, а в Y2 - с помощью программы WebHMI. | ||
+ | <!--T:4--> | ||
Т.к. тест у нас синтетический, мы постарались выжать все соки из PLC и WebHMI для получения наилучшего результата. Для этого время фильтрации от дребезга в PLC (регистр D1020) мы уменьшили с 10мс до 0мс. Также, регистр Y2 мы перевели в режим Read On Demand для того, что бы не тратить время на чтение его значения. В него производится только запись, так что чтение нам не нужно в этом примере. | Т.к. тест у нас синтетический, мы постарались выжать все соки из PLC и WebHMI для получения наилучшего результата. Для этого время фильтрации от дребезга в PLC (регистр D1020) мы уменьшили с 10мс до 0мс. Также, регистр Y2 мы перевели в режим Read On Demand для того, что бы не тратить время на чтение его значения. В него производится только запись, так что чтение нам не нужно в этом примере. | ||
+ | <!--T:5--> | ||
[[Файл:regs-test.png|800px]] | [[Файл:regs-test.png|800px]] | ||
+ | <!--T:6--> | ||
При такой конфигурации (чтение только одного регистра X0) среднее время скана WebHMI у нас получилось в среднем 7мс. | При такой конфигурации (чтение только одного регистра X0) среднее время скана WebHMI у нас получилось в среднем 7мс. | ||
+ | <!--T:7--> | ||
Ниже приведен скриншот испытания с временными метками. | Ниже приведен скриншот испытания с временными метками. | ||
+ | <!--T:8--> | ||
[[Файл:Test-speed.png|800px]] | [[Файл:Test-speed.png|800px]] | ||
+ | <!--T:9--> | ||
Здесь видно, что ПЛК реагирует на нажатие кнопки примерно за 4.9мс, а WebHMI - за 15.9 мс. Это время между возникновением электрического сигнала на входе ПЛК и возникновением ответного сигнала на выходе ПЛК. | Здесь видно, что ПЛК реагирует на нажатие кнопки примерно за 4.9мс, а WebHMI - за 15.9 мс. Это время между возникновением электрического сигнала на входе ПЛК и возникновением ответного сигнала на выходе ПЛК. | ||
+ | <!--T:10--> | ||
Таким образом, при подключении к ПЛК на скорости 115200 в идеальных условиях можно получить время реакции WebHMI на внешние воздействия порядка 16мс. | Таким образом, при подключении к ПЛК на скорости 115200 в идеальных условиях можно получить время реакции WebHMI на внешние воздействия порядка 16мс. | ||
</translate> | </translate> |
Текущая версия на 22:03, 31 октября 2017
Как быстро 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 для того, что бы не тратить время на чтение его значения. В него производится только запись, так что чтение нам не нужно в этом примере.
При такой конфигурации (чтение только одного регистра X0) среднее время скана WebHMI у нас получилось в среднем 7мс.
Ниже приведен скриншот испытания с временными метками.
Здесь видно, что ПЛК реагирует на нажатие кнопки примерно за 4.9мс, а WebHMI - за 15.9 мс. Это время между возникновением электрического сигнала на входе ПЛК и возникновением ответного сигнала на выходе ПЛК.
Таким образом, при подключении к ПЛК на скорости 115200 в идеальных условиях можно получить время реакции WebHMI на внешние воздействия порядка 16мс.