Форум TRACE MODE: техническая поддержка
Тема закрыта / Topic Closed  Тема закрыта / Topic Closed
Послать новую тему / Post New Topic  
Тема закрыта / Topic Closed  Тема закрыта / Topic Closed
мой профиль / my profile авторизация / login | регистрация / register | поиск / search | часто задаваемые вопросы / faq | начало / forum home

  Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
» Форум TRACE MODE: техническая поддержка » ТЕХНИЧЕСКАЯ ПОДДЕРЖКА / TECHNICAL SUPPORT TRACE MODE 6 » Работа с приложениями (ODBC-SQL/OPC/DDE) » Обмен по DDE

   
Автор / Author Тема / Topic: Обмен по DDE
Grigorovskih
Forum Professor / Завсегдатай форума
Участник № / Member № 1915


Icon 1 отправлено / posted      Профиль для / Profile for Grigorovskih           Редактировать/удалить сообщение / Edit/Delete Post 
Уважаемые Разработчики

Хотя мы обсуждали этот вопрос, не помню правда в каком разделе, вернусь опять к нему. Несколько вопросов:
1.Какая максимальная длина получаемой РТМом строки?
2.Как можно её увеличить?
3.Какой формат этой строки возможен, строго ли он задан?
4.Возможно ли получать эту строку в виде набора символов, а потом в программе производить разбор (интерпретацию и преобразование) этих данных?

Заранее благодарим!

Сообщения / Posts 362 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post 
Теоретически строка может содержать 255 символов. Однако при обмене данными между внешним приложением и МРВ необходимо соблюдать соглашение о типе данных. Ваш п.4 реализуется разработкой пользовательского драйвера.
Сообщения / Posts 17083 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Grigorovskih
Forum Professor / Завсегдатай форума
Участник № / Member № 1915


Icon 1 отправлено / posted      Профиль для / Profile for Grigorovskih           Редактировать/удалить сообщение / Edit/Delete Post 
Как ТМ интерпретирует получаемую строку?
Сообщения / Posts 362 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post 
Конвертирует полученные символы (до служебного, завершающего строку) в тип данных, соответствующий классу канала или типу данных атрибута канала.
Сообщения / Posts 17083 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Grigorovskih
Forum Professor / Завсегдатай форума
Участник № / Member № 1915


Icon 1 отправлено / posted      Профиль для / Profile for Grigorovskih           Редактировать/удалить сообщение / Edit/Delete Post 
Т.е. есть возможность привязать полученную строку ч/з атрибут канала - 80 (комментарий) и потом проделать с полученной строкой необходимые преобразования?
Сообщения / Posts 362 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post 
Да, но с учетом максимальной длины строки комментария - 40 символов.
Сообщения / Posts 17083 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Grigorovskih
Forum Professor / Завсегдатай форума
Участник № / Member № 1915


Icon 1 отправлено / posted      Профиль для / Profile for Grigorovskih           Редактировать/удалить сообщение / Edit/Delete Post 
Спасибо за ответ, но для нас это только теоретически!
А если практически:
Ещё вопрос тогда:
Как мне можно реально привязать этот атрибут 80 к источнику DDE, или передать в этот атрибут ч/з что нибудь? Каким способом это можно сделать?

Сообщения / Posts 362 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Grigorovskih
Forum Professor / Завсегдатай форума
Участник № / Member № 1915


Icon 1 отправлено / posted      Профиль для / Profile for Grigorovskih           Редактировать/удалить сообщение / Edit/Delete Post 
т.к. если нет привязки компонента DDE в источниках к каналу то нет и опроса по DDE соответственно!
Сообщения / Posts 362 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post 
Добрый день, для передачи строки по DDE из приложения в атрибут Комментарий канала МРВ должен выступать в роли сервера. В документации - Распределенные системы/Обмен по DDE и NetDDE/Задание значений атрибутов приведены макросы VBA для Excel, реализующие данный механизм.
Сообщения / Posts 17083 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Grigorovskih
Forum Professor / Завсегдатай форума
Участник № / Member № 1915


