Процедуры и функции по работе с глобальными переменными

Avatar
  • обновлен
  • Отвечен

В руководствах не нашёл описаний процедур и функций по работе с глобальными переменными, которые есть в подсказке по внутреним функциям ("Ctrl+Space"), а именно:

FlushGlobalVarCache - удаляет сохранённые значения глобальных переменных?

ClearGlobalVar - удаляет значения глобальных переменных или сами глобальные переменные?

GetGlobarVarDef - чем отличается от "GetGlobalVar", сразу установленным дефолтным значением? И используется ли теперь в версии 4.4.1.757 "GetGlobalVar" или она устарела?

Приведите их описание, пожалуйста.

Ваша скада привлекает своей простотой, но документация по ней слишком бедная.

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



Avatar
СИМП Лайт (тех поддержка)
  • На рассмотрении

День добрый.


FlushGlobalVarCache - принудительно сохраняет кэш глобальных переменных на диск, сами переменные остаются неизменными.


ClearGlobalVar - удаляется все!


GetGlobarVarDef и GetGlobalVar отличаются тем что в GetGlobarVarDef можно указать значение которое будет возвращено в случае если переменная ранее не назначалась, или произошла ошибка при её чтении, GetGlobarVar при таких случаях вернёт всегда 0. GetGlobarVar использовать в 4.4.1.757 можно.



Avatar
Aleksey
Цитата от СИМП Лайт (тех поддержка)

День добрый.


FlushGlobalVarCache - принудительно сохраняет кэш глобальных переменных на диск, сами переменные остаются неизменными.


ClearGlobalVar - удаляется все!


GetGlobarVarDef и GetGlobalVar отличаются тем что в GetGlobarVarDef можно указать значение которое будет возвращено в случае если переменная ранее не назначалась, или произошла ошибка при её чтении, GetGlobarVar при таких случаях вернёт всегда 0. GetGlobarVar использовать в 4.4.1.757 можно.



Спасибо!

А где лежит по умолчанию кеш глобальных переменных, в каком формате? Как его применять? Скада из него считывает переменные после перезапуска рабочей станции / монитора? При использовании "ClearGlobalVar" он тоже удаляется?

И ещё вопрос по "SetGlobalVar" - где (и в каком формате) хранятся значения глобальных переменных при задании параметра AStored = true? И можно ли переменные с таким параметром перезаписывать в скрипте (конкретно: оборудование работает - переменная "Промежуточное количество" увеличивается, оборудование не работает - переменная "Промежуточное количество" равна 0)?




Avatar

А где лежит по умолчанию кеш глобальных переменных, в каком формате? Как его применять?


"Лежит" в "Моих документах", имеет внутренний закрытый формат.


Скада из него считывает переменные после перезапуска рабочей станции / монитора?


Да.


При использовании "ClearGlobalVar" он тоже удаляется?


Нет.


И ещё вопрос по "SetGlobalVar" - где (и в каком формате) хранятся значения глобальных переменных при задании параметра AStored = true? И можно ли переменные с таким параметром перезаписывать в скрипте (конкретно: оборудование работает - переменная "Промежуточное количество" увеличивается, оборудование не работает - переменная "Промежуточное количество" равна 0)?


При AStored = true переменная будет сохранятся на диск (как раз в том кэше, про который была речь выше), при AStored = false, переменная будет доступна только на время работы монитора, и после перезапуска монитора станет недоступна.