Используется она при создании адресной метки с преобразованием (не важно для какого устройства, будь то панель или ПЛК) как массива
В библиотеке функций мы создаем две функция - одна для чтения, вторая для записи
- Код: Выделить всё
- sub short tony_up(short x)
short y
GetCnvTagArrayIndex(y)
SetData(y, "Local HMI", LW, 200, 1)
if y == 2 then
x=x+5
else
x=x+1
end if
return x
end sub
- Код: Выделить всё
- sub short tony_down(short x)
short y
x=x-1
GetCnvTagArrayIndex(y)
SetData(y, "Local HMI", LW, 300, 1)
return x
end sub
в Регистрах LW-200 и LW-300 мы будем наблюдать значение этого самого индекса внутри нашего тега-массива
Начинаем вводить значения в наши регистры Tag_0 (вверху - LW, те же самые адреса)
Вводим в разные адреса и видим , что во втором индексе массива прирост при вводе как указан в коде функции
Лучше понять как это работает поможет проект в онлайн симуляции.