PDA

Просмотр полной версии : Задачки простые и не очень



amn
13.12.2013, 19:14
Предлагаю в этой теме задавать полезные задачи для новичков и не только.

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

rovki
13.12.2013, 21:20
А на каком железе решать хотите задачи ????

amn
13.12.2013, 22:05
Хотелось бы на ПЛК, но можно и на ПР, раз Вы первым отреагировали :). В Кодесис ведь можно перевести. Главное, что бы польза была для всех. Можно даже уточнять кому на чем надо.

rovki
13.12.2013, 22:09
Если на ПР ,то такая тема есть и там решаются любые задачи ,в том числе и такие .А то как то в курилке не фонтан ....

amn
13.12.2013, 22:20
Вы правы, не подумал, надо было в разделе ПЛК тему создавать. Может модераторы перенесут, если будет у народа интерес.

zendo057
13.12.2013, 22:46
Вот я согласен

amn
13.12.2013, 23:54
zendo057, молодец, только Ваш вариант не будет работать правильно. Задачка не такая простая, как кажется. Например, на вход пришел сигнал длительностью 3 сек. Надо, чтобы на выходе появился сигнал через 5 сек также длительностью 3 сек. Длительность сигналов на входе может быть разная с разным интервалом.

Sergey666
14.12.2013, 01:28
Это реально для чего-то нужно , или так ... типа "вспышка с тылу"
Отставание от чего ? От фронта входного сигнала , или среза ????

amn
14.12.2013, 10:54
Да, это нужно для реального объекта. Один из вариантов применения: при выходе из строя температурного датчика подачи контура использовать регулятор соседнего контура, т.е. один ПИД регулятор будет управлять двумя контурами. А решение этой задачи позволит импульсы на открытие-закрытие двух приводов делать не синхронно, а с задержкой, т.е. один начал открываться, через секунду начал открываться другой, а время открытия одинаковое и у одного и у другого.

capzap
14.12.2013, 11:23
не совсем понятна идеология темы в таком случае, Вы знаете решение и предлагаете новичкам решить её или сами нуждаетесь в оптимальном решении?

Sergey666
14.12.2013, 13:45
Да, это нужно для реального объекта. Один из вариантов применения: при выходе из строя температурного датчика подачи контура использовать регулятор соседнего контура, т.е. один ПИД регулятор будет управлять двумя контурами. А решение этой задачи позволит импульсы на открытие-закрытие двух приводов делать не синхронно, а с задержкой, т.е. один начал открываться, через секунду начал открываться другой, а время открытия одинаковое и у одного и у другого.

Решение по вашему варианту есть и довольно простое : 8 строк на ST . Но если ПИД(выход) аналоговый такой способ уже не пройдет .
Не проще ли использовать (программно подключить) другой датчик , вместо неисправного.Такое прокатывает в вентиляции и для ИТП , сам делал такие варианты . Напр. в ИТП можно регулировать по прямой и по обратке и далее на прямой на коллекторах датчики ставят.

Короче - мое мнение ваша задачка действительно для новичков (умственный ананизм , типа теории вероятности).

zendo057
14.12.2013, 17:38
zendo057, молодец, только Ваш вариант не будет работать правильно. Задачка не такая простая, как кажется. Например, на вход пришел сигнал длительностью 3 сек. Надо, чтобы на выходе появился сигнал через 5 сек также длительностью 3 сек. Длительность сигналов на входе может быть разная с разным интервалом.

пОПРОБОВАЛ ТАК

amn
14.12.2013, 18:43
не совсем понятна идеология темы в таком случае, Вы знаете решение и предлагаете новичкам решить её или сами нуждаетесь в оптимальном решении?

capzap, здесь все просто. Есть люди, которые хотят потренироваться, и есть те, у кого что-то не получается. Выкладываем все сюда. Совмещаем полезное с приятным. Про оптимальное решение Вы хорошо сказали, оно никогда не будет лишним. Полезно же попробовать сначала сделать самому, а потом посмотреть как это делают настоящие профессионалы. Вот Sergey666 в 8 строчек уложился. Возможно это самое оптимальное решение, которое мы увидим.

amn
14.12.2013, 18:45
Предлагаю еще одну задачу. Многие уже знают, что таймер TP в Кодесис написан с ошибкой. Там при PT=0 есть косяк. Надо написать такой же таймер, чтобы он работал корректно при PT=0. Еще можно добавить полезное дополнение, сделать так, чтобы выход ET не сбрасывался в 0 сразу после отработки таймера, а сохранялся до следующего запуска таймера.

amn
14.12.2013, 18:49
Давайте договоримся, задачи оформлять в виде функциональных блоков. Так намного легче разобраться где что и самим проверить работоспособность легче будет.

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

capzap
14.12.2013, 19:16
Давайте договоримся, задачи оформлять в виде функциональных блоков. Так намного легче разобраться где что и самим проверить работоспособность легче будет.

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

Вы бы прежде создали проект с визуализацией, где было бы два поля для логов изменения состяния дискретного входа, один ПОУ отображает входной сигнал экзаменуемых, а второе выходной сигнал. И потом всем можно было бы посмотреть что приходило и как точно по времени выходило из ПОУ решившего задачку


ЗЫ и не плохо было бы предоставить испытуемым генератор импульсов, вообщем организовать лабораторный стенд, а потом уже предлагать задачу

zendo057
14.12.2013, 19:41
Многие уже знают, что таймер TP в Кодесис написан с ошибкой. Там при PT=0 есть косяк.

А для чего задавать время таймера=0 смысл такого таймера?

zendo057
14.12.2013, 20:26
Уважаемый amn,ВЫ пожалуйста ставте задачи по конкретней, есть это и нужно сделать так.В первой задаче вы указали вход включен 3сек через 5сек вкл выход на 3сек,я так и сделал.Но потом вы говорите,что время должно меняться я вроде исправился.Потом говорите что вход постоянно включен и время на другом таймере.Вот я и совсем запутался и не знаю что дальше делать.ВАМ большая благодарность,за то что ВЫ придумали такую тему.Буду держаться столько сколько смогу.Спасибо.

Sergey666
14.12.2013, 23:25
capzap, здесь все просто. Есть люди, которые хотят потренироваться, и есть те, у кого что-то не получается. Выкладываем все сюда. Совмещаем полезное с приятным. Про оптимальное решение Вы хорошо сказали, оно никогда не будет лишним. Полезно же попробовать сначала сделать самому, а потом посмотреть как это делают настоящие профессионалы. Вот Sergey666 в 8 строчек уложился. Возможно это самое оптимальное решение, которое мы увидим. Конечно жульничество , но никто не запрещал так писать. Получилось 6 строк , но можно уложиться в одну :p. Можете сравнить насколько СТ кроет все другие языки и что получается если воспользоваться штатным конвертатором , но это работает - повторяет (по длительности через задержку ПОСЛЕДНИЙ поданный сигнал). И на хрена TP , есть TON , больше ничего не нужно.
Вообще устройства такие есть - реле многофункциональные таймеры.

capzap
14.12.2013, 23:40
Конечно жульничество , но никто не запрещал так писать. Получилось 6 строк , но можно уложиться в одну :p. Можете сравнить насколько СТ кроет все другие языки и что получается если воспользоваться штатным конвертатором , но это работает - повторяет (по длительности через задержку ПОСЛЕДНИЙ поданный сигнал). И на хрена TP , есть TON , больше ничего не нужно.
Вообще устройства такие есть - реле многофункциональные таймеры.

непрокатывает, задержка одна секунда: первый импульс длительный секунд пять, два вторых по полсекунды длительность и период и выход уже неадекватно работает
Тут без массивов фронтов не обойтись, заданное время задержки массивы заполняем, время закончилось удаляем первый элемент, вставляем текущее состояние входа, соответственно через тригерры фронтов. а после через РС триггер на выход, вход R подаем нулевой элемент массива задних фронтов, на S передних фронтов
Как то так у меня в мыслях, делать не собираюсь, занят

amn
15.12.2013, 00:28
Уважаемый amn,ВЫ пожалуйста ставте задачи по конкретней, есть это и нужно сделать так.В первой задаче вы указали вход включен 3сек через 5сек вкл выход на 3сек,я так и сделал.Но потом вы говорите,что время должно меняться я вроде исправился.Потом говорите что вход постоянно включен и время на другом таймере.Вот я и совсем запутался и не знаю что дальше делать.ВАМ большая благодарность,за то что ВЫ придумали такую тему.Буду держаться столько сколько смогу.Спасибо.

zendo057, учту Ваши пожелания. Цифры были только для примера, а задача должна быть универсальной для любых цифр, то что я говорил никак не противоречит условию задачи из 1 поста. Уточню еще раз условие задачи: делаем ФБ signal_delay. Выходной сигнал полностью повторяет входной сигнал, но с отставанием на заданный промежуток времени (переменная delay). Сигнал дискретный (типа bool). То есть включился вход (переменная in) на n сек. через время delay включился выход (переменная out) также на n сек.

capzap, Ваша идея мне понравилась.

Во вложении проект с визуализацией для более удобного тестирования. В проекте имеется ФБ signal_delay со входами и выходом. Надо заменить его на свой. В визуализации кнопка in с фиксацией соответсвует входу in. Время отставания можно изменить кликнув мышкой по его значению.

Sergey666, спасибо, за участие.

По поводу таймера TP. Я им пользуюсь иногда. Даже для решения этой задачи. Только из-за его косяка моя программа работала не правильно.

amn
15.12.2013, 14:36
непрокатывает, задержка одна секунда: первый импульс длительный секунд пять, два вторых по полсекунды длительность и период и выход уже неадекватно работает
Тут без массивов фронтов не обойтись, заданное время задержки массивы заполняем, время закончилось удаляем первый элемент, вставляем текущее состояние входа, соответственно через тригерры фронтов. а после через РС триггер на выход, вход R подаем нулевой элемент массива задних фронтов, на S передних фронтов
Как то так у меня в мыслях, делать не собираюсь, занят

capzap прав. У меня тоже получается, что правильно работает, только если интервал между импульсами больше времени задержки. А с массивами слишком нерационально, это ж какой размер массивов должен быть, чтобы каждый цикл запоминать состояние входа даже в течении 1 сек. Хотя по другому и не получится. Надо ввести какие-нибудь ограничения, например минимальная длина импульса 0.1 сек.

capzap
15.12.2013, 14:44
Если идти по пути на каждый фронт по таймеру, вот это будет нерационально, а массивы каши просить не будут при относительно большом времени задержки,я так думаю начнет оказывать влияние где то начиная с минуты

rovki
15.12.2013, 15:03
Если идти по пути на каждый фронт по таймеру, вот это будет нерационально, а массивы каши просить не будут при относительно большом времени задержки,я так думаю начнет оказывать влияние где то начиная с минуты
Да куда уж проше чем массивы.И длительность сигнала любая :rolleyes:
И вообще для простых задач существует ПР ,его и используйте .А для обучения азам программирования на ПЛК изучайте Кодесис и видео уроки ,да и примеров куча.А то мы тут больше обсуждаем схемотехнику(способы реализации) ,чем реальное программирование на ПЛК.

capzap
15.12.2013, 15:09
Анатолий, имеется последовательность случайных по продолжительности потенциалов,низких и высоких, Ваша схема однозначно не даст увидеть с задержкой короткие импульсы если перед ними был продолжительный, тпшка их просто съест, тожесамое если использовать тоны с тофами, будет происходить селекция,а не точное влспроизведение по времени

Sergey666
15.12.2013, 15:15
capzap прав. У меня тоже получается, что правильно работает, только если интервал между импульсами больше времени задержки. А с массивами слишком нерационально, это ж какой размер массивов должен быть, чтобы каждый цикл запоминать состояние входа даже в течении 1 сек. Хотя по другому и не получится. Надо ввести какие-нибудь ограничения, например минимальная длина импульса 0.1 сек.

Там косячек был , при следующем импульсе до окончания времени "цикла" повтора импульса (время ожидания + длительность импульса).
Во вложении подправленная версия с тем-же названием (исправлен текст на ST), смысл в том , что по фронту следующего импульса(входного) все таймера сбрасываются и выход тоже сбрасывается и начинается новый " цикл повторителя" .
Так работают подобные "железные" реле-таймеры.

capzap
15.12.2013, 15:31
Жаль не посмотреть, вагон без розеток в -купе, но пугают слова, что выход тоже будет сброшен, здесь нужно не реле-таймер,а повторитель реального времени с задержкой

rovki
15.12.2013, 15:35
Анатолий, имеется последовательность случайных по продолжительности потенциалов,низких и высоких, Ваша схема однозначно не даст увидеть с задержкой короткие импульсы если перед ними был продолжительный, тпшка их просто съест, тожесамое если использовать тоны с тофами, будет происходить селекция,а не точное влспроизведение по времени
Тогда нужен регистр сдвига

capzap
15.12.2013, 15:38
Тогда нужен регистр сдвига

Ну практически в плк это и будет массив :)

zendo057
15.12.2013, 15:51
Уважаемый amn,я всю жизнь работал на LAD языке.Пересесть на ваш мне дается сбольшим трудом.Я только освоил как создать POU, атут сразу FB.Конвертировав в лд,увидел var_input delay,но в fb его нет,но он,delay,есть в plc_prg,как понять?
ПРограммы я пишу на станочное оборудование,в моем понятии лд самый удобный здесь я вижу где кнопка,где концевик, видна вся цепочка как на ладоне,особенно если она сложноразветвленная.Это оборудование сам же и обслуживаю

Sergey666
15.12.2013, 16:47
По любому если входная последовательность будет случайная , а время выдержки фиксированное , то о точном воспроизведении входной последовательности не может быть и речи .

Sergey666
15.12.2013, 16:52
Уважаемый amn,я всю жизнь работал на LAD языке.Пересесть на ваш мне дается сбольшим трудом.Я только освоил как создать POU, атут сразу FB.Конвертировав в лд,увидел var_input delay,но в fb его нет,но он,delay,есть в plc_prg,как понять?
ПРограммы я пишу на станочное оборудование,в моем понятии лд самый удобный здесь я вижу где кнопка,где концевик, видна вся цепочка как на ладоне,особенно если она сложноразветвленная.Это оборудование сам же и обслуживаю

Я в своем примере представил , что все МЭК языки можно перевести один в другой , даже несколько туповатый штатный конвертер с этим справляется , но наглядности никакой.
В редакции КДС LD - очень похож на FBD , по сравнению с редакторами LD других производителей небо и земля (в лучшем смысле), вас никто не заставляет перескакивать на другой язык , возможности у всех одинаковые .

zendo057
15.12.2013, 17:30
Я в своем примере представил , что все МЭК языки можно перевести один в другой , даже несколько туповатый штатный конвертер с этим справляется , но наглядности никакой.
В редакции КДС LD - очень похож на FBD , по сравнению с редакторами LD других производителей небо и земля (в лучшем смысле), вас никто не заставляет перескакивать на другой язык , возможности у всех одинаковые .

Я в смысле не отом что заставляют,а о том,что струдом дается разобраться.Но я пытаюсь.

capzap
15.12.2013, 17:56
По любому если входная последовательность будет случайная , а время выдержки фиксированное , то о точном воспроизведении входной последовательности не может быть и речи .
Я поделился мыслями как бы я это сделал,еслибы было свободное время, попробуйте представить что это ТЗ и напишите проект, даже Анатолий подтвердил что нужен регистр(ы) сдвига, единственное в ПР это нереализовать, не хватит того кодичества регистрлв, которое может понадобиться из длительности задержки и времени цикла, а в плк это легко

Sergey666
15.12.2013, 18:14
Какое - такое т.з :
Типа импульсы входные могут быть какой угодно длительности и следовать с каким угодно периодом и эту последовательность надо повторить с задержкой .
Если учесть , что каждый раз во время "типа паузы" на вход могут приходить разное количество импульсов с разной длительностью и периодом , то будет каша , причем если учесть условие: повторение после паузы эта каша будет иметь тенденцию арифметического накопления .

Конечно решить это можно , но можно и мозг взорвать : я хочу мощный , быстрый авто с бензиновым мотором , но чтобы топливо не жрал.

capzap
15.12.2013, 18:30
:) ну значит завтра ночером приду в гостиницу и сам напишу как я предложил в 20 посте реализацию

Sergey666
15.12.2013, 18:56
:) ну значит завтра ночером приду в гостиницу и сам напишу как я предложил в 20 посте реализацию

Лучше по приезду накатить 150....350 мл и баиньки;)

rovki
15.12.2013, 20:57
Я поделился мыслями как бы я это сделал,еслибы было свободное время, попробуйте представить что это ТЗ и напишите проект, даже Анатолий подтвердил что нужен регистр(ы) сдвига, единственное в ПР это нереализовать, не хватит того кодичества регистрлв, которое может понадобиться из длительности задержки и времени цикла, а в плк это легко
Вот регистр сдвига 256 разрядов .:rolleyes:

capzap
15.12.2013, 21:36
Вот регистр сдвига 256 разрядов .:rolleyes:

Я рад, тока смена состояния может произойти в любом из циклов,если он в среднем 2мс,то для задержки в одну секунду понадобиться 500,а за пять секунд ...

rovki
15.12.2013, 22:37
Это да ... Но если цикл 50мс ,то это почти 13 секунд ....:D

amn
15.12.2013, 22:59
Уважаемый amn,я всю жизнь работал на LAD языке.Пересесть на ваш мне дается сбольшим трудом.Я только освоил как создать POU, атут сразу FB.


Открою Вам страшную тайну: POU бывает трех типов, когда Вы его создаете, там есть выбор: программа, функциональный блок (FB) или функция. FB - это и есть POU.

Если в визуализации Вам все понятно, то не о чем беспокоиться. Это предложение уважаемого capzapа, что бы все было наглядно, типа стенда для удобства отладки.

На языке CFC все функциональные блоки выглядят как прямоугольники с входами и выходами. PLC_PRG конвертировать не надо. Примите его как есть. Здесь все уже сделано за Вас. Ваш ФБ для тестирования должен называться "signal_delay". Удаляете существующий, вставляете свой с таким же именем на удобном Вам языке, только переменные входные и выходные оставьте как есть. Добавляете нужные переменные между VAR ... END_VAR. После того как удалите существующий ФБ "signal_delay" и создадите свой ФБ с этим же именем в PLC_PRG не забудьте соединить входы и выходы с этим блоком, так как при удалении связи рвутся.


Конвертировав в лд,увидел var_input delay,но в fb его нет,но он,delay,есть в plc_prg,как понять?

Вообще-то в ФБ эти переменные тоже есть, они описаны в разделе описания переменных.
Переменные, которые есть в PLC_PRG нужны для визуализации, чтобы протестировать написанный Вами ФБ. В разделе объявления этих переменных к ним есть комментарий что для чего нужно. Эти переменные подсоединяются в Вашему ФБ к входам / выходам.

zendo057
15.12.2013, 23:30
Открою Вам страшную тайну: POU бывает трех типов, когда Вы его создаете, там есть выбор: программа, функциональный блок (FB) или функция. FB - это и есть POU.

Если в визуализации Вам все понятно, то не о чем беспокоиться. Это предложение уважаемого capzapа, что бы все было наглядно, типа стенда для удобства отладки.




.

Я совсем путаюсь. научился создавать prg,помоему это самое простое.В визуализации я совсем не понимаю.Ведь в старых контроллерах типа омрон CPM и CQM ничего этого не было.Вот и черпаю информацию только из форума.Подсказать если что некому.

Sergey666
15.12.2013, 23:37
Чтобы особо не путаться информацию надо черпать из документации (по кодесис ее навалом , к каждому ПЛК в комплекте ) , но тренд нынче пошел такой - чуть что сразу с вопросом на форум .
И пофиг , что вопрос тупой и ответ на поверхности лежит.
Блин по архиву пошарьте за 8й-9й годы - кто-нибудь тупые вопросы задавал????

smk1635
16.12.2013, 00:06
Чтобы особо не путаться информацию надо черпать из документации (по кодесис ее навалом , к каждому ПЛК в комплекте ) , но тренд нынче пошел такой - чуть что сразу с вопросом на форум .
И пофиг , что вопрос тупой и ответ на поверхности лежит.
Блин по архиву пошарьте за 8й-9й годы - кто-нибудь тупые вопросы задавал????

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

Sergey666
16.12.2013, 00:16
Ну да , я чего-то с подозрением последнее время к лифтам отношусь:D
А стиралки вообще ... носки жруть:p.

smk1635
16.12.2013, 01:07
Одно радует, если так дальше с образованием пойдет, то без работы мы точно не останемся. :D

amn
16.12.2013, 01:55
Получилось! Выкладываю решение задачи на языке ST. Кому надо на другом языке, конвертируем только блок "signal_delay". Использовал алгоритм, который предложил capzap, но обошелся одним массивом.

amn
16.12.2013, 02:37
Чтобы особо не путаться информацию надо черпать из документации (по кодесис ее навалом , к каждому ПЛК в комплекте ) , но тренд нынче пошел такой - чуть что сразу с вопросом на форум .
И пофиг , что вопрос тупой и ответ на поверхности лежит.
Блин по архиву пошарьте за 8й-9й годы - кто-нибудь тупые вопросы задавал????

Оценить тупой вопрос или нет может только профессионал, но не новичок. Но вроде на форуме можно любой вопрос задать. Так что смиряйтесь :)

capzap
16.12.2013, 08:17
Оценить тупой вопрос или нет может только профессионал, но не новичок. Но вроде на форуме можно любой вопрос задать. Так что смиряйтесь :)

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

capzap
16.12.2013, 08:17
Оценить тупой вопрос или нет может только профессионал, но не новичок. Но вроде на форуме можно любой вопрос задать. Так что смиряйтесь :)

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

Sergey666
16.12.2013, 09:01
Получилось! Выкладываю решение задачи на языке ST. Кому надо на другом языке, конвертируем только блок "signal_delay". Использовал алгоритм, который предложил capzap, но обошелся одним массивом.

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

capzap
16.12.2013, 09:49
Почему академичнское, стек fifo придуман не только в развивающих целях

amn
16.12.2013, 19:51
Я совсем путаюсь. научился создавать prg,помоему это самое простое.В визуализации я совсем не понимаю.Ведь в старых контроллерах типа омрон CPM и CQM ничего этого не было.Вот и черпаю информацию только из форума.Подсказать если что некому.

Посмотрите пример создания визуализации в документации файл First Steps with CoDeSys RU.pdf стр. 7.

zendo057
16.12.2013, 22:12
Спасибо большое ПРОФЕССИОНАЛАМ отбили всю охоту.Только всегда надо помнить что все,и ВЫ в том числе, начинали с азов.И уверен, постепенно, ВЫ выросли до неба. Прежде чем работать с новым прибором я всегда читаю рэ.Но не всегда в нем можно разобраться полностью, поэтому и испрашиваю у вас.Ведь в моем понятии форум для этого и создан.

smk1635
16.12.2013, 23:15
Спасибо большое ПРОФЕССИОНАЛАМ отбили всю охоту.Только всегда надо помнить что все,и ВЫ в том числе, начинали с азов.И уверен, постепенно, ВЫ выросли до неба. Прежде чем работать с новым прибором я всегда читаю рэ.Но не всегда в нем можно разобраться полностью, поэтому и испрашиваю у вас.Ведь в моем понятии форум для этого и создан.

Угу. Что то вроде этого:
xxx: Словно умудренные жизненным опытом стервятники в пустыне, они смотрят вслед проползающим путникам. На вопрос, где можно напиться, они долго обсуждают, нужна ли тебе вода и неизменно приходят к выводу, что нет, тебе, брат, вода ни к чему. Неспешно перечисляют причины, по которым тебе лучше жить без воды. И ни один из них не покажет в какой стороне колодец.
xxx: Грёбаные ИТ-форумы.
Так ? :D

Как по мне, так форум предназначен для решения конкретных проблем в конкретных задачах. Когда есть конкретное ТЗ (пусть учебное, но с четким заданием, где применяется, на каком оборудование и что в конечном счёте должно получится), есть допустим программа или прибор и надо разобраться почему не получается.

Ну конечно «толково» составленные руководства, которые мягко говоря не читабельны и требуется осветить непонятные моменты.

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

amn
16.12.2013, 23:34
Спасибо большое ПРОФЕССИОНАЛАМ отбили всю охоту.Только всегда надо помнить что все,и ВЫ в том числе, начинали с азов.И уверен, постепенно, ВЫ выросли до неба. Прежде чем работать с новым прибором я всегда читаю рэ.Но не всегда в нем можно разобраться полностью, поэтому и испрашиваю у вас.Ведь в моем понятии форум для этого и создан.

zendo057, Вы на них не обижайтесь, им по рангу положено быть строгими, на самом деле они добрые. :).

capzap
17.12.2013, 01:40
Спасибо большое ПРОФЕССИОНАЛАМ отбили всю охоту.Только всегда надо помнить что все,и ВЫ в том числе, начинали с азов.И уверен, постепенно, ВЫ выросли до неба. Прежде чем работать с новым прибором я всегда читаю рэ.Но не всегда в нем можно разобраться полностью, поэтому и испрашиваю у вас.Ведь в моем понятии форум для этого и создан.

Как бы и Вы должны помнить, что потенциально мы все тут конкуренты друг другу и с какой кстати должны помогать, это дело добровольное.
И к мастерству идут: от простого к сложному, далее фразу забыл, давно непосещал свой зал б/искуств. Если у Вас неполучается сейчас с какими то вопросами, попытайтесь освоить что то более простое, примеров из серии первые шаги полно

amn
17.12.2013, 09:57
Кстати, хотя capzap и говорит, что мы все тут потенциальные конкуренты, тем не менее обратите внимание, помогая людям, количество его сообщений на форуме перевалило за 5000. ;)

