Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя
Показано с 11 по 20 из 22

Тема: ST, доступ по индексу

  1. #11

    По умолчанию

    Цитата Сообщение от EFrol Посмотреть сообщение
    Нельзя индекс бита задавать через переменную.
    Попробуйте так:
    Код:
        var
            i : udint;
            sv : udint;
        end_var
        
        for i := 0 to 5 do
            sv := shr(uzas, i);
            if sv.0 then
                uza_alarm := 15 - i;            
            end_if
        end_for
    так работает, большая вам благодарность! А не подскажете, как это работает?

  2. #12

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Если не знаете как написать, смотрите примеры, там есть всё, циклы, работа с массивами и т. д.

    https://owen.ru/forum/showthread.php...=9&p=429061#81
    О, благодарю за такую инфу, почитаю )

  3. #13

    По умолчанию

    Цитата Сообщение от TaPX Посмотреть сообщение
    так работает, большая вам благодарность! А не подскажете, как это работает?
    Так же как это, 1 строка
    Код:
        var_input 
            uzas : udint; 
        end_var
             
       uza_alarm :=15 - cd32(uzas);
       
    end_function
    Только c 6 бита (>=64 надо обнулить)
    Последний раз редактировалось kondor3000; 25.10.2024 в 10:41.

  4. #14

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Так же как это, 1 строка
    Код:
        var_input 
            uzas : udint; 
        end_var
             
       uza_alarm :=15 - cd32(uzas);
       
    end_function
    Только c 6 бита (>=64 надо обнулить)
    магия ) а как , для чайника, это работает?

  5. #15

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Так же как это, 1 строка
    Код:
        var_input 
            uzas : udint; 
        end_var
             
       uza_alarm :=15 - cd32(uzas);
       
    end_function
    Только c 6 бита (>=64 надо обнулить)
    function_block functionblock1 //имя функционального блока.



    var_input
    uzas : udint;
    start : udint;
    quant : udint;
    end_var

    var_output
    Q : udint;
    end_var

    var
    i: udint;
    sv: udint;
    end_var

    for i := 0 to (quant - 1) do
    sv := shr(uzas, i);
    if sv.0 then
    Q := start - i;
    end_if
    end_for



    end_function_block

    А как с этим вашим cd32 вот такое переделать?

  6. #16

    По умолчанию

    Цитата Сообщение от TaPX Посмотреть сообщение
    магия ) а как , для чайника, это работает?
    Читаем справку по F1, про cd32 и shr ( shl )

    C cd32 и переделывать почти не надо, он со всеми 32 битами работает, число 15 замените на переменную.
    Последний раз редактировалось kondor3000; 25.10.2024 в 11:03.

  7. #17

    По умолчанию

    Цитата Сообщение от TaPX Посмотреть сообщение
    так работает, большая вам благодарность! А не подскажете, как это работает?
    В переменную sv записывается значение uzas смещенное вправо на i бит. Например, при i = 5, 5-й бит смещается на место 0-го.
    Соответственно потом можно анализировать только sv.0.

  8. #18

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Читаем справку по F1, про cd32 и shr ( shl )
    там сухие две строчки, и для чайника ничего непонятно

  9. #19

    По умолчанию

    Цитата Сообщение от EFrol Посмотреть сообщение
    В переменную sv записывается значение uzas смещенное вправо на i бит. Например, при i = 5, 5-й бит смещается на место 0-го.
    Соответственно потом можно анализировать только sv.0.
    я понял, благодарю

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

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Так же как это, 1 строка
    Код:
        var_input 
            uzas : udint; 
        end_var
             
       uza_alarm :=15 - cd32(uzas);
       
    end_function
    Только c 6 бита (>=64 надо обнулить)
    еще, здесь нулевой бит игнорируется

Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя

Похожие темы

  1. Доступ к облаку по API
    от melky в разделе Облачный сервис OwenCloud
    Ответов: 122
    Последнее сообщение: 29.12.2022, 10:50
  2. Доступ по FTP к СПК1хх М01
    от tsysg в разделе СПК210, СПК1xx [М01]
    Ответов: 7
    Последнее сообщение: 25.05.2022, 12:15
  3. СП300, вывод изображения по индексу
    от monteg в разделе Панели оператора (HMI)
    Ответов: 4
    Последнее сообщение: 25.05.2016, 16:22
  4. Доступ к ftp
    от Oleg в разделе Сервисное ПО
    Ответов: 0
    Последнее сообщение: 21.11.2007, 12:01
  5. Ответов: 1
    Последнее сообщение: 21.09.2007, 15:57

Ваши права

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