kochegin писал(а):Добрый день. Стоит следующая задача.
Имеются целая куча одинаковых датчиков. При нажатии на каждый из них вызывается одно и то же всплывающее окно с настройками пределов. Помимо верхнего и нижнего предела, в этом окне есть переключатель, который включает либо отключает бит контроля пределов. Так вот, с динамической адресацией пределов я разобрался. Все просто замечательно работает. Но вот проблема с этим битом. Дело в том, что в проекте ПЛК, эти биты для каждого датчика идут один за другим, т.е. TS01_HL_ENABLE [DB111.DBX0.0], TS02_HL_ENABLE [DB111.DBX0.1], и так далее...
Поэтому применить к ним индексную адресацию я не могу, так как происходит смещение аж на 16 бит!!!
Возможно ли какое-нибудь другое решение? Возможно через макросы?
Вариантов два:
1) в ПЛК создать отдельную DB-шечку для HMI, в которой соберете все биты и байты как надо для панели
2) в макросах панели делать перенос в LW/LB регистры при записи уставок из тегов ПЛК (открыли окно, скопировали теги в докальные регистры панели , которые привязаны в окне с уставками, задали новые значения, нажали кнопку ПРИМЕНИТЬ, по которой выполнился макрос переписывающий значения из локальных регистров панели в теги ПЛК)
так то это алгоритмический вопрос, а не именно по Weintek .....
Хороший вопрос содержит половину ответа - A good question contains half the answer