не понял - переключать надо?
Вид для печати
не понял - переключать надо?
Похоже он говорит не о блинке,а о ТON ,о задержках включения последовательных ,а выключение одновременное
что-то ничего красивого кроме каскада TONов в голову не лезет.
Тогда мой вариант.
Макрос на 7 выходов последовательного запуска (Q1-Q7).
Каждый выход можно разрешить/запретить в любое время (входа I1-I7).
Сигналом включения цикла запуска является лог.1 на входе S. Лог.0 выключает все выхода.
Выход D - сигнал завершения цикла запуска. Его можно прикручивать на вход следующему такому же макросу, каскад делать.
Пауза между включениями - параметр макроса.
Для таких целей есть D -триггера
не ,наверное забыл ,нужны все явные ОС.Это обычный регистр сдвига ,когда его паяют из железа (ИС) ,то так и делают .
Недостаток вышеприведенных схем ,в том,что если выхода нет в списке (0 на входе) ,выключен то есть ,то время всеравно отрабатывается .Тоесть если задать последовательность включения 1,3,5,7 с задержкой 1сек ,то они будут включаться с задержкой 2 сек .
Вот макрос ,где для этих целей используются последовательное включение TON ов ,причем если выход отключен ,то он не вносит задержки .Кроме того ,можно устанавливать разные задержки по разным каналам.
Баг, I3 выключает 2 выхода, I6 ни одного. Поправьте, пжлста.
Рабочее поле сделали таким большим ,что масштаб приходится делать 40% ,не мудрено не туда завести .Главное вы поняли идею .
макрос поправлю.Привет СИБИРИ !
А если нужно 8TON ,то вот макросы ,в том числе один универсальный
мой вариант 7тон, с выходом для каскадирования.
PS на D-триггерах сделаю позже (самому интересно сравнить)
UPD блин в названии макроса ошибся :eek:
значит, следующий будет с правильным названием ;)
Тем более у вас есть свои Д триггеры на ХОR.
Довольно много элементов и нет возможности ,задавать свою задержку каждому каналу.Но что хорошо ,так это нет задержки ,если канал выключен
Да и обьем памяти под макрос побольше чем у варианта на TON/
изначально задача звучала такPS в компьютерах иногда применяется такая же схема,
в серверах, когда много жестких дисков они включаются последовательно с секундной задержкой, что бы уменьшить суммарные пусковые токи.
и задавать там индивидуальную задержку нет смысла.
Я лишь исходил из обшего принципа универсальности ,а не конкретного ТЗ, Тз для меня лишь толчок к проектированию,чем больше возможностей (дармовых) ,тем шире область применения .Тема то -универсальные макросы.Но не будем спорить у каждого свой подход.
у моей схемы есть интересный эффект - если из ремонта вышли одновременно несколько насосов, то они включатся тоже не одновременно.
UPD представляю вниманию 8тон, на входе то что включать НЕ надо.
на D-триггерах этого сделать не получилось.
Хорошо бы пример использования данного макроса ,хотя бы на 8 выходов\входов
по просьбам телезрителей "пример", собственной персоны.
на входе сигналы ошибок от 8 двигателей, и кнопки вкл/выкл
на выходе сигналы включения 8ми двигателей.
попутно там есть ещё 2 макроса - DBI и BDI
Вообще желательно краткое описание для пользователей или хотя бы отличия в работе от аналога .:rolleyes:
В моем макросе ищутся экстремумы функции (числовой) и именно они выдается на выход макроса ,а не максимальное \минимальное число.
Что бы не было скучно нужно ГЕНЕРИТЬ ИДЕИ (примеры) ,хотя и модернизация не возбраняется;) :)
Это не задержка ,а ожидание момента смены знака приращения(определение экстремума) .Потому и нет описания ,что экстремум понятие определенное и само название есть суть работы.В моем случае функция так же дискретная ,заданная числовой последовательностью .Поиск экстремума в моем макросе -это определение смены знака приращения и выдача значения на выход в этой точке до следующего экстремума .Если функция не имеет экстремумов (монотонно возрастает/убывает) ,то и на выходе макроса будут нули.А для поиска максимума и минимума у меня был другой макрос .
Вот это уже аналог ,причем лучше подлинника:D ;)
поиск экстремума, с гистерезисом.
сравнивается текущее значение с локальным max/min.
если отклонение (строго) больше заданного значения гистерезиса, то считается, что направление сменилось.
PS гистерезис задаётся в св-вах макроса, прямо в проекте, так же как это делается в TON или BLINK
(обычно это справа, в доп. окошке, тут и тут есть наглядные примеры)
Модифицированный макрос EXTRB (EXTBN)
позволяет задавать по входу Nb номер байта (1,2,3,4) для экстракции (чтения битов) в 32разрядном слове.Если номер не задавать (0) ,то все равно будет читаться 1(младший байт) .Варианты принимаются:D ;)
Если вы привыкли работать с булевой логикой , а количества входов в макросе ,создаваемым вами не хватает (более 8) ,то предлагается использовать два макроса .Первый макрос преобразует биты(8шт) в целочисленный формат (число) ,причем если количество бит больше 8 ,то можно использовать еще такой же макрос ,указав в свойствах номер байта (1,2,3,4) .Затем складываем все байты \числа (целочисленные) и подаем на вход макроса ,в котором не хватает входов .И в этом макросе ставим макрос(Ы) EXTBN ,которые выполняют обратную операцию ,преобразуют десятичное число в битовые сигналы ,для дальнейшего использования внутри создаваемого макроса .Вообщем раньше так и делалось ,отличие лишь в том ,что теперь можно работать с байтами количеством от 1 до 4 (8-32 бит).
Так не вручную ,в столбик умножать то ,так наглядней,можно и СЕЛ использовать .Дайте свой вариант ,тем более ,что по целочисленной арифметике вам нет равных.Главное что бы суть(идея) и внешняя оболочка макроса осталась .
Симпатишно :) .Умножения заменили на запись битов .Количество констант уменьшилось ,а переменных увеличилось ,но это не важно .Спасибо за вариант.Только следует сказать для пользователей, что нумерация байтов а вашем варианте идет с нуля ,пусть будет так :rolleyes: если проще.
про переменные, вы правы - этот ресурс ПР мною ещё не очень изучен.
и как вы заметили, он "важнее" стека.
Уважаемые, добрый день. Помогите сделать макрос с попеременным включением 2х реле. После прохождения некого цикла, нужно чтобы происходило переключение между двумя насосами.
Таких проектом (макросов) было куча ,надо только поискать ,может этот пойдет http://www.owen.ru/forum/showpost.ph...postcount=2112
rovki, тоже сейчас заморочен схемой ротации оборудования, но в моем случае работать должно 2+1 или 3+1. Но для интереса посмотрел ваш вариант и наткнулся на такой момент. Кроме того, что макрос запаролен и нет возможности посмотреть в действии истинную работу макроса как говорится, не мое, не трогай :).
Что выполняет 1-й вход ? просто включение схемы в работу или еще и возможность ручного переключения устройств в работу ?
Если второе, то почему часто при переключении 1-го входа в работу может вступать одно и тоже устройство два и более раз ?
И даже иногда включаются два устройства одновременно.
http://www.owen.ru/forum/attachment....1&d=1364217903
Там ,внутри черт голову сломит :eek: -смотрите осторожней ;) 190158 .
Первый вход -это сигнал с датчика давления на включение насоса (очередного) .В данном макросе ротация идет не по часам ,а по времени наработки насосов .Если долго работал один насос ,то в следующий раз ротация будет среди 2 насосов ,пока не догонят ресурс первого насоса .Есть куча примеров ,где ротация по времени (часам) наберите в поиске "ротация насосов).
посмотрите, что-ль и мой вариант