#scada
#scada
Вопрос:
Мне удалось написать код, который подсчитывает текущий результат на Citect Scada, используя Cicode-language. Теперь у меня проблема, потому что кажется, что мой цикл каким-то образом сбросил мой счетчик. Я довольно новичок в этом.
На данный момент я не знаю, что вызывает это. Сегодня утром общее количество составляло около 1480, прежде чем произошел сброс, и я использую INT в качестве типа данных. Счетчик активен уже около нескольких недель. Я использую Citect Scada 6.1V.
FUNCTION Laskuri()
INT iState14 =0
INT iState15
WHILE 1 DO
Sleep(3600)
iState15 = ReadVar(5,"Ar",59)
iState14 = iState14 iState15;
SetVar(5,"Ar", 58, iState14);
END
END
Комментарии:
1. Это не C, я переназначил его. Как наивный читатель, не имеющий никаких знаний о Cocode, это выглядит как переполнение целых чисел.
2. Да, спасибо. Можете ли вы объяснить для манекена, как происходит переполнение в этом случае. Типы данных Schneider говорят, что допустимый диапазон значений для int составляет от -32 768 до 32 767 .