PDA

Просмотр полной версии : Как преобразовать разные значение BYTE в WORD



skinnbatter
24.04.2018, 23:53
Доброго времени суток коллеги.
Возник небольшой вопрос. Есть значения дискретных входов и выходов я их упаковываю в байты (8bit в 1 byte). По сети в SCADA хочу передать сразу в формате WORD по 2 byte. Как склеить две однобайтовые переменные в WORD. На сколько понял надо указать старший разряд, есть ли какая то встроенная функция для этого?

Alexey_Palich
25.04.2018, 06:57
У меня была тема недавно многовходовый преобразователь бул-инт там почитайте

SlavikP
25.04.2018, 08:36
Такой способ не проще ли будет?

zendo057
25.04.2018, 09:38
Такой способ не проще ли будет?

По моему разумению вы все равно передаете биты.

SlavikP
25.04.2018, 10:03
Поясните вашу мысль?
Я показал способ упаковки 16 битовых сигналов в переменную Word, которую можно пересылать куда угодно.
Более того, можно подобным образом паковать 32 бита в одну переменную. И тоже ее передавать.

Alexey_Palich
25.04.2018, 14:42
В библиотеке Util.lib есть функция PACK она 8 бит упаковывает в байт. вот еще картинка 36855

zendo057
25.04.2018, 21:23
пОПРОБУЙТЕ ТАК36867
тОЛЬКО ПОТОК ПОМЕНЯЙТЕ.

Осинский Алексей
26.04.2018, 09:04
Как говорил capzap в библиотеке OSCAT Basic есть функция WORD_OF_BYTE, которая Вам подойдет.
Скачать библиотеку Вы можете по ссылке http://www.oscat.de/component/jdownloads/summary/2-oscat-basic/3-oscat-basic-333.html
Русскоязычное описание всех функций библиотеки есть тут: https://oscat-ru.weebly.com/uploads/1/1/4/2/114241935/oscat_basic333_ru.pdf

skinnbatter
02.05.2018, 22:57
Коллеги спасибо за информацию!!!:D

Kickit
03.08.2021, 22:27
Попробуйте так:
WORD := BYTE_TO_WORD ( BYTE_1 * 256 ) + BYTE_0;