Начал делать каскадное управление котлами и, что-то первый кусок проги както нестабильно себя ведёт. Может кто чего посоветует?
Вид для печати
Начал делать каскадное управление котлами и, что-то первый кусок проги както нестабильно себя ведёт. Может кто чего посоветует?
Вот, вроде законченный вариант каскадного управления котлами.
Ну раз вложили - то будут и критиковать.
Вы принципиально не любите структурное программирование ? Там просто-таки напрашиваются макросы/функции
Да, не умею я на других языках состовлять программы. С детства возился с цифровыми микросхемами, поэтому CFC мне ближе и понятнее.
Когда же у Вас детство то закончится, открываете ПОУ на языке ST, нажимаете F2 и выбираете знакомые блоки, которые Вы так же вставляете в CFC, среда разработки за Вас напишет все аргументы ПОУ, останется только ручками вставить соответствующие переменные, то что в CFC Вы соединяете мышкой
ЗЫ не смотрел проекты, но мне кажется Валенок говорит про другое
Ну да, про другое
Готовая микросхемы - это и есть макрос (подпрограмма,функция). Язык тут не причем -опишите поведение одного котла (отдельная микросхема) с минимально необходимыми ножками, дальше вставьте эти три микросхемы на отдельную платку и натяните связи. Например у меня зум почему-то не работает - неудобно охватывать одним взглядом.Цитата:
С детства возился с цифровыми микросхемами
Думаю, главное не на каком языке написано, главное чтобы работало. А проекты выложил что бы услышать конкретные предложения по доработке ( может я чего-где упустил ).
А можно просто словами суть задачи ?
управление котлами происходит от контроллера котельной (погодозависимое управление работой котлов от уличной температуры, каскадное включение котлов с выбором ведущего и смене ведущего котла через определенный интервал времени, каскадное управление последовательное после уставки на подаче 85°С).
Т.е. может работать 0..2 котла из 3х ?
Да и по разным режимам, если горелки котлов - модулирующие.
На самом деле - примитивная задача.
Любая задача - примитивна, если ясна суть.
Именно котлами не занимался. А что за режимы ?
Например - читаем тут с.67..72.
Пока вот увидел на стр. 71, конденсатный режим, подключение и отключения : 25+25 = 60. Нет разрыва на графиках "итого"
Тоже стр. 72, режим теплоты сгорания 2, отключение.
А так - вижу обычный пид с приведением к гистерезисному целому - кол-ву котлов, блок выборки котлов, и несколько экземпляров фб Котёл.
Как пускается, чем задается мощь (если есть) что снимается - авария, готовность .. ?
Это к ТС.
Пускается - командой оператора.
Мощность задается ПИДом по Тпод, которая или фиксированная или по темп. графику.
Ну и отработка аварий с заменой котлов. Установка одного котла в базу постоянная (для его усиленного износа) или периодическая. Ручной вывод котлов в ремонт. Вобщем - стандартный джентпельменский набор.
А усиленный износ это чтоб когда-нить одновременно (почти) не вывалились ?
Практически - именно так. По техническим (время капремонта) и экономическим (разовые затраты) причинам. Представьте, что в одно лето 2 котла выйдут на капремонт/замену. Зачем это нужно по указанным причинам.
Именно так и делал на 8-ми Пегасах.
Каждый по две горелки (Каждая ступень разжигается отдельно).
Потребность в количестве (ПИД), доступность котлов (с панели + по авариям) и очередность подключения (+ смена ведущего)
CFC вроде наглядный, но при больших размерах мне проще разбирать ST, чем гонять масштаб.
POU просто надо делить, тогда и с масштабом проблем особых не будет.
CFC действительно наглядней, я например плохо представляю как можно на ST написать кучу взаимосвязей, когда они на ИЛИ приходят из совершенно разных точек.
Вот для примера где кучка взаимоблокирующих условий, на CFC достаточно компактно, а вот как на ST это еще компактнее написать ?
Я не спорю, когда схема помещается на экран - мне CFC нравится.
Как пример:
IV1(in:=.., low:=..,high:=..,q=>)
gvscircle:=IV1.out OR IV2.out OR IV3.out OR dtr1.q OR dtr2.q OR nasosGVS OR tof1.q
Каждому видимо свое, я по началу делал на CFC, потом на CFC делал главную программу, а на ST писал отдельные блоки.
А теперь пишу почти все на ST, иногда используя CFC.
Но хочется попробовать SFC для главной программы, должно получится удобнее чем ST. И нагляднее.
приборист угу, куча OR, только где TOF, триггеры, xor и прочее ? и насколько нагляднее получится если описать на ST весь функционал примера ?
простое условие с ИЛИ это просто и вполне наглядно, а стоит добавить еще различных условий и наглядность теряется, мне так кажется.
Имхо, с CFC впрямую перекладывать на ST - занятие неблагодарное.
Зачем просить это сделать компактней ? Будет смысл - будет сделано. Сделайте компактней на CFC for или case
Кажется от каскада отклонились.
Для ТС, сильно усложняется если котлов - 5 ?
Кто нибудь подскажите как сделать блок вычисления температуры уставки теплоносителя в зависимости от уличной температуры? Что бы там были мин., макс. температуры теплоносителя, точка излома и величина излома.
Вот тут есть примеры с погодозависимым графиком
Может это подойдет http://www.owen.ru/forum/showthread....ll=1#post99051
Блок HEAT_TEMP конечно занятный, но чего то я с ним справится не могу. Может есть, что ни будь по проще?