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

Тип данных Word

Ответить

Автор темы
Savelij
здесь недавно
здесь недавно
Сообщения: 6
Зарегистрирован: 28 сен 2022, 12:54
Имя: Савелий

Тип данных Word

Сообщение Savelij »

Коллеги, подскажите пожалуйста, не могу разобраться с типом данных Word. Как мне сказал старший по званию, word-ом можно передать все что угодно, так как это 16-битовый объект, это я понимаю. Также я понимаю, что с помощью word можно записывать 16 булевых значений в это слово и вытаскивать их слова тоже. Но не совсем понимаю точного смысла применения, если есть массив, который работает примерно так же, причем в массиве не обязательно использовать или ограничиваться 16ю. Вопрос в размере и нагрузки на контроллер?

Ryzhij
почётный участник форума
почётный участник форума
Сообщения: 5639
Зарегистрирован: 07 окт 2011, 09:12
Имя: Гаско Вячеслав Эриевич
Страна: Россия
город/регион: Рязань
Благодарил (а): 602 раза
Поблагодарили: 760 раз

Тип данных Word

Сообщение Ryzhij »

ЦПУ контроллера абсолютно всё равно на тип указанных данных, он про них даже не в курсе.
Не всё равно компилятору. Именно для компилятора мы это дело указываем. В результате генерируется разный код для контроллера и по-разному происходит распределение памяти для программы. Вот отсюда уже и будет набегать разница для ЦПУ с использованием одного и того же компилятора.
Различия в компиляторах для ЦПУ разных ПЛК столь значительны, что сказать наверняка, где мы выиграем, а где проиграем невозможно, даже если элементная база их ЦПУ будет одинаковой.
---------------------------------------------------
«У человека в душе дыра размером с Бога, и каждый заполняет её как может.» (Жан-Поль Сартр)
"Ту пустоту, которая остаётся в душе, когда в ней нет Бога, и весь мир не может заполнить." (святитель Николай Сербский)

stesl
эксперт
эксперт
Сообщения: 1011
Зарегистрирован: 31 мар 2018, 12:05
Имя: Вячеслав
Благодарил (а): 94 раза
Поблагодарили: 136 раз

Тип данных Word

Сообщение stesl »

Savelij писал(а): 03 окт 2022, 15:03 типом данных Word
Тип данных Word - беззнаковое целое число в диапазоне 0-65535. В отличии от типа данных integer.
Область данных Word - 2 байта. Что там в них - без разницы.
Аватара пользователя

VADR
администратор
администратор
Сообщения: 4739
Зарегистрирован: 25 июл 2008, 07:12
Имя: Диев Александр Васильевич
Страна: Россия
город/регион: г. Сегежа, Карелия
Благодарил (а): 225 раз
Поблагодарили: 396 раз

Тип данных Word

Сообщение VADR »

stesl писал(а): 04 окт 2022, 11:55 Тип данных Word - беззнаковое целое число в диапазоне 0-65535.
[+]
Вначале было слово, и слово было два байта...
:)
Повторное использование кода не отменяет повторного использования мозга при его повторном использовании.

Михайло
почётный участник форума
почётный участник форума
Сообщения: 3577
Зарегистрирован: 10 ноя 2009, 04:58
Имя: Толмачев Михаил Алексеевич
город/регион: г. Чехов, МО
Благодарил (а): 6 раз
Поблагодарили: 271 раз

Тип данных Word

Сообщение Михайло »

Если быть точным, то WORD - это не число, а пачка из 16 бит. Вы не можете применить к WORD функции ADD, SUB, MUL, DIV, например, в TIA Portal. Зато к WORD можно применить сдвиговые операции, инверсию, побитовые AND, OR, XOR и др.

leon78
эксперт
эксперт
Сообщения: 1034
Зарегистрирован: 25 июл 2008, 10:06
Имя: Леонид
Страна: РФ
Благодарил (а): 34 раза
Поблагодарили: 110 раз

Тип данных Word

Сообщение leon78 »

Savelij писал(а): 03 окт 2022, 15:03 Коллеги, подскажите пожалуйста, не могу разобраться с типом данных Word. Как мне сказал старший по званию, word-ом можно передать все что угодно, так как это 16-битовый объект, это я понимаю. Также я понимаю, что с помощью word можно записывать 16 булевых значений в это слово и вытаскивать их слова тоже. Но не совсем понимаю точного смысла применения, если есть массив, который работает примерно так же, причем в массиве не обязательно использовать или ограничиваться 16ю. Вопрос в размере и нагрузки на контроллер?
Не знаю как в Сименсе, но в других средах BOOL занимает 1 байт, а используется в нём только младший бит. Т.е. в размере памяти, отведённом для WORD, массив BOOL хранит всего 2 значения, а не 16. Поэтому для экономии памяти можно использовать биты в WORD. Особенно это актуально для передачи на верхний уровень, т.к. уменьшает объем данных в 8 раз
Хард - это то, что можно швырнуть об стенку, а софт - это то, что можно лишь обматерить.

stesl
эксперт
эксперт
Сообщения: 1011
Зарегистрирован: 31 мар 2018, 12:05
Имя: Вячеслав
Благодарил (а): 94 раза
Поблагодарили: 136 раз

Тип данных Word

Сообщение stesl »

Михайло писал(а): 05 окт 2022, 18:03 Если быть точным, то WORD - это не число, а пачка из 16 бит. Вы не можете применить к WORD функции ADD, SUB, MUL, DIV, например, в TIA Portal. Зато к WORD можно применить сдвиговые операции, инверсию, побитовые AND, OR, XOR и др
Думаю, что стоит договориться - в области АСУ программирования, Byte, Word и Dword это области данных. Word может участвовать не только в побитовых операциях но и рассматриваться как 2 байта, которые нужно поменять местами и т.д. и т.п. А вот как тип переменной, как контейнер для хранения, упоминается слабо. В отличии от традиционного программирования. Где это достаточно распространенный тип данных. И программист, объявляя Word, имеет ввиду, что это таки число в диапазоне 0-65535
Ответить

Вернуться в «Общие вопросы»