Отличная работа ,если считают правильно ....Собраны в одном месте и выполнены единообразно ,спасибо от всех .Ждем продолжения...
Вид для печати
Отличная работа ,если считают правильно ....Собраны в одном месте и выполнены единообразно ,спасибо от всех .Ждем продолжения...
Спасибо за высокую оценку! Я постарался все проверить, но пусть народ потестирует, надеюсь будет полезно
Спешу выложить свой макрос, назову его счётчиком значений с плавающей запятой, делал для суммирования интегральной составляющей ПИД-регулятора, можно использовать как обычный реверсивный счётчик для значений свыше 65535!
Если это не универсальный макрос (функция не очевидна) ,а скорее специальный ,то нужно более подробное описание и четкое название ,отражающее суть работы .В вашем случае это скорее сумматор ,чем счетчик ...ИМХО.
И просьба для всех -выкладывать их соответствующих темах про макросы ,иначе их никто не найдет спустя время...
Ну да скорей сумматор, только суммирует по переднему фронту счётного импульса, при реверсе уменьшает значение по заднему фронту счётного импульса на значение на I4 входе!
стробируемый ,вещественный сумматор ....:rolleyes:как то так...
Слово "универсальный" у меня на уровне подсознания вызывает негативную реакцию, так как в большинстве случаев подразумевает некую избыточность, может я и не прав!
Универсальный - значит для любых применений(функционально законченный) ,но без излишнего функционала ,Т.Е. БЕЗ смешивания разных функций .Например ,макрос синус -может использоваться в любых проектах ,где нужно вычислять данную функцию.Или например макрос ППЗУ(одномерная таблица) ,работает аналогично микросхеме соответствующей ,а так же -регистр сдвига ,дешифраторы ,сумматоры,двоичные счетчики ,пид-регуляторы ,,,,,,,
А специальные -это специализированные ,для узкого применения ,но для широкого круга пользователей ,например макрос приемо\передатчика или макрос фиксации аварийных ситуаций , макрос резервирования насосов ,,,,макрос вычисления времени восхода\заката солнца ....,,,,,,....
Вот еще накидал несколько макросов, с помощью которых высчитываются различные астрономические величины (склонение Солнца, уравнение времени, истинный полдень) и время восхода/заката в зависимости от географических координат. В примере осталась проверка работоспособности для Анадыря на 1.09.15. Если нет желания или возможности связываться с долготой, то вместо истинного полудня можно взять 12 часов, но тогда будет приличная ошибка (например, для Орла она равна 36 минут). При расчете использованы следующие условности - северная широта и восточная долгота положительные, южная широта и западная долгота - отрицательные.
Проверить истинный полдень можно здесь: https://ru.wikipedia.org/wiki/%D0%92...81.D0.B8.D0.B8, а времена восхода-заката я проверял на pogoda.mail.ru
еще бы модуль GPS к Пр приварганить :D,тогда и координаты вводить не надо было
Сразу видно- человек дружит с математикой ,молодец ...
Да уж, нас в училище гоняли по вышке капитально - матан отдельно, ЛААГ отдельно, да еще и прикладная математика была
Не могу понять, как написать программу для ПР114 для реализации задачи:
имеется датчик движения, выключатель без фиксации, лампа, нужно
1. при срабатывании датчика движения в ночное время (с 23ч до 6ч) включить свет на 3мин., если за этот период движения повторяются, сбросить таймер и снова продолжить отсчёт 3мин.
2. при нажатии клавиши выключателя, если свет горит - выключить его. если свет не горит - включить на 5мин.
просьба помочь на примере
Хорощо бы самому начать ,хоть что то .Держите пример вашего освещения:cool:
Это пример ,варианты возможны ...Может кому пригодится ТР с перезапуском :rolleyes:
спасибо за пример, запустил его в режиме симулятора, из примера не увидел и не понял самого главного, как выключатель гасит лампу, которая уже зажглась от датчика движения? или эта задача там не реализована?
нет не реализована ,потому как не описана.вот другой вариант :cool:
Rovki, спасибо Вам за пример, мне, как новичку, это огромная помощь.
теперь сутки мучаюсь :) не могу понять, почему при срабатывании датчика движения, вместе с TOF1(таймер для датчика движения) также запускается TON1(таймер для кнопки), и лампа выключается не тогда, когда отработал TOF1, а лишь после того, как отработал TON1?
(т.е. таймер датчика движения, его перезапуск - в моём случае не влияет на выключение лампы)
Для этого нужно писать полное ТЗ ,что ,когда .В голове проработать все варианты взаимодействия кнопки и датчика ..А уж потом и проект появится .Меняйте схему ,учитесь ..Это проще чем с нуля рисовать ,однако :rolleyes:
Если лампа сработала по датчику ,а вы тем не менее нажали кнопку ,то это значит выключить свет не дожидаясь 3мин.
Мой вариант, вход I3 для проверки(включения интервального таймера)!
Если сработал детектор движения и остался в замкнутом положении и вам надо в этой ситуации чтобы постоянно светилась лампа, то переместите детектор переднего фронта и поставьте между элементом "2И" и D-триггером!
Спасибо Сергей, в вашем варианте проблема с перезапуском таймер датчика движения - решена.
Существует ещё проблема: если лампу выключить кнопкой, то не успеваешь отойти от выключателя, срабатывает датчик движения и снова её включает, а должен блокироваться и разблокироваться до наступления событий:
1. включения лампы кнопкой
2. когда наступает 23ч.
поможите модернизировать ваш вариант Свет_2.owl?
Я же написал, что вход I3 у меня для имитации включения интервального таймера, подайте на I3 "0" или лучше уберите элемент 2ИЛИ и до 23.00 от датчика движения лампа не будет включатся!
Вложение 19926
Вот Вам готовый вариант, только не забудьте время в ПР настроить!
Вложение 19928
Логика конечно не идеальная, это первое, что мне в голову пришло, для "идеальности" не хватает RS-триггера и двух элементов 2И, для сброса D-триггера от того таймера, который сработал последним, но это не принципиально, поэтому не добавил, можете сами добавить, если сочтёте нужным!
Вложение 19929
если свет погасили кнопкой, датчик перестаёт включать свет, до тех пор, пока либо свет снова кнопкой не включат либо снова наступила ночь 23ч.--00мин.
раньше имел опыт программирования на Delphi, C++ там я бы запомнил событие "ВЫключили свет кнопкой" в некой переменной как "единичка", и не давал бы датчику движения включать свет, пока эта переменная не будет сброшена в "ноль". сбрасывается она либо всё той же кнопкой при включении света, либо если снова наступило 23ч.-00мин.
в вашем примере похоже это не реализовано (выключился свет(неважно от чего), гашу его кнопкой, далее срабатывает датчик движения и включается свет - а не должен, его же кнопкой выключили)
сделать самому - пока не получается (не хватает навыков и знаний)
Да, такое не предусмотрено!
Хотел уточнить, свет должен включиться от датчика движения или всё равно от датчика движения или с кнопки вы его включали, если выключили кнопкой, то дальше как вы написали, лампа не включается до нажатия кнопки или до 23.00, что раньше наступит?
Если всё равно, от чего была включена лампа, то где-то так.
Выключается, если лампа была включена от датчика движения, то где-то так.
Оптимизируете, если логика вас устроит, это первое, что в голову пришло!
благодарю за помощь
Добрый день!
Подскажите, как можно реализовать на ПР114 след.задачу:на 1 из 5 входов подается дискретный сигнал от датчиков, на аналоговом выходе, в зависимости на какой вход придет 1, должен появится сигнал: 4, 8, 12, 16 или 20 мА?
0 ма.......
Наверно так "правильней"!
Вложение 20009