This is topic Обмен данных по локальной сети in forum TRACE MODE 5 бесплатная версия / TRACE MODE 5 Free version at Форум TRACE MODE: техническая поддержка.
Добрый день. Помогите установить связь между каналами TM через локальную сеть. Что я сделал: на одной машине создал канал master(тип-Связь,подтип-Out Net),на другой канал slave(тип-Связь,подтип -In Net)не понял какие нужны настройки для этих каналов,например настройка "ch-имя канала на удаленном узле" прописывается такое же как и имя текущего канала и поменять я его не могу(для канала master прописать настройку ch=slave). Вопросы: 1)как пересылать значения с одного канала на другой(по сети и в рамках одного узла)? 2) как правильно настроить каналы для передачи данных ч/з локальную сеть? Заранее спасибо.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Рекомендую для начала внимательно ознакомиться с разделом справочной системы "Разработка распределенных систем"-"Сетевой обмен по протоколу NetBEUI", особенно обратить внимание на раздел "Режимы сетевого обмена".
При настройке каналов типа СВЯЗЬ_In Net совсем не обязательно, чтобы запрашиваемый канал был СВЯЗЬ_Out Net, и наоборот! Остальное найдете в справке ТМ.
Posted by nizinkinD (Участник № / Member № 1706) on :
Добрый день. 1)Вышлите пожалуйста инструкцию по настройке DCOM под windows xp sp2 2)из справки
quote: При нажатии ЛК на любой другой настройке, на экран выводится диалог Выбор канала. В нем следует указать опрашиваемый или управляемый канал удаленного узла.
но у меня появляется диалог где где нет удаленных узлов только свои. Сеть настроена, работает,TM на другом компьютере установлена,каналы настроены также,флаги для MВР тоже есть.Только DCOM не настроен наверное. что еще нужно сделать,чтобы можно было пересылать данные на канал удаленного компьютера? 2)Как передать значение атрибута канала типа "пустой" каналу типа "связь" ?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
1) Отправил 2) Понятие "Удаленный узел" имеет смысл не реально физически удаленного узла по сети на данный момент, а другого узла текущего проекта, которые Вы называете "свои". Это список узлов текущего проекта и в нем любой узел, кроме текущего открытого Вами на редактирование, является "удаленным" по отношении к текущему (определение "удаленного узла" есть в справочной системе). 3) Есть два способа: а. Когда связь "точка-точка" - тогда канал подтипа СВЯЗЬ имеет дополнение к подтипу InNet и связан с любым атрибутом канала подтипа ПУСТОЙ. б. Когда связь "один-ко многим" (автопосылка) - тогда канал подтипа СВЯЗЬ имеет дополнение к подтипу InAutonet и связан с атрибутом Реальное канала подтипа ПУСТОЙ. У последнего должен стоять флаг "В сеть".
И еще - для обмена по I-NET DCOM абсолютно не нужен. Должны быть настроены службы NetBios для транспортных протоколов TCP\IP, либо NetBEUI.
Posted by nizinkinD (Участник № / Member № 1706) on :
Если я вас правильно понимаю.. Условие: netbios настроен или Netbeui,есть флаги настроек канала для посылки и приема по сети. 1)При настройке канала "связь" ,в диалоге выбора удаленного канала должны быть и физически удаленные каналы(при условии что таковые имеются вообще в другом проекте).? 2)Как мне настроить netbios,Netbeui? Спасибо за помощь.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
1) Нет - в этом списке просто отображаются все узлы текущего открытого проекта, РБК ни коем образом не сканирует сеть на наличие реальных запущеных узлов. Связаться с каналами из "вообще" другого проекта никак нельзя, только с каналами текущего проекта. 2) NetBios - это служба, транспортом для которой может быть любой из протоколов: TCP\IP или NetBEUI. Если у Вас стоит на обоих узлах только TCP\IP - то достаточно просто разрешить использование NetBios в настройках сети для данного протокола в системе. А для обоих узлов указать верные параметры логического номера сетевого адаптера службы NetBios. Как это сделать - неоднократно обсуждалось здесь на форуме - смотрите соответсвующие топики.
Posted by nizinkinD (Участник № / Member № 1706) on :
Нужно ли скопировать текущий проект на другой компьютер,чтобы связаться с удаленным физически каналом?
Posted by nizinkinD (Участник № / Member № 1706) on :
NetBios по умолчанию разрешен, иначе бы не было видно комьютеров в сети(определение имен компьютеров для обмена по сети). Или вы имеете ввиду выбрать чекбокс "Использовать NetBios поверх TCP/IP".Исправьте меня если я не прав.
Posted by nizinkinD (Участник № / Member № 1706) on :
quote: А для обоих узлов указать верные параметры логического номера сетевого адаптера службы NetBios
Если на обоих компьютерах по одной сетевой карте, то нужно везде просто поставить "0" в поле "логический сетевой адаптер " .
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
1) Что Вы понимаете под "связью с удаленным физическим каналом"? Сетевой обмен? Если так - то естественно - каждый узел проекта запускается на своем ПК или контроллере, под своим рантаймом. 2) Да, я имел в виду чекбокс "Использовать NetBios поверх TCP/IP". 3) Не обязательно номер адаптера 0, дело в том, что WinXP динамически распределяет номера при старте системы, обычно NetBios в TCP\IP занимает либо 0-й, либо 1-й, либо 2-й адаптеры. Это надо подбирать. Загрузка узла с верно указанным адаптером в РПД дает некоторый таймаут (5-10 секунд), которого нет, если загружать узел с неверно указанным номером адаптера.
Posted by nizinkinD (Участник № / Member № 1706) on :
Добрый день.Конфигурация: 1 компьютер :узел-мрв,флаги(параметры узла) для сети есть, канал -связь,подтип in net, флаг- посылка в сеть. В этом же узле получилось передавать значение на другой канал(связь,in autonet). если на другой компьютер пересылать значение этого канала то, 2 компьютер: проект скопировал с 1 компьютера,создал канал (связь ,in net)чтобы связать с каналом 1 компьютера..но нету его там!! чекбокс "Использовать NetBios поверх tcp/ip"есть,номер адаптера пробовал разные.. Какие ещё условия нужны для такой "простой " задачи??Я просто в недоумении.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Не понял - зачем Вы каналу InNet флаг автопосылки поставили? И почему он вообще InNet, если Вы его значение просто передавать на другой узел автопосылками планируете? Все запутали.
Давайте для начала обрисуем подробно - что именно Вы хотите сделать, а потом уже опишем как это сделать. Так будет проще разобраться.
Posted by nizinkinD (Участник № / Member № 1706) on :
Привет.
Задача(1 топик):установить перадачу данных между каналами TM .Эти каналы должны быть на разных компьютерах .Значения в каналы записываю в редакторе представления данных.Когда приосходит запись в каналы,вызывается мой драйвер и,управляет роботом.Нужно управлять роботом с первого компьютера,который присоединен к второму компьютеру.Типовые проекты я смотрел.Но у вас(в примерах) нет никаких комментариев по поводу работы и целесообразности использования тех или иных настроек.Топики тоже читал.Научился передовать данные между каналами в рамках текущего узла.Но через сеть...согласен, с автопосылкой переборщил.Как я понимаю сейчас:канал(передающий,1 компьютер)тип:связь,подтип:outnet,фраг "в сеть" ->канал (принимающий,2 компьютер)тип:пустой,подтип:fast r/w(данные которые принимает,записывет в драйвер.Кстати у него тоже д.б. флаг"В сеть").Нужен флаг "разрешить netbios...".Как теперь "увидеть" каналу (1) компа канал (2) компа,чтобы присвоить настройке ch(1) его атрибут(2)?Поправьте меня в моей конфигурации.Спасибо.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
То есть, если я правильно понял у Вас связка: каналы МРВ1 -> (сеть) -> каналы МРВ2 -> (драйвер) -> устройство.
Тогда: 1) каналы МРВ1 - это каналы подтипа СВЯЗЬ_outNet, настроенные на Входы каналов МРВ2. 2) каналы МРВ2 - это каналы fastR/W, для работы с драйвером.
Никаких флагов "В сеть" в каналах ни в МРВ1, ни в МРВ2 не нужно. Этот флаг для автопосылок (связь "один ко многим"). У Вас же связь "точка-точка".
МРВ должны быть типа МРВ (Сеть). В каждом указан правильный логический адаптер в настроках сети, на котором работает служба NetBios (у Вас поверх TCP\IP). Как найти номера логических адаптеров с NetBios - не раз обсуждалось в топиках форума, можно найти через функцию "Поиск".
Posted by nizinkinD (Участник № / Member № 1706) on :
Проект на 1 компьютере МРВ1.Копирую его на 2 компьютер,но не могу создать там МРВ2 так как один уже есть,удалить старый узел не могу, только сожержимое узла.Что здесь делать? Спасибо.
Posted by dark (Участник № / Member № 1430) on :
Здраствуйте. 1)Что означает ошибка ,которая возникает при открытии файла проекта.Появляется окно, Имя окна- "Ошибка диагностирования " в нем какие то цифры. 2)С каналами обмена по сети все вроде понятно.Но как сделать сам проект.Если создать файл проекта ,перенести его на 2 компьютера и по отдельности там создавать МРВ,то ничего не получиться.Похоже ,что вопрос в том, как запустить один файл проекта на двух машинах так ,чтобы если я создам узел на одной,его будет видно на другой.Объясните этот момент пожалуйста.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
1) Каие именно цифры пишет? 2) Вам необходимо понять одно, что проект - есть распределенная система, в которой для каждого узла создается свой файл базы. Сам проект разрабатывается на одном ПК - как единый проект системы. А вот запускаться на физических узлах должны базы (узлы) проекта - каждый на своем узле. Например: есть два МРВ - МРВ1 и МРВ2. Создаете проект. Создаете в нем два узла: МРВ1 и МРВ2. программируете их, создаете каналы, связываете эти каналы между собой. Сохраняете проект и копируете его на оба физических ПК с МРВ1 и МРВ2. И на каждом физическом ПК в МРВ открываете свой узел на ПК1 открывается МРВ1, а на ПК2 - МРВ2.
Posted by nizinkinD (Участник № / Member № 1706) on :
Спасибо. Очень внятно как и хотелось.
Posted by nizinkinD (Участник № / Member № 1706) on :
Извините, но ещё маленький вопрос.
quote: И на каждом физическом ПК в МРВ открываете свой узел на ПК1 открывается МРВ1, а на ПК2 - МРВ2.
Я же проект запускаю в котором 2 узла,а не узлы .Как же я запущу 1 узел проекта не запустив 2 узел??
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Проект - это проект, он не запускается, запускаются именно узлы из проекта.
Posted by dark (Участник № / Member № 1430) on :
добрый день. 1)В редакторе представления данных ,когда на 2 компе загружены мониторы,на 1 компе при загрузке мониторов появлятся окно с сообщением "код ошибки сервера матообработки -38".Что означает следующая ошибка? 2)Когда нажимаю кнопку "эмуляция" в редакторе базы каналов появляется окно с заголовком "Dserv" и содержанием "C:\Program was not found".Почему так? 3)
quote: Проект - это проект, он не запускается, запускаются именно узлы из проекта.
Имеется в виду запуск мониторов в редакторе представления данных? если так то нужно загрузить на 1 компе первый монитор,а на 2 компе запустить второй монитор. На одном компе все работает как надо, поэтому я прилагаю файл проекта т.к. распределенно не работает.Номера адаптеров определил - задержна при загрузке мониторов только на номерах 0.на других задержки нету. Пожалуйста посмотрите мой проект. Пришлю проект по почте ,тема письма "link".
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
1) Ошибка -38 означает, что при запуске Сервер ТМ обнаружил в сети уже работающий узел с таким же индивидуальным адресом. Проверьте индивидуальные сетевые номера запускаемых узлов в проекте.
2) Где у Вас расположен проект и сама система ТМ, путь? Вероятно эмулятору "не понравились" пробелы в пути к файлу.
3) Перешлите, пожалуйста, еще раз на hotline1@adastra.ru
Posted by dark (Участник № / Member № 1430) on :
1)Значит какой -никакой коннект есть Осталось сделать по нормальному. 2)проверю 3)послал
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
У Вас канал "send__" из первого узла настроен на атрибут Реальное, а должен быть настроен на атрибут Вход. По поводу 38-й ошибки - рекомендую проверить через диспетчер задач на другом ПК - не остался ли висеть запущенный Drawserv.exe от предыдущего запуска этого же узла. В остальном все вроде в проекте корректно.
Posted by dark (Участник № / Member № 1430) on :
Спасибо .посмотрю.
Posted by Andre (Участник № / Member № 719) on :
В примерах проектов для сетевого обмена перечилены 10 примеров, а 4 пример( 4) Тестирование сетевого обмена по OutNET ind (гарантированная доставка) (Out_Net_Ind.ctm))отсутствует. Хотелось бы посмотреь именно его, проверте пожалуйста. Да и дайте доступ для пользователей ком. версии, я в принципе ком. продукт регистрировал.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Да, действительно, такой проект отсутствует. И в архивах нам найти его не удалось. Однако, функция Out_Net_Ind реализуется очень просто. В любом канале подтипа СВЯЗЬ/Out Net надо заменить дополнение к подтипу на Out Net(Ind). Никакие другие настройки трогать не надо, в том числе и в узле-приемнике.
Доступ к базе проектов и обновлений для пользователя коммерческой версии Trace Mode 5 у Вас должен быть. Если есть проблемы, пришлите на адрес техподдержки Ваш логин и пароль, под которыми Вы регистрировали на сайте систему Trace Mode 5. Мы проверим.