This is topic работа по DDE in forum Языки программирования (IL/FBD) / Algorithm Programming Languages at Форум TRACE MODE: техническая поддержка.


To visit this topic, use this URL:
http://forum.adastra.ru/ultimatebb.php/ubb/get_topic/f/11/t/000039.html

Posted by Погодаева Г. (Участник № / Member № 192) on :
 
Извените, если не в том разделе мой вопрос.
При работе монитора меняются шкалы (верхняя граница) через окно просмотра каналов. На экране в сводке со шкалами изменения происходят, а в Excel через DDE в рапорт шкала (верхняя граница) передается старая. Почему? И что изменится, если шкала будет меняться через окно ручного ввода? Как меняется база каналов в том и в другом случаях(при разных типах ввода изменений)?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
1) По DDE какие атрибуты канала запрашиваются?
2) Может изменение шкалы в графическом интерфейсе монитора выполнено не через атрибуты границ кнала, а через дополнительные каналы?
3) Проверьте - если у Вас обмен по Advise, то пока не изменится значение самого канала - вполне вероятно, что DDE-клиент не будет уведомляться об изменении значений его атрибутов границ.
 
Posted by Погодаева Г. (Участник № / Member № 192) on :
 
В яч. Excel у меня следующий запрос:
=RTM|HL!F1
Это значит, что DDE работает в режиме REQUEST, т.е. однократный запрос? А можно ли запрашивать атрибут по его изменению, т.е. в режиме ADVISE?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Если я не ошибаюсь - DDE-запрос в MS Excel, прописанный прямо в ячейке, по умолчанию работает в режиме ADVISE. Чтобы сделать его как POKE или REQUEST - в MS Excel необходимо писать макрос на VBA.
 
Posted by Погодаева Г. (Участник № / Member № 192) on :
 
Так я не поняла, мой запрос правильный или нет?
Могу я запросить атрибут по его изменению?
Как МРВ отреагирует на такой запрос?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
1) МРВ не уведомляет клиента об изменении атрибутов, поэтому по ADVISE Вы получите данные только один раз, и чтобы получить новые данные Вам придется повторить запрос еще раз - если он в ячейке, то необходимо выставить курсор в текст ячейки и нажать Enter.
2) В Вашем запросе "=RTM|HL!F1" две ошибки:
а. У узла RTM не указан индивидуальный сетевой номер.
б. Канал в ТМ не может иметь имя менее 6 символов.

Поэтому он должен быть приблизительно таким: "=RTM1|HL!F1____"
 


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us



Powered by Infopop Corporation
UBB.classic™ 6.7.2