Segnetics

Вернуться   Segnetics > Форум Segnetics > SMLogix

SMLogix Вопросы о работе в среде SMLogix и о FBD-программировании

Ответ
 
Опции темы Поиск в этой теме
Старый 12.10.2017, 11:23   #1
canada
Senior Member
 
Регистрация: Oct 2011
Сообщения: 184
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию два (не)одинаковых макроса

Добрый день коллеги.

Вопрос касается давно существующего макроса My_PID_v5.

На одном из объектов стал "зависать" вышеупомянутый макрос.

При рассмотрении вопроса обнаружил у себя две версии данного макроса, с одинаковым названием, но разного объема. При чем отличие значительные 42 и 37 кБ. Но визуальных отличий в коде не обнаружил.

Подскажите могут ли логика макросов визуально НЕ отличатся в FBD, но при этом отличатся размером и выдавать разные результаты выполнения?

Существуют ли методы сравнения логики макроса кроме "визуального" ?

В свое время была проблема с зависанием ПИД регуляторов, о чем написано в комментариях в блоке...
Хочется понять: проблема зависания конкретно в макросе или в сторонней логике? И с чем связано отличие в размере?

Макросы прикладываю.
Который меньше по объему - виснет.
Вложения
Тип файла: msl my_pid_v5.msl (37.4 Кбайт, 14 просмотров)
Тип файла: msl my_PID_v5_khk.msl (42.1 Кбайт, 11 просмотров)
canada вне форума   Ответить с цитированием
Старый 12.10.2017, 11:35   #2
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 085
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: два (не)одинаковых макроса

Цитата:
Сообщение от canada Посмотреть сообщение
На одном из объектов стал "зависать" вышеупомянутый макрос.
Как я могу повторить "зависание" у себя на контроллере? Какие входные данные должны быть?

Визуально одинаковые макросы работают одинаково. Разница в размере скорее всего из-за разных версий лоджика, в которых было сохранение макросов.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Старый 12.10.2017, 12:15   #3
canada
Senior Member
 
Регистрация: Oct 2011
Сообщения: 184
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: два (не)одинаковых макроса

Цитата:
Сообщение от Arsie Посмотреть сообщение
Как я могу повторить "зависание" у себя на контроллере? Какие входные данные должны быть?
Я думаю что никак. Я сам не обладаю конкретными данными: все со слов эксплуатации...

Цитата:
Сообщение от Arsie Посмотреть сообщение
Визуально одинаковые макросы работают одинаково. Разница в размере скорее всего из-за разных версий лоджика, в которых было сохранение макросов.
Т.е. с большой долей вероятности макросы выдают одинаковый результат вычислений?

В том который поболее - я уверен, он "выдернут" из беспроблемно работающего проекта.
canada вне форума   Ответить с цитированием
Старый 12.10.2017, 12:55   #4
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 085
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: два (не)одинаковых макроса

Цитата:
Сообщение от canada Посмотреть сообщение
Т.е. с большой долей вероятности макросы выдают одинаковый результат вычислений?
Именно так.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Старый 12.10.2017, 20:55   #5
canada
Senior Member
 
Регистрация: Oct 2011
Сообщения: 184
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: два (не)одинаковых макроса

Вопрос начинает проявляться.

Регулятор является регулятором охлаждения. В настройках поставлен отрицательный коэффициент пропорциональности. А коэффциент интегррирования оставлен положительный. В итоге когда интегральная составляющая превышает пропрциональную, регулятор закрывает клапан охлаждения, тогда как температура еще выше задания. В итоге создается впечатление "зависания" регулятора...

Попробовал выставить интегральную в отрицательное значение. Но в математике регулятора присутствует блок для отключения Ки когда она равна или меньше 0...

Как правильнее поступить с настройками?
Есть ли макрос реализующий ПИ регулятор охлаждения?
canada вне форума   Ответить с цитированием
Старый 12.10.2017, 21:13   #6
monstr696
Senior Member
 
Регистрация: Apr 2013
Адрес: Россия, Москва
Сообщения: 770
Благодарил(а): 8 раз(а)
Поблагодарили: 65 раз(а) в 60 сообщениях
По умолчанию Ответ: два (не)одинаковых макроса

Цитата:
Сообщение от canada Посмотреть сообщение
Вопрос начинает проявляться.

Регулятор является регулятором охлаждения. В настройках поставлен отрицательный коэффициент пропорциональности. А коэффциент интегррирования оставлен положительный. В итоге когда интегральная составляющая превышает пропрциональную, регулятор закрывает клапан охлаждения, тогда как температура еще выше задания. В итоге создается впечатление "зависания" регулятора...

Попробовал выставить интегральную в отрицательное значение. Но в математике регулятора присутствует блок для отключения Ки когда она равна или меньше 0...

Как правильнее поступить с настройками?
Есть ли макрос реализующий ПИ регулятор охлаждения?
Если правильно помню то:
На вход датчика подключаем уставку, а на вход уставки датчик.


__________________
Саня
monstr696 вне форума   Ответить с цитированием
Старый 13.10.2017, 02:02   #7
coverart
Senior Member
 
