shuraa
Junior Member / Новичок
Участник № / Member № 3634
отправлено / posted
Доброго времени суток. Возникла необходимость соединить контроллер WinPAC wp8441 и сервер которые находятся на большом расстоянии друг от друга. Было принято решение использовать VPN PPTP с такими параметрами: 1) Адрес компьютера с средой разработки 192.168.2.50/24 подключен к роутеру 192.168.2.1/24 на котором поднят VPN сервер виртуальный IP-адрес которого 192.168.100.1. На роутере установлена маршрутизация 192.168.1.0/24-->192.168.100.1 2) Адрес WinPAC 192.168.1.50/24 подключен к роутеру 192.168.1.1/24 который подключается как VPN клиент с виртуальным IP-адресом 192.168.100.2. Маршрутизация отключена.
VPN работает отлично и пинги идут в обе стороны. Сделал простенький проект что бы опробовать как все это работает но возникла проблема: когда только запускаешь шпион то данные, которые на контроллере, берутся, но при изменении данных они не фиксируются. Скрин экрана:
Я так понимаю что в начале шпион обращается к адресу 192.168.1.50 и считывает данные, а последующее обращение идет уже к адресу 192.168.100.2 и из-за этого ничего не получается.
Сообщения / Posts 24 | Из / From: Украина
| IP / IP: IP адрес / IP address |
отправлено / posted
Чтобы понять, что происходит при такой организации связи, создайте в проекте тестовый узел RTM и свяжите его с контроллером. Для диагностики в узле RTM задайте ключ DEBUGON=400. В профайлерном протоколе можно будет увидеть сообщения об ошибках обмена.
Сообщения / Posts 17322 | Из / From: Россия
| IP / IP: IP адрес / IP address |
shuraa
Junior Member / Новичок
Участник № / Member № 3634
отправлено / posted
(16:3:25) INF_LOAD:Starting... Proekt12_proba_4 (16:3:25) INF_RTM:Detected NT5.RTM 5.1 (16:3:25) INF_RTM:Professional TRACE MODE 6 Profiler T-Factory RTM+ ver. 6.08.0 (16:3:25) ._.:RTM (16:3:25) INF_LOAD:max channel = 65535 (16:3:25) INF_LOAD:Load Channels = 2 (16:3:25) INF_LOAD:Templates=1 (math=0 sql=0 scr=1 doc=0 pnl=0) (16:3:25) INF_LOAD:Objects = 3 (16:3:25) INF_RTM:Timer=0.05s CalcLoop=50ms (16:3:25) INF_LOAD:LoadTime=0.155s CalcPeriod=50ms (16:3:25) INF_RTM:free_mem=1241(1264) handle=0 user=0 gui=0 after load (16:3:25) INF_RTM:DayLight enabled (16:3:25) INF_IP:name is Vov4ik ; cards=2 (16:3:25) INF_IP:card0 addr=0.0.0.0 (16:3:25) INF_IP:card1 addr=192.168.2.50 (16:3:25) INF_IP:Create InSocket = 0 (16:3:25) INF_IP:Create InSocket = 1 (16:3:25) INF_IP:Mask for use cards 303 (16:3:25) INF_IP:Create OutSocket = 0 (16:3:25) INF_IP:Create OutSocket = 1 (16:3:25) INF_IP:Number of ind_block=256 Length of pocket=1452(70) IP Buffer =8kB queue=2048 (16:3:25) INF_RTM:start time is 0.014 s (16:3:28) INF_RTM:ModeSwitch e15=0000 e18=0000 e20=0000 [0] (16:3:28) INF_RTM:mode=2(Work) e15=00 e18=00 e20=00 [0-0-src4] (16:3:28) INF_RTM:free_mem=1241 handle=0 user=0 gui=0 after start (16:3:28) INF_IP:node=4 addr=192.168.2.50 port=516 card=1 (16:3:28) INF_IP:node=4 addr=192.168.2.50 port=516 card=0 (16:3:28) INF_IP:node=4 addr=192.168.2.50 port=516 card=1 (16:3:28) INF_IP:node=4 addr=192.168.2.50 port=516 card=0 (16:3:28) INF_TCP:listen 0.0.0.0:772 (16:3:28) INF_TCP:srv buffer size = 92928 (16:3:28) INF_GRAPH:popup=0 scrref=0 trend=0,0 update=1 (16:3:31) INF_IP:node=0 addr=192.168.100.2 port=516 card=1 (16:3:31) INF_IP:node=4 addr=192.168.2.50 port=516 card=1 (16:3:31) INF_IP:node=4 addr=192.168.2.50 port=516 card=0 (16:6:36) INF_RTM:stoping... (16:6:36) INF_RTM:mode=5(Stop) e15=00 e18=00 e20=00 [0-0-src0] (16:6:36) INF_IP:as=0 ls=0 ir=0 (max_Q=2) (16:6:36) INF_RTM:stop time is 0.484 s (16:6:36) INF_RTM:number of calculation = 3736 (16:6:36) INF_RTM:END OF WORK (16:6:36) INF_RTM:free_mem=1241(1264) handle=293 user=153 gui=1527 after load (16:6:36) INF_RTM:DayLight enabled (16:6:36) INF_IP:name is Vov4ik ; cards=2 (16:6:36) INF_IP:card0 addr=0.0.0.0 (16:6:36) INF_IP:card1 addr=192.168.2.50 (16:6:36) INF_IP:Create InSocket = 0 (16:6:36) INF_IP:Create InSocket = 1 (16:6:36) INF_IP:Mask for use cards 303 (16:6:36) INF_IP:Create OutSocket = 0 (16:6:36) INF_IP:Create OutSocket = 1 (16:6:36) INF_IP:Number of ind_block=256 Length of pocket=1452(70) IP Buffer =8kB queue=2048 (16:6:36) INF_RTM:start time is 0.007 s (16:6:36) INF_RTM:free_mem=1241 handle=293 user=153 gui=1527 after start (16:7:23) INF_RTM:ModeSwitch e15=0000 e18=0000 e20=0000 [0] (16:7:23) INF_RTM:mode=2(Work) e15=00 e18=00 e20=00 [0-0-src4] (16:7:23) INF_IP:node=4 addr=192.168.2.50 port=516 card=1 (16:7:23) INF_GRAPH:popup=0 scrref=0 trend=0,0 update=1 (16:7:23) INF_TCP:listen 0.0.0.0:772 (16:7:23) INF_TCP:srv buffer size = 92928 (16:7:27) INF_IP:node=4 addr=192.168.2.50 port=516 card=0 (16:7:48) INF_RTM:stoping... (16:7:48) INF_RTM:mode=5(Stop) e15=00 e18=00 e20=00 [0-0-src0] (16:7:48) INF_IP:as=0 ls=0 ir=0 (max_Q=2) (16:7:48) INF_RTM:stop time is 0.507 s (16:7:48) INF_RTM:number of calculation = 4204 (16:7:48) INF_RTM:END OF WORK
Сообщения / Posts 24 | Из / From: Украина
| IP / IP: IP адрес / IP address |
отправлено / posted
1. По этому протоколу можно предположить, что он сформирован узлом 4, у которого при наличии одного IP-адреса заданы для обмена системны и первый адаптеры. Системный адаптер надо исключить.
2. Из "(16:3:31) INF_IP:node=0 addr=192.168.100.2 port=516 card=1 " можно сделать вывод, что обнаружен 0-й узел с адресом 192.168.100.2. Что это за узел, из предыдущего описания не видно.
3. Узел 100-й (EmbeddedRTM_1) в сети не обнаружен.
4. Какими каналами 4-й узел связан с узлом EmbeddedRTM_1?
5. Уточните, пожалуйста, что конкретно обозначает запись "Адрес WinPAC 192.168.1.50/24"?
shuraa
Junior Member / Новичок
Участник № / Member № 3634
отправлено / posted
Что бы не возникало путаницы с номерами узлов немного переделал проект: - EmbeddedRTM_1 имеет номер узла 0; - RTM_2 имеет номер узла 1.
Ответ на ваш пост: 1) Системный адаптер исключил. На EmbeddedRTM_1 и на RTM_2 включен только Первый адаптер на прием и посылку.
2) Я в первом посте писал что адрес 192.168.100.2 это виртуальный адрес который присваивается VPN клиенту при подключению к VPN серверу (адрес которого 192.168.100.1) и почему TM обращается к этому адресу я не знаю. D строке Имя компьютера / IP адрес узла EmbeddedRTM_1 указан IP 192.168.1.50.
3) EmbeddedRTM_1 теперь является узлом 0.
4) На EmbeddedRTM_1 создан канал FLOAT типа Output, а на RTM_2 - канал FLOAT типа Input. Пока что стоит задача только что бы передавать данные с контроллера на ПК. Если соединить контроллер и ПК напрямую сетевым кабелем, а не через VPN, то все работает правильно.
5) IP адрес WinPAC 192.168.1.50 маска 255.255.255.0 шлюз 192.168.1.1.
6) WinPAC пингуется по адресу 192.168.1.50.
Самое интересное что когда только запускаешь профайлер данные с WinPAC принимаются но потом не обновляются.
Сообщения / Posts 24 | Из / From: Украина
| IP / IP: IP адрес / IP address |
отправлено / posted
Т.к. у RTM_2 нет каналов, запрашивающих данные у EmbeddedRTM_1, и запросов он не посылает. "INF_IP:node=0 addr=192.168.100.2 port=516 card=1" означает, что контроллер обозначил себя адресом 192.168.100.2.
Задайте в каждом из узлов по генератору. D&D создайте в в другом узле для каждого генератора канал COPY_from. Протоколируйте не только в RTM_2, но и в EmbeddedRTM_1. Смотрите в окнах "Статусы узлов" у каждого узла, по каким адресам они видят друг друга и себя.
Сообщения / Posts 17322 | Из / From: Россия
| IP / IP: IP адрес / IP address |
shuraa
Junior Member / Новичок
Участник № / Member № 3634
отправлено / posted
Сделал проект так как вы описали. При подключении контроллера и компьютера напрямую кабелем ethernet данные передаются отлично. Через VPN ситуация получается аналогично предыдущей: когда только запускается профайлер данные с контроллера принимаются, а дальше тишина...
В "Статусе узлов" на контроллере он обозначает себя как 192.168.1.50, ПК он не находит. В "Статусе узлов" на ПК он обозначает себя как 192.168.2.50, а контроллер он видит по адресу 192.168.100.2. Получается что это не контроллер обозначает себя адресом 192.168.100.2, а ПК присваивает ему этот адрес после первой пересылки данных.
Протоколировать на контроллере пока не получится так как на нем стоит ТМ версии 6.06, а я так понял что на этой версии протоколировать нельзя.
Если бы при запуске профайлера данные не передавались совсем, то я бы искал проблему у себя, а поскольку начальные данные передаются, то проблема где-то глубже.
Сообщения / Posts 24 | Из / From: Украина
| IP / IP: IP адрес / IP address |
отправлено / posted
1. Релизы прокта и исполнительных модулей должны быть одинаковыми. Следует обновить МикроМРВ для WinPAC до релиза 6.08.
2. МРВ ничего сам не может знать IP-адрес 192.168.100.2, если он не задан в проекте. Если он записал у себя 0-й узел под этим адресом, значит, он получил от этого узла сообщение именно с этого адреса. Именно этот адрес, видимо, и надо указать в пректе для контроллера.
3. Аналогично по протоколу в WinPACe надо выяснить, под каким внешним адресом ходит МРВ.
4. Каждый узел обозначает себя своим локальным IP-адресом. Он ничего не может знать о его дальнейшей маршрутизации.
Сообщения / Posts 17322 | Из / From: Россия
| IP / IP: IP адрес / IP address |