M@V
Forum Professor / Завсегдатай форума
Участник № / Member № 1800
отправлено / posted
Хочу в FBD программе узнать частоту собственного вызова, для чего 1000 делю на выходную величину блока TSTEP, в результате получаю 0 и зависание всей программы. Но при организации вычисления методом e^(ln(1000)-ln(TSTEP)) все нормально! Не пойму, почему так сложно??? Базовая версия ТМ 6.03.1.
Сообщения / Posts 167 | Из / From: УКРАИНА
| IP / IP: IP адрес / IP address |
отправлено / posted
##### Ошибки с зависанием не обнаружено, однако с выходом блока TSTEP действительно что-то не то. Будем разбираться. Результаты сообщим позже.
Сообщения / Posts 17345 | Из / From: Россия
| IP / IP: IP адрес / IP address |
M@V
Forum Professor / Завсегдатай форума
Участник № / Member № 1800
отправлено / posted
FBD программа. Ошибка не существенна, но неприятна: при перетаскивании FBD блока на другую позицию блок перетаскивается, но комментарий к нему остается на месте! Базовая версия ТМ 6.03.1.
Сообщения / Posts 167 | Из / From: УКРАИНА
| IP / IP: IP адрес / IP address |
отправлено / posted
Это не ошибка. Комментарий привязан не к блоку, а к позиции, и может относиться не к одному блоку, а к группе. То же и влюбом текстовом языке - комментарий не привязан к комментируемому тексту. Целесообразно вводить комментарий после завершения топологических операций в программе.
Сообщения / Posts 17345 | Из / From: Россия
| IP / IP: IP адрес / IP address |
M@V
Forum Professor / Завсегдатай форума
Участник № / Member № 1800
отправлено / posted
В справке по генератору синуса (FBD программы) сказано, что вход РТ задает период синусоиды в секундах, однако я получаю совершенно другие результаты. При РТ=60, Периоде пересчета монитора = 1 и Разрешении = 0.5 получаю Период синусоиды = 15с! Базовая версия ТМ 6.03.1. С уважением M@V.
Сообщения / Posts 167 | Из / From: УКРАИНА
| IP / IP: IP адрес / IP address |
отправлено / posted
Ваша информация подтвердилась. Счет "времени" в этом блоке осуществляется в тактах вызова программы. Формулировка свойств блока будет уточнена и внесена в документацию.
Сообщения / Posts 17345 | Из / From: Россия
| IP / IP: IP адрес / IP address |
M@V
Forum Professor / Завсегдатай форума
Участник № / Member № 1800
отправлено / posted
И все-таки вернемся к TSTEP. Да, теперь деление 1000 на TSTEP выдает правильный результат, но блокирует другие выходные аргументы этой же программы (монитор продолжает работать). Короче говоря, я так и остался на методе вычисления e^(ln(1000)-ln(TSTEP)). Базовая версия уже ТМ 6.04. С уважением M@V.
Сообщения / Posts 167 | Из / From: УКРАИНА
| IP / IP: IP адрес / IP address |
отправлено / posted
Проверили у себя работу блока TSTEP в многоблочной программе. Ситуация не подтвердилась. Высылайте проект на адрес техподдержки.
Сообщения / Posts 17345 | Из / From: Россия
| IP / IP: IP адрес / IP address |
M@V
Forum Professor / Завсегдатай форума
Участник № / Member № 1800
отправлено / posted
Сейчас я нашел выход из данной ситуации и делю 1000 на выбор максимального из двух – TSTEP и 1. Все получилось. Я подготовлю два варианта проекта (рабочий и нерабочий) и вышлю Вам. С уважением M@V.
Сообщения / Posts 167 | Из / From: УКРАИНА
| IP / IP: IP адрес / IP address |
M@V
Forum Professor / Завсегдатай форума
Участник № / Member № 1800
отправлено / posted
Дело всё в том, что в данном случае мы работаем с блоком "деление", на вход которому необходимо подавать число в формате float. То есть константу нужно задать как 1000.0
Сообщения / Posts 17345 | Из / From: Россия
| IP / IP: IP адрес / IP address |
M@V
Forum Professor / Завсегдатай форума
Участник № / Member № 1800
M@V
Forum Professor / Завсегдатай форума
Участник № / Member № 1800
отправлено / posted
День добрый. Наткнулся на такую ситуацию ТМ 6.05(базовый): Блок rTRIG(импульс по переднему фронту) нацепленный на входной аргумент USINT FBD программы - НЕ ОТРАБАТЫВАЕТ. fTRIG - работает нормально. Пришлось вход развязать через логическое умножение. В ранних версиях подобное решение работало нормально. Скорее всего это баг.
Сообщения / Posts 167 | Из / From: УКРАИНА
| IP / IP: IP адрес / IP address |
отправлено / posted
Я перепроверил эту функцию в базовых релизах 6.04 и 6.05 - все работает. Возможно, речь идет об особенностях программы в проекте. Пришлите, пожалуйста, Ваш тестовый проект.
Сообщения / Posts 17345 | Из / From: Россия
| IP / IP: IP адрес / IP address |
M@V
Forum Professor / Завсегдатай форума
Участник № / Member № 1800
отправлено / posted
Проект отправил на hotline2@adastra.ru Необходимо сохранять для МРВ с глубиной отслеживания источников 2. С уважением M@V.
Сообщения / Posts 167 | Из / From: УКРАИНА
| IP / IP: IP адрес / IP address |
отправлено / posted
Из документации: Импульс по переднему фронту (rTRIG): Этот блок формирует прямоугольный импульс длиной в один такт пересчета при изменении значения младшего разряда INP с 0 на 1. Импульс по заднему фронту (fTRIG): Выход QF принимает значение 1 на один такт пересчета при изменении значения входа INP с любого положительного на 0.
У Вас сигнал, который Вы пытаетесь подать на вход rTRIG, равен 30. rTRIG от него не работает. А входной блок && реализует чисто бинарную функцию, он воспринимает 30 как TRUE. Поэтому такая цепочка работает. Я в программе "Тестовая" заменил значение множителя на входе блока "3:E" с 30 на 1 и привязал вход rTRIG непосредственно к входу "Цикл". Ваша программа заработала.
Сообщения / Posts 17345 | Из / From: Россия
| IP / IP: IP адрес / IP address |