Icon 1 отправлено / posted      Профиль для / Profile for Grigorovskih           Редактировать/удалить сообщение / Edit/Delete Post 
Эксель нас не интересует. А МРВ работает в качестве клиента!
Есть DDE server. он возвращает стрковое значение длинна произвольная! Каким образом мне получить полученное значение в виде строки , для обработки программным методом! Может пора ввести канал STRING!

[ 02.05.2007, 08:40: Сообщение отредактировал / Message edited by AdAstra Technical Support ]

Сообщения / Posts 362 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post 
Введение канала STRING не планируется.
Сообщения / Posts 17083 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
ArguS
Junior Member / Новичок
Участник № / Member № 3137


Icon 1 отправлено / posted      Профиль для / Profile for ArguS           Редактировать/удалить сообщение / Edit/Delete Post 
На Topic: TECHNICAL SUPPORT TRACE MODE 5 » Работа в MS Windows (ODBC/DDE/OPC/NET) / Working under MS Windows » Обмен по NetDDE
обсуждалась тема "получать данные из Trace Mode по механизму NetDDE в Excel".
Прошу выслать настройки и формат запроса, вводимый в ячейку Excel на argus-2005@rambler.ru

Сообщения / Posts 11 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post 
У Вас идет обмен по NуеВВУ или просто по DDE? Т.е. Excel и узел Trace Mode у Вас запущены на одном компьютере или нет?

Если на одном, то вся процедура описана в нашем быстром старте.

Если на разных, то процедура настройки описана в нашей документации в главе "Настройка ОС для обмена по NetDDE". А формат запроса описан в главе "Обмен приложение - МРВ как NetDDE-сервер"

Сообщения / Posts 17083 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
drooha
Forum Haunter / Завсегдатай форума
Участник № / Member № 3306


Icon 1 отправлено / posted      Профиль для / Profile for drooha           Редактировать/удалить сообщение / Edit/Delete Post 
Сделал проект где МРВ выступает в роли DDE-клиента, на примере "Быстрый старт". Но данные в МРВ не передаются. В чем может быть причина? (Версия Excel 2003 SP2).
Сообщения / Posts 107 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
drooha
Forum Haunter / Завсегдатай форума
Участник № / Member № 3306


Icon 1 отправлено / posted      Профиль для / Profile for drooha           Редактировать/удалить сообщение / Edit/Delete Post 
Спасибо Разобрался. Такой вопрос, Индивидуальный номер узла я так понимаю это и есть тот ID во всплывающем спеске,когда "мышкой" наводишь на узел? И тогда если МРВ выступает в роли сервера то в ячейку Excel мы должны написать =RTM_1-Название узла+196654-тот самый ID ну и тд.?
Сообщения / Posts 107 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post 
Индивидуальный номер узла в данном случае это ординал. Т.е. та цифра, которая пишется на конце файлов узла в папке.
Сообщения / Posts 17083 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
drooha
Forum Haunter / Завсегдатай форума
Участник № / Member № 3306


Icon 1 отправлено / posted      Профиль для / Profile for drooha           Редактировать/удалить сообщение / Edit/Delete Post 
Есть DDE server. Он возвращает строковое значение, длинна произвольная! Каким образом мне получить полученное значение в виде строки в МРВ, который выступает в качестве Клиента! Работаю в ТМ6.06, если в этом релизе нельзя это осуществить, может тогда в релизе ТМ6.06.3?

C уважением Андрей.

Сообщения / Posts 107 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post 
В Trace Mode не поддерживается обмен строками по DDE.
Сообщения / Posts 17083 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
drooha
Forum Haunter / Завсегдатай форума
Участник № / Member № 3306


Icon 1 отправлено / posted      Профиль для / Profile for drooha           Редактировать/удалить сообщение / Edit/Delete Post 
Написал библиотеку, которая создаёт подключение к DDE серверу. При отладке программы в редакторе ТМ сервер показывает что соединение установленно, но при запуске МРВ соединения не происходит. В чём может быть причина?

С уважением Андрей.

Сообщения / Posts 107 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post 
Библитека должна размещаться рядом с файлом rtc.exe (или rtcx.exe, если запускается МРВ).
Надо посмотреть в протоколе профайлера и в файле tm6_log.txt, нет ли сообщений об ошибках, связанных с соответствующей программой.