capzap
17.12.2013, 12:16
Не все из них, конкретная прямая помощь, я не скрываю,иногда просто издеваюсь,в основном предлагаю направление, потому что разжеваное и положеное в клюв, усваивается в желудке а не в голове, у нас так то технический форум, знания в голове важнее

AVF
17.12.2013, 16:23
+1 - солидарен целиком и полностью, тассказать:)

Sergey666
17.12.2013, 22:35
+1 - солидарен целиком и полностью, тассказать:)

Кккконкретней пжалста тттрррищ , с чем ккконкретно вы сссгласссны.

zendo057
17.12.2013, 23:22
amn спасибо за поддержку.Для меня овен с его возможностями новая тема,поэтому и вопросы может немножко и тупые.Здесь все нужно делать ручками,в отличеи от буржуйских напр омрон или лджи.А документацию я читаю обязательно. програмированием плк занимаюсь на станках, усебя на производстве, не так часто,исключительно дискретные входы и выходы.Поэтому и грызу форум,черпаю так сказать опыт.А на форумчан я не в обиде все нормальные ребята.

AVF
18.12.2013, 08:20
Кккконкретней пжалста тттрррищ , с чем ккконкретно вы сссгласссны.

--- с предыдуСЧим оратором

Алексей Геннадьевич
18.12.2013, 09:58
Задача
Есть кабель с числом жил N. N больше трёх но меньше бесконечности.
Все жилы одного цвета и сечения, т.е. визуально ничем не отличаются.
Доступ к каждому концу кабеля односторонний. (предположим, что один конец кабеля в одном здании, а другой в другом здании).
Можно использовать только жилы кабеля, никакого доступа к "земле" или отдельно лежащему проводнику нет.
Используемый инструмент - батарейка с лампочкой (прозвонка, есть контакт/нет контакта).


Цель: выполнить работу по маркировке концов кабеля за минимальное количество переходов от одного конца кабеля к другому.


ЗЫ: этот приём позволяет сильно сэкономить время.;)

Ryzhij
18.12.2013, 10:46
Цель - меньше "топтать лапы".

Допущение - ВСЕ проводники в кабеле исправны.
Если же такой уверенности нет, то перед замыканием жил по п.2 проводим тест на замыкание жил в кабеле между собой, а упомянутый отдельный конец соединяем с остальными через диод. Пункт 3 дополнится у нас прозвонкой всех жил на целостность.

Вводная - работаем "в одну харю", единолично.

Практический алгоритм.
1. На обеих концах разделываем кабель так, чтобы сохранить порядок укладки жил в кабеле. К пучкам внутри кабеля это тоже относится ;). При этом нам придётся пройтись от одного конца к другому, поэтому считаем:
РАЗ.
2. Замыкаем между собой на одном конце все жилы кабеля кроме одной, расположенной во внешнем слое проводников внутри кабеля (обычно эту жилу на заводе уже для нас отмаркировали другим цветом, но раз Александр Геннадиевич настаивает...). Объявляем её первой.
Идем на другой конец кабеля. ДВА.
3. Вызваниваем свободную (или через диод подключенную) жилу. Объявляем и маркируем её первой.
4. Ориентируясь на первый провод, маркируем и остальные проводники кабеля двигаясь по часовой стрелке и послойно.
Шлёпаем на другой конец контрольного кабеля. ТРИ.
5. Маркируем проводники теперь уже двигаясь против часовой стрелки, но по прежнему послойно.

Всё.
Итого у нас три прогулки вдоль кабеля.

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

PPS:
Диод(-ы) полезны при одновременном низковольтном тестировании кабеля и при определении номера пучка. Если диода (-ов) нет, то либо дополнительного тестирования не будет, либо ради определения номера пучка ещё раз вдоль кабеля пройтись придётся :p

Алексей Геннадьевич
18.12.2013, 13:04
Цель - меньше "топтать лапы".
Вводная - работаем "в одну харю", единолично.
Допущение - ВСЕ проводники в кабеле исправны.

Цель правильная.
Вводная тоже.
Никаких "допущений" и диодов




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

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


А вообщем решение верное.

Ryzhij
18.12.2013, 13:15
Можно и без допущений, и без диодов, но по закону бутерброда отобранный нами для прозвонки провод в пучке окажется "в обрыве" :p

Ещё М.Ю.Лермонтов писал: "Немногие вернулись с поля!"
Видимо, это были выжившие от беготни вдоль пучка монтажники...

AVF
18.12.2013, 14:21
В 21 веке смешно бегать туда-сюда вдоль кабеля. Можно загнать в ПР-ку тестовую программу с разным количеством морганий по выходам и вызвонить , а потом в проект перепрошить.

zendo057
18.12.2013, 18:57
Цель - меньше "топтать лапы".

Допущение - ВСЕ проводники в кабеле исправны.
Если же такой уверенности нет, то перед замыканием жил по п.2 проводим тест на замыкание жил в кабеле между собой, а упомянутый отдельный конец соединяем с остальными через диод. Пункт 3 дополнится у нас прозвонкой всех жил на целостность.

Вводная - работаем "в одну харю", единолично.

Практический алгоритм.
1. На обеих концах разделываем кабель так, чтобы сохранить порядок укладки жил в кабеле. К пучкам внутри кабеля это тоже относится ;). При этом нам придётся пройтись от одного конца к другому, поэтому считаем:
РАЗ.
2. Замыкаем между собой на одном конце все жилы кабеля кроме одной, расположенной во внешнем слое проводников внутри кабеля (обычно эту жилу на заводе уже для нас отмаркировали другим цветом, но раз Александр Геннадиевич настаивает...). Объявляем её первой.
Идем на другой конец кабеля. ДВА.
3. Вызваниваем свободную (или через диод подключенную) жилу. Объявляем и маркируем её первой.
4. Ориентируясь на первый провод, маркируем и остальные проводники кабеля двигаясь по часовой стрелке и послойно.
Шлёпаем на другой конец контрольного кабеля. ТРИ.
5. Маркируем проводники теперь уже двигаясь против часовой стрелки, но по прежнему послойно.

Всё.
Итого у нас три прогулки вдоль кабеля.

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

PPS:
Диод(-ы) полезны при одновременном низковольтном тестировании кабеля и при определении номера пучка. Если диода (-ов) нет, то либо дополнительного тестирования не будет, либо ради определения номера пучка ещё раз вдоль кабеля пройтись придётся :p
Все вышесказанное возможно только теоретически.На самом деле без беготни не обойтись.Первый шаг верный,нужно замкнуть все жилы кроме одной,ее отмаркировать,пойти на другой конец,ее вызвонить.Соединить эту жилу с любой другой ,ее заморкировать,идем назад,разбираем соединение,вызваниваем эту жилу маркируем,соединяем ее с любой другой предворительно ее замаркировав на обратном конце ее находим ,соединяем со следующей и тд.

Ryzhij
18.12.2013, 19:11
Вот ведь - десять лет прокладывал и менял контрольные кабели, а оказывается это возможно "только теоретически" :D

Не спорю, Ваш способ универсален - так можно вызвонить любую группу проводов.
Но уж если у Вас в руках действительно единый кусок кабеля, а не пучок проводов (или кабель, но смуфтченный), то достаточно аккуратно его разделать перед прозвонкой и можно избежать ненужной беготни.

zendo057
18.12.2013, 19:17
Вот ведь - десять лет прокладывал и менял кабели, а оказывается это возможно "только теоретически" :D
Сказано что кабель абстрактный например провода в трубе.Нет там навитого провода и центральной жилы.

Sergey666
18.12.2013, 20:08
На самом деле без беготни не обойтись.Первый шаг верный,нужно замкнуть все жилы кроме одной,ее отмаркировать,пойти на другой конец,ее вызвонить.Соединить эту жилу с любой другой ,ее заморкировать,идем назад,разбираем соединение,вызваниваем эту жилу маркируем,соединяем ее с любой другой предворительно ее замаркировав на обратном конце ее находим ,соединяем со следующей и тд.

+ добавляем немножечко прогрессии(геометрической) и каждый раз соединяем уже известные(прозвоненные) жилы с неизвестными и с каждой ходкой (накатив 5 капель на ход ноги) уверенно приближаемся к N прозвоненных жил.

zendo057
18.12.2013, 20:17
Если кабель из сотни жил то вероятность ошибиться хотябы одной жилой очень велика а это может привести к серьезным последствиям,я бы таким путем не пошел бы.А что скажет автор?

Sergey666
19.12.2013, 09:02
Если кабель из сотни жил то вероятность ошибиться хотябы одной жилой очень велика а это может привести к серьезным последствиям,я бы таким путем не пошел бы.А что скажет автор?

