- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
Тип данных Word
Модератор: Глоб.модераторы
-
- здесь недавно
- Сообщения: 6
- Зарегистрирован: 28 сен 2022, 12:54
- Имя: Савелий
Тип данных Word
Коллеги, подскажите пожалуйста, не могу разобраться с типом данных Word. Как мне сказал старший по званию, word-ом можно передать все что угодно, так как это 16-битовый объект, это я понимаю. Также я понимаю, что с помощью word можно записывать 16 булевых значений в это слово и вытаскивать их слова тоже. Но не совсем понимаю точного смысла применения, если есть массив, который работает примерно так же, причем в массиве не обязательно использовать или ограничиваться 16ю. Вопрос в размере и нагрузки на контроллер?
-
- почётный участник форума
- Сообщения: 5790
- Зарегистрирован: 07 окт 2011, 09:12
- Имя: Гаско Вячеслав Эриевич
- Страна: Россия
- город/регион: Рязань
- Благодарил (а): 673 раза
- Поблагодарили: 840 раз
Тип данных Word
ЦПУ контроллера абсолютно всё равно на тип указанных данных, он про них даже не в курсе.
Не всё равно компилятору. Именно для компилятора мы это дело указываем. В результате генерируется разный код для контроллера и по-разному происходит распределение памяти для программы. Вот отсюда уже и будет набегать разница для ЦПУ с использованием одного и того же компилятора.
Различия в компиляторах для ЦПУ разных ПЛК столь значительны, что сказать наверняка, где мы выиграем, а где проиграем невозможно, даже если элементная база их ЦПУ будет одинаковой.
Не всё равно компилятору. Именно для компилятора мы это дело указываем. В результате генерируется разный код для контроллера и по-разному происходит распределение памяти для программы. Вот отсюда уже и будет набегать разница для ЦПУ с использованием одного и того же компилятора.
Различия в компиляторах для ЦПУ разных ПЛК столь значительны, что сказать наверняка, где мы выиграем, а где проиграем невозможно, даже если элементная база их ЦПУ будет одинаковой.
---------------------------------------------------
«У человека в душе дыра размером с Бога, и каждый заполняет её как может.» (Жан-Поль Сартр)
"Ту пустоту, которая остаётся в душе, когда в ней нет Бога, и весь мир не может заполнить." (святитель Николай Сербский)
«У человека в душе дыра размером с Бога, и каждый заполняет её как может.» (Жан-Поль Сартр)
"Ту пустоту, которая остаётся в душе, когда в ней нет Бога, и весь мир не может заполнить." (святитель Николай Сербский)
-
- эксперт
- Сообщения: 1035
- Зарегистрирован: 31 мар 2018, 12:05
- Имя: Вячеслав
- Благодарил (а): 100 раз
- Поблагодарили: 141 раз
Тип данных Word
Тип данных Word - беззнаковое целое число в диапазоне 0-65535. В отличии от типа данных integer.
Область данных Word - 2 байта. Что там в них - без разницы.
-
- администратор
- Сообщения: 4903
- Зарегистрирован: 25 июл 2008, 07:12
- Имя: Диев Александр Васильевич
- Страна: Россия
- город/регион: г. Сегежа, Карелия
- Благодарил (а): 236 раз
- Поблагодарили: 425 раз
Тип данных Word
:)
Повторное использование кода не отменяет повторного использования мозга при его повторном использовании.
-
- эксперт
- Сообщения: 3643
- Зарегистрирован: 10 ноя 2009, 04:58
- Имя: Толмачев Михаил Алексеевич
- город/регион: г. Чехов, МО
- Благодарил (а): 8 раз
- Поблагодарили: 286 раз
Тип данных Word
Если быть точным, то WORD - это не число, а пачка из 16 бит. Вы не можете применить к WORD функции ADD, SUB, MUL, DIV, например, в TIA Portal. Зато к WORD можно применить сдвиговые операции, инверсию, побитовые AND, OR, XOR и др.
-
- эксперт
- Сообщения: 1146
- Зарегистрирован: 25 июл 2008, 10:06
- Имя: Леонид
- Страна: РФ
- Благодарил (а): 49 раз
- Поблагодарили: 134 раза
Тип данных Word
Не знаю как в Сименсе, но в других средах BOOL занимает 1 байт, а используется в нём только младший бит. Т.е. в размере памяти, отведённом для WORD, массив BOOL хранит всего 2 значения, а не 16. Поэтому для экономии памяти можно использовать биты в WORD. Особенно это актуально для передачи на верхний уровень, т.к. уменьшает объем данных в 8 разSavelij писал(а): ↑03 окт 2022, 15:03 Коллеги, подскажите пожалуйста, не могу разобраться с типом данных Word. Как мне сказал старший по званию, word-ом можно передать все что угодно, так как это 16-битовый объект, это я понимаю. Также я понимаю, что с помощью word можно записывать 16 булевых значений в это слово и вытаскивать их слова тоже. Но не совсем понимаю точного смысла применения, если есть массив, который работает примерно так же, причем в массиве не обязательно использовать или ограничиваться 16ю. Вопрос в размере и нагрузки на контроллер?
Хард - это то, что можно швырнуть об стенку, а софт - это то, что можно лишь обматерить.
-
- эксперт
- Сообщения: 1035
- Зарегистрирован: 31 мар 2018, 12:05
- Имя: Вячеслав
- Благодарил (а): 100 раз
- Поблагодарили: 141 раз
Тип данных Word
Думаю, что стоит договориться - в области АСУ программирования, Byte, Word и Dword это области данных. Word может участвовать не только в побитовых операциях но и рассматриваться как 2 байта, которые нужно поменять местами и т.д. и т.п. А вот как тип переменной, как контейнер для хранения, упоминается слабо. В отличии от традиционного программирования. Где это достаточно распространенный тип данных. И программист, объявляя Word, имеет ввиду, что это таки число в диапазоне 0-65535