|
SMLogix Вопросы о работе в среде SMLogix и о FBD-программировании |
|
Опции темы | Поиск в этой теме |
12.10.2017, 11:23 | #1 |
Senior Member
Регистрация: Oct 2011
Сообщения: 184
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
два (не)одинаковых макроса
Добрый день коллеги.
Вопрос касается давно существующего макроса My_PID_v5. На одном из объектов стал "зависать" вышеупомянутый макрос. При рассмотрении вопроса обнаружил у себя две версии данного макроса, с одинаковым названием, но разного объема. При чем отличие значительные 42 и 37 кБ. Но визуальных отличий в коде не обнаружил. Подскажите могут ли логика макросов визуально НЕ отличатся в FBD, но при этом отличатся размером и выдавать разные результаты выполнения? Существуют ли методы сравнения логики макроса кроме "визуального" ? В свое время была проблема с зависанием ПИД регуляторов, о чем написано в комментариях в блоке... Хочется понять: проблема зависания конкретно в макросе или в сторонней логике? И с чем связано отличие в размере? Макросы прикладываю. Который меньше по объему - виснет. |
12.10.2017, 11:35 | #2 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 102
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: два (не)одинаковых макроса
Как я могу повторить "зависание" у себя на контроллере? Какие входные данные должны быть?
Визуально одинаковые макросы работают одинаково. Разница в размере скорее всего из-за разных версий лоджика, в которых было сохранение макросов. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
12.10.2017, 12:15 | #3 | ||
Senior Member
Регистрация: Oct 2011
Сообщения: 184
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: два (не)одинаковых макроса
Цитата:
Цитата:
В том который поболее - я уверен, он "выдернут" из беспроблемно работающего проекта. |
||
12.10.2017, 12:55 | #4 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 102
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: два (не)одинаковых макроса
Именно так.
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
12.10.2017, 20:55 | #5 |
Senior Member
Регистрация: Oct 2011
Сообщения: 184
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: два (не)одинаковых макроса
Вопрос начинает проявляться.
Регулятор является регулятором охлаждения. В настройках поставлен отрицательный коэффициент пропорциональности. А коэффциент интегррирования оставлен положительный. В итоге когда интегральная составляющая превышает пропрциональную, регулятор закрывает клапан охлаждения, тогда как температура еще выше задания. В итоге создается впечатление "зависания" регулятора... Попробовал выставить интегральную в отрицательное значение. Но в математике регулятора присутствует блок для отключения Ки когда она равна или меньше 0... Как правильнее поступить с настройками? Есть ли макрос реализующий ПИ регулятор охлаждения? |
12.10.2017, 21:13 | #6 | |
Senior Member
Регистрация: Apr 2013
Адрес: Россия, Москва
Сообщения: 772
Благодарил(а): 8 раз(а)
Поблагодарили:
65 раз(а) в 60 сообщениях
|
Ответ: два (не)одинаковых макроса
Цитата:
На вход датчика подключаем уставку, а на вход уставки датчик. __________________ Саня |
|
13.10.2017, 02:02 | #7 |
Senior Member
Регистрация: Mar 2008
Адрес: Екатеринбург
Сообщения: 493
Благодарил(а): 50 раз(а)
Поблагодарили:
14 раз(а) в 13 сообщениях
|
Ответ: два (не)одинаковых макроса
В дырочку.
|
13.10.2017, 07:30 | #8 |
Senior Member
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 4 162
Благодарил(а): 240 раз(а)
Поблагодарили:
165 раз(а) в 157 сообщениях
|
Ответ: два (не)одинаковых макроса
проинвертировать выход и все.
|
13.10.2017, 07:36 | #9 |
Senior Member
Регистрация: Mar 2008
Адрес: Екатеринбург
Сообщения: 493
Благодарил(а): 50 раз(а)
Поблагодарили:
14 раз(а) в 13 сообщениях
|
Ответ: два (не)одинаковых макроса
Имхо, лучше вход.
|
13.10.2017, 08:54 | #10 |
Senior Member
Регистрация: Oct 2011
Сообщения: 184
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: два (не)одинаковых макроса
Эм... что значит инвертировать число с точки зрения математики?
Последний раз редактировалось canada, 13.10.2017 в 09:17 |
13.10.2017, 11:13 | #11 |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: два (не)одинаковых макроса
инвертировать выход - это значит, заставить его при 0% на регуляторе показывать 100% на выходе.
Например, если ваш выход регулятора 0-1000, то нужно выходную величину регулятора вычитать из константы (1000), и получите инверсию выхода. __________________ В сегнетиксе не работаю с самого начала 2019 года. |
13.10.2017, 11:57 | #12 |
Senior Member
Регистрация: Oct 2011
Сообщения: 184
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: два (не)одинаковых макроса
Плохой вариант... Я бы даже сказал невариант вообще...
Начинать регулирование будет всегда с полностью открытого клапана, даже если температура ниже заданной - перерегулирование и все вытекающие отсюда последствия... Сделал по совету монстра696 - то что доктор прописал. |
13.10.2017, 12:26 | #13 |
Senior Member
Регистрация: Mar 2008
Адрес: Екатеринбург
Сообщения: 493
Благодарил(а): 50 раз(а)
Поблагодарили:
14 раз(а) в 13 сообщениях
|
Ответ: два (не)одинаковых макроса
Именно. Очень плохой вариант. Поменять уставку с датчиком намного красивее
|
13.10.2017, 12:40 | #14 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 102
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: два (не)одинаковых макроса
Цитата:
Смена местами датчик/уставка - это инверсия регулятора, а вычытание выхода - это инверсия выхода регулятора, а не самого регулятора. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. Последний раз редактировалось Arsie, 13.10.2017 в 13:02 |
|
13.10.2017, 16:16 | #15 |
Senior Member
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 4 162
Благодарил(а): 240 раз(а)
Поблагодарили:
165 раз(а) в 157 сообщениях
|
Ответ: два (не)одинаковых макроса
иногда нужно первое, иногда второе.
|
13.10.2017, 20:39 | #16 |
Senior Member
Регистрация: Apr 2013
Адрес: Россия, Москва
Сообщения: 772
Благодарил(а): 8 раз(а)
Поблагодарили:
65 раз(а) в 60 сообщениях
|
Ответ: два (не)одинаковых макроса
Я предложил самый быстрый и простой способ регулирование для охлаждения. ( проверенный способ ). __________________ Саня |