Сообщения / Posts 17083 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
drooha
Forum Haunter / Завсегдатай форума
Участник № / Member № 3306


Icon 1 отправлено / posted      Профиль для / Profile for drooha           Редактировать/удалить сообщение / Edit/Delete Post 
Всё разместил как нужно, ошибок в в протоколе профайлера и в файле tm6_log.txt не обнаружено.
Все остальные функции библиотеки работают, но вот которая создаёт подключение к DDE серверу ни как не хочет к нему подключатся, хотя эта функция выполняется и возвращает значение о том что она выполнилась.(Извиняюсь, но если Вы меня не поняли, при трассировке программы в редакторе ТМ по шагам или при запуске программы там же, все функции из библиотеки выполняются втом числе и функция подключения к DDE серверу, а при запуске МРВ из под среды разработки подключение к DDE серверу не происходит)

С уважением Андрей.

Сообщения / Posts 107 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post 
И IDE и RTM работают с внешними библиотеками одинаково.
Вопрос в том, какие требования внешняя библиотека предъявляет к среде функционирования.
В частности, библиотека должна апеллировать к собственному окну, т.к. у RTM нет окна.
Вообще, следует посмотреть сообщения API, обслуживающего DDE-интерфейс.

Обычно DDE-серверы имеют и ODBC-интерфейс (например, Excel). В этом случае можно было бы использовать обращение через SQL-запросы.

Сообщения / Posts 17083 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
drooha
Forum Haunter / Завсегдатай форума
Участник № / Member № 3306


Icon 1 отправлено / posted      Профиль для / Profile for drooha           Редактировать/удалить сообщение / Edit/Delete Post 
Буду очень признателен если приведёте пример такого запроса, например к Excel.

За ранее благодарю Андрей.

Сообщения / Posts 107 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post 
Порядок установки связей с любыми приложениями, которые регистрируются в ОС в качестве ODBC-источников данных, описан в разделе "Распределенные АСУ/Обмен с базами данных".
Сообщения / Posts 17083 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
drooha
Forum Haunter / Завсегдатай форума
Участник № / Member № 3306


Icon 1 отправлено / posted      Профиль для / Profile for drooha           Редактировать/удалить сообщение / Edit/Delete Post 
И всётаки возвращаюсь к DDE (к сожелению наш сервер не имеет ODBC-интерфейса).
У меня требования следующие требования к библиотеке:
-Подключиться к DDE серверу;
-Принять значение в виде строки;
-Сделать необходимые преобразования;
-Передать полученный результат в TM.
Да, и что Вы имели в виду говоря, что библиотека должна апеллировать к собственному окну?

С уважением Андрей.

Сообщения / Posts 107 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Romсheg
unregistered



Icon 1 отправлено / posted            Редактировать/удалить сообщение / Edit/Delete Post 
Что-от похожее может возникать при вызове функций из внешних DLL, если в ТМ их переменные типа int (или возвращаемые значения) не указаны как long. При чем в самой ИС отладка может работать прекрасно, а вот в МРВ потом все начнет сыпаться. Рекомендую все внешние переменные типа int указывать как long! Но это как одно из предположений.
IP / IP: IP адрес / IP address | Report this post to a Moderator
drooha
Forum Haunter / Завсегдатай форума
Участник № / Member № 3306


Icon 1 отправлено / posted      Профиль для / Profile for drooha           Редактировать/удалить сообщение / Edit/Delete Post 
Конечно спасибо,но это не помогло.
Сообщения / Posts 107 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Romсheg
unregistered



Icon 1 отправлено / posted            Редактировать/удалить сообщение / Edit/Delete Post 
А при отладке программы в ИС все действительно работает и ваша DLL возвращает значение?
Вам остается только через удаленное подключение к приложению подключиться к МРВ из среды разработки вашей DLL и посмотреть где именно происходит ошибка. Если в вашей DLL - то тут же получите точку в коде. Если в МРВ - тоже получите соответствующее сообщение.

IP / IP: IP адрес / IP address | Report this post to a Moderator
drooha
Forum Haunter / Завсегдатай форума
Участник № / Member № 3306


Icon 1 отправлено / posted      Профиль для / Profile for drooha           Редактировать/удалить сообщение / Edit/Delete Post 
Вот именно что ошибок ни каких не возникает. При отладке в ИС, всё замечательно, все функции возвращают свои значения ну и соответственно происходит подключение к DDE серверу.
Такое ощущение что при работе в МРВ сам МРВ блокирует подключение к DDE серверу хотя возвращает значение, о том, что функция выполнилась

Сообщения / Posts 107 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
drooha
Forum Haunter / Завсегдатай форума
Участник № / Member № 3306


Icon 1 отправлено / posted      Профиль для / Profile for drooha           Редактировать/удалить сообщение / Edit/Delete Post 
И всётаки хотелось бы немного помучить техподдержку.
У меня требования следующие требования к библиотеке:
-Подключиться к DDE серверу;
-Принять значение в виде строки;
-Сделать необходимые преобразования;
-Передать полученный результат в TM.
Да, и что Вы имели в виду говоряо том, что библиотека должна апеллировать к собственному окну?

С уважением Андрей!

Сообщения / Posts 107 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
drooha
Forum Haunter / Завсегдатай форума
Участник № / Member № 3306


Icon 1 отправлено / posted      Профиль для / Profile for drooha           Редактировать/удалить сообщение / Edit/Delete Post 
Уважаемая тех поддержка прошу ответить, на вопрос представленный выше.

С уважением Андрей!

Сообщения / Posts 107 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
drooha
Forum Haunter / Завсегдатай форума
Участник № / Member № 3306


Icon 1 отправлено / posted      Профиль для / Profile for drooha           Редактировать/удалить сообщение / Edit/Delete Post 
Возникла ещё одна проблема:
При посылке значения на сервер, например, числа 2 - на сервер приходит строка вида 2<<<<<<<<<<<<<<<<юою
В редакторе переменной DDE, параметр РЕЖИМ стоит в REQ/POKE[data] т.е. запрос не должен завершаться специальными символами и на сервер должно отправляться число 2.
В чем может быть причина?

Сообщения / Posts 107 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post 
1. DDE-сервер шлет свои строки в окно приложения. В ИС этим окном высупает сама ИС. В МРВ такого окна нет. Его Вам нужно создавать самим. При этом оно должно правильно работать со стеком сообщений Windows.

2. Так как запрос не завершается специальным символом, то считывается весь буфер, куда, возможно, попадают просто символы набранные с клавиатуры.

Сообщения / Posts 17083 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
drooha
Forum Haunter / Завсегдатай форума
Участник № / Member № 3306


Icon 1 отправлено / posted      Профиль для / Profile for drooha           Редактировать/удалить сообщение / Edit/Delete Post 
Хорошо, получается так что это буфер клавиатуры? А как тогда этот буфер можно очистить?
Писать dll на очистку буфера перед загрузкой RTM или же очистку этого буфера можно организовать средствами ТМ?

Сообщения / Posts 107 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post 
Сервер должен уметь отсекать "мусор", так как в лишние символы могут возникать не только до запуска RTM, но и в момент его работы.
Сообщения / Posts 17083 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
raven999
Forum Member / Участник форума
Участник № / Member № 4537


Icon 1 отправлено / posted      Профиль для / Profile for raven999           Редактировать/удалить сообщение / Edit/Delete Post 
Здравствуйте!
Можно выслать пример обмена по NetDDE между 2-мя МРВ. Попытался сделать самостоятельно, не получилось. На локальном компьютере обмен по DDE в обе стороны с Excel работает, а вот сетевой обмен не получился. И какие настройки Windows XP необходимо сделать!

Спасибо!
Вот только что понял, что надо включить службу NetDDE, так как он отключена по умолчанию.
Но все равно примерчик пожалуйста пришлите!

Сообщения / Posts 31 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post 
Отправлено.

Топик закрываю.

Сообщения / Posts 17083 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
   

Послать новую тему / Post New Topic  
Тема закрыта / Topic Closed  Тема закрыта / Topic Closed
Открыть тему / Open Topic   Feature Topic   Переместить топик / Move Topic   Удалить топик / Delete Topic Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
 - Printer-friendly view of this topic
Перейти к / Hop To


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



Powered by Infopop Corporation
UBB.classic™ 6.7.2