- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
T triger
Модератор: Глоб.модераторы
-
- здесь недавно
- Сообщения: 19
- Зарегистрирован: 24 июн 2015, 08:57
- Имя: Evgeniy
- Благодарил (а): 3 раза
T triger
Доброго времени суток. Ребята нужна помощь. задача такая не могу найти T triger ( функционал таков: необходимо подать импульс на один вход на первый раз выход принимает 1 до тех пор пока на вход не поступит повторно импульс и не выключиться выход).
-
- не первый раз у нас
- Сообщения: 318
- Зарегистрирован: 14 фев 2014, 11:55
- Имя: Николай
- Страна: Россия
- Благодарил (а): 16 раз
- Поблагодарили: 72 раза
T triger
Там функция в две строки
Код: Выделить всё
FUNCTION T_TRIG
VAR
INPUT
Signal : BOOL;
IN/OUT
State : BOOL; // состояние
Signal_prev : BOOL; // для отслеживания фронта
BEGIN
IF(#Signal AND #Signal_prev = false) THEN
#State := NOT(#State);
END_IF;
#Signal_prev := #Signal;
END_FUNCTION;
-
- здесь недавно
- Сообщения: 19
- Зарегистрирован: 24 июн 2015, 08:57
- Имя: Evgeniy
- Благодарил (а): 3 раза
T triger
Nicolayy писал(а): ↑27 авг 2021, 06:53 Там функция в две строки
Код: Выделить всё
FUNCTION T_TRIG VAR INPUT Signal : BOOL; IN/OUT State : BOOL; // состояние Signal_prev : BOOL; // для отслеживания фронта BEGIN IF(#Signal AND #Signal_prev = false) THEN #State := NOT(#State); END_IF; #Signal_prev := #Signal; END_FUNCTION;
Код рабочий но если на входе происходит малейшее удержание на выходе происходит дребезг контактов R_Trig все исправляет
-
- здесь недавно
- Сообщения: 19
- Зарегистрирован: 24 июн 2015, 08:57
- Имя: Evgeniy
- Благодарил (а): 3 раза
T triger
R_triger на вход в этом случае тогда бы не помог
Отправлено спустя 6 минут 3 секунды:
Прошу прощения заранее может что то не так назову.( использую TIA v16)
Я не понимаю в чем проблема на самом деле. СОбрал этот код в FC1 через таблицу подаю вход и через нее же отслеживаю выход и там видно как перекидывается значение выхода.
-
- освоился
- Сообщения: 290
- Зарегистрирован: 09 авг 2016, 13:49
- Имя: Чистилин Андрей Анатольевич
- Страна: Россия
- город/регион: Малоярославец
- Благодарил (а): 31 раз
- Поблагодарили: 36 раз
T triger
[img]D:\Users\electronic\Pictures\2021-08-27 12_55_08-Window.jpg[/img]
Еще бы наверно таймер добавить или тактовый бит, дредезг в кнопке может и четное число раз сработать...
Вариант от на STL мне больше всего понравился.
Еще бы наверно таймер добавить или тактовый бит, дредезг в кнопке может и четное число раз сработать...
Вариант от на STL мне больше всего понравился.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- не первый раз у нас
- Сообщения: 318
- Зарегистрирован: 14 фев 2014, 11:55
- Имя: Николай
- Страна: Россия
- Благодарил (а): 16 раз
- Поблагодарили: 72 раза
T triger
teinrus, чудес не бывает. Тот бит, где ты хранишь Signal_prev, тоже выведи в таблицу.и проверь как он меняется
Отправлено спустя 2 минуты 1 секунду:
Отправлено спустя 2 минуты 1 секунду:
Варианты на STL всегда лучшие, это известное дело. Жаль на S7-1200 они STL не добавили...
-
- здесь недавно
- Сообщения: 19
- Зарегистрирован: 24 июн 2015, 08:57
- Имя: Evgeniy
- Благодарил (а): 3 раза
T triger
В смысле не добавили у меня 1214 и есть STL.
-
- здесь недавно
- Сообщения: 19
- Зарегистрирован: 24 июн 2015, 08:57
- Имя: Evgeniy
- Благодарил (а): 3 раза
T triger
Не могу сообразить все равно не работает. Как я понимаю каждый нетворк это одна и таже программа, но на разных языках?
Отправлено спустя 5 минут 29 секунд:
Какая то беда.( Хотя может я что то не понимаю) если я этот блок собираю в OB1 все работает как надо, а вот если FC1 через темповые переменные все перестает работать. С чем это может быть связано??
Отправлено спустя 8 минут 17 секунд: как то так?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- освоился
- Сообщения: 248
- Зарегистрирован: 31 янв 2017, 08:44
- Имя: Маркушин Андрей Геннадьевич
- Страна: Россия
- город/регион: Нижегородская обл., Выкса
- Благодарил (а): 19 раз
- Поблагодарили: 64 раза
T triger
Да, это просто иллюстрация реализации для 1200-х, они позволяют в FBD-шный или LAD-овский блок воткнуть SCL-ный нетворк.
А программа не работает из-за того, что выход (в Вашем случае - out_temp) так же должен сохранять своё состояние в следующем цикле, поэтому нужно сделать его тип в интерфейсе функции- INOUT.
-
- эксперт
- Сообщения: 1341
- Зарегистрирован: 14 фев 2013, 23:42
- Имя: Евгений
- Страна: Россия
- город/регион: МО
- Благодарил (а): 6 раз
- Поблагодарили: 232 раза
T triger
Не работал с Сименс, просто интересно, будет ли в нём работать решение из Codesys?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- освоился
- Сообщения: 271
- Зарегистрирован: 25 ноя 2018, 17:55
- Имя: Роман
- Благодарил (а): 4 раза
- Поблагодарили: 42 раза
T triger
Так выглядит блок "изнутри"
Так выглядит блок "снаружи". На входы блока ставятся реальные переменные.Безымянный.png[/attachment]Случается нередко нам
И труд и мудрость видеть там,
Где стоит только догадаться
За дело просто взяться.
И труд и мудрость видеть там,
Где стоит только догадаться
За дело просто взяться.
-
- здесь недавно
- Сообщения: 19
- Зарегистрирован: 24 июн 2015, 08:57
- Имя: Evgeniy
- Благодарил (а): 3 раза
T triger
так же работаю в СS в сиеменс не работает
Отправлено спустя 2 минуты 35 секунд:
так а в чем тогда смысл темповых переменных?
Отправлено спустя 43 минуты 22 секунды:
Просто в cs это такие же переменные но их нельзя использовать в других fc и там не создаётся отдельных db и тем более для таймеров и тригеров
-
- освоился
- Сообщения: 271
- Зарегистрирован: 25 ноя 2018, 17:55
- Имя: Роман
- Благодарил (а): 4 раза
- Поблагодарили: 42 раза
T triger
Все там создается, просто вам этого "не показывают", отсюда и такое впечатление. Темповые переменные используются для временного хранения промежуточных действий и результатов "внутри" функции. Temporarily-временно.
Случается нередко нам
И труд и мудрость видеть там,
Где стоит только догадаться
За дело просто взяться.
И труд и мудрость видеть там,
Где стоит только догадаться
За дело просто взяться.