This is topic Программа FBD и тренд in forum TRACE MODE 6 бесплатная Базовая версия / TRACE MODE 6 free Base version at Форум TRACE MODE: техническая поддержка.
Доброе утро! На языке FBD написана программа (моделирование контура), где задается определенная температура и с помощью Пид-регулятора в конце программы выводится это же значение. Мне надо вывести на тренд переходной процесс. Подскажите как это сделать?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Аргументы экрана, выводимые в качестве кривых тренда, надо подключить к выходным аргументам программы.
Posted by Alina (Участник № / Member № 6943) on :
Извините, но можно, пожалуйста, поподробнее? Просто я поняла ваше сообщение, как к выходному аргументу программы(он у меня один) привязать аргумент канала, который привязан к кривой тренда. Это и сделала, но не работает.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
У числового канала нет аргументов. Если хотите иметь результат программы в числовом канале, надо выходной аргумент программы привязать к атрибуту ВХОДНОЕ_ЗНАЧЕНИЕ числового канала. Аргумент экрана, выводимый на тренд, привяжите к РЕАЛЬНОМУ_ЗНАЧЕНИЮ этого числового канала.
Posted by Alina (Участник № / Member № 6943) on :
Ура! Заработало! Спасибо огромное Вам!
Posted by lyapandrej (Участник № / Member № 6957) on :
Не знаю , что у вас там Заработало . У меня ни чего не работает. Что я делаю "не так" ??????
Posted by lyapandrej (Участник № / Member № 6957) on :
Хотя всё делаю в точности так как описано.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Когда не известно, что Вы делаете, нельзя ответить на вопрос "что Вы делаете не так?".
Посмотрите в уроках Быстрого старта "Часть первая/Добавление функций управления/Привязка аргумента экрана к каналу" и "Часть первая/Добавление функций управления/Размещение тренда".
Posted by lyapandrej (Участник № / Member № 6957) on :
Создаю узел RTM_1. в шаблонах программ создаю FBD программу, в шаблонах экрана, создаю экран. В экране создаю ГЭ "текст" и тренд обыкновенный. В FBD программе FBD блок "арифметическое суммирование" складывает два аргумента программы и в третий выводит сумму - получилось ARG_000 + ARG_001 = ARG_002 итого 6+5=11. В аргументах экрана создаю два аргумента один с привязкой к (ARG_002 атрибут входное значение) драгидропю в ГЭ "текст" другой с той же привязкой и атрибутом реальное значение кидаю в тренд. всё компилирую сохраняю для МРВ и не работает. Я перепробовал разные варианты , в том числе и описанные в быстром старте. В результате при открытии профайлера и там и там НОЛИ Вывод: не работает . У меня базовая версия , может поэтому .??????
[ 14.06.2016, 09:17: Сообщение отредактировал / Message edited by AdAstra Technical Support ]
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
1. "ARG_000 + ARG_001 = ARG_002 " - это неправильное выражение. Надо ARG_002 = ARG_000 + ARG_001;
2. Что означает "два аргумента один с привязкой к (ARG_002 атрибут входное значение) ... другой с той же привязкой и атрибутом реальное значение "? У аргумента ARG_002 нет атрибутов. Уточните, пожалуйста.
3. Чем задаются в реальном времени значения аргументов ARG_000 и ARG_001? Откройте в редакторе проекта свойства канала CALL.Program и убедитесь, что начальные значения аргументов ARG_000 и ARG_001 соответствуют Вашим ожиданиям.
Posted by lyapandrej (Участник № / Member № 6957) on :
1. ARG_002 = ARG_000 + ARG_001.Да я так и пишу в программе и туже функцию ожидаю от FBD блока. 2.Аргументы экрана: ARG_000 привязан к Программа#1:1:Реальное значение(Система.RTM1_1.Каналы) ARG_001 привязан к Программа#1:1:Входное значение(Система.RTM1_1.Каналы) 3. В реальном времени значения аргументов ARG_000 и ARG_001 задаются константами в графе "Значение по умолчанию" В РЕДАКТОРЕ аргументов программы. ???????????
Posted by lyapandrej (Участник № / Member № 6957) on :
Теперь ещё и отладка не запускается.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
1. Аргумент экрана ARG_000 надо привязать к ARG_000 CALL.Program. ГЭ "Текст" и кривую на тренде надо привязать к ARG_000 экрана.
2. Начальные значения аргументов ARG_000 и ARG_001 программы должны задаваться константами в графе "Значение по умолчанию" в редакторе аргументов канала CALL.Program, а не в редакторе аргументов шаблонов программы (!).
3. Что значит "отладка не запускается"? В чем это выражается? Какие изменения в Вашем проекте привели к этой ситуации?
Posted by lyapandrej (Участник № / Member № 6957) on :
1)Да спасибо я разобрался. С привязками и запуском профайлера. 2)Скажите а почему профайлер так медленно работает. Т.е. программа счёта типа x=x+1 профайлером отрабатывается очень медленно. Одна цикл суммирования около 1 секунды длится. Это долго слишком . Как можно это ускорить?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Программы вызываются и однократно пересчитываются 1 раз за период обработки, который Вы задали для канала вызова программы. Отображение осуществляется в собственном потоке с периодом вызова экрана. Кроме того, ввод данных в программу также осуществляется с учетом цикла обработки соответствующего интерфейса. Выполнять пересчет программ быстрее, чем обновляются используемые данные, нет смысла.
Posted by lyapandrej (Участник № / Member № 6957) on :
Программа работает достаточно быстро. А в профайлере всё очень медленно. Как уменьшить период обработки ?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
См. раздел "Каналы и системные переменные .../Пересчет базы каналов/".
Posted by lyapandrej (Участник № / Member № 6957) on :