Добрый день!
Вопрос касается нагрузки на сервер скады.
То есть у нас например есть 100 word-ов.
Что будет менее затратным:
1. Сделать много внутренних булевских переменных в одном скрипте "изменились переменные"
Например:
xSystemOff_iGet.Value := GetBit(wWordState_Get.AsInt64 ,0);
и т.д.
и в дальнейшем использовать эти переменные.
Конечно надо понимать, что возможно потребуется дополнительно использовать еще какие то скрипты, что так же вызовет рост нагрузки на сервер.
2. Или привязать в геометрическом примитиве (кроме кнопок и флажков, которые напрямую могут работать с битами) к переменной wWordState_Get.
Далее указать в свойстве Tag нужный бит (например 0) и на событие OnDataChange повесить например такой скрипт:
var
xState:boolean;
begin
if Sender is TM_Shape then
with Sender as TM_Shape do
begin
xState := GetBit(AsInt64 , Tag);
if xState then
Color := $074611
else
Color := $242424;
end
end.
И естественно таких примитивов будет 100 word * 16 bit = 1600 вызовов одного и того же скрипта.
Как бы и то и то работает. Но вообще хотелось бы понимать как это работает.
Может быть в руководстве создать какую то таблицу весов "тяжести" скриптов или что то на подобии.
Жду ответов и вопросов.