Просмотр полной версии : Как правильно адресовать дискретный вход ПЛК через указатель на имя переменной?
Доброго времени суток!
Подскажите, пожалуйста, как обратиться к дискретному входу ПЛК через указатель на имя переменной?
Делаю так:
имя дискретного входа и указатель:
VOLTAGE_CONTROLCABINET_MAIN
pDIADDR : POINTER TO BOOL;
Обращаюсь:
pDIADDR := BITADR(VOLTAGE_CONTROLCABINET_MAIN);
pDIADDR^ := TRUE;
Ошибка неверного адреса!
Как правильно адресовать дискретный вход?
http://www.owen.ru/forum/showthread.php?t=15455&p=142016&viewfull=1#post142016
http://www.owen.ru/forum/showthread.php?t=15455&p=142016&viewfull=1#post142016
Нашёл там проект, в котором есть код адресации, но не понятно как адресоваться к быстрым входам. Какой у них адрес?
В примере адресация идёт по имени байта - beginer
Быстрым входам имя не присваивается..как сделать?
Например, я могу вычислить адрес начала простых дискретных входов, задав им имя. Но т.к. адресация байтовая, то как попасть в этом случае на начало быстрых входов, если их 2 всего?
ПЛК 110-60
Сместил адрес на -1 от начала простых входов. И подогнал, получилось!
Спасибо!
beginer это отправная точка куда записывать, в примере это физ.выхода, для Вас возможно это должна быть локальная переменная программы. Для чтения входов, для каждого нужно выполнить действия как с переменной mark, т.к. быстрых входов не много, можно не вычислять indByte, а сразу присваивать указателю.
Есть одно НО все эти манипуляции нужны если Вы очень хотите использовать BITADR, но если просто нужно значения входа, то достаточно именовать его и в программе пользоваться этим именем, не создавая локальной переменной с таким же именем
... а сразу присваивать указателю.
Так и сделал.
... то достаточно именовать его и в программе пользоваться этим именем, не создавая локальной переменной с таким же именем
А так ведь нельзя...
VOLTAGE_CONTROLCABINET_MAIN := TRUE;
ошибка 4020.
должно быть так, тогда ошибок не будет
должно быть так, тогда ошибок не будет
У Вас ведь тут чтение с входа, а у меня про запись вопрос.
У Вас ведь тут чтение с входа, а у меня про запись вопрос.
тут я бессилен дать какой нибудь адекватный ответ
тут я бессилен дать какой нибудь адекватный ответ
Я уже разобрался же. Спасибо
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot