Страница 285 из 360 ПерваяПервая ... 185235275283284285286287295335 ... ПоследняяПоследняя
Показано с 2,841 по 2,850 из 3594

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

  1. #2841

    По умолчанию

    Собственно так и сделал, еще вчера, спустя пару минут после сообщения на форуме. Умные мысли приходят после :-)
    Screenshot_2.png

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

    По умолчанию

    Цитата Сообщение от RomanKk Посмотреть сообщение
    Собственно так и сделал, еще вчера, спустя пару минут после сообщения на форуме. Умные мысли приходят после :-)
    Screenshot_2.png
    Так у Вас всего семь аварий, а макрос для большого количества аварий я придумывал(для подсчёта количества бит в состоянии "1" в целочисленной переменной), впрочем это не помешает его использовать для семи аварий, вот добавил в проект макрос вставки бит, до восьми бит, вам должно хватить, ранее был на 16 бит и все эти макросы с расширением, для этого у них верхний целочисленный вход "Х" и настройки в свойствах макроса:

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

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

  3. #2843

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Очень плохо. Реально заколебало.
    Но применительно к задаче - накой ? Особенно в свете ПР и цикла минимум в 1мс ?
    То что в статье потребуется только тогда, когда будете оптимизировать что-то на уровне тактов камня. Нету для ПР таких задач.

    А 4 указанные выше мною строчки - это и есть самое первое из статьи:
    Вложение 65487
    что в местном варианте:
    Код:
    function cntbit: udint; 
        var_input
            mask : udint;
        end_var
       
        while mask <> 0 do
            cntbit := cntbit + bool_to_udint(mask.0);
            mask := shr(mask,1);
        end_while
    end_function
    Этот вариант тоже интересен (если бы ST в ПР мог делать AND)

    изображение_2023-01-27_084750763.png

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

    По умолчанию

    Цитата Сообщение от 1exan Посмотреть сообщение
    Этот вариант тоже интересен (если бы ST в ПР мог делать AND)..
    Этот вариант интересен для применения именно в ПР или вообще ?

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

    По умолчанию

    Валенок по идее все штатные функции в ST коде должны работать так же, как и FBD на холсте, и если AND и остальное не может работать с целочисленными так же, то это косяк реализации.

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

    По умолчанию

    melky, то что хотелось бы - и я не против (о чем сказал ранее) - п#2837
    Учитывая реальность (нет битовой логики, надеюсь - пока) и применительно к заявленной задаче (посчитать биты), то какой смысл в сложных алгоритмах и тем более на FBD. Чего там выгадывается ? Якобы производительность ? Это в п#2836-то, который на FBD т.к. нет битовых в ST ? )))

    2й алгоритм статьи (и в #2843) - стандартный и кошерный, и быстрее лобового цикла в отдельных случаях (типа 8000_0001h). Но :
    1. Только для какой задачи для ПР это "быстрее" будет иметь значение ? (говорил в п#2837)
    2. Опять же требует битовую логику которой нет
    Поэтому я предложил шаг назад - лобовой цикл. как легко реализуемый, понятный и я бы посоревновался по скорости с п#2836.

    Смысл вопроса п#2844
    Если же в каких-то специфических алгоритмах требуется именно битовая логика и именно в ST, то (как временная мера) несложно организовать соотв. ST-функции (and/or/xor/not) для udint. Что бы дождавшись версии 783 просто выкинуть эти эрзацы и поставить чистые битовые логики.

  7. #2847

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Этот вариант интересен для применения именно в ПР или вообще ?
    Он вообще интересен своей идеей.
    А для ПР будет интересен, когда допилят ST

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

    По умолчанию

    Хотеть не вредно, но зачем же организм насиловать ожиданием, в моём макросе как раз по второму варианту подсчитываются единичные биты, единственное различие - подсчёт начинается не с младшего единичного бита, а со старшего, но это же не принципиально(не имеет значения), с какой стороны начинать подсчёт единичных бит!
    Короче, к ПР эти методы, с целью ускорения подсчёта не относятся, здесь уже писали как максимально быстро, в смысле, за один цикл ПР можно все единичные биты пересчитать!
    Последний раз редактировалось Сергей0308; 27.01.2023 в 22:41.
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

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

    По умолчанию

    вопрос не в хотелках, тут другое, что хотели Овен сделал, но как всегда не до конца. Еще раз для понимания, FBD в приборе давно, AND, OR, NOT, XOR в нем может работать с целочисленными переменными. Запилили ST - эти же блоки не умеют работать с целочисленными.

    Для мозгов ПР все равно на чем ему говорят выполнить AND и далее, соответственно проверка уровнем выше, которая хромает.

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

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    вопрос не в хотелках, тут другое, что хотели Овен сделал, но как всегда не до конца. Еще раз для понимания, FBD в приборе давно, AND, OR, NOT, XOR в нем может работать с целочисленными переменными. Запилили ST - эти же блоки не умеют работать с целочисленными.

    Для мозгов ПР все равно на чем ему говорят выполнить AND и далее, соответственно проверка уровнем выше, которая хромает.
    Согласен, надо закруглятся с этим, в смысле, попробовали - не получилось, может это не их сильная сторона, в смысле, таланта нет, можно попробовать себя в другом деле, вдруг всё на ура пойдёт, в смысле, тогда это направление и развивать будете, а все вокруг любоваться и завидовать вашим успехам и достижениям!
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

Страница 285 из 360 ПерваяПервая ... 185235275283284285286287295335 ... ПоследняяПоследняя

Похожие темы

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

Ваши права

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