Результаты опроса: Как часто в своих проектах вы делаете вывод аварий на экран ПР200?

Голосовавшие
27. Вы ещё не голосовали в этом опросе
  • Я практически всегда создаю вывод аварий на экран в своем проекте

    16 59.26%
  • Я чаще всего создаю вывод аварий в своем проекте

    8 29.63%
  • Я редко создаю вывод аварий в своем проекте

    2 7.41%
  • Я никогда не создаю вывод аварий в своем проекте

    1 3.70%
Страница 5 из 10 ПерваяПервая ... 34567 ... ПоследняяПоследняя
Показано с 41 по 50 из 95

Тема: Опрос, Используете ли Вы в своих проектах контроль аварий с выводом их на экран ПР?

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

    По умолчанию

    Цитата Сообщение от bayk Посмотреть сообщение
    Друзья! подскажите пожалуйста! я мучаю индикатор на 16 аварий для ИПП120. хочу выводить общее количество аварий, но по причине того. что я хочу выводить аварии не со второй строки а с первой, то я из первой координаты первой аварии вычел 1 и в итоге все стало нормально, но теперь в последней координате у меня в отсутствие аварий "4 миллиарда трампампам" в итоге я уже не могу из этого числа достать сумарное количество активных аварий. как бы теперь его высчитать (получить сумму "1") в переменной аварий (битовая маска, передаваемая по сети из контроллера), может кто делал такой макрос?
    Ну а чем мой вариант не понравился, вроде недавно выкладывал:

    Сумматор бит.PNG

    За один цикл всё высчитывается!

    Можно сделать как мелкий предлагал, каждый цикл по одному биту считать, начиная со старшего, может так и проще получится, я правда в этом сомневаюсь:
    https://www.owen.ru/forum/showthread.php?t=31127

    У меня ещё есть идеи как биты посчитать в переменной(для упрощения конструкции, обычным реверсивным счётчиком), тоже не за один цикл, но то, что выложил, это самое простое с точки зрения понимания, чем может не устраивать, мне наверно не понять?!
    Последний раз редактировалось Сергей0308; 07.06.2019 в 17:25.
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

  2. #42

    По умолчанию

    Сергей0308 я опирался на этот вариант, но мне потребовалось выводить аварии с 1 строки экрана (а для этого координаты должны с 0 высчитываться), а не со второй, потому начал огород городить. прикладываю программу в ОЛ 1.14. может покритикуете. я хотел пойти по вашему пути и использовать предложенную конструкцию, но залип с тем, что не могу упаковать в 32 битную переменную два сетевых регистра. а макроса такого с набегу не нашел (потому задал вопрос в соседней теме) я уже через ананизм избавился от переполнения первой координаты при вычитании из нее 1. а в текущей программе решил, что просто распакую по отдельности два сетевых регистра в кучу бит и сделаю конструкцию, как изначально предлагал Ревака Юрий
    Вложения Вложения

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

    По умолчанию

    Цитата Сообщение от bayk Посмотреть сообщение
    Сергей0308 я опирался на этот вариант, но мне потребовалось выводить аварии с 1 строки экрана (а для этого координаты должны с 0 высчитываться), а не со второй, потому начал огород городить. прикладываю программу в ОЛ 1.14. может покритикуете. я хотел пойти по вашему пути и использовать предложенную конструкцию, но залип с тем, что не могу упаковать в 32 битную переменную два сетевых регистра. а макроса такого с набегу не нашел (потому задал вопрос в соседней теме) я уже через ананизм избавился от переполнения первой координаты при вычитании из нее 1. а в текущей программе решил, что просто распакую по отдельности два сетевых регистра в кучу бит и сделаю конструкцию, как изначально предлагал Ревака Юрий
    Разбить-собрать, наверно так:

    Разбить-собрать INT32 на 2 регистра.PNG

    Посмотреть пока не могу, честно не могу понять при чём здесь координаты и количество единиц в переменной, мне кажется, что это никак не связано!
    Последний раз редактировалось Сергей0308; 07.06.2019 в 00:33.
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

  4. #44

    По умолчанию

    Сергей0308 с количеством единиц в переменной - это способ получить текущее количество аварий (хотел использовать их в случае, если аварий более 2 и непонятно надо ли листать экран (сейчас так и сделал, только в виде отображения "полосы прокрутки" )) в итоге выплыл глюк с 4 миллиардами в первой координате и появлением пустого экрана над первой аварией. и когда я его победил, то снова получил количество аварий из значения в последней координате +1.

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

    По умолчанию

    Цитата Сообщение от bayk Посмотреть сообщение
    Сергей0308 я опирался на этот вариант, но мне потребовалось выводить аварии с 1 строки экрана (а для этого координаты должны с 0 высчитываться), а не со второй, потому начал огород городить. прикладываю программу в ОЛ 1.14. может покритикуете. я хотел пойти по вашему пути и использовать предложенную конструкцию, но залип с тем, что не могу упаковать в 32 битную переменную два сетевых регистра. а макроса такого с набегу не нашел (потому задал вопрос в соседней теме) я уже через ананизм избавился от переполнения первой координаты при вычитании из нее 1. а в текущей программе решил, что просто распакую по отдельности два сетевых регистра в кучу бит и сделаю конструкцию, как изначально предлагал Ревака Юрий
    Вот посмотрел программу и вопрос к Вам даже не пришлось менять: чем мой вариант не устроил?
    Мой позволяет определить:
    1. Наличие аварии(верхняя строчка);
    2. Первопричину, номер бита аварии(вторая строчка, сверху);
    3. Координаты аварий, начиная с "0", как Вы хотели, для расположения аварий построчно, в порядке поступления(3-34 строчка);
    4. Отдельным макросом, ранее уже писал об этом, суммарное количество аварий.
    Кроме того, можно сбрасывать по одной аварии, начиная с самой первой, то есть просмотреть все аварии не прокручивая строки экрана.
    Короче, я бы предпочёл летать на чужих самолётах, пока не придумаю своего, летающего!

    координаты с _0.PNG

    Регистрация аварий_7.owl

    Или так:

    Регистрация аварий_8.PNG

    Регистрация аварий_8.owl
    Последний раз редактировалось Сергей0308; 15.06.2019 в 20:05.
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

  6. #46

    По умолчанию

    я просто до конца не разобрался с работой рамп-бита. еще не совсем понимаю, как можно сбросить в варианте №8 все аварии не по очереди через отдельный вход и как увеличить количество аварий до 64? это в принципе возможно?

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

    По умолчанию

    Цитата Сообщение от bayk Посмотреть сообщение
    я просто до конца не разобрался с работой рамп-бита. еще не совсем понимаю, как можно сбросить в варианте №8 все аварии не по очереди через отдельный вход и как увеличить количество аварий до 64? это в принципе возможно?
    Макрос "RAMP_BIT" изменяет на выходе в переменной не более одного бита за цикл программы, если на входе сразу изменилось в переменной более одного бита, начиная с самого старшего, далее по мере уменьшения старшинства(номера или весового коэффициента). Макрос "RAMP_BIT_M" в данном случае запоминает аварии, аналогично RS-триггерам в проекте Юрия Реваки. Если у вас аварии одновременно не срабатывают и запоминать их не надо, всё это можно убрать!
    В 8 версии всё аналогично как в 7 версии, также можно сбросить все аварии сразу!
    Можно сделать всё, но проще ограничится 32 авариями на одном экране! Можно как-то аварии сгруппировать по 32 и на разные экраны вывести, если Вы их по сети передаёте, они уже и так сгруппированными приходят по 16 аварий! Короче на двух экранах поместятся ваши 64 аварии практически без переделок!
    Последний раз редактировалось Сергей0308; 17.06.2019 в 12:26.
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

  8. #48

    По умолчанию

    понял! спасибо большое за разъяснения!

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

    По умолчанию

    Цитата Сообщение от bayk Посмотреть сообщение
    понял! спасибо большое за разъяснения!
    Я их(эти макросы) уже описывал чуть ранее в посте #28: https://www.owen.ru/forum/showthread.php?t=31113&page=3
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

  10. #50

    По умолчанию

    я просто не сразу вкурил и отложил в долгий ящик. сейчас, когда приперло уже более внимательно в них всмотрелся. и вроде стало более понятно.

Страница 5 из 10 ПерваяПервая ... 34567 ... ПоследняяПоследняя

Похожие темы

  1. ПЛК-74М Проблемы с выводом данных на экран.
    от Кирилл М. в разделе ПЛК63/73
    Ответов: 2
    Последнее сообщение: 18.01.2019, 20:50
  2. Ответов: 4
    Последнее сообщение: 13.12.2018, 13:09
  3. Создание своих символов для пр200
    от Keldish в разделе Среда программирования OWEN Logic
    Ответов: 2
    Последнее сообщение: 02.02.2017, 09:09
  4. какой стриппер используете
    от CRW в разделе Трёп (Курилка)
    Ответов: 11
    Последнее сообщение: 06.04.2016, 00:04
  5. где овен берет корпуса для своих изделий?
    от незарегистрированный в разделе Трёп (Курилка)
    Ответов: 1
    Последнее сообщение: 09.12.2007, 18:05

Метки этой темы

Ваши права

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