Показано с 1 по 6 из 6

Тема: как упаковать 16 bool в один word

  1. #1

    По умолчанию как упаковать 16 bool в один word

    Здравствуйте всем, как упаковать 16 bool в один word. Я хочу передать scad-у одним word все 16 bool

  2. #2
    Пользователь
    Регистрация
    10.04.2010
    Адрес
    Алтайский край,г.Рубцовск
    Сообщений
    955

    По умолчанию

    word.0:=bool0;word.1:=bool1 и т.д и т.п

  3. #3
    Пользователь
    Регистрация
    31.07.2013
    Адрес
    Аркаим
    Сообщений
    1,033

    По умолчанию

    Yerabdi
    Импортируйте в свой проект этот ФБ:
    Вложения Вложения

  4. #4

    По умолчанию

    Цитата Сообщение от Sulfur Посмотреть сообщение
    Yerabdi
    Импортируйте в свой проект этот ФБ:
    Спасибо большое, не думал что на LD можно такое написать. Всю голову ломал на ST как сдвиг регистрами сделать

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

    По умолчанию

    Цитата Сообщение от Yerabdi Посмотреть сообщение
    ...Всю голову ломал на ST как сдвиг регистрами сделать
    Код:
    FUNCTION PACK_W2 : WORD
    VAR_INPUT
        B0: BOOL;
        B1: BOOL;
        B2: BOOL;
        B3: BOOL;
        B4: BOOL;
        B5: BOOL;
        B6: BOOL;
        B7: BOOL;
        B8: BOOL;
        B9: BOOL;
        B10: BOOL;
        B11: BOOL;
        B12: BOOL;
        B13: BOOL;
        B14: BOOL;
        B15: BOOL;
    END_VAR
    VAR
        BYTE_0: BYTE;
        BYTE_1: BYTE;
    END_VAR
    (*Тело функции*)
    BYTE_0:=SHL(SHL(SHL(SHL(SHL(SHL(SHL(BOOL_TO_BYTE(B7),1) OR BOOL_TO_BYTE(B6),1) OR BOOL_TO_BYTE(B5),1) OR BOOL_TO_BYTE(B4),1)
        OR BOOL_TO_BYTE(B3),1) OR BOOL_TO_BYTE(B2),1) OR BOOL_TO_BYTE(B1),1) OR BOOL_TO_BYTE(B0);
    BYTE_1:=SHL(SHL(SHL(SHL(SHL(SHL(SHL(BOOL_TO_BYTE(B15),1) OR BOOL_TO_BYTE(B14),1) OR BOOL_TO_BYTE(B13),1) OR BOOL_TO_BYTE(B12),1)
        OR BOOL_TO_BYTE(B11),1) OR BOOL_TO_BYTE(B10),1) OR BOOL_TO_BYTE(B9),1) OR BOOL_TO_BYTE(B8);
    PACK_W2:=SHL(BYTE_TO_WORD(BYTE_1),8) OR BYTE_TO_WORD(BYTE_0);
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  6. #6
    Пользователь
    Регистрация
    31.07.2013
    Адрес
    Аркаим
    Сообщений
    1,033

    По умолчанию

    LD вообще занятная штука. Некоторые вещи в нем делаются легче, элегантнее и прочем чем в ST. Особенно логические зависимости. А вот разную математику мне писать удобнее на ST.

Похожие темы

  1. Ответов: 16
    Последнее сообщение: 18.07.2017, 09:48
  2. Ответов: 28
    Последнее сообщение: 03.08.2016, 08:53
  3. WORD <-> BOOL
    от ASo в разделе Master SCADA 3
    Ответов: 1
    Последнее сообщение: 08.09.2013, 16:12
  4. Word to bytes
    от Scream в разделе ПЛК1хх
    Ответов: 2
    Последнее сообщение: 06.09.2013, 14:21
  5. Из двух WORD один REAL?
    от kholonkin в разделе СПК2хх
    Ответов: 1
    Последнее сообщение: 06.09.2013, 11:17

Ваши права

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