доброго времени суток коллеги.
Подскажите по простому что такое к примеру Р#db1.dbx2224.0
Что берет это P#
- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
P#
-
- освоился
- Сообщения: 211
- Зарегистрирован: 04 фев 2019, 07:07
- Имя: Андрей
- Благодарил (а): 13 раз
- Поблагодарили: 2 раза
-
- осмотрелся
- Сообщения: 133
- Зарегистрирован: 22 июл 2017, 22:47
- Имя: Сергей
- Страна: СССР
- Благодарил (а): 6 раз
- Поблагодарили: 25 раз
P#
Косвенная адресация, указатель (Pointer) на db1 байт 2224 начиная с нулевого бита.
STEP 7 использует данный тип
указателя для передачи фактических параметров
STEP 7 использует данный тип
указателя для передачи фактических параметров
________________________________
Не ждите чуда - чудите сами!
Не ждите чуда - чудите сами!
-
- почётный участник форума
- Сообщения: 3559
- Зарегистрирован: 10 ноя 2009, 04:58
- Имя: Толмачев Михаил Алексеевич
- город/регион: г. Чехов, МО
- Благодарил (а): 6 раз
- Поблагодарили: 253 раза
P#
DB1.DBX2224.0 - это значение false/true.
Р#DB1.DBX2224.0 - это адрес/указатель в памяти ПЛК, по котором можно найти значение false/true, например, 0x0F2376AE (шестнадцатеричная форма). Правда у Сименса, насколько я знаю, указатели никогда и нигде не отображаются в виде числа, поэтому даже не знаю, 32-битная ли там адресация, а пример адреса привел от балды.
Если вы передаете значение DB1.DBX2224.0 в функцию, то она может знать только значение false/true.
Если вы передаете указатель (адрес) Р#DB1.DBX2224.0, то функция может извлечь false/true по этому адресу, а еще прибавляя к адресу по единице, прочитать все последующие значения false/true, лежащие в памяти по порядку. То есть указатель P# позволяет передать массив данных, а не одно значение. Обычно для этого указатели и используют. Указатель, в подавляющем большинстве, указывает на первый элемент в массиве, для полноты информации с указателем еще должна идти информация о длине массива.
Р#DB1.DBX2224.0 - это адрес/указатель в памяти ПЛК, по котором можно найти значение false/true, например, 0x0F2376AE (шестнадцатеричная форма). Правда у Сименса, насколько я знаю, указатели никогда и нигде не отображаются в виде числа, поэтому даже не знаю, 32-битная ли там адресация, а пример адреса привел от балды.
Если вы передаете значение DB1.DBX2224.0 в функцию, то она может знать только значение false/true.
Если вы передаете указатель (адрес) Р#DB1.DBX2224.0, то функция может извлечь false/true по этому адресу, а еще прибавляя к адресу по единице, прочитать все последующие значения false/true, лежащие в памяти по порядку. То есть указатель P# позволяет передать массив данных, а не одно значение. Обычно для этого указатели и используют. Указатель, в подавляющем большинстве, указывает на первый элемент в массиве, для полноты информации с указателем еще должна идти информация о длине массива.