Страница 1 из 3 123 ПоследняяПоследняя
Показано с 1 по 10 из 26

Тема: Макрос побитного вывода сигнатуры (beeper)

  1. #1

    По умолчанию Макрос побитного вывода сигнатуры (beeper)

    Здравствуйте!

    В общем, возникла необходимость попищать пьезиком, причем по-разному. Был сооружен макрос, приложенный к сообщению.
    Идея его работы в том, что он работает точно: то есть прямо тик-в-тик. Когда счетчик достигает нуля, то тут же переключается на начало, без "артефактов" сброса.

    Сам макрос побитно выводит в порт 21-битную сигнатуру со входа. В сигнатуре: 1- пищим, 0 - молчим. Период 0.2 секунды. Соответственно, 1111100000 -- 1 секунду пищим, 1 секунду молчим. 21-ый бит задает цикличность. 1 -- однократно, 0 -- пищим до упора. Если на входе появляются отличные от старых данные, макрос автоматически перезапускается. "Нулевая" сигнатура со входа не выводится -- макрос останавливается: В случае с однократным выводом, нужно либо записать новую сигнатуру, либо "ноль" и потом ту же, что выводилась перед этим (1ххх100500 -- 0 -- 1ххх100500)

    Нет, все работает, проблема в том, что осталось послевкусие дебила -- кажется, что можно было раз в пять проще... Особенно после упорного конструирования макроса fSEL -- когда я нашел потом на форуме макрос rovki и тот, который с "машинным эпсилон"... В общем, Вам лучше не знать, какой fSEL я там у себя наваял... ))) В связи с этим принимается любая, самая злостная критика и злостное тыкание носом во все подряд. Не всегда процесс обучения вкусный и удобный...

    Спасибо всем, кто откликнется!
    Вложения Вложения
    • Тип файла: zip BEEP.zip (160.1 Кб, Просмотров: 2)

  2. #2
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,224

    По умолчанию

    модель генерирующая входной сигнал имеется? просто влом домысливать какая послеовательность всеже должна поступать
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  3. #3

    По умолчанию

    Если запустить макрос на исполнение (отладку) и на вход подать тестовые сигнатуры, то выход будет переключаться в соответствии с сигнатурой. Например,
    Тестовые сигнатуры: 1946272 - 3 тире 3 точки однократно (двоичное: 1 1101 1011 0010 1010 0000); 897696 - 3 тире 3 точки циклично (двоичное: 0 1101 1011 0010 1010 0000). То есть это и есть входной сигнал. На счет модели -- пока нет готовой. Саму "моргалку" я сделал, а вот "собрать в кучу" сигналы из разных источников не успел.
    В общем, проблема в том, что мне кажется, что это сделано как-то коряво -- используя обратные связи. Нормально clock-ать без них не получилось: Счетчик по-разному считает. Например, дойдя до нуля на секунду перебрасывается на 65535, а потом на 20 (19) бит. Либо "проглатывался" один такт (цикл) в старшем бите и время "пищания" становилось меньше на 0.2 секунды. Сейчас, если тыкать макрос по шагам видно, во-первых, одинаковое время "работы" каждого бита, во вторых, после нуля сразу же появляется "правильный" 20-ый (19 от нуля) бит. Но я выяснил, что если изменить период сигнала (BLINK), то и схему надо корректировать. Отсюда вывод об ограниченных умственных возможностях... )))
    Последний раз редактировалось tigdin; 05.04.2015 в 21:44.

  4. #4
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,224

    По умолчанию

    Цитата Сообщение от tigdin Посмотреть сообщение
    Если запустить макрос на исполнение (отладку) и на вход подать тестовые сигнатуры, то выход будет переключаться в соответствии с сигнатурой. Например,
    Тестовые сигнатуры: 1946272 - 3 тире 3 точки однократно (двоичное: 1 1101 1011 0010 1010 0000); 897696 - 3 тире 3 точки циклично (двоичное: 0 1101 1011 0010 1010 0000). То есть это и есть входной сигнал.
    это пока понятно только Вам, пока Вас будут "пинать" создайте модель генератора в виде макроса, включили первый вход , выход выдал определенную последовательность импульсов, подали сигнал на второй вход макроса на выходе другая последовательность например циклическая, не по програмистки это как то самому на входе импульсы набивать, так и тестирование легче пойдет основного блока
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  5. #5

    По умолчанию

    Ага, понял... Сейчас прилеплю...

    В общем, тестовый проект в архиве. Если включать-выключать входы -- видно, что происходит на выходах. Если включить вход I3, то на выходе будет циклическая последовательность нулей и единиц (clock, меандр). НО! Если, ткнуть в макрос BEEP3 левой кнопкой мыши и выставить параметр Th и Tl в 0.2 секунды, вся последовательность летит к чертям... Вот что еще обнаружилось... Я и говорю, как-то все это... (((
    Вложения Вложения
    • Тип файла: zip Test.zip (423.9 Кб, Просмотров: 7)
    Последний раз редактировалось tigdin; 05.04.2015 в 22:40.

  6. #6
    Пользователь Аватар для rovki
    Регистрация
    03.01.2010
    Адрес
    Чехов
    Сообщений
    12,113

    По умолчанию

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

  7. #7
    Пользователь Аватар для rovki
    Регистрация
    03.01.2010
    Адрес
    Чехов
    Сообщений
    12,113

    По умолчанию

    жаль что вы предлагаете обсудить готовое решение ,а не задачу .К Цели ведут много дорожек...
    Про тире и точки вы как мне кажется не случайно говорите?Уж не Морзе делаете ли..
    Последний раз редактировалось rovki; 05.04.2015 в 23:08.
    электронщик до мозга костей и не только

  8. #8

    По умолчанию

    rovki, здравствуйте! Нет, не Морзе )). Нужно, чтобы, в зависимости от состояний, пищало по разному. Попробую сформулировать проблему.

    В зависимости от состояний системы на пьезике появляются разные последовательности звуковых импульсов.
    Когда реле готово и нет ошибок, загорается зеленый индикатор и раздается сигнал, например, однократно два коротких сигнала бип-бип.
    Когда входим в режим уставок, загорается оранжевый световой сигнал и однократно три коротких сигнала.
    Когда уставки сохраняются -- один длинный сигнал.
    Когда ошибка, загорается красный индикатор и система непрерывно пищит бип-бип-бип...
    Когда нажимаем кнопки (которые не щелкают), раздается короткий однократный сигнал.
    Вот и пришла идея, сделать нечто, которое читает последовательность нулей и единиц -- сигнатуру и в зависимости от порядка нулей и единиц издает разные звуки. Единица -- сигнал 0.2 секунды, Ноль -- пауза 0.2 секунды. И еще одним битом указывать тип сигнала -- однократный или непрерывный. Коммутацию на входе макроса осуществлять мультиплексором, который в зависимости от адреса (номера) флага на входе посылает на выход нужную последовательность (сигнатуру).
    Еще есть кнопка, нажатие которой вызывает отключение сигналов на некоторое время, спустя которое система пищит снова. Такую назойливость подсмотрел у фашистов на оборудовании. Там сигнал отключается, но спустя некоторое время железяка снова начинает орать, пока не устранять проблему. Чтобы умники не могли выключить звук и оборудование будет "висеть" в проблемном состоянии неопределенное время...
    В общем, как-то так...
    rovki, может быть Вам известен более простой способ? После Вашего макроса fSEL мне стало совсем стыдно...

  9. #9
    Пользователь Аватар для rovki
    Регистрация
    03.01.2010
    Адрес
    Чехов
    Сообщений
    12,113

    По умолчанию

    Так это для слабо видящих что ли нужно ?На слух работать .А сколько разных звуковых комбинаций нужно то-состояний системы и кто формирует эти состояния ?От этого зависит путь ..
    Последний раз редактировалось rovki; 06.04.2015 в 00:10.
    электронщик до мозга костей и не только

  10. #10

    По умолчанию

    tigdin Посмотрите вот эти ГОСТы. Всё давно уже придумано.

    ГОСТ Р 51340-99 Безопасность машин. Основные характеристики оптических и звуковых сигналов опасности. Технические требования и методы испытаний
    ГОСТ Р 51341-99 Безопасность машин. Эргономические требования по конструированию средств отображения информации и органов управления. Часть 2. Средства отображения информации

    Цитата Сообщение от rovki Посмотреть сообщение
    Так это для слабо видящих что ли нужно ?На слух работать .А сколько разных звуковых комбинаций нужно то-состояний системы и кто формирует эти состояния ?От этого зависит путь ..
    Звук является дополнительным каналом информации. Перед включением автоматической линии в автоработу 5-10 секунд воет сирена. Нужно для того, чтобы или аварийный трос дёрнуть, или с рабочей зоны выпрыгнуть.

Страница 1 из 3 123 ПоследняяПоследняя

Похожие темы

  1. Макрос в макросе
    от АлексPetr в разделе Программируемые реле
    Ответов: 4
    Последнее сообщение: 28.01.2015, 21:16
  2. Ответов: 12
    Последнее сообщение: 18.11.2014, 12:14
  3. Макрос
    от CEkip в разделе Программируемые реле
    Ответов: 11
    Последнее сообщение: 13.04.2012, 21:54
  4. память ввода/вывода
    от вопрос в разделе ПЛК1хх
    Ответов: 4
    Последнее сообщение: 15.01.2007, 13:37

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •