Просмотр полной версии : отслеживание изменения переменной
ВладиславВладимирович
28.06.2026, 20:36
Добрый день, коллеги!
Есть ли какое-то стандартное(библиотечное) решение для отслеживания изменения переменной числового типа (не бул).
Нужно в тот момент когда оператор изменяет значение типа ворд на СП310, в ПЛК200 вывешивать флаг на запись в слейв устройство гарантированно не пропустив фронт.
Опрашивать по времени не вариант - линия рс485 у плк очень нагружена, получается долго.
kondor3000
28.06.2026, 21:20
Это пишется на ST без проблем, под любой нужный финт, например при изменении WORD, на 1 цикл выставляется флаг
function_block Sel_I // Sel_I
var_input
I1 : WORD;
end_var
var_output
Q : bool;
end_var
var
I_1 : WORD;
end_var
___________________________________
Q:=I_1<> I1;
I_1:= I1;
Сергей0308
28.06.2026, 21:23
Добрый день, коллеги!
Есть ли какое-то стандартное(библиотечное) решение для отслеживания изменения переменной числового типа (не бул).
Нужно в тот момент когда оператор изменяет значение типа ворд на СП310, в ПЛК200 вывешивать флаг на запись в слейв устройство гарантированно не пропустив фронт.
Опрашивать по времени не вариант - линия рс485 у плк очень нагружена, получается долго.
Даже в самом бюджетном устройстве(ПР) имеется запись по изменению, странно, если такого нет в более дорогих устройствах!
ВладиславВладимирович
28.06.2026, 22:08
Да, сначала сам сделал такую штуку, но значения почему-то не всегда записываются в конечное устройство.
Добавил блинк с активацией по таймеру - стало работать надежно, но думал, что, возможно, есть какой-то вариант без изобретения велосипедов.
ВладиславВладимирович
28.06.2026, 22:09
Забавно, но, вроде, нет. Во 2м кодесисе было, а теперь нет:)
Вообще не понятно - кто что где отслеживает и кто кем является по отношению друг другу. Какая невнятная абстракция какие-то блинки
А чё? В СП3xx бит уведомления уже не работает?
89679
ВладиславВладимирович
29.06.2026, 14:11
Пока не разобрался как это должно правильно работать. При первом изменении в вполе ввода, соответствующий бит уведомления зависает в тру и больше не переходит в фолс. Соответственно пока не получилось получить желаемый эффект, запись происходит один раз. Возможно, его нужно самому как-то обнулять?
pppppppo_98
29.06.2026, 14:59
Пока не разобрался как это должно правильно работать. При первом изменении в вполе ввода, соответствующий бит уведомления зависает в тру и больше не переходит в фолс. Соответственно пока не получилось получить желаемый эффект, запись происходит один раз. Возможно, его нужно самому как-то обнулять?
Ну поставьте передний фронт (R_TRIG) на первичный сигнал и будет тебе счастье. Не щабудь только что распознование переднего фронта отстает на один такт, и длительность тоже один такт
Powered by vBulletin® Version 4.2.3 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot