Использование массивов тегов

Теги в IWS могут содрежать одно значение или состоять из массива значений.


Заметим: Максимальный размер массива равен 16384. Однако этот размер может быть ограничен максимально допустимым количеством тегов, разрешённым лицензией, в рамках которой создаётся проект. Каждый элемент массива (включая нулевой) считается в соответствии с лицензией как один тег, так как каждый элемент имеет своё значение.


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


<Имя_массива>[Индекс_элемента]

Например:

tank[1], tank[2], tank[3], … , tank[500]


Внимание: В базе тегов для массивов в поле размер (size) вы должны определить наибольший индекс. Индекс N (некоторое число) в поле размера будет означать, что массив сожержит в себе элементы от 0 до N. Например, если размер массива TagA равен 3, то в нём определены следующие теги: TagA[0], TagA[1], TagA[2], TagA[3].


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


pressure[tk], temperature[tk], temperature[tk+1] где тег tk использован как индекс


Индексом эелемента может служить тег, численное значение, или выражение с арифметическим оператором «+».


Заметим: когда в обращении к элементу массива в индексе используется арифметическая операция «+», следует использовать сиснтаксис:


<Имя_массива>[<Значение1> + <Значение2>]


где <Значение1> и <Значение2> могут быть как тегами, так и целыми числами. Например: temperature[tk + 2], temperature[tk + 6].


Использование массивов ползволяет избежать задания большого количества имён в базе тегов в процессе разработки. Например, если нужно следить за превышением температуры в четырёх цистернах, то решение этого вопроса с помощью отдельных тегов будет выглядеть следующим образом:


temperature1 превышение температуры в первой цистерне

temperature2 превышение температуры во второй цистерне

temperature3 превышение температуры в третьей цистерне

temperature4 превышение температуры в четвёртой цистерне,


в то время как задача, решённая с помощью массива выглядела так:


temperature[j] превышение температуры в j-той цистерне.


Заметим: Когда вы задаёте размер массива равный 4, то среда создаёт массив с пятью элементами (от нулевого до четвёртого). Например:


tag_example[15] имеет начальный индекс 0, а конечный индекс 15


Таким образом, тег tag_example[15] содержит 16 элементов.


При использовании тега в качестве индекса элемента массива может сложится ситуация, когда значение тега выходит за рамки размера массива. Возможны следующие варианты:



Created with the Freeware Edition of HelpNDoc: Easily create Help documents