Счетчик и мгновенный расход. Вообще никакого криминала.
Счетчик и мгновенный расход. Вообще никакого криминала.
Криминала нет - а ресет раз в 50 дней есть)
Вот тема - https://owen.ru/forum/showthread.php?t=31276. Овен правил в прошивке.
Вот тема - https://owen.ru/forum/showthread.php?t=32236&page=2. Опять что правилось прошивкой.
Техподдержка говорит - обновляйтесь до последней и все будет ОК. Но у меня уже последняя!
Скачал debug.txt со станций за последний год, где мог доступ получить - работают 4, 6, 8, 14 мес. Сбросы только по питанию. Но там ПЛК110. А вот три станции па ПЛК160 такой стабильностью не отличаются.
В вот проблема другая https://owen.ru/forum/showthread.php...light=watchdog но есть debug.txt и там я тоже вижу ресет в 50 дней.
Что в debug.txt значит запись3 M local data #3 =186a1
Без описания - гадать бесполезно.Что в debug.txt значит запись
Меня там больше напрягают отрицитательные ide. Вы видели отрицательные номера квартир/домов ?
Судя по
+ несколько раз высказанным предположениям что ТС в каких-то циклах использует время для выхода (как обыденность), хотя ТС и сказал что у него таких циклов - нет, там (внизу) могли, например, напереводить и забыть про unsigned. Они ж внизу не на СТ и не в квадратиках пишутъ.
Проекта нет. Вачдог в цикле может быть не только при юзании времени как условия выхода :
-внутри цикла доступен для изменения сам счетчик
for i := 1 to 2 do //2 раза - и домой.
i := 1;
end_for
-машинный ноль
x : real;
--
x := 20_000_000;
while x < 20_000_010 do //10 раз - это такая ведь фигня
x := x + 1;
end_while
...
Так же перезагруз это не только зависание, а и обращения к левой памяти (косяки с индексами, указателями ..)
В общем много разной хрени
(К квадратофилам: пожалуйста, не надо сообщать про то, что тут ST, а было б Си так даже кофе бы на клаву опрокинулось бы, в вот в квадратиках такого нету и всё работает)
Имхо проект в виде
(с текущей конфигурацией обмена - если она есть и ) чётче бы локализовал проблему по ветке система/пользователь. Но нужно всего-то свободный ПЛК [+ ?], 2 месяца и бесперебойник.Код:;
Циклы я сразу отмел, использую только for c фиксированным циклом. Условий выхода по времени нет. Да и цикл, ошибки индекса и указатели проявляли бы себя раньше, а не раз в 50 дней!
Набор библиотек стандартныйlib.png
Во всех проектах используется +/- одинаковый набор Fb, Но проблема наблюдается только на 160плк.
Проводил всевозможные эксперименты с переменой TIME, DWORD, REAL( на столько только 110плк)
VAR
checkStartTP: TON;
t1, t2, t3,t4,t5,t6:TIME;
testTON2: TON;
onTON2: BOOL;
ptTON2: TIME;
BLOCK_TON2 : BOOL;
sysTIME : TIME;
div1 : INT := 10;
div2 : INT := 10;
div3 : INT := 10;
tempDWORDWORD;
dWord1: DWORD;
dWord2: DWORD;
dWord3: DWORD;
dWord4: DWORD;
dWord5: DWORD;
f1: REAL;
f2: REAL;
f3: REAL;
f4: REAL;
RESET: BOOL;
sysTimeDW: DWORD;
testFLTR: DIG_FLTR;
ON_OFF_TEST_FLTR: BOOL;
END_VAR
VAR RETAIN
testTON: TON;
onTON: BOOL;
ptTON: TIME;
END_VAR
sysTime := TIME();
t3 := t1 - t2;
t4:= T#1m - T#5m;
t5 := sysTime - T#49d15h2m47s295ms;
testTON(IN := onTON, PT := ptTON);
IF BLOCK_TON2 = FALSE THEN
testTON2(IN := onTON2, PT := ptTON2);
END_IF;
(* ============================== *)
tempDWORD := tempDWORD + 1;
dWord5 := dWord5 * dWord5;
dWord3 := dWord1 + dWord2;
dWord4 := dWord1 - dWord2;
(* ============================== *)
div1 := 100;
f1 := 100;
div3 := div1/div2;
f3 := F1/F2;
div2 := div2 +1;
IF div2 > 10 THEN div2 := 0;
END_IF
f2 := f2 +1;
IF f2 > 10 THEN f2 := 0;
END_IF
(* ============================== *)
IF ON_OFF_TEST_FLTR THEN
sysTimeDW := TIME_TO_DWORD(TIME());
testFLTR(
IN_VAL:= div1,
PB := 2,
TI := 2500
);
END_IF
(* ============================== *)
WHILE RESET DO
;
END_WHILE;
(* ============================== *)
в модбасе.либ есть потенции для резета
что где и как с RESET - неясно.
Проект лучше приводить как есть.
Последний раз редактировалось Валенок; 01.07.2022 в 22:18.
Продолжим тему!
Нужно было срочно запустить в работу 2 станции на ПЛК160[М2]. Один был по наличию, второй - 2 мес ожидания. У заказчика горели сроки! Нашел у себя старой модификации 18г ПЛК160, поставили пока не придет новый. И что мы наблюдаем - старый работает, а новый стабильный ресет в 50 дней!
И мы будем дальше утверждать что проблема в проекте?
Samel Я душой до сих пор на Вашей стороне т.к. не исключал проблем внизу (см. ранее)
Но объективности ради - проекта как небыло так и нет.