PDA

Просмотреть полную версию : Обратная свзязь: Pixel - ModBus - Комп


Wool
18.01.2013, 18:53
Подскажите, как реализовать обратную связь между переменой, которая приходит в Pixel с переменной, которая передается по Modbus в компьютер.

Описал, так как я понимаю этот процесс:
С вентилятора приходит значение скорости в Pixel, потом передается по ModBus на комп. И как реализовать, чтобы можно было с компа задавать это значение. И на компе и Pixel'e значение отслеживалось (при изменение в Pixel'е меняется на компе и наоборот)

Сильно не ругайтесь недавно начал разбираться с SMLoqix.

Arsie
21.01.2013, 11:11
Подскажите, как реализовать обратную связь между переменой, которая приходит в Pixel с переменной, которая передается по Modbus в компьютер.

Описал, так как я понимаю этот процесс:
С вентилятора приходит значение скорости в Pixel, потом передается по ModBus на комп. И как реализовать, чтобы можно было с компа задавать это значение. И на компе и Pixel'e значение отслеживалось (при изменение в Pixel'е меняется на компе и наоборот)


Раскройте пожалуйста смысл выражения "С вентилятора приходит значение".

И каким образом можно "Задать это значение" вентилятору?

Быть может есть частотный преобразователь, о котором вы забыли рассказать?

Wool
28.01.2013, 13:08
Раскройте пожалуйста смысл выражения "С вентилятора приходит значение".

И каким образом можно "Задать это значение" вентилятору?


Моя ошибка, значение задается с дисплея Pixel.

Быть может есть частотный преобразователь, о котором вы забыли рассказать?

Уставка скорости идет на прямую на вентилятор (int).


Есть ли пример реализующий работу связи переменной с дисплея Pixel и переменной ModBus.

Wool
28.01.2013, 14:17
Вот как представляю этот процесс, верно ли мое представление?

http://s1.ipicture.ru/uploads/20130128/Cy37ySw8.png
Уставка 1 - задаваемая с дисплея Pixel.
Уставка 2 - задаваемая по ModBus.
Уставка - значение уходящие на дискретный выход.
Блок сравнения - какая уставка пришла последней та и идет на запись.

ujin
28.01.2013, 16:08
Еще надо добавить информацию как часто будет меняться уставка.
От этого зависит где размещать в EEPROM или регистре. И уточнить марку пикселя 12 или 25. От этого зависит можно ли использовать Смарт.

Wool
28.01.2013, 16:29
Еще надо добавить информацию как часто будет меняться уставка.

Как часто меняется уставка на приточных системах?) Думаю раза 4-12 максимум в год, если не реже.

От этого зависит где размещать в EEPROM или регистре. И уточнить марку пикселя 12 или 25. От этого зависит можно ли использовать Смарт.

Используется Pixel 25.

ujin
28.01.2013, 16:36
Справка->Функции Смарт->Описание элементов->Элемент меню настроек.
Только надо учесть, что при изменении уставки из сети MODBUS в то время, как контроллер был выключен, не приведет к изменению уставки при включении контроллера. Где-то на этом форуме это уже обсуждалось и решение было описано.

Wool
28.01.2013, 16:44
Справка->Функции Смарт->Описание элементов->Элемент меню настроек.
Только надо учесть, что при изменении уставки из сети MODBUS в то время, как контроллер был выключен, не приведет к изменению уставки при включении контроллера. Где-то на этом форуме это уже обсуждалось и решение было описано.

Есть ли пример (аналог) на SMlogix'е?

ps. Экран уже реализован на SMlogix'е и до этого не сталкивался со SMart'ом.

Arsie
30.01.2013, 12:03
Есть ли пример (аналог) на SMlogix'е?

ps. Экран уже реализован на SMlogix'е и до этого не сталкивался со SMart'ом.

Для начала вам нужно показать, что у вас уже есть. Причём не просто приложить файл к сообщению, но ещё и объяснить - куда смотреть и что там увидеть.

Wool
04.02.2013, 12:48
Скорость вентилятора:
http://s1.ipicture.ru/uploads/20130204/WltvLrEu.jpg
Меню:
http://s1.ipicture.ru/uploads/20130204/7n4eu1T7.jpg

И нужно сотворить то, что я говорил выше, но я не знаю как это реализовать.

Arsie
04.02.2013, 12:57
И нужно сотворить то, что я говорил выше, но я не знаю как это реализовать.

Что внутри "меню П4"?

