Работа с битами в SIMP Light 4. Обработка через скрипты. Часть 2

Последнее изменение:


Если вы не нашли ответ на свой вопрос, пожалуйста, свяжитесь с нашей службой технической поддержки через онлайн-чат


Скриптовое программирование в SCADA-системе "Симп Лайт" позволяет реализовывать сложные алгоритмы обработки данных, включая побитовое чтение, запись и анализ изменений состояний.

  • Для работы с отдельными битами в "Симп Лайт" доступна встроенная функция GetBit, которая возвращает значение указанного бита заданного числа.

Эта функция упрощает задачу извлечения состояния конкретного бита из целого числа, что особенно полезно для работы с регистрами MODBUS.

Пример использования в Pascal Script:

Image 2095

  • Вы также можете написать собственный скрипт для более сложной обработки бит.

При добавлении скрипта к каналу выберите тип запуска:

- "По таймеру" — для выполнения скрипта через заданные промежутки времени.

- "По событию записи в канал" — если скрипт должен запускаться при изменении значения канала.

Пример скрипта Pascal Script:

Image 2096

  • Фиксация только изменений бит

Если необходимо фиксировать события только при изменении состояния бита (например, с 0 на 1 или наоборот), можно реализовать следующий алгоритм:

Image 2097

  1. 1. Сохранить состояние бит из предыдущей итерации.
  2. 2. Сравнить текущее состояние с предыдущим.
  3. 3. Фиксировать события только для изменённых бит.
  4. 4. При изменении состояния любого бита сгенерировать сообщение и записать его в журнал событий.

Пример фиксации событий:
Если значение в считываемом регистре изменяется, то например:

- при взведенном 0 бите мы увидим в журнале - 'Дверь открыта';
- при взведенном 1 бите мы увидим в журнале - 'Пожар';
- при взведенном 2 бите мы увидим в журнале - 'Охрана';
- при взведенном 3 бите мы увидим в журнале - 'Окно открыто';
- при взведенном 4 бите мы увидим в журнале - 'Тревога включена';

Image 2098

И так далее, на основе двоичной системы счисления

Таким образом, каждый бит можно связать с определённым событием или состоянием оборудования, что делает обработку данных более точной и информативной.


Эта статья помогла вам?