Выбор из таблицы

Типовые задачи  Предыдущий  Следующий

Общие сведения

Наименование: TBL_SEL.

Тип выхода: вещественный.

Количество входов: 2.

Примечания по входам

порядок входов: «Ссылка на таблицу», «Номер ячейки»;

первый вход — ссылка на таблицу в формате TBLx, где х — поряд­ко­вый номер таблицы, например, TBL2 или TBL14;

признак инверсии первого входа («Ссылка на таблицу») игнорируется;

номера ячеек нумеруются с нуля.

Функционирование

хранение данных осуществляется в энергонезависимой памяти;

значение выхода равно значению ячейки, номер которой указан во вто­ром входе («Номер ячейки»), взятому из таблицы, указан­ной в первом входе («Ссылка на таблицу»);

выход имеет неинициализированное состояние, если второй вход («Номер ячейки») имеет неинициализированное состояние;

значение выхода недостоверно, если второй вход имеет недостоверное значение или ссылается на несуществующую ячейку.

Примеры использования

BLOCK2 = TBL_SEL(TBL1; 0)

// BLOCK2 равен значению первой ячейки таблицы TBL1.

BLOCK5 = TBL_SEL(TBL2; AO1.1)

// Использование в аргументах каналов.

BLOCK2 = TBL_SEL(TBL2; BLOCK3)

// Использование в аргументах алгоблоков.

// =======================================

// Реализация счетчика моточасов

// DI1.1 - равен 1, когда агрегат включен (работает)

// AO1.1 - счетчик моточасов

// TBL1 - таблица из одной ячейки, хранит значение счетчика

B00 = OR(DI1.1; 0)

// Шунтирование недостоверных значений DI1.1 нулём

B10 = DIV(B00; 36000)

// пересчет времени работы агрегата в часы

B20 = TBL_SEL(TBL1; 0)

B30 = MAX(AO1.1; B20)

// восстанавливаем значение, если было отключение питания

B40 = ADD(B30; B10)

// увеличиваем значение счетчика

B50 = TBL_WRITE(TBL1; 0; B40; 1)

// записываем значение в первую ячейку таблицы TBL1

// раз в секунду (9 из 10 тактов записи

// будут игнорироваться)

B60 = RESULT(AO1.1; B40; 0)

// записываем значение в канал AO1.1

motor_fbd

Файл для импорта: motor.help

См. также

Описание пользовательских таблиц приведено в специальном подразделе.