Коллеги. приветствую!
Подскажите, пожалуйста, есть ли в скриптах EnLogic побитовые логические операторы (типа &, |,~ в языке С)? Нужно побитно разбирать целое число, и с этими операторами все было бы совсем просто.
Коллеги. приветствую!
Подскажите, пожалуйста, есть ли в скриптах EnLogic побитовые логические операторы (типа &, |,~ в языке С)? Нужно побитно разбирать целое число, и с этими операторами все было бы совсем просто.
т.е. документацию читать вовсе не хочется
раздел 1.4.6.6
по мне так инспектор кода больше поможет
Bad programmers worry about the code. Good programmers worry about data structures and their relationships
среди успешных людей я не встречала нытиков
Барбара Коркоран
Честно говоря, пытался решить задачу "нахрапом", кривое решение сработало. Документацию читал, но по диагонали, вот, видимо, и упустил что-то. Но хочется иметь инструмент для элегантного кода. И еще. Мы, может быть, говорим о разных документах? Раздел 1.4.6.6 какого документа вы имеете в виду?
Последний раз редактировалось Hemann; 07.10.2017 в 18:23.
Да, данные операторы поддержаны, в том числе и побитовый сдвиг. Также разобрать/собрать число по битам могут помочь блоки "Дешифратор"-"Шифратор" из группы "Шифраторы"
Инженер направления "Энергетика"
https://energy.owen.ru/
Таня, спасибо! Уже разобрался. Только не было возможности написать сюда об этом
Всем доброго времени суток! мучает вопрос касательно скриптов, в частности где он хранится (для того чтобы другим скриптом считать данные из скрипта скады), а второй момент заключается в работе функций записи bool\int и т.п. значений, в помощнике функция записи описывается так WriteDiscret(const VarName : string; const Value : boolean) : boolean, в руководстве описывается иначе function WriteBoolAddr (const VarAddr : integer, X: Bool) : bool, конкретно я пытался и то и другое, но везде компиляция => ошибка, свой пример прилагаю, если есть возможность у кого-нибудь скинуть пример работающего скрипта с записью значения переменной внутри скрипта в переменную с паспортом скады (имя clap, значение лог. 0, тип дискретный выход, шифр test tcp out, флаг 0)
//C++ script
int c1 = 1;
bool x;
{
if (c1 == 1)
{
x = TRUE;
WriteDiscret (clap, x);
}
else
{
clap = FALSE;
}
}