Тогда все то-же , только без 5 капель.;)
Вообще получается ряд: 1-2-4-8-16-32-64-...
Итого на 100ку 8 раз пробежать надо.(9 чтобы на другом конце на "изоляцию" поставить ).

zendo057
19.12.2013, 18:25
Алексей Генадьевиииич где вы!!!Дайте правильный ответ

AVF
20.12.2013, 11:30
А он нужен?

Валенок
20.12.2013, 13:24
Тоже свои 5коп вставлю.
Была похожая ситуация. Ноги поберёг набор резисторов. Просьба не рассматривать их отсутствие)))
Думаю можно за 2 ходки управится. При любом кол-ве жил

Алексей Геннадьевич
20.12.2013, 13:25
zendo057 держите.
Хотя правильный ответ уже был дан Ryzhij

11149

Валенок
20.12.2013, 13:34
Непонял для вариант решения топиковой задачи. А если нужно повторить последовательность из разных импульсов (хоть в 5мс) через неделю ?
(в качестве мозгоплавки)

zendo057
20.12.2013, 22:22
Тоже свои 5коп вставлю.
Была похожая ситуация. Ноги поберёг набор резисторов. Просьба не рассматривать их отсутствие)))
Думаю можно за 2 ходки управится. При любом кол-ве жил

По моему лучше варианта просто нет.Обязательно возьму на заметку.А насчет лампочки и батарейки,так это в прошлом.

Crusash
25.12.2013, 17:54
Не судите строго.
Столкнулся с такой задачей:
Имеется четыре нормально разомкнутых контактов, для каждого контакта имеются четыре лампочки загорающиеся при замыкании соответствующего контакта.
задача: добавить в цепь сирену срабатывающая при замыкании любого из контакта, используя минимальное количество дополнительных элементов.

ПС. попробовал по тупому, как на рисунке - лампочки горят исправно, но сирена воет ели ели..
11207

rovki
25.12.2013, 18:14
Так вроде тут задачки для ПЛК .При такой схеме у вас лампы будут гореть не ярко и звонок звонить не громко и в зависимости от того сколько лампочек включили.

zendo057
25.12.2013, 22:03
Не судите строго.
Столкнулся с такой задачей:
Имеется четыре нормально разомкнутых контактов, для каждого контакта имеются четыре лампочки загорающиеся при замыкании соответствующего контакта.
задача: добавить в цепь сирену срабатывающая при замыкании любого из контакта, используя минимальное количество дополнительных элементов.

ПС. попробовал по тупому, как на рисунке - лампочки горят исправно, но сирена воет ели ели..
11207

Чем включаете лампочки? если тумблером то добавте еще одну группу контактов и замкните ее на сирену.Влюбом случае две группы контактов,если нужно очень просто.

AVF
26.12.2013, 08:36
вместо сирены подключить обмотку реле вольт на 12 или 24 (подобрать экспериментально), контактами которого включаем сирену

Sergey666
26.12.2013, 08:42
Самое нормальное решение - подключение дополнительных реле , параллельно лампам.

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

Ryzhij
26.12.2013, 10:30
Самое нормальное решение - подключение дополнительных реле , параллельно лампам.Тогда уж реле вместо ламп, а их контактами включать и лампы, и сирену, и что-то ещё... в будущем...
А "в лоб", без всякой перспективы, это действительно какой-либо датчик тока (реле тока) в общую цепь.
Можно и автомобильное реле с сильноточной обмоткой приколхозить, включив его в диагональ диодного моста. Но делать это надо в цепи "нуля", чтобы на пробой изоляции катушки на корпус не напороться.

AVF
26.12.2013, 11:15
Зачем мост - можно реле под переменку взять (не автомобильное). Проще и сердитее.

Crusash
26.12.2013, 11:44
всем спасибо за участие


вместо сирены подключить обмотку реле вольт на 12 или 24 (подобрать экспериментально), контактами которого включаем сирену
попробовал реле на 220: лампочки горят, реле не работает, садится около 25вольт, видимо у лампочек уж очень большое сопротивление.
попробовал прошунтировать лампочку диодом: реле отлично работает, лампочка не горит вообще.


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


Чем включаете лампочки? если тумблером то добавте еще одну группу контактов и замкните ее на сирену.Влюбом случае две группы контактов,если нужно очень просто.
Это аварийная сигнализация(пожарный датчик, реле фаз, реле давлений), никаких групп не предусмотренно, а городить огород с реле на каждую лампочку не бюджетно)))


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

вообще изначально была одна лампочка аварии и сирены включенные в паралель, а тут потребовалось на каждую аварию по лампочки...

Crusash
26.12.2013, 12:28
Попробовал зашунтировать лампочку резистором: оптимально подошло 18кОм, лампочка горит нормально, реле срабатывает, но на гране (около 170вольт, ниже тока дребезжит). Однозначно такой вариант для аварийки не подходит((

AVF
26.12.2013, 17:22
Советуют реле на 12-24 вольта ... ставлю на 220 ... почему не на 1000 ???
И почему же всё так и не работает??? Загадка природы, наверное, такая премудрая ...
Зачем спрашивать совет, если не собираешься им следовать? :mad:

Crusash
26.12.2013, 17:35
Советуют реле на 12-24 вольта ... ставлю на 220 ... почему не на 1000 ???
И почему же всё так и не работает??? Загадка природы, наверное, такая премудрая ...
Зачем спрашивать совет, если не собираешься им следовать? :mad:

Да я согласен, уже заказал на 24 попробовать.

Тока если я согласую напрежение с одной лампочкой, что будет если включатся две или три, и выдержит ли это самое реле?
Собственно говоря тока поэтому я ориентировался на реле 220, т.к. болших напряжения точно не будет...

zendo057
26.12.2013, 18:16
Предложений много.Можно фотореле.можно плк.пр,схему злектронную.......Судя повопросу человек 0 в элелтричестве,поэтому подсказка должна быть самой простой.

AVF
27.12.2013, 09:23
Куда уж проще подсказали. С пропускной способностью по току можно решить проблему, собрав сильноточный аналог стабилитрона и подключив его параллельно обмотке реле в диагонали выпрямительного моста. Но этот вариант даже и не заикаюсь предложить автору темы :D

Crusash
27.12.2013, 11:32
Куда уж проще подсказали. С пропускной способностью по току можно решить проблему, собрав сильноточный аналог стабилитрона и подключив его параллельно обмотке реле в диагонали выпрямительного моста. Но этот вариант даже и не заикаюсь предложить автору темы :D

А вы не боитесь, тема то свободная.
В электрике я и правда не силен, но с чего то надо начинать...

вот такая схема будет работать?
11223

Sergey666
27.12.2013, 14:08
Сам хоть понял , что нарисовал ? Стабилитлонцик сгорит!
Хоть бы нагуглил типовую схему включения стабилитрона и вообще с чем его едят.
А , закон ома как ?? Знаком или тоже гуглить надо.
Все современные сигнальные лампы - светодиодные с мизерным током потребления . Рассчитать величину падения напряжения на резисторе надо бы.
Резистор грется будет.
Это вполне может заработать, но я называю подобные схемы косячными заворотами схемотехники (потому что греется) путь дешевых китаезских девайсов.

Загадка :
Что делает по утрам китайский школьник ?

Ответ : Китайский школьник по утрам делает зарядку и несет ее в Евросеть.

Crusash
27.12.2013, 17:07
Сам хоть понял , что нарисовал ? Стабилитлонцик сгорит!
Хоть бы нагуглил типовую схему включения стабилитрона и вообще с чем его едят.
А , закон ома как ?? Знаком или тоже гуглить надо.
Все современные сигнальные лампы - светодиодные с мизерным током потребления . Рассчитать величину падения напряжения на резисторе надо бы.
Резистор грется будет.
Это вполне может заработать, но я называю подобные схемы косячными заворотами схемотехники (потому что греется) путь дешевых китаезских девайсов.

Загадка :
Что делает по утрам китайский школьник ?

Ответ : Китайский школьник по утрам делает зарядку и несет ее в Евросеть.

Мастер: ну представь свой вариант, или не мешайся китайцам делом заниматься))

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

zendo057
27.12.2013, 19:38
А вы не боитесь, тема то свободная.
В электрике я и правда не силен, но с чего то надо начинать...

вот такая схема будет работать?
11223

Ничего этого не надо.Подключаете реле паралельно лампочке, все.Что бы не грелся резистор сначало расчитываем U на резисторе.Затем зная ток нагрузки расчитываем мощность резистора,и берем чуть с запасом.

petera
27.12.2013, 22:03
Без резисторов и ничего не будет греться
11233
Правда я не знаю какая используется сирена. Если использовать вот такой оповещатель (или похожий) http://www.comtid.com/catalog.php?id=34&action=show_object
то будет работать точно. Этот оповещатель ПКИ-3Б отличается от ПКИ-1 http://www.comtid.com/catalog.php?id=32&action=show_object тем, что внутри имеет простейший источник +12V, выполненный по такой схеме.
11235
Так как оповещатель в первой схеме включается через диод, то при монтаже придется подобрать полярность его подключения.
Несмотря на маленькие габариты эти оповещатели очень громкие -110 бД.

Sergey666
28.12.2013, 00:28
Если обычный звонок на 220 в , то звенеть хреново на полуволне будет.

zendo057
28.12.2013, 18:14
Без резисторов и ничего не будет греться


Резистор если лампочки не 220в

amn
28.02.2014, 17:48
Здравствуте уважаемые форумчане. Есть новая задача.
Условие: котельная в частном доме. Есть коллектор. На нем помимо других есть несколько контуров теплого пола и контур нагрева бойлера ГВС. Максимальная температура коллектора погодозависимая и может меняться от 30 до 80 градусов. При включении нагрева бойлера температура коллектора 80 градусов.

В данном случае нас интересует работа смесительного контура теплого пола. Температура в этом контуре не должна превышать 40 градусов. Контролируется темпераута датчиком после смесителя на подаче контура.

Задача следующая: Нужен алгоритм поведения системы при выходе из строя датчика температуры подачи контура теплого пола.

Пока есть вариант закрыть привод полностью. Но тогда теплый пол нагреваться не будет совсем. Если этого не сделать, то при включении нагрева бойлера ГВС теплоноситель нагревается до 80 градусов и теплый пол может сильно перегреться.

Василий Кашуба
28.02.2014, 18:37
Здравствуте уважаемые форумчане. Есть новая задача.
Условие: котельная в частном доме. Есть коллектор. На нем помимо других есть несколько контуров теплого пола и контур нагрева бойлера ГВС. Максимальная температура коллектора погодозависимая и может меняться от 30 до 80 градусов. При включении нагрева бойлера температура коллектора 80 градусов.

В данном случае нас интересует работа смесительного контура теплого пола. Температура в этом контуре не должна превышать 40 градусов. Контролируется темпераута датчиком после смесителя на подаче контура.

Задача следующая: Нужен алгоритм поведения системы при выходе из строя датчика температуры подачи контура теплого пола.

Пока есть вариант закрыть привод полностью. Но тогда теплый пол нагреваться не будет совсем. Если этого не сделать, то при включении нагрева бойлера ГВС теплоноситель нагревается до 80 градусов и теплый пол может сильно перегреться.
Нужно увязать управление нагревом бойлера с отключением нагрева полов, можно даже от одного реле через переключающие контакты.

Валенок
28.02.2014, 20:10
Обратной связи нет - подмес контура полов переходит задаваемое пользователем положение. Я бы поставил 0. Ну не будет теплых полов и что ? Можно, раз погодозависимое и если вы знаете текущую т-ру коллектора, накидать некое соотношение т-ра коллектора/подмес полов.
Непонятно, как получаем в бойлере 50..55 если на коллекторе 30..80

amn
28.02.2014, 20:45
В бойлере стоит датчик температуры. Когда надо нагреть бойлер котел включает режим ГВС и греет коллектор до 80. Пока температура коллектора не будет выше, чем в данный момент в бойлере насос нагрева бойлера не включится. После нагрева бойлера до нужной температуры насос контура нагрева бойлера отключается и котел переходит в обычный режим нагрева по погодозависимому графику и температура в коллекторе опускается.

Sergey666
28.02.2014, 22:38
А какой вам алгоритм надо ? Выход из строя датчика - аварийная ситуация , соотв. реакция системы должна быть или полностью отключение контура аварийного или перевод в режим "еле-еле". Как на автомобилях - выход из строя некоторых датчиков приводит к переводу узлов на аварийный режим и машина едет , но потихоньку медленно .(Самолет лэтить низэнько-низэнько :p).

melky
03.03.2014, 12:32
Стоит подобная же задача на котле Китурами. Сервисники не дают протокола между мозгами котла и выносным термостатом (двухпроводка). И так же имеется бойлер косвенного нагрева.
Ну, кнопочку на термостате не проблема нажимать удаленно для нагрева бойлера (Т теплоносителя становится 80 гр), а вот после нагрева бойлера и при падении Т помещения на градус в систему пойдет все 80 гр вместо установленной на котле например 55гр.
Ну и проблема регулировать температуру теплоносителя для погодозависимого управления, в термостате потенциометр для этого.
з.ы. сделать градацию сопротивлений подключаемую к комнатному термостату можно, но как-то не совсем красиво.
Вот что в такой ситуации можно изобресть ? чтобы работало и не было много навешано ?

amn
23.04.2014, 20:48
Здравствуйте уважаемые форумчане.
Есть задача. Надо сделать ФБ, который по температуре воздуха и влажности будет выдавать температуру точки росы.

Входы:
1. Температура воздуха.
2. Влажность.
Выходы:
1. Температура точки росы.

Будет использоваться для экономии энергозатрат на нагрев ступенек в осенне-весенний, а то и зимний период, когда возможно обледенение ступенек при суточных колебаниях температуры от -10 до +5. Это может происходить когда воздух прогревается быстрее, чем нагреваются остывшие за ночь ступеньки. И выпавшая утром роса тут же замерзает.

Пока есть вариант поддерживать температуру ступенек выше температуры воздуха начиная с температуры -5 градусов. Также хотелось бы придумать вариант без использования датчика внутри ступенек, на случай если он выйдет из строя.
Может у кого есть мысли как улучшить алгорит?

ASo
23.04.2014, 22:16
Функция dew_temp библиотеки OSCAT building вычисляет точку росы.

amn
24.04.2014, 00:59
ASo, спасибо. Нашел у себя на компе эту библиотеку. По описанию то что надо.

IF rh > 0.0 THEN
(* old code was rewritten for better performance
SDD := 6.1078*EXPT(10,(a*T)/(b+T));
DD := RH/100 * SDD;
V := LOG(DD/6.1078);
dew_temp := b*V/(a-v);
*)
V := LOG(RH * 0.01 * EXP10((a*T) / (b+T)));
DEW_TEMP := b*V / (a-V);
ELSE
DEW_TEMP:= phys.T0;
END_IF;

много всего закоментировано рабочий код 6 строк.


Только тут или есть ошибки или я не знаю где взять функцию EXP10 из строки
V := LOG(RH * 0.01 * EXP10((a*T) / (b+T)));
а в этой строке
DEW_TEMP:= phys.T0;
не описана переменная phys

Попробовал поправить, но все равно работает не правильно.

Может у меня библиотека не та? Называется oscat_building_100.lib

petera
24.04.2014, 04:35
Только тут или есть ошибки или я не знаю где взять функцию EXP10 из строки
V := LOG(RH * 0.01 * EXP10((a*T) / (b+T)));
а в этой строке
DEW_TEMP:= phys.T0;
не описана переменная phys

Попробовал поправить, но все равно работает не правильно.

Может у меня библиотека не та? Называется oscat_building_100.lib
Ваша проблема связана с "выдергиванием" отдельных ФБ из библиотеки, вместо добавления ее в проект.
Библиотека oscat_building_100.lib использует еще и oscat_basic. И функция EXP10 именно в ней и находится.

FUNCTION EXP10 : REAL
VAR_INPUT
X : REAL;
END_VAR
EXP10 := EXP(X * 2.30258509299405);

Переменная phys является глобальной переменной библиотеки oscat_building и имеет пользовательский тип данных, описание которого находится в библиотеке oscat_basic.
12737
Таким образом
phys.T0:=-273.15 (температура абсолютного нуля)

amn
24.04.2014, 10:03
petera, спасибо. Не знал, что такое может быть. Обыскал эту бибку во всех местах, но не догадался посмотреть в другой :)

amn
15.06.2014, 13:31
Уважаемые форумчане. Хочу посоветоваться. Пишу проет для приточно-вытяжной вентиляции. На приточке есть один охладитель для охлаждения уличного воздуха летом и два калорифера для нагрева зимой. Все работают на антифризе через теплообменник от отопления. Посмотрел принцип работы готовых контроллеров. Если надо греть, то там сначала открывается клапан полностью для нагрева калорифера, а потом включается регулировка. Если на улице слишком холодно, то это нормально, а если нагреть надо немного, то получается к тому времени когда клапан откроется полностью будет сильный перегрев. Тем более у меня два калорифера и в этом случае может быть достаточно работы одного. Подскажите, кто делал с двумя калориферами оптимальный алгоритм работы. Интересует начальный момент включения.

