1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

T triger

ПЛК SIMATIC (S7-200, S7-1200, S7-300, S7-400, S7-1500, ET200)
Ответить
Аватара пользователя

Автор темы
teinrus
здесь недавно
здесь недавно
Сообщения: 19
Зарегистрирован: 24 июн 2015, 08:57
Имя: Evgeniy
Благодарил (а): 3 раза

T triger

Сообщение teinrus »

Доброго времени суток. Ребята нужна помощь. задача такая не могу найти T triger ( функционал таков: необходимо подать импульс на один вход на первый раз выход принимает 1 до тех пор пока на вход не поступит повторно импульс и не выключиться выход).
Аватара пользователя

Nicolayy
освоился
освоился
Сообщения: 281
Зарегистрирован: 14 фев 2014, 11:55
Имя: Николай
Страна: Россия
Благодарил (а): 9 раз
Поблагодарили: 64 раза

T triger

Сообщение Nicolayy »

teinrus, реализуй это в виде функции. Делов-то на 1 минуту

v0v
не первый раз у нас
не первый раз у нас
Сообщения: 343
Зарегистрирован: 12 дек 2018, 14:47
Имя: Влад
Благодарил (а): 1 раз
Поблагодарили: 44 раза

T triger

Сообщение v0v »

Если имеется ввиду включение и выключение одной кнопкой, то вот например два варианта
button on_off 1.jpg
button on_off 2.jpg
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя

Nicolayy
освоился
освоился
Сообщения: 281
Зарегистрирован: 14 фев 2014, 11:55
Имя: Николай
Страна: Россия
Благодарил (а): 9 раз
Поблагодарили: 64 раза

T triger

Сообщение Nicolayy »

Там функция в две строки

Код: Выделить всё

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;

winb
освоился
освоился
Сообщения: 248
Зарегистрирован: 31 янв 2017, 08:44
Имя: Маркушин Андрей Геннадьевич
Страна: Россия
город/регион: Нижегородская обл., Выкса
Благодарил (а): 19 раз
Поблагодарили: 64 раза

T triger

Сообщение winb »

Код: Выделить всё

A 	i0.0
FP 	m0.0
X 	q0.0
= 	q0.0
если не ошибаюсь
Аватара пользователя

Автор темы
teinrus
здесь недавно
здесь недавно
Сообщения: 19
Зарегистрирован: 24 июн 2015, 08:57
Имя: Evgeniy
Благодарил (а): 3 раза

T triger

Сообщение teinrus »

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 все исправляет

Михайло
почётный участник форума
почётный участник форума
Сообщения: 3576
Зарегистрирован: 10 ноя 2009, 04:58
Имя: Толмачев Михаил Алексеевич
город/регион: г. Чехов, МО
Благодарил (а): 6 раз
Поблагодарили: 271 раз

T triger

Сообщение Михайло »

Дребезг не в функции, дребезг в кнопке. Загрубите фильтр на входе.
Аватара пользователя

Nicolayy
освоился
освоился
Сообщения: 281
Зарегистрирован: 14 фев 2014, 11:55
Имя: Николай
Страна: Россия
Благодарил (а): 9 раз
Поблагодарили: 64 раза

T triger

Сообщение Nicolayy »

если там реальная кнопка, то дребезг по таймеру можно сделать
Аватара пользователя

Автор темы
teinrus
здесь недавно
здесь недавно
Сообщения: 19
Зарегистрирован: 24 июн 2015, 08:57
Имя: Evgeniy
Благодарил (а): 3 раза

T triger

Сообщение teinrus »

Михайло писал(а): 27 авг 2021, 11:38 Дребезг не в функции, дребезг в кнопке. Загрубите фильтр на входе.

R_triger на вход в этом случае тогда бы не помог

Отправлено спустя 6 минут 3 секунды:
Nicolayy писал(а): 27 авг 2021, 12:13 если там реальная кнопка, то дребезг по таймеру можно сделать
Прошу прощения заранее может что то не так назову.( использую TIA v16)
Я не понимаю в чем проблема на самом деле. СОбрал этот код в FC1 через таблицу подаю вход и через нее же отслеживаю выход и там видно как перекидывается значение выхода.

ZuElecRu
освоился
освоился
Сообщения: 290
Зарегистрирован: 09 авг 2016, 13:49
Имя: Чистилин Андрей Анатольевич
Страна: Россия
город/регион: Малоярославец
Благодарил (а): 31 раз
Поблагодарили: 35 раз

T triger

Сообщение ZuElecRu »

[img]D:\Users\electronic\Pictures\2021-08-27 12_55_08-Window.jpg[/img]
Еще бы наверно таймер добавить или тактовый бит, дредезг в кнопке может и четное число раз сработать...
Вариант от на STL мне больше всего понравился.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя

Nicolayy
освоился
освоился
Сообщения: 281
Зарегистрирован: 14 фев 2014, 11:55
Имя: Николай
Страна: Россия
Благодарил (а): 9 раз
Поблагодарили: 64 раза

T triger

Сообщение Nicolayy »

teinrus, чудес не бывает. Тот бит, где ты хранишь Signal_prev, тоже выведи в таблицу.и проверь как он меняется

Отправлено спустя 2 минуты 1 секунду:
ZuElecRu писал(а): 27 авг 2021, 13:15 Вариант от на STL мне больше всего понравился
Варианты на STL всегда лучшие, это известное дело. Жаль на S7-1200 они STL не добавили...
Аватара пользователя

Автор темы
teinrus
здесь недавно
здесь недавно
Сообщения: 19
Зарегистрирован: 24 июн 2015, 08:57
Имя: Evgeniy
Благодарил (а): 3 раза

T triger

Сообщение teinrus »

Nicolayy писал(а): 27 авг 2021, 13:19 teinrus, чудес не бывает. Тот бит, где ты хранишь Signal_prev, тоже выведи в таблицу.и проверь как он меняется

Отправлено спустя 2 минуты 1 секунду:
ZuElecRu писал(а): 27 авг 2021, 13:15 Вариант от на STL мне больше всего понравился
Варианты на STL всегда лучшие, это известное дело. Жаль на S7-1200 они STL не добавили...
В смысле не добавили у меня 1214 и есть STL.
Аватара пользователя

Nicolayy
освоился
освоился
Сообщения: 281
Зарегистрирован: 14 фев 2014, 11:55
Имя: Николай
Страна: Россия
Благодарил (а): 9 раз
Поблагодарили: 64 раза

T triger

Сообщение Nicolayy »

teinrus, SCL там. STL - это ассемблер (IL)

winb
освоился
освоился
Сообщения: 248
Зарегистрирован: 31 янв 2017, 08:44
Имя: Маркушин Андрей Геннадьевич
Страна: Россия
город/регион: Нижегородская обл., Выкса
Благодарил (а): 19 раз
Поблагодарили: 64 раза

T triger

Сообщение winb »

Снимок.PNG
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя

Автор темы
teinrus
здесь недавно
здесь недавно
Сообщения: 19
Зарегистрирован: 24 июн 2015, 08:57
Имя: Evgeniy
Благодарил (а): 3 раза

T triger

Сообщение teinrus »

winb писал(а): 27 авг 2021, 14:22Снимок.PNG
Не могу сообразить все равно не работает. Как я понимаю каждый нетворк это одна и таже программа, но на разных языках?

Отправлено спустя 5 минут 29 секунд:
winb писал(а): 27 авг 2021, 14:22Снимок.PNG
Какая то беда.( Хотя может я что то не понимаю) если я этот блок собираю в OB1 все работает как надо, а вот если FC1 через темповые переменные все перестает работать. С чем это может быть связано?? :ges_help: :ges_help: :ges_help: :ges_help: :ges_help:

Отправлено спустя 8 минут 17 секунд:
2 попытка.png
как то так?
У вас нет необходимых прав для просмотра вложений в этом сообщении.

winb
освоился
освоился
Сообщения: 248
Зарегистрирован: 31 янв 2017, 08:44
Имя: Маркушин Андрей Геннадьевич
Страна: Россия
город/регион: Нижегородская обл., Выкса
Благодарил (а): 19 раз
Поблагодарили: 64 раза

T triger

Сообщение winb »

teinrus писал(а): 27 авг 2021, 15:42 Не могу сообразить все равно не работает. Как я понимаю каждый нетворк это одна и таже программа, но на разных языках?
Да, это просто иллюстрация реализации для 1200-х, они позволяют в FBD-шный или LAD-овский блок воткнуть SCL-ный нетворк.

А программа не работает из-за того, что выход (в Вашем случае - out_temp) так же должен сохранять своё состояние в следующем цикле, поэтому нужно сделать его тип в интерфейсе функции- INOUT.
Аватара пользователя

Автор темы
teinrus
здесь недавно
здесь недавно
Сообщения: 19
Зарегистрирован: 24 июн 2015, 08:57
Имя: Evgeniy
Благодарил (а): 3 раза

T triger

Сообщение teinrus »

Сделал не помогло
2 попытка.png

Если есть возможность дайте проект где у Вас работает это в FC. :thankyou:
У вас нет необходимых прав для просмотра вложений в этом сообщении.

Универсал
эксперт
эксперт
Сообщения: 1254
Зарегистрирован: 14 фев 2013, 23:42
Имя: Евгений
Страна: Россия
город/регион: МО
Благодарил (а): 6 раз
Поблагодарили: 211 раз

T triger

Сообщение Универсал »

Не работал с Сименс, просто интересно, будет ли в нём работать решение из Codesys?
Имп_реле_FBD.png
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя

Nicolayy
освоился
освоился
Сообщения: 281
Зарегистрирован: 14 фев 2014, 11:55
Имя: Николай
Страна: Россия
Благодарил (а): 9 раз
Поблагодарили: 64 раза

T triger

Сообщение Nicolayy »

teinrus писал(а): 27 авг 2021, 15:42 Какая то беда.( Хотя может я что то не понимаю) если я этот блок собираю в OB1 все работает как надо, а вот если FC1 через темповые переменные все перестает работать. С чем это может быть связано??
В тех примерах, что Вам были показаны мной на SCL и другими участниками на LAD и STL - нет ни одной темповой переменной.

Roman_33
освоился
освоился
Сообщения: 266
Зарегистрирован: 25 ноя 2018, 17:55
Имя: Роман
Благодарил (а): 4 раза
Поблагодарили: 41 раз

T triger

Сообщение Roman_33 »

Так выглядит блок "изнутри"
Безымянный.png
Так выглядит блок "снаружи". На входы блока ставятся реальные переменные.Безымянный.png[/attachment]
Случается нередко нам
И труд и мудрость видеть там,
Где стоит только догадаться
За дело просто взяться.
Аватара пользователя

Автор темы
teinrus
здесь недавно
здесь недавно
Сообщения: 19
Зарегистрирован: 24 июн 2015, 08:57
Имя: Evgeniy
Благодарил (а): 3 раза

T triger

Сообщение teinrus »

Универсал писал(а): 27 авг 2021, 16:52 Не работал с Сименс, просто интересно, будет ли в нём работать решение из Codesys?
Имп_реле_FBD.png
так же работаю в СS в сиеменс не работает

Отправлено спустя 2 минуты 35 секунд:
Nicolayy писал(а): 27 авг 2021, 17:00
teinrus писал(а): 27 авг 2021, 15:42 Какая то беда.( Хотя может я что то не понимаю) если я этот блок собираю в OB1 все работает как надо, а вот если FC1 через темповые переменные все перестает работать. С чем это может быть связано??
В тех примерах, что Вам были показаны мной на SCL и другими участниками на LAD и STL - нет ни одной темповой переменной.
так а в чем тогда смысл темповых переменных?

Отправлено спустя 43 минуты 22 секунды:
Просто в cs это такие же переменные но их нельзя использовать в других fc и там не создаётся отдельных db и тем более для таймеров и тригеров

Roman_33
освоился
освоился
Сообщения: 266
Зарегистрирован: 25 ноя 2018, 17:55
Имя: Роман
Благодарил (а): 4 раза
Поблагодарили: 41 раз

T triger

Сообщение Roman_33 »

teinrus писал(а): 27 авг 2021, 21:04 Просто в cs это такие же переменные но их нельзя использовать в других fc и там не создаётся отдельных db и тем более для таймеров и тригеров
Все там создается, просто вам этого "не показывают", отсюда и такое впечатление. Темповые переменные используются для временного хранения промежуточных действий и результатов "внутри" функции. Temporarily-временно.
Случается нередко нам
И труд и мудрость видеть там,
Где стоит только догадаться
За дело просто взяться.
Ответить

Вернуться в «Simatic TIA Portal»