Страница 15 из 15 ПерваяПервая ... 5131415
Показано с 141 по 150 из 150

Тема: Прошу помощи с разработкой программы.

  1. #141
    Пользователь
    Регистрация
    09.12.2013
    Адрес
    Ставрополь
    Сообщений
    1,138

    По умолчанию

    Не доработан пока корректный запуск после сбоя питания. Но основные функции можно тестить - в теории должно работать, но я мог не все баги выловить. Макросы с символом подчеркивания в конце (находятся в папке Оболочка) - это переход от задания времени ЧЧ:ММ в ММ (Т.е., в дальнейшем, можно будет сэкономить на сетевых переменных). Там еще есть возможности сэкономить, но это потом (если надо будет). Алгоритм не очень оптимальный, но тут сказывается уже моя компетентность

    Камеры 2.0.owle

    Не, кривой алгоритм получился. Этот файл бракуем
    Последний раз редактировалось Dimensy; 01.12.2022 в 10:18.

  2. #142
    Пользователь
    Регистрация
    09.12.2013
    Адрес
    Ставрополь
    Сообщений
    1,138

    По умолчанию

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

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

    По умолчанию

    Цитата Сообщение от Dimensy Посмотреть сообщение
    Вот, вроде все учел. Переключение между режимами, возможность работы отдельной камеры в режиме фитинги. И даже визуализация очереди есть
    В общем, пробуйте. Будут вопросы - задавайте. Время передается одним регистром в минутах, поэтому на панели нужно будет распаковывать/запаковывать.
    У Вас просто монструозный макрос "Очередь", точнее там определяется ранг переменной в зависимости от её значения, наверно сложнее невозможно придумать, во всяком случае Вас тяжело или невозможно будет переплюнуть, мне так кажется!
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

  4. #144
    Пользователь
    Регистрация
    09.12.2013
    Адрес
    Ставрополь
    Сообщений
    1,138

    По умолчанию

    Цитата Сообщение от Сергей0308 Посмотреть сообщение
    У Вас просто монструозный макрос "Очередь", точнее там определяется ранг переменной в зависимости от её значения, наверно сложнее невозможно придумать, во всяком случае Вас тяжело или невозможно будет переплюнуть, мне так кажется!
    .
    Ну, если представите изящный вариант, будет здорово. А так, я его делал в теме https://owen.ru/forum/showthread.php...l=1#post392095. Там, есть и на ST макрос.
    В принципе, можно очередь одной строкой представить

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

    По умолчанию

    Цитата Сообщение от Dimensy Посмотреть сообщение
    .
    Ну, если представите изящный вариант, будет здорово. А так, я его делал в теме https://owen.ru/forum/showthread.php...l=1#post392095. Там, есть и на ST макрос.
    В принципе, можно очередь одной строкой представить
    Могу подсказать как я это вижу на данный момент, в смысле, со временем представление может меняться!
    Вот здесь в постах 695 и 700 я макрос выкладывал нахождения максимального значения из 16: https://owen.ru/forum/showthread.php?t=25067&page=70
    Так вот, если не изменяет память Вы ещё подсказывали как сократить процесс до 16 циклов программы, там он занимает 32 цикла!
    Так вот за 16 циклов находим наибольшее(можно и наименьшее, не принципиально), далее запоминаем наибольшее(наименьшее) и убираем его из сравнения, цикл сравнения повторяем, находим наибольшее из оставшихся и так 15 раз, пока весь ранг переменных не определится в зависимости от их значений, надеюсь понятно объяснил?
    Чтобы в одной строке(переменной) весь ранг запомнить придётся сократить количество сравниваемых переменных до 8, 16 не поместятся, да и алгоритм упростится и процесс ускорится, Вам же всего 6 переменных нужно сравнивать!
    Последний раз редактировалось Сергей0308; 03.12.2022 в 23:22.
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

  6. #146
    Пользователь
    Регистрация
    09.12.2013
    Адрес
    Ставрополь
    Сообщений
    1,138

    По умолчанию

    Цитата Сообщение от Сергей0308 Посмотреть сообщение
    Могу подсказать как я это вижу на данный момент, в смысле, со временем представление может меняться!
    Вот здесь в постах 695 и 700 я макрос выкладывал нахождения максимального значения из 16: https://owen.ru/forum/showthread.php?t=25067&page=70
    Так вот, если не изменяет память Вы ещё подсказывали как сократить процесс до 16 циклов программы, там он занимает 32 цикла!
    Так вот за 16 циклов находим наибольшее(можно и наименьшее, не принципиально), далее запоминаем наибольшее(наименьшее) и убираем его из сравнения, цикл сравнения повторяем, находим наибольшее из оставшихся и так 15 раз, пока весь ранг переменных не определится в зависимости от их значений, надеюсь понятно объяснил?
    Чтобы в одной строке(переменной) весь ранг запомнить придётся сократить количество сравниваемых переменных до 8, 16 не поместятся, да и алгоритм упростится и процесс ускорится, Вам же всего 6 переменных нужно сравнивать!
    Плаваю я в вашем способе писать программы. Но вот, что-то получилось.
    Вложения Вложения

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

    По умолчанию

    Цитата Сообщение от Dimensy Посмотреть сообщение
    Плаваю я в вашем способе писать программы. Но вот, что-то получилось.
    Ну вот, совсем другое дело! Ведь можете когда захотите! Для первой попытки просто замечательно! Многие(в отличии от Вас) не хотят учится, и орут "подавайте мне ST", то есть вообще не хотят головой думать!
    Помните как говорил Альф:
    Вы не любите кошек(в смысле ОЛ)?
    Вы просто не умеете их готовить!
    Кстати, на их планете кошки считались деликатесом!
    Короче, мне кажется, как минимум на порядок проще получилось, в смысле меньше элементов!
    Последний раз редактировалось Сергей0308; 04.12.2022 в 13:49.
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

  8. #148

    По умолчанию

    Цитата Сообщение от Dimensy Посмотреть сообщение
    Вот, вроде все учел. Переключение между режимами, возможность работы отдельной камеры в режиме фитинги. И даже визуализация очереди есть
    В общем, пробуйте. Будут вопросы - задавайте. Время передается одним регистром в минутах, поэтому на панели нужно будет распаковывать/запаковывать.
    Это просто шедевр!!! Я бы писал столько макросов полтора года "с книжкой", и то не написал бы так как вы!
    Постараюсь на этой неделе доделать шкаф (скоммутировать с камерами), и переписать интерфейс под новые данные, и скорее на следующей неделе буду тестировать по полной!

  9. #149
    Пользователь
    Регистрация
    09.12.2013
    Адрес
    Ставрополь
    Сообщений
    1,138

    По умолчанию

    Особенно проверьте восстановление работоспособности после пропажи питания. Теоретически должно работать, но надо на железе проверять. И косяк один есть, я все сетевые команды для камер упаковал в одну переменную, а она 32 битная, а ПР в слейве понимает только 16 бит - надо на три камеры раскидывать или для каждой использовать свою переменную, запас, вроде имеется. После работы поправлю.

    Так как панель Овена поддерживает UDINT, а ПР в режиме слейв групповые запросы, я решил все таки сэкономить и разбил переменную на два регистра со склейкой в ПР. Главное чтобы они располагались в соседних регистрах и еще важен порядок - старший/младший. Сам такого никогда не делал, но попробуйте, если не получится, то сделаем команды на каждую камеру индивидуально. Регистров при этом получится 63, что хватает. Ну и можно еще чуть сэкономить (12 регистров) объединив переменные Статус, Режим и Очередь.
    Нюанс: режим работы камеры (Автомат 1/Автомат 2) можно задать с панели. Он является приоритетом перед переключателем на щите управления, за исключением прерывания работы на выходные дни и запуска после выходных - здесь приоритетом является физический переключатель.
    Вложения Вложения
    Последний раз редактировалось Dimensy; 05.12.2022 в 19:17.

  10. #150

    По умолчанию

    Цитата Сообщение от Dimensy Посмотреть сообщение
    Так как панель Овена поддерживает UDINT, а ПР в режиме слейв групповые запросы, я решил все таки сэкономить и разбил переменную на два регистра со склейкой в ПР. Главное чтобы они располагались в соседних регистрах и еще важен порядок - старший/младший.
    Осталось научиться это делать =)
    Я не до конца разобрался как вообще реализовывать формулы в данной панели. Сейчас буду штурмовать профильную тему. Жаль поиск по форуму отвратительно сделан (тему с запросом находит, а сообщение не показывает).

Страница 15 из 15 ПерваяПервая ... 5131415

Похожие темы

  1. Прошу помощи
    от _neo_19 в разделе Среда программирования OWEN Logic
    Ответов: 2
    Последнее сообщение: 05.02.2017, 12:23
  2. Прошу помощи в написании программы
    от Вован84 в разделе ПЛК1хх
    Ответов: 24
    Последнее сообщение: 04.09.2014, 07:16
  3. Прошу помощи)))
    от rustam_m в разделе Сетевые технологии
    Ответов: 18
    Последнее сообщение: 05.04.2013, 17:17
  4. Ответов: 5
    Последнее сообщение: 23.03.2012, 08:19

Ваши права

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