PDA

Просмотр полной версии : АНАЛОГОВОЕ УПРАВЛЕНИЕ СКВАЖНОСТЬ\ДЛИТЕЛЬНОСТЬ ИМПУЛЬСОВ



славаолд
08.06.2016, 20:57
Доброе коллеги!!! Есть маленькая проблема. кто может подскажите. У нас на производстве есть некий прибор назовём его регулятор влажности . который изменяет не только длительность открытого состояния соленоидного клапана но и частоту этих включений на открытие.-посредством этого прибора мы изменяем влажность продукта... Хотелось бы предложить реализацию этой функции на плк 150.. где в библиотеке имеются таймеры. Я предполагаю будут задействовано 2 единицы таймеров. Но как но как реализовать линейную зависимость длительности импульса ti и периода T от входного напряжения.Физически к аналоговым входам будут подвешены 2 потенциометра 0-10в.(ноутбук каждый раз ведь не будешь подключать с целью изменения Т и t в программе) может есть примеры?

ASo
08.06.2016, 21:09
Я бы использовал блок GEN в режиме "пила" со сравнением по выходу.

славаолд
09.06.2016, 09:18
Спасибо. ещё альтернатива есть?

melky
09.06.2016, 09:23
На форуме выкладывали программный ШИМ, может он подойдет ?

Вольд
09.06.2016, 10:58
Какие проблемы ? Преобразуй измеренные значения напряжений в уставки таймеров и все дела.

славаолд
09.06.2016, 15:34
Значит я так понимаю задать верхний и нижний предел U0 В= T0s; U10 в= T30s по первому потенциометру; U0 В= T0s; U10 в= T30s по второму потенциометру...осталось за немногим найти табличную функцию которая позволяла преобразовывать данные переменные... Но где они? Любезно подскажите в каком разделе лежат

capzap
09.06.2016, 15:38
Значит я так понимаю задать верхний и нижний предел U0 В= T0s; U10 в= T30s по первому потенциометру; U0 В= T0s; U10 в= T30s по второму потенциометру...осталось за немногим найти табличную функцию которая позволяла преобразовывать данные переменные... Но где они? Любезно подскажите в каком разделе лежат
произнесите волшебное слово LIN_TRAFO

славаолд
09.06.2016, 15:46
Спасибо!!!! магическое слово открыло ларец с золотом

Вольд
09.06.2016, 16:24
Значит я так понимаю задать верхний и нижний предел U0 В= T0s; U10 в= T30s по первому потенциометру; U0 В= T0s; U10 в= T30s по второму потенциометру...осталось за немногим найти табличную функцию которая позволяла преобразовывать данные переменные... Но где они? Любезно подскажите в каком разделе лежат

А тебе функция прямо пропорциональной зависимости не известна (y = k * x) ? Тогда давай в школу, снова в первый класс. ;)

славаолд
09.06.2016, 21:25
прямая линия вверх как ракета(у=KX)...__-моему горю не поможет___теперь самое интересное начинается- взял стандартную функцию LIN_TRAFO и получил на выходе некую зависимость, которая два интервала по входу и выходу привязала. Но по выходу значение переменной имеет тип REAL. и возможно сразу на вход таймера после LIN_trafo? или какое-то ещё промежуточное звено вставить...24884 ... можно немного попинать меня... что не так? или как сделать.?.. на слайде отображено 2 разных варианта промежуточных, но ни как одна функция не цепляет другую,,, вот думаю по какому варианту идти 24886

Вольд
09.06.2016, 22:44
прямая линия вверх как ракета(у=KX)

Тебе точно надо снова в школу идти.

