Вход

Просмотр полной версии : не работают триггеры R_trig & F_trig



Юрий Поляков
10.12.2010, 09:51
Здравствуйте.
Сделал программу с использованием триггеров.
Высветилась проблема - они НИКОГДА не переключаются.
Сделал простую тестовую программу, на которую подаю сигнал логического 0 и 1, который поступает на вход двух триггеров - F_TRIG и R_TRIG. Выход не меняется никогда. Как в режиме эмуляции, так и в контроллере.
Собственно о системе:
ОВЕН ПЛК-100 R-L,
CoDeSys 2.3.8.1 (Build 5 Jun 2007);
Библиотека Standard 20.2.06 11:31:06
Помогите пожалуйста.

Николаев Андрей
10.12.2010, 10:37
Многих это вводит в заблуждение... ну и документацию никто не читает...
R_TRIG и F_TRIG в понимании наших инженеров - одновибратор... То есть при возникновении импульса данные блоки отслеживают фронт, и соответственно НА ОДИН ЦИКЛ ПЛК устанавливают свой выход в true...
В документации это описано.

Малышев Олег
10.12.2010, 12:10
после F_ и R_ триггеров ставьте Sr триггер

Юрий Поляков
10.12.2010, 12:37
А в какой библиотеке есть Sr триггеры?

Александр Приходько
10.12.2010, 13:06
SR
Входит в standard.lib.

Переключатель с доминантой включения:

Q1 = SR (SET1, RESET) означает:

Q1 = (NOT RESET AND Q1) OR SET1

Входные переменные SET1 и RESET - как и выходная переменная Q1 типа BOOL.



Пример ST:

SRInst(SET1:= VarBOOL1 , RESET:=VarBOOL2 );

VarBOOL3 := SRInst.Q1 ;


Данная информация взята из справки!

Юрий Поляков
10.12.2010, 13:53
спасибо всем!
с этими двустабильными элементами стало как-то полегче жить. а то хотел собирать триггер из элементов.

lara197a
10.12.2010, 19:58
как бы человек просто разбирается и хочет посмотреть.

sew
10.10.2011, 21:35
как сделать чтоб при следующем импульсе выключался?

Николаев Андрей
11.10.2011, 07:25
Кто при следующем импульсе выключался?
Наверное тут как обычно путаница.
С Советской точки зрения F_Trig и R_Trig - это не триггер, а "одновибратор" .
RS триггер есть отдельно.

Darksomeone
15.05.2016, 19:33
Такая-же ситуация, просто перестал работать и все. RS не помогает

capzap
16.05.2016, 07:11
Такая-же ситуация, просто перестал работать и все. RS не помогает

на форуме можно выкладывать скрины экрана, сами не "рабочие" проекты, так будет легче определить что там у Вас перестало работать

melky
16.05.2016, 09:05
Чтобы при одном импульсе включался, а при следующем выключался надо использовать либо toggle либо FF-DRE (выход через инверсию завести на D и сигнал подавать на CLK) из библиотеки oscat.
R и F триггеры для ловли входного сигнала по определенному фронту.

Newcomer
16.05.2016, 10:38
R и F триггеры для ловли входного сигнала по определенному фронту.

А что есть разные виды фронтов. Фронт он один единственный.

melky
16.05.2016, 10:41
Newcomer ну как бы передний фронт (от 0 к 1) и задний фронт (от 1 до 0).
R и F триггеры для ловли соответствующего фронта сигнала.

Newcomer
16.05.2016, 10:53
Newcomer ну как бы передний фронт (от 0 к 1) и задний фронт (от 1 до 0).
R и F триггеры для ловли соответствующего фронта сигнала.

Есть фронт сигнала, есть срез сигнала. Задний фронт - это бред.

melky
16.05.2016, 11:00
Newcomer ну раз вы говорите бред, то наверное так и есть и отслеживание перехода сигнала из 1 в 0 вообще не стоит заморачиваться. Аминь....

