Документация по SCADA системе Simp Light


Содержание:


Свойства устройства

      У каждого устройства есть свойства:


  • Имя – имя устройства;
  • Комментарий – здесь можно указать произвольную информацию;
  • Адрес – адрес устройства, задаётся в самом устройстве;
  • Таймаут ожидания ответа (мс) – максимальное время ожидания ответа устройства (по умолчанию - 1000);
  • Повторы при ошибке – число повторных попыток соединения с устройством после ошибки соединения (по умолчанию - 3);
  • Повторное соединение при ошибке (с) – таймаут повторного соединения с устройством (по умолчанию - 10);
  • Кол-во регистров в запросе – значение по умолчанию - 125;
  • Функция записи – по умолчанию - "05, 06";
  • Оптимизатор – по умолчанию "Full".


     Свойство "Оптимизатор" может принимать следующие значения:

  • None
    отсутствие оптимизатора, т.е. каждый адрес запрашивается отдельным пакетом данных. Это самый медленный способ, так как необходимо дожидаться пока придет предыдущий ответ и только потом отправлять следующий. Но такой способ нужен для тех приборов, которые не поддерживают множественное чтение.

  • Data
    SIMP Light анализирует карту заданных адресов и пытается группировать адреса для запроса одним пакетом. При этом при разрывах в карте адресов - формируется отдельный пакет, т.е. например, если заданы адреса 1, 2, 5, 6 - то будут сформированы 2 пакета для адресов 1, 2 и для 5, 6.

  • Full
    то же, что и "Data", но разрывы в карте адресов могут быть включены в пакет (если программа решит что ей выгоднее спросить несколько "лишних" адресов, чем разбивать данные на несколько пакетов), т.е. для адресов 1, 2, 5, 6 будет сформирован один пакет, в нем также придут "лишние" данные - адреса 3 и 4, но их значения будут отброшены. По количеству передаваемых данных - это самый оптимальный вариант, но этот вариант работает не на всех устройствах.

    

     Если устройство не поддерживает множественное чтение - то однозначно оптимизатор надо отключать ("None"). Если поддерживает - то "Data" или "Full". Это зависит от того, как обрабатывает запросы к несуществующим адресам само устройство. Есть устройства, которые при запросе несуществующих адресов возвращают ошибку. Например, заданы адреса 1, 2, 5, 6 - то любое чтение (даже множественное с 1 по 6) - возвратит ошибку. Для таких устройств подойдет только оптимизация "Data". Ну или надо делать карту адресов без разрывов. Тогда подойдет "Full", но работать будет точно так же как и "Data".

     "Full" может реально ускорить работу, если адреса заданы через 1. Тогда "Data" будет работать как "None". На каждый адрес будет отдельный запрос. А "Full" - сгруппирует по возможности чтение, но таких ситуаций следует избегать.

     Побочный эффект множественного чтения - обновление данных может быть гораздо быстрее, чем указано при настройке канала. Например адреса 1 и 3 настроены на 1 сек., а адрес 2 - на 2 сек. При групповом чтении все 3 адреса будут обновляться с частотой 1 сек. Это надо учитывать. И если это нежелательно - группировать адреса с одной частотой опроса близко друг к другу.