Wool
04.02.2013, 14:08
http://s2.ipicture.ru/uploads/20130204/TDvBImj6.jpg

Arsie
04.02.2013, 14:40
Используйте макрос 2way(int) из библиотеки меню (http://forum.segnetics.com/showthread.php?t=865).

Вместо вашего макроса под номером 5.

Wool
04.02.2013, 15:09
в чем разница?

Arsie
04.02.2013, 16:30
в чем разница?

Поставьте его рядом с вашим макросом, сделайте картинку, я вам там кружочком обведу.

Wool
04.02.2013, 16:47
Спасибо, я чего-то не заметил эту строчку.

auto_int - подача значения сюда безусловно запишет его в ячейку памяти. Это свойство можно использовать, например, при задании уставок по modbus.

Wool
04.02.2013, 19:46
Спасибо большое, протестил на макете, работает адекватно.
Теперь буду переделывать остальные уставки.

Wool
05.02.2013, 15:25
Возник еще один вопрос.
Есть ПИД регулятор, выдающий % уставку клапану.
Иметься ли у Вас аналогичный макрос предложенный выше (т.е. аналог входа auto_int)?

http://www.pictureshack.ru/images/75693_4.jpg

Arsie
05.02.2013, 15:43
Возник еще один вопрос.
Есть ПИД регулятор, выдающий % уставку клапану.
Иметься ли у Вас аналогичный макрос предложенный выше (т.е. аналог входа auto_int)?

Аналог входа для чего? Задача-то у вас какая?

Wool
05.02.2013, 16:02
Открытие клапана регулируется автоматически, от уставки температуры и показания датчика (Как я понимаю)

Мне нужна возможность его регулировать с помощью ModBus переменной.
Как было выше со скоростью вентилятора.

Arsie
05.02.2013, 17:59
Открытие клапана регулируется автоматически, от уставки температуры и показания датчика (Как я понимаю)

Мне нужна возможность его регулировать с помощью ModBus переменной.
Как было выше со скоростью вентилятора.

Тогда вам нужно определить условия отключения регулятора и условия включения его обратно в работу.

Вы уверены, что вам нужно ручное задание положения, а не приоткрывание/призакрывание?

Wool
05.02.2013, 18:16
Тогда вам нужно определить условия отключения регулятора и условия включения его обратно в работу.

Вы уверены, что вам нужно ручное задание положения, а не приоткрывание/призакрывание?

Да мне требуется ручное задание положение,через ModBus переменную.

Arsie
06.02.2013, 02:25
Да мне требуется ручное задание положение,через ModBus переменную.

Тогда вам нужно определить условия отключения регулятора и условия включения его обратно в работу.

Wool
07.02.2013, 12:59
Тогда вам нужно определить условия отключения регулятора и условия включения его обратно в работу.

Переключение режима Авто-Ручной (допустим ModBus переменной: 0 - авто режим, 1 - ручной):

Авто - ПИД регулятор автоматически регулирует;
Ручной - уставка ModBus переменной.

Arsie
07.02.2013, 13:09
Переключение режима Авто-Ручной (допустим ModBus переменной: 0 - авто режим, 1 - ручной):

Авто - ПИД регулятор автоматически регулирует;
Ручной - уставка ModBus переменной.


Вы упустили два существенных момента. Защита и возврат к регулированию.

Представим, переключил я систему на ручное задание и ну баловаться с ней. Побаловался-побаловался, под..ёргал краном в разные стороны и это дело рано или поздно мне наскучило. Пошёл в туалет, но не простой, а блатной, с унитазом из чистого золота. А находится сей туалет на другом конце города. Час езды в одну сторону, час в другую.

И так случайно получилось, что кран остался в непотребном состоянии. Например, полностью закрыт. Или полностью открыт. Выбирайте что из этого более непотребно.

Что делать?

Wool
07.02.2013, 13:33
Вы упустили два существенных момента. Защита и возврат к регулированию.

Представим, переключил я систему на ручное задание и ну баловаться с ней. Побаловался-побаловался, под..ёргал краном в разные стороны и это дело рано или поздно мне наскучило. Пошёл в туалет, но не простой, а блатной, с унитазом из чистого золота. А находится сей туалет на другом конце города. Час езды в одну сторону, час в другую.

И так случайно получилось, что кран остался в непотребном состоянии. Например, полностью закрыт. Или полностью открыт. Выбирайте что из этого более непотребно.

Что делать?

Предлагаете что-то вроде таймера на ручной режим?
Или другие варианты?

Arsie
07.02.2013, 13:40
Предлагаете что-то вроде таймера на ручной режим?
Или другие варианты?

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

Реализация этих слов может быть весьма и весьма сложной. Поэтому первый вопрос, на который вам нужно ответить, это "Зачем вам ручное управление?". Может быть оно и не нужно на самом деле. А мы тут головы все ломаем.

Wool
07.02.2013, 13:58
Я предлагаю вам самостоятельно разобрать круг возможных задач, которые возникают при произнесении такой простой фразы как "хочу управлять вручную".

Реализация этих слов может быть весьма и весьма сложной. Поэтому первый вопрос, на который вам нужно ответить, это "Зачем вам ручное управление?". Может быть оно и не нужно на самом деле. А мы тут головы все ломаем.

Предполагалось, что эта функция ручного управления будет только для экстренной необходимости закрытия клапана или открытия клапана при настройке или каких либо других обстоятельств. Т.к. уже в проекте он регулируется автоматически, думаю можно отказаться от такой функции.

Arsie
07.02.2013, 14:12
Предполагалось, что эта функция ручного управления будет только для экстренной необходимости закрытия клапана или открытия клапана при настройке или каких либо других обстоятельств. Т.к. уже в проекте он регулируется автоматически, думаю можно отказаться от такой функции.

Видите как теоретические выкладки могут сэкономить море нервов и времени? :)

