Страница 228 из 375 ПерваяПервая ... 128178218226227228229230238278328 ... ПоследняяПоследняя
Показано с 2,271 по 2,280 из 4477

Тема: разные вопросы новичка

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

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    По умолчанию

    Цитата Сообщение от АлександрН Посмотреть сообщение
    Здравствуйте, коллеги.
    Сломал голову с самодельным макросом. В эмуляторе битовую маску преобразует в набор номеров аварий корректно: при наборе аварий 0011 1110 (62 dec на вход) выдает коды аварий "23456", а на ПР200 отображает "23452". Далее при наборе аварий 0010 1110 (46 dec на вход) на ПР200 отображает "2343" (ожидалось "2346").
    Не пойму где я ошибся, уже несколько раз макрос пересобирал.
    Снимок экрана 2022-12-24 154143.png
    код_аварии.zip
    Если у вас проблемы не с макросом, а с выводом на экран ПР200 - есть смысл прикреплять весь проект, а не макрос

  2. #2

    По умолчанию

    Весь проект не могу выложить, заказчик не позволит. Этот макрос выходом подключен к переменной, выводимой на экран. В режиме онлайн отладки и в режиме эмуляции на вход приходит в обоих случаях одинаковое значение, а на выходе получаются разные. То есть алгоритм на ПР200 работает совсем не так, как в OL.

  3. #3

    По умолчанию

    Цитата Сообщение от АлександрН Посмотреть сообщение
    Весь проект не могу выложить, заказчик не позволит. Этот макрос выходом подключен к переменной, выводимой на экран. В режиме онлайн отладки и в режиме эмуляции на вход приходит в обоих случаях одинаковое значение, а на выходе получаются разные. То есть алгоритм на ПР200 работает совсем не так, как в OL.
    Не можете выложить проект, выложите кусок с макросом и выводом на экран, где эту проблему можно повторить.
    Кроме того если вбивать аварии 12345, всё норм, а если 54321, то они всё равно отображаются 12345, то есть не в том порядке.
    Последний раз редактировалось kondor3000; 24.12.2022 в 17:10.

  4. #4

    По умолчанию

    Цитата Сообщение от АлександрН Посмотреть сообщение
    Весь проект не могу выложить, заказчик не позволит. Этот макрос выходом подключен к переменной, выводимой на экран. В режиме онлайн отладки и в режиме эмуляции на вход приходит в обоих случаях одинаковое значение, а на выходе получаются разные. То есть алгоритм на ПР200 работает совсем не так, как в OL.
    Сделайте сами проект только с этим макросом и только с выводом выхода макроса на экран. Может остальная часть программы на вывод влияет.

  5. #5
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    3,053

    По умолчанию

    Весь проект не могу выложить, заказчик не позволит.
    1.Здесь всем на..рать на Вашего заказчика, тем более что решается Ваша проблема.
    2.Какая-то дичь : целочисленные преобразуемые во флоаты, возведение в степени, флоаты обратно во целые. Там что угодно потеряете.

  6. #6

    По умолчанию

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

    образец.zip

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

    По умолчанию

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

    образец.zip
    Передавайте на ИПП120(по сети) битовой маской в панели уже преобразуете как надо!
    Я бы писал сразу название аварии, например с помощью динамического текста, чтобы голову не морочить и если аварий больше одной выводил их по очереди, кстати было много подобных тем!
    И хочу Вас поздравить, такое впечатление, что Вам не дают форум смотреть и даже саму программу ОЛ, в смысле, там уже есть функция вставки бит и многое другое, зачем что-то придумывать, их заменяющее, тем более у Вас это не получается, в смысле, на много сложней!
    Посмотрите эти темы, может чего почерпнёте:
    https://owen.ru/forum/showthread.php?t=31076&page=2
    https://owen.ru/forum/showthread.php?t=31113&page=7
    https://owen.ru/forum/showthread.php?t=29865&page=8

    Короче, если решите по очереди аварии выводить, я и проект выкладывал(по верхней ссылке), то и битовую маску даже не придётся на биты обратно разбивать, в смысле, там такой алгоритм, он данные сразу из битовой маски берёт!

    И, вот здесь выкладывал макрос поиска максимального значения из 16 и номера входа с максимальным значением:
    https://owen.ru/forum/showthread.php?t=25067&page=70
    Так если на нескольких входах максимальные значения, то все номера таких входов отображаются по очереди, начиная с самого маленького входа по числовому значению, короче, как у Вас в макросе, но он проще вашего на порядок при большей функциональности.

    MAX_3_2.PNG

    Можно его использовать, в смысле, булевы сигналы преобразовать в целочисленные и подать на входа 1-10 макроса!

    Вот, немного поправил старый проект(были небольшие косяки):

    MAX_6.owle

    Но все десять входов одновременно активировать нельзя, переменная переполнится, нужно ограничиваться девятью, в остальном вроде всё нормально работает:

    MAX_6.PNG
    Последний раз редактировалось Сергей0308; 25.12.2022 в 12:02.
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

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

    По умолчанию

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

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

    По умолчанию

    Цитата Сообщение от Dimensy Посмотреть сообщение
    Попробуйте так
    Посмотрел проект, в смысле, лучше создавать некоторую функционально законченную группу элементов и оформлять в виде макросов, пусть это получится немного избыточно для конкретного случая, но тогда не придётся каждый проект начинать с чистого листа, будет своя библиотека макросов, в смысле на форуме ранее выкладывали целочисленные стеки, в том числе и я! Не хочу искать тему, кому интересно найдёт, мне проще проект с макросом выложить!
    Там кстати, применительно к нашему случаю, есть выбор выводимого из макроса разряда стека(диапазон 0-31), в смысле, одного выхода будет достаточно:

    Матрица памяти, реверсивный энергонезависимый стек..owle

    FIFOR32.PNG
    Последний раз редактировалось Сергей0308; 25.12.2022 в 19:37.
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

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

    По умолчанию

    Цитата Сообщение от Сергей0308 Посмотреть сообщение
    Посмотрел проект, в смысле, лучше создавать некоторую функционально законченную группу элементов и оформлять в виде макросов, пусть это получится немного избыточно для конкретного случая, но тогда не придётся каждый проект начинать с чистого листа, будет своя библиотека макросов, в смысле на форуме ранее выкладывали целочисленные стеки, в том числе и я! Не хочу искать тему, кому интересно найдёт, мне проще проект с макросом выложить!
    Там кстати, применительно к нашему случаю, есть выбор выводимого из макроса разряда стека(диапазон 0-31), в смысле, одного выхода будет достаточно:
    Я думал насчет стека, тем более в менеджере компонентов есть макрос для аварий, но пока в Лоджике не сделали возможность использовать кнопки в программе, такие стеки просматривать неудобно - надо нажать SEL, выбрать номер записи, нажать ENTER - слишком много действий

Страница 228 из 375 ПерваяПервая ... 128178218226227228229230238278328 ... ПоследняяПоследняя

Похожие темы

  1. ПЛК 110 - Вопросы новичка?
    от di-s в разделе ПЛК1хх
    Ответов: 21
    Последнее сообщение: 15.04.2025, 16:38
  2. Вопросы новичка!!!
    от sau в разделе ПЛК1хх
    Ответов: 42
    Последнее сообщение: 02.05.2022, 19:57
  3. Вопросы новичка по MasterScada
    от MrNobody в разделе Master SCADA 3
    Ответов: 4
    Последнее сообщение: 04.09.2014, 14:39
  4. Вопросы полного новичка
    от Korion в разделе ПЛК1хх
    Ответов: 11
    Последнее сообщение: 09.02.2010, 10:08
  5. Вопросы новичка по ПЛК
    от Ollegator в разделе ПЛК1хх
    Ответов: 4
    Последнее сообщение: 07.07.2009, 09:29

Ваши права

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