Регистрация: Mar 2008
Адрес: Екатеринбург
Сообщения: 492
Благодарил(а): 50 раз(а)
Поблагодарили: 14 раз(а) в 13 сообщениях
По умолчанию Ответ: два (не)одинаковых макроса

В дырочку.
coverart вне форума   Ответить с цитированием
Старый 13.10.2017, 07:30   #8
LordN
Senior Member
 
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 4 157
Благодарил(а): 240 раз(а)
Поблагодарили: 165 раз(а) в 157 сообщениях
По умолчанию Ответ: два (не)одинаковых макроса

Цитата:
Сообщение от monstr696 Посмотреть сообщение
Если правильно помню то:
На вход датчика подключаем уставку, а на вход уставки датчик.
проинвертировать выход и все.


__________________
C уважением, LordN
LordN вне форума   Ответить с цитированием
Старый 13.10.2017, 07:36   #9
coverart
Senior Member
 
Регистрация: Mar 2008
Адрес: Екатеринбург
Сообщения: 492
Благодарил(а): 50 раз(а)
Поблагодарили: 14 раз(а) в 13 сообщениях
По умолчанию Ответ: два (не)одинаковых макроса

Имхо, лучше вход.
coverart вне форума   Ответить с цитированием
Старый 13.10.2017, 08:54   #10
canada
Senior Member
 
Регистрация: Oct 2011
Сообщения: 184
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: два (не)одинаковых макроса

Цитата:
Сообщение от LordN Посмотреть сообщение
проинвертировать выход и все.
Эм... что значит инвертировать число с точки зрения математики?

Последний раз редактировалось canada, 13.10.2017 в 09:17
canada вне форума   Ответить с цитированием
Старый 13.10.2017, 11:13   #11
Gromov
Уволен из Сегнетикс
 
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: два (не)одинаковых макроса

инвертировать выход - это значит, заставить его при 0% на регуляторе показывать 100% на выходе.
Например, если ваш выход регулятора 0-1000, то нужно выходную величину регулятора вычитать из константы (1000), и получите инверсию выхода.


__________________
В сегнетиксе не работаю с самого начала 2019 года.
Gromov вне форума   Ответить с цитированием
Старый 13.10.2017, 11:57   #12
canada
Senior Member
 
Регистрация: Oct 2011
Сообщения: 184
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: два (не)одинаковых макроса

Плохой вариант... Я бы даже сказал невариант вообще...
Начинать регулирование будет всегда с полностью открытого клапана, даже если температура ниже заданной - перерегулирование и все вытекающие отсюда последствия...

Сделал по совету монстра696 - то что доктор прописал.
canada вне форума   Ответить с цитированием
Старый 13.10.2017, 12:26   #13
coverart
Senior Member
 
Регистрация: Mar 2008
Адрес: Екатеринбург
Сообщения: 492
Благодарил(а): 50 раз(а)
Поблагодарили: 14 раз(а) в 13 сообщениях
По умолчанию Ответ: два (не)одинаковых макроса

Именно. Очень плохой вариант. Поменять уставку с датчиком намного красивее
coverart вне форума   Ответить с цитированием
Старый 13.10.2017, 12:40   #14
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 085
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: два (не)одинаковых макроса

Цитата:
Сообщение от coverart Посмотреть сообщение
Именно. Очень плохой вариант. Поменять уставку с датчиком намного красивее
Ну так потому что математически это две разные операции.

Смена местами датчик/уставка - это инверсия регулятора, а вычытание выхода - это инверсия выхода регулятора, а не самого регулятора.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.

Последний раз редактировалось Arsie, 13.10.2017 в 13:02
Arsie вне форума   Ответить с цитированием
Старый 13.10.2017, 16:16   #15
LordN
Senior Member
 
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 4 157
Благодарил(а): 240 раз(а)
Поблагодарили: 165 раз(а) в 157 сообщениях
По умолчанию Ответ: два (не)одинаковых макроса

Цитата:
Сообщение от Arsie Посмотреть сообщение
Ну так потому что математически это две разные операции.

Смена местами датчик/уставка - это инверсия регулятора, а вычытание выхода - это инверсия выхода регулятора, а не самого регулятора.
иногда нужно первое, иногда второе.


__________________
C уважением, LordN
LordN вне форума   Ответить с цитированием
Старый 13.10.2017, 20:39   #16
monstr696
Senior Member
 
Регистрация: Apr 2013
Адрес: Россия, Москва
Сообщения: 770
Благодарил(а): 8 раз(а)
Поблагодарили: 65 раз(а) в 60 сообщениях
По умолчанию Ответ: два (не)одинаковых макроса

Цитата:
Сообщение от LordN Посмотреть сообщение
проинвертировать выход и все.

Я предложил самый быстрый и простой способ регулирование для охлаждения. ( проверенный способ ).


__________________
Саня
monstr696 вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать свои сообщения

BB code is Вкл.
[IMG] код Вкл.
HTML код Выкл.



Часовой пояс GMT +4, время: 09:29.


Версия vBulletin: 3.8.7
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Segnetics 2005 - 2024