Здравствуйте. У меня возникла проблема при решении следующей задачи: необходимо передать данные с одного компьютера (Win98, ТМ5 базовая) на другой,используя последовательный интерфейс. На комп№1 создаю узлы: АРМ(Большой, МВР(M-link,Master;"Параметры посл портов"-COM1, связь с контроллером,базовый адрес(3f8), прерывание(4));узел ДАТЧИКИ (Большой, МВР(M-link,Slave;"Параметры посл портов"-COM1, Slave M-link,базовый адрес(3f8), прерывание(4));На комп№2 узел Датчики(как на комп №1).Каналы:Датчики (комп№2)-ПУСТОЙ(например, G_пила),АРМ -канал типа СВЯЗЬ(out)(nn-0, node-датчики),Датчики (комп1)-канал типа ПУСТОЙ(In_nill).И все это явно неправильно.Помогите, пожалуйста с этим разобраться.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Да уж - это явно неправильно, потому что неразборчиво!
Не могли бы Вы описать все это примерно в таком виде:
Тогда будет легче разобраться и нам и Вам.
Posted by Любовь (Участник № / Member № 938) on :
Здравствуйте.Попытаюсь поразборчивей написать то, в чем уже давно сама запуталась: ПК№1: -АРМ(МРВ_M-link,master): Выполняю АВТОПОСТРОИТЬ (Связать с датчики), появилась иконка датчики, в ней: канал_А: Связь, тип-I, In-M-Link,NN=0, NODE=Датчики, CH=канал_А, ATTR=реальное, OBJ=_БАЗА; -Датчики(МРВ_M-link,Slave): канал_А:Пустой,тип-О, out_null;
ПК№2: -Датчики(МРВ_M-link,Slave): канал_А: Пустой,тип-О,G_пила,I0=5,I1=C2=C3=0; (это по идее должно передаваться через COM1 на ПК№1(в будущем должна буду имитировать работу резервуарного парка)
Настройки узлов: ПК№1: -АРМ: 1)Host Mode (M-link); 2)Параметры последовательных портов: Связь с контроллером, баз. адрес-3f8, скорость 110, Таймаут-0, прерывание-4, упр.перед.-нет; -Датчики: 1)Slave Mode (M-link); 2)Параметры последовательных портов: Slave M-Link, баз. адрес-3f8, скорость 110, Таймаут-0, прерывание-4, упр.перед.-нет; ПК№2: -Датчики: 1)Slave Mode (M-link); 2)Параметры последовательных портов: Slave M-Link, баз. адрес-3f8, скорость 110, Таймаут-0, прерывание-4, упр.перед.-нет. Вот такой я чайник.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Каждый самовар когда-то был чайником!
Итак структура Вашего проекта: ПК№1(АРМ): 1) Канал_А (связан с каналом Канал_А из узла ПК№2(ДАТЧИКИ))
ПК№2(ДАТЧИКИ): 1) Канал_А (генератор сигнала пилы - только тип канала ПУСТОЙ_G-пила никак не может быть Output, система все равно его вернет в Input, но это не суть важно).
Здесь вроде все правильно. Смущают только настройки скорости обмена и таймауты по СОМ-портам: 1) Скороть 110 бод/сек не будет работать в MS Windows - нужно что-то более приемлемое, например 9600 бод/сек. Эту скорость надо задать для СОМ-портов обоих ПК. 2) В настройках СОМ-порта узла мастера нужно задать хоть какой-нибудь таймаут, например 400 миллисекунд.
Posted by Любовь (Участник № / Member № 938) on :
Здравствуйте,я хочу немного уточнить следующее: ПК№1(АРМ): 1)Канал_А (связан с каналом Канал_А из узла ПК№2(ДАТЧИКИ))-для этого надо на ПК№1 построить узел ДАТЧИКИ и затем выполнить для узла АРМ автопостроить. 2)Если это так, то что надо прописать для канала_A узла ДАТЧИКИ на ПК№1 (подтип, дополнение к подтипу)? Пробовала по-разному, результата нет. И еще глупый вопрос:прямое кабельное соедининие должно быть отключено?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Если я все правильно понял, то Вы пытаетесь создавать проект сразу на двух различных ПК, то есть - физически разных ПК. Не нужно так делать - проект в ТМ разрабатывается как единое целое и то, что Вы создаете в проекте разные узлы АРМ, которые потом будут запускаться на разных физических ПК не означает, что Вы должны каждый раз пересаживаться за другой ПК и выполнять построение АРМа для этого ПК. Вся разработка ведентся на одном ПК и в единой Инструментальной системе! Отсюда ответ про "кабельное соединение": при разработке проекта в Редакторе Базы Каналов (сокращенно РБК) и тем более при автопостроении связей между АРМами проекта совершенно не нужно, чтобы эти реальные ПК (разрабатываемых Вами АРМов) были связаны между собой этим самым "кабельным" соединением!
Вот пошаговый алгоритм создания Вашего проекта: 1) Запускаем РБК и создаем проект 2) В проекте создаем два узла: АРМ и Датчики 3) Настраиваем СОМ-порты для обоих этих узлов: Узел АРМ: СОМ1 - "Связь с контроллером"\ Адрес: 3F8 Скорость: 9600 Параметры обмена: 8-1-n Прерывание: 4 Таймаут:400 А также - выстявляем флаг Host M-Link в основном бланке. Узел Датчики: СОМ1 - "Связь с контроллером"\ Адрес: 3F8 Скорость: 9600 Параметры обмена: 8-1-n Прерывание: 4 Таймаут:400 А также - выстявляем флаг Slave M-Link в основном бланке.
4) Входим в узел Датчики и создаем в нем канал "Канал_А" подтипа ПУСТОЙ_G-пила. В реквизитах канала выставляем флаг "Доступ".
5) Возвращаемся на первый экран - структуры проекта и дважды кликнув по узлу АРМ выполняем Автопостроение его с узлом Датчики. При этом в АРМе появится объект "Датчики", а в нем канал "Канал_А" подтипа СВЯЗЬ_InM-Link, который будет автоматически настроен системой автопостроения на канал из узла Датчики.
6) Сохраняем проект на диск и теперь нам необходимо создать для обоих узлов проекта графику.
7) Открываем проект в РПД (Редактор представления данных), загружаем наш проект и открываем на редактирование узел АРМ - создаем в нем экран, а на экране размещаем Форму Отображения (ФО) Динамический текст, которую привязываем к каналу "Канал_А" атрибут "Реальное".
8) Сохраняем проект и закрываем узел АРМ. Открываем узел Датчики и создаем в нем один экран с ФО динамического текста, которую привязываем к каналу "Канал_А". Сохраняем проект - узел Датчики можно не закрывать, а запустить в режим эмуляции (кнопка с бегущим человечком на панели инструментов РПД).
9) Берем кабель Null-modem (нульмодемный кабель для связи двух ПК через СОМ-порты) и соединяем ПК, где у нас запущен узел Датчики с другим ПК, где точно также запускается узел АРМ - для этого на другом ПК тоже должен стоять ТМ5. Также нужно просто скопировать наш разработанный проект на этот ПК, открыть в нем узел АРМ и запустить на эмуляцию.
Вот и все...
Posted by Любовь (Участник № / Member № 938) on :
Здравствуйте, это все я. После такого подробного объяснения даже стыдно еще писать... Но все таки не работает. Делаю все как вы написали (по нескольку раз), но результата нет .
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Присылайте Ваш проект на адрес hotline1@adastra.ru - посмотрим, что у Вас там не так. Только не архивируйте его в самораспаковывающийся архив типа ЕХЕ - иначе он не пройдет.
Posted by Любовь (Участник № / Member № 938) on :
Здравствуйте, отослала на hotline1@adastra.ru свой проект, тема- "связь двух ПК", название проекта -"нефтебаза"
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Так у Вас в настройках СОМ-порта на узле Датчики скорость неверно выставлена - 110 бод, а нужно 9600 бод!
Posted by Любовь (Участник № / Member № 938) on :
Ой, вы извините меня, что вам прислала проект с такой глупой ошибкой. Перед тем как отослать просто сделала новый...Во всех старых сделано по инструкции и все так как вы сказали...Но даже если и выставленно 9600 -это все равно не дает результата. А может это связано с самими пк? Хотя данные передаются нормально с помощью блоков INP и OUTP. Кабель перепаян с одной стороны. Порты имеют такие же настройки как и прописывала на вкладке "Парамерры посл. портов". Еще раз извините меня.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
А кабель точно Null-modem? Может что-то в кабеле не так спаяли, потому как в проекте тогда у Вас все впорядке? Когда Вы запускаете узел проекта в РПД он создает в директории проекта файл с именем запущеного Вами узла и расширением txt. В этом лог-файле пишется отладочная информация по запуску и работе проекта. Посмотрите в нем - появляются ли строки пакетов запросов по M-Link на узле Мастер? Если они там постоянно появляются, а атрибут "Достоверность" канала этого узла равен 1, значит, что-то не то с кабелем null-modem'а.
Posted by Любовь (Участник № / Member № 938) on :
Здравствуйте.Дела с кабелем обстоят следующим образом: кабель null-modem, разбирали, проверяли,с помощью блоков INP и OUTP-передать и принять данные не составляет проблемы, через HyperTerminal-тоже все в порядке, при установке прямого кабельного соединения все копируется с ПК на ПК. Лог файлы показывают одну и туже ошибку: АРМ (мастер):ERR IN0: RS:COM 1 check error OUT: 40<@> 01 02 00 00 00 00 00 00 00 00 00 03 2a<*> ( и так много много раз); Для SLAVE:NETDDE:NDDEAPI.DLL not found RTM:math kernel starting... SCREEN load error screen.000-пишет только одну ошибку; Насчет атрибута достоверность: в узле мастер для каналов СВЯЗЬ вместо атрибута РЕАЛЬНОЕ ставлю ДОСТОВЕРНОСТЬ. Запускаю РДК,я так понимаю надо смотреть колонку I (после реальное), но она пустая остается.
Posted by Любовь (Участник № / Member № 938) on :
если запускать два РПД на одном компе, организовывать связь между COM1 и COM2-то все в порядке, данные принимаются и отсылаются. Единственно только в датчики.txt(slave)пишется: ETDDE:NDDEAPI.DLL not found RTM:math kernel starting... SCREEN load error screen.000 INFO:work mode INFO:start time is 0.44 s INFO:stoping... RS:COM2 TRANSACTION=0 ERROR=1 TIME=30.15 TOTAL_BYTE=0 AVR_RESPONSE=0 MAX_RESPONSE=0. Всн работает отлично на одном ПК
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
На "NETDDE:NDDEAPI.DLL not found" и "SCREEN load error screen.000" - внимания не обращайте. Строка в логе Мастера: "OUT: 40<@> 01 02 00 00 00 00 00 00 00 00 00 03 2a<*>" - это и есть запрос по M-Link на узел Слейв в СОМ-порт. А вот строка "ERR IN0: RS:COM 1 check error" Означает, что на отправленый запрос Слейв ничего не ответил. Проверяйте, доходит ли сигнал до Слейва - для этого вместо РПД на ПК Слейва запустите, например, программу Гипертерминала.
1) Два РПД запускать на одном ПК - нельзя. Так сервер можно запускать несколько раз на одном ПК только с командной строки, потому как при запуске РПД он сам стартует сервер Drawserv.exe и второй РПД подключится к уже стартовонному первему серверу - поэтому может создастся впечатление, что у Вас идет обмен, а на самом деле у Вас графика РПД будет показывать значение одного и того-же канала одного узла (первого запущеного РПД). 2) А Вы случайно на Слейве не Эмулятор в РБК запускаете вместо сервера РПД во время проверки связи между двумя МРВ?
Posted by Любовь (Участник № / Member № 938) on :
Здравствуйте. 1)Вместо РПД на ПК Slave подключила гипертерминал,принимаю странный набор символов- сигнал доходит, значит скорее всего проблема в Slave? 2) на обоих ПК включаю РДП.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Все же проверьте хорошенько настройки СОМ-порта в узле "Датчики" - может у Вас там не Slave M-Link стоит в "Назначении"? Только так можно объяснить, что запросы доходят до него, но он на них не отвечает...
Posted by Любовь (Участник № / Member № 938) on :
Вы сделали меня счастливой!!! Большое,большое спасибо!!!Все работает, все отлично!!!!Спасибо, спасибо!!!Извините, что так мучила
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Ну, тогда повышаем Ваш уровень с "чайника" до "электрочайника"!