08.01.2018 форум обновлён до новой версии движка. О замеченных глюках просим сообщать администраторам
-----
На форуме обязательно:
  1. Заполнить свой профиль на Русском языке. См. Правила, п.2.d.
  2. Не писать свой вопрос в первую попавшуюся тему, а вместо этого создать свою. См. Правила, п.3.a.

Рекламу на своём форуме мы не размещаем ни на каких условиях.

Logo! Как разбить Int на биты?

Ответить

Автор темы
Strohmann
осмотрелся
осмотрелся
Сообщения: 129
Зарегистрирован: 08 ноя 2010, 14:03
Имя: Владимир
Благодарил (а): 3 раза
Поблагодарили: 3 раза

Logo! Как разбить Int на биты?

Сообщение Strohmann » 12 авг 2016, 05:36

Здравствуйте, товарищи!
Дано: Logo! 8 серии, панель KTP900 (как крайний вариант).
В виду жестких ограничений на количество входов/выходов в UDF возникает вопрос, как можно передавать в UDF большое количество битовых сигналов. Методология паковки битов (MUX, цепочка калькуляторов) достаточно понятна, а вот распаковка полученного значения вызывает затруднение.
Каким образом можно реализовать преобразование Int в битовые сигналы?

Аватара пользователя

Marrenoloth
завсегдатай
завсегдатай
Сообщения: 523
Зарегистрирован: 05 окт 2009, 10:51
Имя: Тихомиров Дмитрий Викторович
Откуда: Москва
Благодарил (а): 17 раз
Поблагодарили: 20 раз
Контактная информация:

Logo! Как разбить Int на биты?

Сообщение Marrenoloth » 12 авг 2016, 08:27

Очень давно лого держал в руках последний раз... Побитовое сложение двух word или byte в нем есть? Если да, то можно складывать с 1, 2, 4 и прочими степенями 2 и смотреть, отличается ли от 0 полученное число.


Автор темы
Strohmann
осмотрелся
осмотрелся
Сообщения: 129
Зарегистрирован: 08 ноя 2010, 14:03
Имя: Владимир
Благодарил (а): 3 раза
Поблагодарили: 3 раза

Logo! Как разбить Int на биты?

Сообщение Strohmann » 12 авг 2016, 08:48

Будь там возможность применять маски, стал бы я задавать вопрос?

Аватара пользователя

erv_asutp
осмотрелся
осмотрелся
Сообщения: 110
Зарегистрирован: 25 авг 2015, 11:55
Имя: Ефименко Роман Владимирович
Откуда: Днепропетровск
Поблагодарили: 13 раз

Logo! Как разбить Int на биты?

Сообщение erv_asutp » 12 авг 2016, 13:33

Как вариант можно попробовать ShiftRegister. Генератор, счетчик сдвига, направление сдвига самому делать придется.

Аватара пользователя

Ka3ax
здесь недавно
здесь недавно
Сообщения: 18
Зарегистрирован: 30 окт 2012, 03:14
Имя: Олд Белл
Откуда: Карасук, Новосибирской обл.

Logo! Как разбить Int на биты?

Сообщение Ka3ax » 25 авг 2016, 18:15

на форуме сименс, немецкоговорящий, попадалась UDF без ограничений на входа.
Вопрос частично понятен, как преобразовать INT в биты в UDF?
Причем здесь панель?
Я передаю INT в панель или контроллер и там обрабатывается.
Если по первому варианту, то на количество "камней" в UDF так же имеется ограничение.
Сильно не повыпендриваешься. Универсального способа нет.
Не могли бы пример задачи предоставить, что бы как то помыслить в одном русле, а не глобально.

ps
посмотрел немецкий сименс форум, тему убрали прикрепленную, со всякими решениями.
решения работы с битами там были еще применительно к 6ой версии.

повидимому сименс тактику поменял помощи, делает все, что бы только к ним обращались в сапорт.

Аватара пользователя

Ka3ax
здесь недавно
здесь недавно
Сообщения: 18
Зарегистрирован: 30 окт 2012, 03:14
Имя: Олд Белл
Откуда: Карасук, Новосибирской обл.

Logo! Как разбить Int на биты?

Сообщение Ka3ax » 25 авг 2016, 18:23

psps
в примерах
http://w3.siemens.com/mcms/programmable ... fault.aspx
имеется пример Dezimal - BCD Konverter
http://www.automation.siemens.com/sales ... erters.zip
внутри и английские версии
полагаю, может почь

Ответить