lara197a
15.06.2014, 19:16
Если внимательно читали, то должны бы заметить, что время прогрева величина переменная.
Уж если хочется, поставьте в ноль.
А о каком приборе конкретно речь?
Второй калорифер Вам никто не скажет как включать. Все зависит от производительности вент установки и калориферов.
Обычно если один не справляется, второй открывают полностью.

amn
16.06.2014, 10:38
lara197a, спасибо за ответ. Время прогрева само собой будет разное, так как при нагреве ориентируемся на температуру теплоносителя. У меня готового прибора не будет. Хочу в Кодесис для ПЛК100 свою логику работы написать. Производительность вентиляции не постоянная и будет периодически меняться. Для этого вентиляторы будут управляться частотниками, поэтому два калорифера, если одного не будет хватать подключается второй. Когда все уже включено там все понятно как регулировать, а вот при первом запуске хотелось бы подробней разобраться как лучше сделать. Пока в голову приходит использовать погодозависимый график для начального нагрева калорифера перед включением вентилятора. Если бы был только один калорифер, а тут два. Вот пока думаю, как погодозависимый график на двоих сообразить.

Валенок
16.06.2014, 11:08
Все эти прогревы - только для защиты калорифера.
У Вас антифриз. На кой тогда ?

(Ужос от врывания страшеного холодного воздуха - менеджерам. Которые, тем не менее, не боятся окрыть форточку)

amn
16.06.2014, 11:26
Валенок, антифриз греется через теплообменник, в котором вода. Короче, чтобы если по какой-то причине вышел из строя насос нагрева теплообменника и система вентиляции по какой-то причине не узнала об этом, последний не заморозился холодным антифризом. Перестраховка.

Валенок
16.06.2014, 11:31
На каком контуре насос ?

amn
16.06.2014, 12:05
имелся в виду насос на контуре отопления, через который греется теплообменник контура вентиляции.

Валенок
16.06.2014, 12:16
И каким образом спасет этот "прогрев" если

по какой-то причине вышел из строя насос нагрева теплообменника и система вентиляции по какой-то причине не узнала об этом,
?

amn
16.06.2014, 12:49
Если калориферы не прогреются до нужной температуры вентиляторы просто не включатся.

Валенок
16.06.2014, 13:54
А где точки измерения и какая т-ра - нужная ?

AVF
16.06.2014, 14:08
Если калориферы не прогреются до нужной температуры вентиляторы просто не включатся.
---- а через охладитель воздух прогоняет свой отдельный вентилятор?

amn
16.06.2014, 14:35
А где точки измерения и какая т-ра - нужная ?
Валенок, измеряем температуру обратки калорифера, сравниваем с погодозависимым графиком или как-то еще, может кто-нибудь предложит лучшее решение.

AVF, зимой охладитель не работает, только летом. Вентилятор на охладитель и нагреватель
один и тот же.

Валенок
16.06.2014, 15:16
измеряем температуру обратки калорифера,.
Он же вторичный, да с антифризом. Если холодный - это еще не значит что первичный т.о. мерзнет. А вот если прямая холодная, то 100 пудов что-то с первичным т/о.
В зимний период, в стоянке, обычно поддерживается некая темп-ра обратки (когда с водой) - у Вас что-то такое есть ?

amn
16.06.2014, 16:04
Он же вторичный, да с антифризом. Если холодный - это еще не значит что первичный т.о. мерзнет. А вот если прямая холодная, то 100 пудов что-то с первичным т/о.
В зимний период, в стоянке, обычно поддерживается некая темп-ра обратки (когда с водой) - у Вас что-то такое есть ?

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

Валенок
16.06.2014, 16:14
Так понял что вторичный насос выключается в стоянке ?

amn
16.06.2014, 16:32
Все правильно, контур калориферов отключается.

Валенок
16.06.2014, 16:41
А что на первичном контуре (насос и вентиль) ?

amn
16.06.2014, 16:48
На первичном насос, включается когда надо греть теплообменник с антифризом.

Валенок
16.06.2014, 17:52
Серъезный подход. Тут видимо нужно прогревать.
Это все чтоб не заморозить калорифер ?

amn
16.06.2014, 20:36
Валенок, похоже кроме нас с Вами тема вентиляции мало кому интересна. Полезно бывает пообщаться с заинтересованным человеком и в процессе общения мысли в голове упорядочиваются. Спасибо Вам за это! Пока Вам объяснял что к чему, сам все понял. В результате сформировалось решение.

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

amn
14.03.2016, 22:19
Появилась новая задача.
Имеется 4 логических выхода, которые в процессе работы включаются по очереди: 1, потом 2, потом 3, потом 4. Отключаются в обратном порядке. Сейчас эти выходы подаются на входы четырем блокам (имеется в виду программным). Они предназначены для разрешения работы этих блоков. Короче говоря приоритет включения.

Возникла необходимость сделать возможность произвольно менять приоритет включения из панели ИП320 с защитой от дурака. Предложите пожалуйста оптимальный алгоритм решения.

lara197a
14.03.2016, 22:28
сдвиговый регистр, если по кругу
или 1234- постоянные, а в панели инициируйте к ним к примеру АВСД. как угодно.

Владимир Ситников
14.03.2016, 22:31
Приоритет включения это для того, чтобы "наиболее приоритетный блок" вышел из строя заведомо раньше других?
Цикл подойдёт в качестве "алгоритма"? (там реально же сделать цикл по блокам и включить нужные)

amn
15.03.2016, 00:49
Немного уточню. Имеется в виду возможность задать из панели приоритет включения в произвольном порядке. Например логический вход 1 перекинуть на блок 3, а логический вход 2 на блок 1.

vladimirisitnikov, про цикл не понял, где Вы его предлагаете применить в данной задаче?

amn
15.03.2016, 01:44
И самое интересное это защита от дурака. А именно в панели вводим для каждого объекта (блока) номер приоритета. Должно быть 4 разные цифры (от 0 до 3) в любой комбинации. В панели можно ограничить диапазон вводимых значений, но нельзя запретить вводить одинаковые цифры. Поэтому введенные данные надо проверить и привести их к правильным значениям. Например, если задали 0000 (4 нуля), то в результате должны получить 0123, если 0122, то 0123, из 1003 должно получиться 2013 и т.д

Чтобы было понятней сформулирую по-другому. Имеется исходный массив из 4 чисел в диапазоне от 0 до 3. В заданном массиве числа могут повторяться. Обработать массив так, чтобы числа не повторялись и были расставлены по приоритету исходного массива.

aplotnik
15.03.2016, 17:37
Берешь массив из 4-х элементов - по одному на каждый объект. В интерфейсе для каждого объекта выбираешь приоритет, к примеру, четырьмя кнопками, каждая из которых привязана либо к биту элемента массива, либо записью соответствующего значения в этот элемент. Смысл в том, что 1 приоритету соответствует взведенный первый(нулевой) бит, 2 приоритету - второй бит и.т.д.
Массив хранить в энергонезависимой памяти. Проверка на правильность: a[1] or a[2] or a[3] or a[4] == 0x1111
Выбор приоритетного блока производится перебором элементов массива с поиском нужного взведенного бита.

Понятно, что это не совсем то, но что делал, то и описал...

alex55
13.04.2016, 19:52
Позвольте спуститься с небес на грешную землю и предложить вашему вниманию задачу по дроблению продукта для молодых поросят, которую пришлось решать в авральном режиме. ТЗ: После заполнения наддробильного бункера задается задание величины нагрузки дробилки-далее старт и питатель подачи начинает плавно и равномерно набирать обороты(ПЧ 0-10В) стремясь к заданой нагрузке дробилки. При достижении +-1 от задания обороты стабилизируются, при превышении нагрузки снижаются с той же скоростью, стремясь войти в зону регулирования. Задачу решил, но не пойму как и что это теоретически: на пид регулятор не тянет, пи регулятор-тоже вроде не то,(хотя довести можно) вообщем что это? Прилагаю имитацию с визуализацией для желающих и любопытных поиграть и дать теоретически обоснованный ответ, т.к.в теории не силен..

aplotnik
14.04.2016, 09:31
надо зачеркнуть ещё 1 букву - это п-регулятор.

alex55
16.04.2016, 17:55
Спасибо aplotnik за ответ. Изучаю как дальше данный п-регулятор превратить в простой и понятный новичку и студенту пи регулятор. Советы и конструктивная критика приветствуются, правда, к сожалению, не поощряются материально..

amn
20.05.2016, 11:53
Задача написать симулятор работы холодильной установки. Нужен для написания и отладки регулятора давления в симуляторе.

