Для начала галочку поставить при создании переменной
Вложение 62984
Вид для печати
Для начала галочку поставить при создании переменной
Вложение 62984
уже пробовал, не помогает. Это самое легкое с чего начал. По моему галочка работает только для входных переменных.
Проверить было несложно:
При повторном включении контроллера ЙЙ = 0
Ну, почему, вот пример энергонезависимого счетчика
Вложение 62986
Но может проще будет воспользоваться просто кривой отсюда https://owen.ru/forum/showthread.php...l=1#post275277 без всяких автоматических коэффициентов
А если у вас просто котел и некоторая усредненная температура по помещениям, то думаю, надо смотреть в сторону ПИД регулятора
Запись значения в переменную без постоянной привязки к источнику:
Вложение 62992
Чего-то всё равно не получается. При перестарте пр200 ЙЙ=0, а не накопленному значению.
вот так сделайте
Вложение 63000
в вашем случае, я думаю, надо сделать как-то так
Вложение 63002
вот что получается.
Если Вы про "Тот", то ей энергонезависимость дана только для того, чтобы ОЛ не подсвечивал красным эту переменную при симуляции. Если про "Вср", то для того, чтобы накопленное значение не сбросилось при отключении питания, чтобы в дальнейшем не ждать температуру наружного воздуха = 0 град. цельсия, ибо согласно уравнения прямой (отопительного графика) при этом условии коэф.В численно равен температуре в системе отопления. А так как программа пишется под систему отопления с твердотопливным котлом, работающим в режиме старт/стоп температура в системе отопления тоже будет плавать, поэтому требуется получить усредненное значение за достаточно длительный период измерений.
система отопления состоит из пеллетного котла, самостоятельно поддерживающего температуру в своем внутреннем контуре до гидрострелки, контура теплых полов с термостатическим регулятором, бойлера косвенного нагрева ГВС, контура радиаторного отопления. Основной вид отопления: теплый пол на 1 этаже, радиаторы на 2 этаже. Основное условие регулирования - поддержание постоянной температуры в помещении. Требуется увязать между собой работу всех 4 контуров. Отключать систему отопления остановкой циркуляционного насоса СО не хочу, правильным считаю регулировать с помощью трехходового клапана. У котла нет функции изменять уставку (повышать температуру) при включении подогрева ГВС.
Можно, конечно, сделать регулирование температуры радиаторов без учета температуры наружного воздуха только на рассогласовании уставки комнатной температуры с текущей комнатной температурой, но это должно быть о-о-о-очень медленное движение трехходового клапана. По моему правильно будет увязать температуру в радиаторах к температуре наружного воздуха и сделать незначительные корректировки по комнатной температуре.
У меня практически такая-же система, забиты 3 отдельных графика: на котёл (внутренний контур), подачу ТП 1 этаж (смеситель на термоголовке) и подачу радиаторы 2 этаж (смесительный трёхходовой с электроприводом). Все графики по наружной Т. Коррекции по температуре в помещениях нет, но наверное было бы неплохо. Только есть некоторый вопрос с местом измерения температур в помещении, репрезентативностью этих значений и алгоритмом коррекции.
А зачем все графики по наружной Т ? Почему не сделать термостатирование помещений ? Задается уставка температуры в помещении и пусть система ее поддерживает при всех возмущающих воздействиях (температура наружного воздуха, работа бытовой техники, и т.д.). В многоквартирном доме это сделать невозможно, а в частном доме это легко сделать.
Возможно в каркасниках с воздушным отоплением это будет хорошо работать, но "каменный" дом, да ещё с системой ТП - система очень инерционная. Сначала у меня было сделано поконтурное (покомнатное) регулирование контуров ТП термоголовками (вкл/выкл по комнатным термостатам, со снижением уставки на ночь и т.д.), но в итоге для ТП убрал все это (для радиаторов - снижение уставки на ночь есть). Для возмущающих воздействий я бы добавил коррекцию уставки отопления по температуре в помещении - скажем считать таймер и по нему делать коррекцию уставки отопления (фиксированного значения или в зависимости от отклонения в помещении). У виссманов в контроллерах есть что-то подобное.
В моем случае система отопления уже смонтирована и смонтирована довольно грамотно. Теплые полы в отличие от радиаторов отопления существенно добавляют комфорт, поэтому на мой взгляд мой заказчик реализовал возможности отопления дома правильно. У меня параллельно идет другой объект и на нем лично я расчертил и смонтировал ТП и радиаторное отопление. На сегодня по времянке запущены только ТП. В подаче ТП 28 град., в помещении 24 град., на улице, правда +10.
Это я к тому, что, похоже, пока не будет сильных морозов ТП в одиночку, без включения радиаторов справится с отоплением этого здания. При этом шаг раскладки труб ТП 150 мм.
Возвращаясь к текущему проекту, поговорил со знакомым который в собственном доме переделал радиаторное отопление на 1 этаже на ТП(по совпадению теперь у него также - 1 этаж только ТП, 2 этаж только радиаторы). У него ранее стоял датчик температуры помещения на 1 этаже. Он его удалил, говорит за ненадобностью, теперь радиаторы работают по температурному графику, а ТП на постоянной температуре. В установке датчика комнатной температуры он смысла не видит, потому что в коридоре 2 этажа на него будет оказывать влияние поднимающийся теплый воздух, а в отдельно взятой комнате могут открыть окно. Поэтому он установил термоголовки на каждый радиатор. Возможно это действительно правильное решение.
закончил блок программы по автоматическому определению коэффициентов в уравнении прямой. До сохранения все работало нормально, после сохранения получилось вот что:
Точнее было даже не сохранение, а только хотел переименовать файл через "сохранить как" но вспомнил, что захотелось добавить обнуление накопленных значений и вышел из окна "сохранить как", нажав отмена. До этого действия программа работала нормально, после - некорректно. Выяснил, что стала по другому работать та часть. которая отмечена стрелками на первом скрине, пришлось обычную связь менять на линию задержки. Так как программа состоит из двух почти одинаковых частей, логично было бы предположить, что во второй части будет то же самое, но это не так. В режиме онлайн отладки тоже появились проблемы. Работал в последней версии ОЛ, теперь уже снял галочку проверка обновлений. Кто-нибудь сталкивался с подобным? Чего-то разонравилось быть тестером, когда часть наработанных макросов сменило расширение и теперь придется их вручную перерисовывать? Причем проблема повторилась за вечер два раза. первый раз был когда сохранял макрос.
До последнего обновления ОЛ не работал с ним наверно более полугода, подскажите, какая из более ранних версий работала стабильно и всех устраивала.
Продублируйте вопрос в раздел с нужным СПК - может там быстрее ответят
В онлайн отладке есть ограничение на количество отображаемых переменных, если их на экране "много", то вместо части из них будут белые квадраты
Увеличить масштаб отображения в настройках рабочего поля ОЛ!
Вложение 63175
Добрый день.
Подскажите, можно как-то избавиться от циклической связи - заменить на обычную, которую ОЛ подставляет автоматически (выделяет желтым цветом и формирует задержку на один такт)? Замена данной линии на линию задержки не решает проблему, задержка в один такт остается и нарушает работу программы.
Пример 1. Пытался реализовать алгоритм циклического регистра сдвига (бегущая волна) на D-Тригерах. Пока цикл не замкнут - все работает четко, выходы переключаются по очереди, без задержек и через равные интервалы. Но стоит замкнуть цикл (подключить выход последнего триггера на вход первого, Вложение 63211 обозначено красной линией) появляется сообщение о циклической связи, начинаются сбои в интервалах между включениями выходов. Проект ОЛ: ПР100_Бег_волна.owle.
Пример 2. Реализовал алгоритм циклического регистра сдвига (бегущая волна) на счетчиках, получилось громоздко и плохо масштабируемо, но зато работает четко. Проект ОЛ: ПР100_Бег_волна_2.owle. Решил немного оптимизировать программу - остановить стартовый генератор после завершения установки начальных состояний счетчиков (снижение вычислительной нагрузки), добавил обратную связь (Вложение 63214 обозначено красной линией) появилась циклическая связь (обозначено желтой линией) и нарушила работу алгоритма.
Может я что-то делаю не так - подскажите, как надо, или может есть другие варианты реализации циклического регистра сдвига (бегущая волна) с возможностью удобного масштабирования.
Видел на форуме интересный вариант: ссылка, автору спасибо.
P.S. Конкретной задачи при разработке данных алгоритмов нет, просто изучаю ОЛ, пробую реализовывать алгоритмы и схемы которые раньше собирал на логических микросхемах.
Не уверен, что у вас в программе проблема именно в обратных связях, но вообще Logic ВЫНУЖДЕН использовать хотя бы одну связь в качестве обратной, если вы соединили выход со входом в цепи взаимосвязанных элементов.
При этом программа сама выбирает какую из связей использовать в качестве обратной в этой цепи (только компилятор знает по какому принципу).
Однако вы можете сразу сами определить линию связи, которую назначите обратной - для этого и кнопочка специальная есть - "Линия задержки". Нажимаете её и рисуете обратную связь (ваши красные линии на рисунках).
Если делать сдвиговый регистр на Д-триггерах, то для его нормальной работы как раз и нужна задержка на цикл!
Вложение 63216
Зачем выдумывать какую-то свою "суперхренорезку", тем более, если она не работает?!
Вложение 63217
Не совсем понятно, что Вы хотите сделать?
Начнем с простого:
Вложение 63215
I1 - данные, I2 - защелкивание и смещение
petera, а Вы пробовали запускать по шагам проект ПР100_Бег_волна.owle? Что вы наблюдали на 6 и 12 шагах между выходом Q DTRIG1 и входом I FTRIG2 (это участок выделен ОЛ как циклическая связь)?
Это визуальный эффект, который создают световые индикаторы (лампочки) включаясь и выключаясь по очереди, друг за другом.
Сергей0308, EFrol, 1exan спасибо за комментарии, но при включении Линии задержки между каждым триггером переключение выходов выполняется не синхронно, появляются интервалы задержки между выключением предыдущего и включением следующего выхода (все выходы в какой-то момент становятся выключенными) - это и является проблемой, её и пытаюсь решить.
И мой готовый вариант:
Вложение 63220
Вложение 63221