1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

Как посчитать количество TRUE или FALSE битов в байте

ПЛК SIMATIC (S7-200, S7-1200, S7-300, S7-400, S7-1500, ET200)
Ответить

Автор темы
zromz
осмотрелся
осмотрелся
Сообщения: 185
Зарегистрирован: 18 сен 2021, 18:07
Имя: Владимир
Страна: Беларусь
Благодарил (а): 9 раз
Поблагодарили: 30 раз

Как посчитать количество TRUE или FALSE битов в байте

Сообщение zromz »

Всем привет. Возникла вот такая задача. Нужно интерпретировать ну например B#16#48 (2#0100_1000) в десятичное "2" - то есть количество единиц в байте. Может есть такая SFC? Буду благодарен за советы.

SMax
не первый раз у нас
не первый раз у нас
Сообщения: 320
Зарегистрирован: 17 июн 2016, 14:18
Имя: Максим
Благодарил (а): 7 раз
Поблагодарили: 113 раз

Как посчитать количество TRUE или FALSE битов в байте

Сообщение SMax »

Есть библиотека OSCAT (oscat_basic_332_s7)
http://www.oscat.de/en/component/jdownl ... 32-s7.html

В ней FC291 - BIT_COUNT
Возвращает число бит со значением TRUE в переменной IN (DWORD).

Joshua
здесь недавно
здесь недавно
Сообщения: 76
Зарегистрирован: 21 мар 2023, 02:12
Имя: Владимир
Страна: РФ
город/регион: Псков
Благодарил (а): 2 раза
Поблагодарили: 9 раз

Как посчитать количество TRUE или FALSE битов в байте

Сообщение Joshua »

Есть встроенная функция FC99 Bitsum, в категории TI-S7 Converting

AlexandrGr
освоился
освоился
Сообщения: 217
Зарегистрирован: 26 май 2022, 12:10
Имя: Александр
Страна: Россия
город/регион: lipetsk
Благодарил (а): 3 раза
Поблагодарили: 17 раз

Как посчитать количество TRUE или FALSE битов в байте

Сообщение AlexandrGr »

"Tag_Result" := BITSUM("Tag_Input");

для S7-1500.

Автор темы
zromz
осмотрелся
осмотрелся
Сообщения: 185
Зарегистрирован: 18 сен 2021, 18:07
Имя: Владимир
Страна: Беларусь
Благодарил (а): 9 раз
Поблагодарили: 30 раз

Как посчитать количество TRUE или FALSE битов в байте

Сообщение zromz »

Joshua, AlexandrGr, Спасибо, только сегодня добрался до компа - да действительно есть в стандартной библиотеке эта FC.
Ответить

Вернуться в «Simatic Step7»