Для настройки и всяких экстренностей всегда можно механически перевести привод на ручное управление. Только предварительно нужно позаботиться, чтобы привод это умел.

Wool
07.02.2013, 14:49
Видите как теоретические выкладки могут сэкономить море нервов и времени? :)

Для настройки и всяких экстренностей всегда можно механически перевести привод на ручное управление. Только предварительно нужно позаботиться, чтобы привод это умел.

Спасибо.

Wool
14.03.2013, 15:01
Подскажите пожалуйста какой аналог 2way(int) есть для Bool. В библиотеке есть 2way(boolint) на счет его у меня сомнение что он подойдет.


Мне нужно заменить Mem(bool) на аналог 2way(int):

Arsie
14.03.2013, 17:57
Подскажите пожалуйста какой аналог 2way(int) есть для Bool. В библиотеке есть 2way(boolint) на счет его у меня сомнение что он подойдет.


Мне нужно заменить Mem(bool) на аналог 2way(int):

Прямой аналог невозможен, используйте макрос типа (boolint) - это перечислимый тип.

Wool
14.03.2013, 18:28
Прямой аналог невозможен, используйте макрос типа (boolint) - это перечислимый тип.

т.е. беру 2way(boolint) и на выходе преобразование int в bool?

Корректно это будет или нет?

Извиняюсь за глупый вопрос...

Arsie
15.03.2013, 11:27
т.е. беру 2way(boolint) и на выходе преобразование int в bool?


Именно так.

zirex
02.04.2013, 20:09
Столкнулся с подобной задачей. Заказчик хочет управлять частотой вращения двигателя со станции диспетчеризации. Программы на приточные установки сделаны в SMConstructor. Разработал и добавил в стандартную программу макрос "Селектор уставок", т.е. изменение уставки "%Номинал притока" возможно как с меню, так и со станции диспетчеризации, по принципу в память пишется уставка заданная последней(+ к этому сделана проверка на запись одинаковой уставки, чтобы не исчерпывать ресурс памяти).

Вопрос сотрудникам Segnetics: Насколько я понял поковырявшись в программе, можно было сделать это проще, в программе уже имеется ModBus переменная "ATi_U(р) АВент" и "ATi_Код (CPU)", первая переменная нужна для задания частоты вентилятора по ModBus, вторая для перевода вентилятора в ручной режим(расцепка от секвенсора как от ступени регулирования), чтобы он этого задания с ModBus переменной слушался. Где я могу найти описание по этим ATi переменным? что это такое вообще(как расшифровывается ATi, для чего они нужны и почему их назвали по другому)? Почему нет описания на ATi переменные в папке куда установлен SMConstructor(я там уже внимательно посмотрел, описание есть только на SCi и SCo переменные)? Особенно интересует описание на ATi_Код(CPU).Очень надеюсь на Вашу помощь!

Arsie
03.04.2013, 11:53
в программе уже имеется ModBus переменная "ATi_U(р) АВент" и "ATi_Код (CPU)"

Насколько я понял вашу задачу, указанные вами переменные не подходят для реализации вашей задачи.

Интерфейс ATi не является "стабильным" и описания на него отсутствуют. Используется программой SMTuner(HVAC).