0
Отвечен

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

Aleksey 7 лет назад в Редактор каналов обновлен СИМП Лайт (тех поддержка) 7 лет назад 4

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

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

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

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

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

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

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



На рассмотрении

День добрый.


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


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


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



Спасибо!

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

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




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


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


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


Да.


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


Нет.


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


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


Сервис поддержки клиентов работает на платформе UserEcho