Цифры в задаче взяты условно, какие будут в реале пока неизвестно.
Имеется осушитель (другими словами теплообменник, в котором вода охлаждается хладагентом R404A). Допустим вода приходит с температурой 20 градусов, а после охлаждения выходит 8 градусов.
Хладагент приходит с температурой 5 градусов, охлаждает воду и нагревается до температуры 18 градусов.
Компрессор сжимает газообразный хладагент и нагревает его до 60 градусов. Давление повышается. Далее он превращается в жидкость и под давлением поступает небольшой дозой через маленькое отверстие в область низкого давления, где при испарении снова охлаждается до температуры 5 градусов.

Задача симулятора вычислить показания датчиков давления в области низкого давления и в области высокого давления.

Что пока не понятно:
1. Зависимость давления при изменении температуры приходящей нагретой воды в осушитель. То есть что будет происходить при добавлении потребителей и если всех отключить. Как поведет себя система? Имеется в виду что произойдет с давлением в системе.

Мои рассуждения по этому поводу.
1. Компрессор включен, в области низкого давления уменьшается давление, пропорционально увеличивается давление в области высокого давления. Из области высокого давления через отверстие поступает жидкий хладагент, который испаряется и уменьшает температуру в области низкого давления - давление видимо должно еще больше уменьшиться за счет уменьшения температуры, или нет? Тогда на стороне высокого давления температура увеличивается не только за счет уплотнения газа, но из-за повышения температуры. Читаю что написал и вижу, что скорее наоборот температура повышается из-за повышения давления.

2. Отключили систему. Компрессор перестал работать. Разность давления между высоким и низким уменьшается за счет постепенного выхода жидкого хладагента в область низкого давления. Разрежение в области низкого давления уже не создается и испарение хладагента постепенно прекращается. Часть его так и не испарится после выравнивания давления.

3. Регулятор должен поддерживать давление в заданном интервале как в области низкого, так и в области высокого давления. Очевидно, что интервалы у них разные, а регулятор один, поскольку регулировка осуществляется компрессором (в режиме ШИМ). Необходимо определиться какую область давления взять за основу для регулирования. Мне видится область низкого давления, поскольку если во время работы давление упадет ниже 0.3, то за несколько секунд может произойти поломка оборудования. С другой стороны есть ли какие серьезные проблемы при выходе давления за пределы в области высокого давления?

4. Может есть мысли как сделать хитрый регулятор, который будет использовать оба интервала?

Pioner-KU
20.05.2016, 19:13
Что пока не понятно:
1. Зависимость давления при изменении температуры приходящей нагретой воды в осушитель. То есть что будет происходить при добавлении потребителей и если всех отключить. Как поведет себя система? Имеется в виду что произойдет с давлением в системе.

Если про фреон то тут давление (давление кипения) зависит от температуры. К примеру у нас охлаждаем воду до 2 градусов на 22 фреоне, это примерно 3.4 бара. но главное это перегрев паров фреона.



Мои рассуждения по этому поводу.
1. Компрессор включен, в области низкого давления уменьшается давление, пропорционально увеличивается давление в области высокого давления. Из области высокого давления через отверстие поступает жидкий хладагент, который испаряется и уменьшает температуру в области низкого давления - давление видимо должно еще больше уменьшиться за счет уменьшения температуры, или нет? Тогда на стороне высокого давления температура увеличивается не только за счет уплотнения газа, но из-за повышения температуры. Читаю что написал и вижу, что скорее наоборот температура повышается из-за повышения давления.



2. Отключили систему. Компрессор перестал работать. Разность давления между высоким и низким уменьшается за счет постепенного выхода жидкого хладагента в область низкого давления. Разрежение в области низкого давления уже не создается и испарение хладагента постепенно прекращается. Часть его так и не испарится после выравнивания давления.

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


3. Регулятор должен поддерживать давление в заданном интервале как в области низкого, так и в области высокого давления. Очевидно, что интервалы у них разные, а регулятор один, поскольку регулировка осуществляется компрессором (в режиме ШИМ). Необходимо определиться какую область давления взять за основу для регулирования. Мне видится область низкого давления, поскольку если во время работы давление упадет ниже 0.3, то за несколько секунд может произойти поломка оборудования. С другой стороны есть ли какие серьезные проблемы при выходе давления за пределы в области высокого давления?
4. Может есть мысли как сделать хитрый регулятор, который будет использовать оба интервала?
Регулятор этот уже изобретен и называется ТРВ (терморегулирующий вентиль)
Суть этого вентиля держать постоянный перегрев паров фреона в заданном режиме.

жекон
21.05.2016, 06:32
А зачем такие заморочки, я работаю с конторой которая делает ГЛВ(генераторы ледяной воды) в основном, так там вообще не кто не заморачиваеться 2-3 пресостата и терморегулятор. вот и вся автоматика)))

amn
21.05.2016, 10:25
У меня пока нет полной информации, но нужно контролировать холодопроизводительность в зависимости от количества включенных потребителей. Есть 3 компрессора, один из них регулируемый ШИМом, который работает всегда. Остальные (нерегулируемые) подключаются по мере надобности.

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

Меня мучают сомнения в одном вопросе. В этой системе есть спец контроллер, который регулирует расход жидкого хладагента (терморегулятор). Если добавится потребитель, то в испарителе повысится температура и давление в области низкого давления увеличится, также должен увеличиться "перегрев", на что отреагирует спец контроллер и уменьшит расход жидкого хладагента. Это повлечет за собой уменьшение давления в области низкого давления. Производительность уменьшится, т.к. повысится температура кипения хладагента, а давление нормализуется терморегулятором. А я как раз думал регулировать по изменению давления. Согласно вышеизложенным измышлениям так может не получиться. Или я ошибаюсь?

Pioner-KU
21.05.2016, 10:51
Что вас смущает? У вас уже стоит терморегулятор (ТРВ) на фреоновой линии перед испарителем? Испаритель (теплообменник) общий для всех компрессоров (общая фреоновая линия) или независимый?
Как я писал выше при чрезмерном количестве жидкого фреона поступающего в испаритель он, фреон, может выкипать не весь и жидкий фреон будет попадать в компрессор, что не есть хорошо.
Какой у вас тип компрессора?
Если винтовой то у них регулируется производительность оборотами (можно поставить частотник) или золотником (по моему) (больше-меньше).
То есть для R404A для кипения при температуре 20 градусов нужно поддерживать давление 10 бар. заводим это на регулятор.
почитайте Патрик Котзаогланиан Пособие для Ремонтника
там доступным языком все написано

amn
21.05.2016, 11:30
Компрессор спиральный. Регулируется ШИМом. Испаритель общий для всех компрессоров

Pioner-KU, Огромное спасибо. Глянул книжку, сразу увидел нюанс.

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

На самом деле давление не изменится, пока есть хоть какое-то количество жидкого хладагента. А оно будет, даже если терморегулятор уменьшит поток.

Pioner-KU
21.05.2016, 12:35
Советую посмотреть зависимость давления от температуры
к примеру вот: http://www.xiron.ru/content/view/10/27/
или для андройда есть бесплатное приложение: Refrigerant Slider фирмы Danfoss

amn
21.05.2016, 15:14
Спасибо уже видел эту страничку

alex55
15.06.2016, 15:10
Приветствую, уважаемые форумчане! Возникла потребность выразить значение влажности из психрометрической таблицы в виде какой то формулы, а не тупого вбивания значений IF(разность показаний сухого и влажного термометра по таблице=) AND (показания сухого термометра=) THEN (влажность по таблице такая то) и так сто раз-пока таблицу не переберешь..Может найдется юное математическое дарование для решения данной и весьма актуальной задачки. По поводу школы прошу не пинать-учился хорошо.:confused:

aplotnik
17.06.2016, 16:17
Читать "метод наименьших квадратов". По любому где то есть готовые программные наработки и математическое дарование может и не потребоваться.

Вольд
18.06.2016, 12:27
Читать "метод наименьших квадратов". По любому где то есть готовые программные наработки и математическое дарование может и не потребоваться.

А чем тут может помочь метод наименьших квадратов ? Или это так, для красного словца сказано ?

alex55
18.06.2016, 13:13
Ознакомился с методом наименьших квадратов и понял, что пошел по пути математиков 18 века. т.е. подбирал значения коэффициентов для построения функции эмпирическим путем, а эти квадраты придумали хитрые математики в 19 веке, решил на них всех положить и забил таблицу влажности в интересующем меня диапазоне обычным описанным ранее способом-пол сотни строк хватило. Спасибо aplotnik. Но если есть еще какие соображения на будущее могут пригодится, когда вся таблица потребуется..

вапросик
19.06.2016, 18:09
Приветствую, уважаемые форумчане! Возникла потребность выразить значение влажности из психрометрической таблицы в виде какой то формулы, а не тупого вбивания значений IF...:confused:

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