Области памяти
Память панели используется для размещения переменных или значений, привязываемых к параметрам графических элементов и обрабатываемых в макросах. Она подразделяется на 6 областей:
Области памяти панелей СП210
Область | Объекты | Диапазон | Энергонезависимость |
|---|---|---|---|
PSB | Биты | 0…9999 | — |
SPSB | См. примечание 1 | ||
PSW | Регистры | 0…9999 | |
SPSW | См. примечание 1 | ||
PFW | Базовые модификации (-Б): 0…999999 Расширенные модификации (-Р): 0…2999999 | + (См. примечание 2) | |
SPFW | См. примечание 1 |
если в пределах блока изменилось значение хотя бы одного регистра, то весь блок будет записан при очередном срабатывании таймера циклической записи (период – 60 секунд);
если изменилось содержимое 20 и более блоков (хотя бы по регистру в каждом блоке), то произойдёт внеочередная запись всех затронутых блоков;
по переднему фронту системного бита SPSB205 происходит перезапись всех блоков.
Адреса объектов. Типы и форматы данных
При настройке графических элементов требуется определить источники данных для некоторых параметров. Например, для элемента Цифровой ввод ключевым параметром является отображаемое и записываемое элементом значение.

К настройкам этого значения относятся:
Устройство – место хранения значения (например, одно из 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. |
Динамическая адресация
В некоторых случаях требуется с помощью одного графического элемента в разные моменты времени отображать значения различных регистров. Для этого используется механизм динамической адресации. В настройках параметра элемента нужно установить галочку Дин. адрес и указать область памяти и адрес регистра, в который будет записываться «смещение» адреса объекта (бита или регистра) параметра.

Пример:
Начальные условия: к элементу Цифровой дисплей привязан регистр PSW0;
Требуется: в некоторые моменты времени отображать в элементе значения регистра PSW1 или PSW2;
Настройка: в настройках цифрового дисплея установить галочку Дин. адрес и в открывшемся окне выбрать адрес регистра «смещения» – например, PSW10.
Итог:
если регистр PSW10 будет иметь значение 0, то цифровой дисплей будет отображать значение регистра PSW0;
если регистр PSW10 будет иметь значение 1, то цифровой дисплей будет отображать значение регистра PSW1;
если регистр PSW10 будет иметь значение 2, то цифровой дисплей будет отображать значение регистра PSW2.
Переменные
Вместо выбора в настройках графических элементов адресов областей памяти панели или slave-устройств, можно привязать к ним заранее созданные переменные. Использование переменных упрощает сопровождение проекта за счет введения символьных имен (например, Давление P1 или Уставка температуры SP1 гораздо более удобны, чем PSW0 или PFW10).
Также, если один и тот же адрес регистра используется в нескольких графических элементах и потребуется его изменить, в случае привязки переменной достаточно выполнить замену один раз — в настройках этой переменной.
Переменные создаются в библиотеке переменных, открыть которую можно из дерева проекта (Библиотеки – Переменные) или в меню Инструменты – Библиотека переменных.
В настройках параметра графического элемента для привязки переменной следует нажать на кнопку Настройки.

область памяти, адрес объекта, тип и формат;
галочка Пользовательская переменная, используемая для привязки к элементу созданной пользователем переменной;
галочка Системная переменная, используемая для привязки к элементу системной переменной;
кнопка перехода в библиотеку переменных;
адрес slave-устройства (в случае привязки к параметру адреса бита или регистра slave-устройства);
диапазон доступных адресов для выбранной области памяти.