Память панели

Области памяти

Память панели используется для размещения переменных или значений, привязываемых к параметрам графических элементов и обрабатываемых в макросах. Она подразделяется на 6 областей:

Области памяти панелей СП210

Область

Объекты

Диапазон

Энергонезависимость

PSB

Биты

0…9999

—

SPSB

См. примечание 1

PSW

Регистры

0…9999

SPSW

См. примечание 1

PFW

Базовые модификации (-Б): 0…999999

Расширенные модификации (-Р): 0…2999999

+ (См. примечание 2)

SPFW

См. примечание 1

Примечание
Примечание 1. Области памяти SPSB, SPSW и SPFW используются для хранения системных переменных. Эти переменные имеют фиксированный адрес и назначение. Список переменных приведен в Библиотеке переменных. Набор системных переменных зависит от версии конфигуратора.
Примечание
Примечание 2. Переменные областей PFW и SPFW являются энергонезависимыми и сохраняют свои значения после перезагрузки панели. Физически переменные данных областей размещаются во встроенной flash-памяти панели. Flash-память разделена на блоки размером 512 регистров каждый. Запись во flash-память всегда происходит путём перезаписи как минимум одного блока целиком и выполняется в следующих случаях:
  • если в пределах блока изменилось значение хотя бы одного регистра, то весь блок будет записан при очередном срабатывании таймера циклической записи (период – 60 секунд);

  • если изменилось содержимое 20 и более блоков (хотя бы по регистру в каждом блоке), то произойдёт внеочередная запись всех затронутых блоков;

  • по переднему фронту системного бита SPSB205 происходит перезапись всех блоков.

Каждый блок рассчитан на 100 000 перезаписей. Для обеспечения равномерного износа в прошивке панели реализован алгоритм балансировки используемых блоков flash-памяти.

Адреса объектов. Типы и форматы данных

При настройке графических элементов требуется определить источники данных для некоторых параметров.  Например, для элемента Цифровой ввод ключевым параметром является отображаемое и записываемое элементом значение.

Graphic
Настройки параметра

К настройкам этого значения относятся:

  • Устройство – место хранения значения (например, одно из slave-устройств, подключенных к панели, или внутренние регистры);

  • Область памяти и адрес регистра – область памяти и адрес регистра, начиная с которого размещается значение;

  • Тип данных – количество регистров, занимаемых значением;

  • Формат – формат представления значения.

Типы числовых данных панелей СП210

Тип

Размер объекта в байтах

Word

2

Dword

4

DDword

8

Форматы числовых данных панелей СП210

Формат

Описание

BCD

Двоично-десятичный формат

Если набор байт является некорректным с точки зрения BCD, то вместо значения отображается ****

Hex

Шестнадцатеричный формат

Signed

Целочисленный знаковый формат

Unsigned

Целочисленный беззнаковый формат

Float

Формат с плавающей точкой. Если набор байтов соответствует NaN или бесконечности, то вместо целой части отображается nan или inf соответственно

Поддерживаемые сочетания типа и формата с указанием диапазона значений

Формат/Тип

Word

Dword

DDword

BCD

0…9999

0…99999999

0…9999999999999999

Hex

0…FFFF

0…FFFFFFFF

0…FFFFFFFFFFFFFFFF

Signed

-32768…32767

-231…231-1

-263…263-1

Unsigned

0…65535

0…232

0…264

Float

Сочетание не поддерживается

-9 999 999 999… 9 999 999 999

Точность: 7 знаков после запятой

-9 999 999 999… 9 999 999 999

Точность: 14 знаков после запятой

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

Типы строковых данных панелей СП210

Тип

Размер одного «блока» (не символа) в байтах

Word_String

2

Dword_String

4

DDword_String

8

Данные типы отличаются только размерами одного «блока». Размеры «блока» не связаны с выбранной в настройках элемента кодировкой и влияют только на число байт, выделяемых под значение элемента (параметр Кол-во).

Например, если выбрана кодировка WIN-1251 и Кол-во = 2:

  • для значения типа Word_String будет выделено 2∙2 = 4 байта;

  • для значения типа Dword_String будет выделено 2∙4 = 8 байт;

  • для значения типа DDword_String будет выделено 2∙8 = 16 байт.

Поддерживаемые кодировки панелей СП210

Тип

Описание

WIN-1251

ASCII-подобная кодировка, соответствующая Win1251.

Каждый символ занимает 1 байт.

Порядок байт устанавливается в настройках элемента; по умолчанию начальный символ строки размещается в младшем байте начального регистра элемента

UTF-16

Unicode, стандарт кодирования UTF-16/UCS2.

Каждый символ занимает 2 байта.

Порядок байт: начальный символ строки размещается в младшем байте начального регистра элемента

UTF-8

Unicode, стандарт кодирования UTF-8.

Каждый символ занимает от 1 до 4 байт.

Порядок байт устанавливается в настройках элемента; по умолчанию начальный символ строки размещается в младшем байте начального регистра элемента. Символы, занимающие больше одного байта, размещаются с «отраженным» порядком байт.

Например, символ ‘я’ (U+044F), которому соответствует набор байт 0xD1 0x8F, в памяти панели будет размещен с порядком 0x8F 0xD1.

Динамическая адресация

В некоторых случаях требуется с помощью одного графического элемента в разные моменты времени отображать значения различных регистров. Для этого используется механизм динамической адресации. В настройках параметра элемента нужно установить галочку Дин. адрес и указать область памяти и адрес регистра, в который будет записываться «смещение» адреса объекта (бита или регистра) параметра.

Graphic
Динамическая адресация

Пример:

  • Начальные условия: к элементу Цифровой дисплей привязан регистр PSW0;

  • Требуется: в некоторые моменты времени отображать в элементе значения регистра PSW1 или PSW2;

  • Настройка: в настройках цифрового дисплея установить галочку Дин. адрес и в открывшемся окне выбрать адрес регистра «смещения» – например, PSW10.

  • Итог:

    • если регистр PSW10 будет иметь значение 0, то цифровой дисплей будет отображать значение регистра PSW0;

    • если регистр PSW10 будет иметь значение 1, то цифровой дисплей будет отображать значение регистра PSW1;

    • если регистр PSW10 будет иметь значение 2, то цифровой дисплей будет отображать значение регистра PSW2.

Переменные

Вместо выбора в настройках графических элементов адресов областей памяти панели или slave-устройств, можно привязать к ним заранее созданные переменные. Использование переменных упрощает сопровождение проекта за счет введения символьных имен (например, Давление P1 или Уставка температуры SP1 гораздо более удобны, чем PSW0 или PFW10).

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

Переменные создаются в библиотеке переменных, открыть которую можно из дерева проекта (Библиотеки – Переменные) или в меню Инструменты – Библиотека переменных.

В настройках параметра графического элемента для привязки переменной следует нажать на кнопку Настройки.

Graphic
Переменные
Откроется окно, в котором доступны следующие настройки:
  • область памяти, адрес объекта, тип и формат;

  • галочка Пользовательская переменная, используемая для привязки к элементу созданной пользователем переменной;

  • галочка Системная переменная, используемая для привязки к элементу системной переменной;

  • кнопка перехода в библиотеку переменных;

  • адрес slave-устройства (в случае привязки к параметру адреса бита или регистра slave-устройства);

  • диапазон доступных адресов для выбранной области памяти.