Валенок
16.05.2016, 11:04
Есть фронт сигнала, есть срез сигнала. Задний фронт - это бред.
О чем речь - Вы поняли. Дальше - обсуждение терминологии. В этом монастыре многим понятен термин "задний фронт", даже тем кто использует по жизни другие термины.
melky употребив термин дал пояснения (1-0). Для разумного - достаточно.
Если понты не позволяют принять это - можете изучать устав в другом монастыре.

Newcomer
16.05.2016, 12:31
Для тех кто не понял, уточняю. Передний фронт - это масло масляное. Задний фронт - это несуразица.

melky
16.05.2016, 12:42
Newcomer Википедия и справка CoDeSys говорят иначе.
Да и народные названия для фронта и спада "передний фронт" и "задний фронт" живут со времен еще 155-й серии микросхем а то и раньше...

Если речь о придирках, то выше уже написал, Аминь...

krollcbas
16.05.2016, 12:57
Поддерживаю "задний и передний фронты", это понятно. Главное легко можно разъяснить Заказчику и он "Заказчик" это понимает.
Когда на курсах в Сименсе учили, то там обиходное - "Ловушка переднего фронта", "Ловушка заднего фронта".
Слух режет еще сильнее.

Newcomer
16.05.2016, 13:28
Поддерживаю "задний и передний фронты", это понятно.

Если живешь по понятиям, то конечно. ;)

Валенок
16.05.2016, 13:43
Читаем #19. Самое первое предложение.
Или говорим про какую среду ?

PS
-Алле, зая, ты где едешь ? По шоссе N ? Ты смотри аккуратнее, по радио сказали - там один м-к по встречке несется !!
-Алле, милай, да какой один ! Тут их сотни

IVM
16.05.2016, 14:10
Newcomer абсолютно прав. Господа, вдумчиво прочтите пост #18. То что пишет Newcomer - это грамотное выражение, а то, что melky - простонародное (безграмотное). То же самое написано в википедии: https://ru.wikipedia.org/wiki/%D0%A4%D1%80%D0%BE%D0%BD%D1%82_%D1%81%D0%B8%D0%B3% D0%BD%D0%B0%D0%BB%D0%B0

Далее каждый волен выбирать сам.

capzap
16.05.2016, 16:11
Newcomer абсолютно прав. Господа, вдумчиво прочтите пост #18. То что пишет Newcomer - это грамотное выражение, а то, что melky - простонародное (безграмотное). То же самое написано в википедии: https://ru.wikipedia.org/wiki/%D0%A4%D1%80%D0%BE%D0%BD%D1%82_%D1%81%D0%B8%D0%B3% D0%BD%D0%B0%D0%BB%D0%B0

Далее каждый волен выбирать сам.
а нам не шашечки, а ехать. Тут все поняли о том что речь о переходах между состояниями, дискуссия о терминологии проблему не продвигает к логическому завершению

Darksomeone
18.05.2016, 09:13
Ребят, не суть важно, у меня беда, сначала работало, потом перестало.
F_Trig перестал срабатывать. От программы необходимо следующее: активирую клапан по переменной, единичка должна всегда сетиться, когда условие не соблюдается - получается ноль, и переменная должна сброситься но без перезаписи, это для того что-бы я мог активировать клапан (присвоить переменной 1) из другого блока программы. Что может быть такое? скриншот во вложении. Проект по ссылке https://cloud.mail.ru/public/GXZd/ahRsfe5V6
24503

melky
18.05.2016, 10:45
Нифига не понял, что вы хотите сделать. R и F триггеры не устанавливают переменных, они на выходе дают всего лишь ИМПУЛЬС при переходе от 0 к 1 или от 1 к 0 соответственно.

Darksomeone
18.05.2016, 10:53
Заработало! может кому пригодиться: началось оказывается с того что случайно запустил (или установил) проект в codesys под профилем sp6. Далее работал как и раньше под профилем sp7, и заметил вышеописанный баг. Удалил из установки/удаления программ sodesys 3.5 sp6 и все заработало!

спасибо за внимание!