Вообщем вопрос следующий я атрибут 003(Состояние) использую для включения или выключения канала посылая туда соответственно 0 или 1. Но после перезагрузки проекта атрибут 003(Состояние) по умолчанию встает в 0(включен). Как мне после перезагрузки проекта возвращать в канал мое последнее заданное значение аргумента 003. дамп пробовал не работает.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Атрибут СОСТОЯНИЕ в дамп не сохраняется. Поставьте флажок ДАМП каналу, к аргументу которого привязан этот атрибут.
Posted by Жигалов Денис Николаевич (Участник № / Member № 6035) on :
Получается для управления каналом необходимо создавать еще один канал? Слишком тогда расточительно получается.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Вы управляете атрибутом СОСТОЯНИЕ от экрана, программы или какого-либо канала CALL (канал CALL уже есть). Надо именно этому каналу? к аргументу которого привязан атрибут СОСТОЯНИЕ, задать опцию ДАМП.
Posted by Жигалов Денис Николаевич (Участник № / Member № 6035) on :
Я изначально создал экран на нем создал аргумент ARG_001 и привязал его к аргументу Состояние Канал_1. Так я управлял. Не как не пойму где тут дамп то поставить? И на Канал_1 ставил дамп и на Экран ставил дамп.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Действительно, непосредственная привязка аргумента экрана к атрибуту канала отдает приоритет собственно атрибуту канала. Без промежуточного "хранителя" не обойтись. Если такая процедура применяется не к одному каналу, а к нескольким, можно использовать для этого 1 канал HEX16 или канал CALL.MOVE.
Posted by Жигалов Денис Николаевич (Участник № / Member № 6035) on :
Т.е я должен каналу HEX16 привязывать аргумент Состояния Канал_1. И патом на старте отрабатывать канал HEX16? А как к одному каналу HEX16 привязать много аргументов Состояние от других каналов?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Из канала HEX16 надо ПЕРЕСЛАТЬ его отдельные биты в атрибуты СОСТОЯНИЕ управляемых каналов. Возможно, в конкретной задаче использование передачи с экрана через канал CALL.MOVE (с флажком ДАМП) будет более рациональным.
Posted by Жигалов Денис Николаевич (Участник № / Member № 6035) on :
Если через CALL.MOVE это надо соответствующие аргументы экрана к чему привязать?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Аргументы экрана надо привязывать к INPUT-аргументам канала CALL.MOVE. К соответствующим OUT-аргументам канала CALL.MOVE надо привязывать атрибуты СОСТОЯНИЕ управляемых каналов.
Posted by Жигалов Денис Николаевич (Участник № / Member № 6035) on :
Высланный мной проект можно не рассматривать на ошибки. Я разобрался, спасибо за направление в сторону CALL.MOVE. Но теперь возникла другая проблема я могу только через Меню - Компоненты управлять Состоянием. То есть захожу в аргументы экрана и посылаю либо 0 либо 1 все работает как надо. Когда пытаюсь сделать это по Кнопке то не чего в аргумент с кнопки почему то не передается.
Posted by Жигалов Денис Николаевич (Участник № / Member № 6035) on :
Все таки не как не получается у меня управление по кнопке, а в этом весь смысл задачи. Не передается значение в аргумент почему то, как быть?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Отправлен пример.
Posted by Жигалов Денис Николаевич (Участник № / Member № 6035) on :