deniska13
10.06.2016, 16:49
прямая линия вверх как ракета(у=KX)...__-моему горю не поможет___теперь самое интересное начинается- взял стандартную функцию LIN_TRAFO и получил на выходе некую зависимость, которая два интервала по входу и выходу привязала. Но по выходу значение переменной имеет тип REAL. и возможно сразу на вход таймера после LIN_trafo? или какое-то ещё промежуточное звено вставить...24884 ... можно немного попинать меня... что не так? или как сделать.?.. на слайде отображено 2 разных варианта промежуточных, но ни как одна функция не цепляет другую,,, вот думаю по какому варианту идти 24886

Во-первых, я бы посоветовал начать с того, чтобы изменить язык программирования с LD на CFC, в LD это какое-то извращение будет, при работе с блоками, но конечно лучше на ST, более гибко, красиво и легко...
Но кому-то удобнее блоками, поэтому CFC. Ваши блоки не подключаются, потому что, как Вам подсказывает компилятор, несовместимость в типах переменных, для того, чтобы понять о чем я говорю, почитайте описание этих блоков в документации на CodeSys они есть, разберитесь с входными и выходными переменными, с их типами и потом все получится. Ну или обратитесь к специалистам для написания данной программы, проекта, сборки шкафа, монтажа и пуско-наладки, просто ничего хорошего из этого не выйдет, только время потеряете...Чтобы таймеру на вход задать время его работы, переменная эта должна быть типа TIME, а у ФБ LIN_TRAFO выход типа REAL, для того чтобы выход ФБ LIN_TRAFO "подать" на задание времени таймеру, нужно его преобразовать из типа REAL в тип TIME, для этого есть блок REAL_TO_TIME, после чего, возможно, потребуется корректировка времени, она может быть преобразована в мс, нужно будет умножить на 1000 и получите свое заданное время в секундах...нужно смотреть по ситуации...ну и на вход блока LIN_TRAFO, который имеет тип REAL, нужно подавать ваше значение напряжения или чего там (от 0 до 10). Используйте язык CFC! А люди могли бы подсказать человеку, ведь все когда-то учились...так нельзя..

славаолд
10.06.2016, 18:51
огромное спасибо.. есть теперь намётка от товарищей... а то думал всё пропало.. главное то .. что вы правильно указали язык программирования CFC.и более подробно описали пути реализации а это уже 90 процентов успеха....со временем я не спишу у меня месяца 2 в запасе

славаолд
10.06.2016, 23:40
24910 вот такая красивая картинка получилась... вопрос последний...как в эмуляторе увидеть изменение на выходе Q, при изменении IN в LIN_TRAFO... то есть не вижу Q таймера TON..(синий цвет линий отсутствует ,ассистент ввода как в ладе не получается применить)

capzap
11.06.2016, 04:23
24910 вот такая красивая картинка получилась... вопрос последний...как в эмуляторе увидеть изменение на выходе Q, при изменении IN в LIN_TRAFO... то есть не вижу Q таймера TON..(синий цвет линий отсутствует ,ассистент ввода как в ладе не получается применить)

а на вход IN таймера планируете что то подавать, чтоб увидеть что то на выходе?

славаолд
11.06.2016, 09:49
Доброго всем утра или дня!!! на вход таймера IN ничего не планируется подавать он просто будет висеть в воздухе... вся эта моя конструкция предназначена для реализации зависимости с потенциометра 0-10В/длительность открытого состояния релейного выхода плк( сразу замечу здесь у меня показана только часть проекта самая важная)... поэтому как мне кажется вход таймера повесит в воздухе ,может это не корректно? но всё же привык видеть глазами : на вход поступило напряжение-- на выходе на время открылся клапан , условно, и всё горит синим цветом на симуляторе-- знак того,что схема работоспособна... а сейчас всё чёрным.. такое ощущение что схема не в рабочем состоянии..

capzap
11.06.2016, 10:10
Доброго всем утра или дня!!! на вход таймера IN ничего не планируется подавать он просто будет висеть в воздухе...

удачи, на всякий прочтите документацию, как работает таймер

славаолд
11.06.2016, 23:26
спасибо всем... тема закрыта