|
Вопросы о программировании Вопросы, касающиеся программирования на FBD |
|
Опции темы | Поиск в этой теме |
16.03.2017, 02:25 | #31 | |
Новичок
Регистрация: Mar 2017
Сообщения: 18
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Помогите с проектом
Цитата:
И возможно ли в данной программе прописать частотное регулирование для вентиляторов? Заранее спасибо. |
|
16.03.2017, 02:29 | #32 | |
Новичок
Регистрация: Mar 2017
Сообщения: 18
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Помогите с проектом
Цитата:
|
|
16.03.2017, 03:43 | #33 |
Senior Member
Регистрация: Dec 2011
Сообщения: 762
Благодарил(а): 1 раз(а)
Поблагодарили:
11 раз(а) в 11 сообщениях
|
Ответ: Помогите с проектом
Да, но само значение типа датчика хранится в памяти. Тип памяти EEprom. При старте программы эта память инициализируется. Это занимает некоторое время. Пока это происходит, все значения хранящиеся в этой памяти =0. Это и приводит к делению на 0 в макросе термодатчика. Так что или задавайте тип термодатчика жестко, прям на выводах макроса и выкинув строчки с типом датчиков из меню. Или ставьте блок MIN MAX (int) между выходом меню и входом макроса термодатчика. MIN=1, MAX= последний возможный тип датчика из макроса.
Макрос термодатчика хоть и стандартный, но оказалось, что имеет такую неприятную особенность. С задержкой на инициализацию памяти сложнее. Программа настолько не структурирована, что разгребать это болото нет ни какого желания. Если избавитесь от деления на 0 в макросе термодатчика при старте, то вам эта задержка ни куда не упрется. По поводу ПЧ. Постарайтесь что то сделать сами. Сначала определитесь, что вы хотите получить от этого. Правильно поставленная задача это половина успеха. __________________ Нет абсолютно бездарных людей. Каждый бездарен в своей области. |
16.03.2017, 05:24 | #34 | |
Senior Member
Регистрация: Dec 2011
Сообщения: 762
Благодарил(а): 1 раз(а)
Поблагодарили:
11 раз(а) в 11 сообщениях
|
Ответ: Помогите с проектом
Цитата:
1. Так как это сделано у NED или KORF. ПЧ сконфигурирован на управление от своих входов (запуск от входов, обороты от свего пульта) и самозапуск при подаче питания (на ПЧ замкнут вход на запуск). По силовой части включается в разрыв кабеля между щитом и двигателем вентилятора. Управление оборотами двигателя с панели ПЧ. От ПЧ к щиту уходит сигнал "Авария ПЧ", блокирующая работу системы (типа сигнал "Пожар"). Обязательное требование к ПЧ, что бы он обрабатывал сигнал на запуск по состоянию, а не по переходу. 2. Питание на ПЧ подано постоянно. ПЧ сконфигурирован на управление от своих входов (запуск от входов, обороты от входов) . Сигнал на запуск берется от выхода пуск вентилятора, пускатель не нужен, в крайнем случае - реле. Обороты вентилятора задаются из меню контроллера и через аналоговый выход к ПЧ. От ПЧ к щиту уходит сигнал "Авария ПЧ", блокирующая работу системы (типа сигнал "Пожар"). 3. Любая другая вариация из 1 и 2 варианта. У всех ПЧ, как правило, существует 2 канала управления: канал управления включением/выключением и канал задания производительности ПЧ. Эти каналы можно конфигурировать на ПЧ независимо друг от друга. В любом случае регулировка оборотов вентилятора должна иметь минимум регулирования, отличный от 0 - 20/30% минимум. Другие варианты много сложней. __________________ Нет абсолютно бездарных людей. Каждый бездарен в своей области. |
|
16.03.2017, 07:38 | #35 |
Senior Member
Регистрация: Dec 2011
Сообщения: 762
Благодарил(а): 1 раз(а)
Поблагодарили:
11 раз(а) в 11 сообщениях
|
Ответ: Помогите с проектом
Еще один способ избавиться от деления на 0 в макросе термодатчиков. Достаточно на выделенном входе поставить значение не равное 0. Лучше положительное.
Ну и автор макроса PIDA видимо не до конца разобрался с первоисточником регулятора. __________________ Нет абсолютно бездарных людей. Каждый бездарен в своей области. |
16.03.2017, 11:06 | #36 | |
Новичок
Регистрация: Mar 2017
Сообщения: 18
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Помогите с проектом
Цитата:
Последний раз редактировалось Arsie, 16.03.2017 в 11:24 |
|
16.03.2017, 11:07 | #37 | |
Senior Member
Регистрация: Aug 2013
Адрес: Москва
Сообщения: 600
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Помогите с проектом
Цитата:
Исходная информация на английском: PIDA PIDI PIDP На русском давалась ATS. На здоровье __________________ Всё, что нельзя выразить в цифрах — это не наука, это — мнение. |
|
16.03.2017, 11:08 | #38 |
Новичок
Регистрация: Mar 2017
Сообщения: 18
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Помогите с проектом
Убрал связь от меню (тип датчика) и поставил "3".
|
16.03.2017, 11:25 | #39 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 157
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Помогите с проектом
Цитата:
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
16.03.2017, 11:27 | #40 | |
Senior Member
Регистрация: Dec 2011
Сообщения: 762
Благодарил(а): 1 раз(а)
Поблагодарили:
11 раз(а) в 11 сообщениях
|
Ответ: Помогите с проектом
Цитата:
Потом преобразовываете во float. Умножаете на 10,23. Преобразовываете в int. Подаете на соответствующий АО*. Суть в том, что бы 100% соответствовало значение 1023 в формате int. Можно как предлагает Arsie, но тогда на ПЧ 50 Гц не получите. Мой вариант тоже не дает такой гарантии: и ЦАП в сегнетиксе работает не со 100% точностью, и АЦП в ПЧ работает не со 100% точностью. Но 49,5 Гц получить сможете. __________________ Нет абсолютно бездарных людей. Каждый бездарен в своей области. |
|
16.03.2017, 11:44 | #41 |
Новичок
Регистрация: Mar 2017
Сообщения: 18
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Помогите с проектом
От выхода в меню (данные по выбору скорости) связь до int. Во втором входе int указать 10.23 и с выхода int связь проложить до выхода AO0. И так для каждого вентилятора. Правильно понял? А вот про float? Это ещё надо что то вставлять в эти связи?
|
16.03.2017, 11:46 | #42 |
Senior Member
Регистрация: Dec 2011
Сообщения: 762
Благодарил(а): 1 раз(а)
Поблагодарили:
11 раз(а) в 11 сообщениях
|
Ответ: Помогите с проектом
На 10,23 вы можете умножить только float.
На 10 вы можете умножить как float, так и int. __________________ Нет абсолютно бездарных людей. Каждый бездарен в своей области. |
16.03.2017, 11:50 | #43 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 157
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Помогите с проектом
Ставите блок MUL(int), на один вход протягиваете связь от меню, на второй ставите число 10. Связь с выхода блока протягиваете к аналоговому выходу.
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |