Страница 4 из 7 ПерваяПервая ... 23456 ... ПоследняяПоследняя
Показано с 31 по 40 из 73

Тема: Умный тумблер Прошу помощи!

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Пользователь Аватар для Василий Кашуба
    Регистрация
    20.11.2011
    Адрес
    Ставрополь
    Сообщений
    2,552

    По умолчанию

    Цитата Сообщение от NikitaR Посмотреть сообщение
    ...
    Василий Кашуба, спрашивал по поводу "внутренностей" макросов/программ, Василий там ничего особенного нету, просто логическая последовательность с задержками по времени (скорее даже там нету никакой логики(логических блоков), а просто задержки). Просто для каждой из 100 программ есть своя индивидуальная задержка.

    Я понимаю, что можно , наверное, решить эту проблему, просто создав для себя таблицу с каждой программой и задержками временными, и просто на дисплее ПР200 для каждой переменной вбивать каждую новую программу, новые значения, но это очень долго, и можно ошибиться (оператор может не справиться).

    Я думал даже может просто уж если на то пошло написать просто 100 *.owl программ, и написать скрипт с помощью которого автоматически подключенный по USB нетбук будет каждый раз загружать в ПР200 новую программу, но это уже какая то муть получается.

    UPD.
    Условно говоря что внутри макросов/программ:
    screenshot2018-11-19001.1542619517.png
    Напишите временные параметры каждого макроса (можно в ЛС) и как долго работает выбранная программа, а также кто или что определяет, что программа закончила выполнятся???

  2. #2
    Пользователь Аватар для Василий Кашуба
    Регистрация
    20.11.2011
    Адрес
    Ставрополь
    Сообщений
    2,552

    По умолчанию

    Цитата Сообщение от Василий Кашуба Посмотреть сообщение
    Напишите временные параметры каждого макроса (можно в ЛС) и как долго работает выбранная программа, а также кто или что определяет, что программа закончила выполнятся???
    Ответа на поставленные вопросы я так и не получил.

  3. #3
    Пользователь Аватар для Сергей0308
    Регистрация
    25.06.2011
    Адрес
    Галактика Андромеды (M31)
    Сообщений
    9,440

    По умолчанию

    Цитата Сообщение от NikitaR Посмотреть сообщение
    Всем доброго дня, и спасибо всем кто не равнодушен к моей проблеме!

    Как а и писал ранее меня бы устроил вот такой алгоритм решения моей проблемы:
    screenshot2018-11-19001.1542618358.png
    НО переменные выделенные красным цветом не хотят назначаться!
    Может быть я что то не так делаю?

    Прочитал, все что вы тут выше написал, и понял только одно, что я очень сильно плаваю в некоторых терминах, хотя интуитивно я думаю, что донес основную мысль.
    Так же понял, что возможно тот способ который я изначально предложил, и который мне помог реализовать Aviator_VZh, возможно не верный из-за того, что переменные (XYZDN) на выходе не могут нести "универсальную функцию использования".
    Но как иначе мне управлять ими? Ведь это 5 основных исполнительных механизма станка, которые должны работать с правильной логикой и последовательностью, и ими можно управлять только по принципу 0,1...

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

    Я понимаю, что можно , наверное, решить эту проблему, просто создав для себя таблицу с каждой программой и задержками временными, и просто на дисплее ПР200 для каждой переменной вбивать каждую новую программу, новые значения, но это очень долго, и можно ошибиться (оператор может не справиться).

    Я думал даже может просто уж если на то пошло написать просто 100 *.owl программ, и написать скрипт с помощью которого автоматически подключенный по USB нетбук будет каждый раз загружать в ПР200 новую программу, но это уже какая то муть получается.

    UPD.
    Условно говоря что внутри макросов/программ:
    screenshot2018-11-19001.1542619517.png
    Я вот нашёл здесь логику и попробовал сделать на регистре сдвига:

    На регистре сдвига.PNG

    Как минимум в 3 раза сократилось количество временных уставок!

    И если коммутировать целочисленный выход, можно свести 6 выходов макросов в одну целочисленную переменную(через сдвиг), каждый макрос занимает 5 бит, всего в переменной 32 бита, останется мультиплексор целочисленный придумать на 17 входов, типа такого:

    MUL8IR.PNG

    Всё!

    Как один из вариантов коммутации для моего преведущего таймера на регистре сдвига:

    Мой вариант_4.PNG

    Наверно проще, 6 мультиплексоров поставить?!

    И, если все макросы похожие, отличаются только значением уставки, может проще уставку изменить?
    Вложения Вложения
    Последний раз редактировалось Сергей0308; 21.11.2018 в 02:19.
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

  4. #4

    По умолчанию

    Цитата Сообщение от NikitaR Посмотреть сообщение
    Всем доброго дня, и спасибо всем кто не равнодушен к моей проблеме!

    Василий Кашуба, спрашивал по поводу "внутренностей" макросов/программ, Василий там ничего особенного нету, просто логическая последовательность с задержками по времени (скорее даже там нету никакой логики(логических блоков), а просто задержки). Просто для каждой из 100 программ есть своя индивидуальная задержка.
    Ранее я писал, что Вам проще уйти от хитрых схем и менять только задержки, тем более, что Вы написали что только их требуется задавать.
    В приложении мой пример чего я хотел сказать.
    Если подать 0 на вход макроса, то он обнулит таймаут, т.е. если сделать 0 программу, она будет сбросом. Помогает не ждать завершения программы, 0 программу можно принудительно запускать перед запуском выбранной оператором программы. (к блинк можно точно так же прикрутить макрос и для задания времени задержек и для сброса) Все задержки задаются в мс. Соответственно в макрос можно добавит нужное Вам количество выходов, и прикрепить задержки соответствующие каждой программе.
    Я нарисовал вторую часть, т.е. реализацию задания задержек в зависимости от выбранной программы. За кадром остается выбор программы на экране и что будет являться триггером на запуск самой программы. Т.е. к этой части прикрутить экран, добавить нужное кол-во задержек и будет счастье.
    Вложения Вложения
    Последний раз редактировалось Sel; 25.11.2018 в 02:41.

  5. #5
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    4,121

    По умолчанию

    НО переменные выделенные красным цветом не хотят назначаться!
    Может быть я что то не так делаю?
    Конечно не так
    Нужно выходы макросов по ИЛИ объединять
    в простейшем случае
    Захват-1.png
    Последний раз редактировалось petera; 19.11.2018 в 12:49.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Мой канал на РУТУБЕ
    https://rutube.ru/channel/23641433/
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  6. #6
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    4,121

    По умолчанию

    Цитата Сообщение от petera Посмотреть сообщение
    Конечно не так
    Нужно выходы макросов по ИЛИ объединять
    в простейшем случае
    Захват-1.png
    В более расширенном варианте
    Захват-2.png
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Мой канал на РУТУБЕ
    https://rutube.ru/channel/23641433/
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  7. #7
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    13,009

    По умолчанию

    NikitaR
    1. выбираете по номеру свой алгоритм, как вам предложили выше, но с блокировкой, дабы другой макрос, кроме выбранного не работал, то есть blink с 0 на входе.
    2. Как предложил petera объединяете одноименные выходы через OR

    Другой подход - Возьмите за основу макрос ПЗУ и сделайте на выходе ОДИН макрос. А все временные задержки пропишите в ПЗУ, и выбирая номер программы у вас все будет меняться и работать через ОДИН макрос. Сильно сэкономите по количеству FBD. при чем ОЧЕНЬ сильно.
    Если есть некоторые отличия в программах, можно сделать 2,3 или нужное количество требуемых макросов + ПЗУ и уже только их менять как в первом варианте.

  8. #8

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    но с блокировкой, дабы другой макрос, кроме выбранного не работал, то есть blink с 0 на входе.
    Не очень понял, это как? Если не сложно изобразите пожалуйста.
    Цитата Сообщение от melky Посмотреть сообщение
    Возьмите за основу макрос ПЗУ
    А как его полное название? Не выходит найти.

    petera Спасибо большое! Это однозначно решение! Единственное, я прикинул, и вышло какое-то космическое кол-во блоков OR

  9. #9
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    13,009

    По умолчанию

    NikitaR я вам сразу сказал, что при таком решении будет космическое количество блоков.
    a petera вам уже нарисовал расширенный вариант, только он там выходы блокировал.
    И еще один момент, посмотрите по документации ОЛ как начинает работать его blink, кажется с паузы, в принципе если так устраивает то и ладно.

    Макрос ПЗУ посмотрите в темах о макросах или даже в онлайн базе
    EPROM или EEPROM еще может называться.

  10. #10

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    И еще один момент, посмотрите по документации ОЛ как начинает работать его blink, кажется с паузы, в принципе если так устраивает то и ладно.
    Да видимо с паузы.

    В идеале в программу нужно ввести такое значение как базовое состояние(исходное положение) каждого исполнительного механизма (к примеру 0).
    Т.К. Если менять программы с одной на другую, то получается, что одна программа не успевает завершиться, и сразу перескакивает на другую, и получается некий конфликт.
    Т.Е. нужно что бы либо каждая программа завершалась до конца, и лишь потом перескакивала, либо перед переходом на другую программу, значение(номер программы) переключать на 0.
    К примеру: работает программа №55, а мне нужна №66, перед переходом на №66, я сперва перехожу на программу №0, в программе №0 все исп. механизмы приходят в исходное положение 0, и лишь потом я уже перехожу на программу №66,
    №55 => №0 => №66 => №0 => №35 => №0 => №99 => №0..... и т.д.

Страница 4 из 7 ПерваяПервая ... 23456 ... ПоследняяПоследняя

Похожие темы

  1. Прошу помощи
    от L1ktus в разделе Среда программирования OWEN Logic
    Ответов: 4
    Последнее сообщение: 04.09.2017, 14:22
  2. Прошу помощи
    от Фурсов в разделе Подбор Оборудования
    Ответов: 1
    Последнее сообщение: 13.06.2017, 12:13
  3. Прошу помощи
    от _neo_19 в разделе Среда программирования OWEN Logic
    Ответов: 2
    Последнее сообщение: 05.02.2017, 12:23
  4. Прошу помощи)))
    от rustam_m в разделе Сетевые технологии
    Ответов: 18
    Последнее сообщение: 05.04.2013, 16:17
  5. прошу помощи
    от Сергей1987 в разделе ПЛК1хх
    Ответов: 11
    Последнее сообщение: 12.07.2010, 17:08

Ваши права

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