Меню
+7 (495) 785-95-25
sale@lcard.ru
sale@lcard.ru
Страницы 1
Тема закрыта
|
||||
|
|
LTRУ нас крейт LTR-EU-16 с модулями LTR212, работающий по Ethernet. Возникла задача - управлять крейтом с двух компьютеров. Например, с первого модуля информация поступает в программу, запущенную на первом компьютере, со второго модуля - в программу, запущенную на втором компьютере. Возможна ли такая работа крейта? Если да, как єто сделать? |
|||
|
||||
|
|
Re: LTRВ текущем варианте прошивки крейта, крейт работает только с одним подключением, соответственно два разных LTR Server’а не смогут подключиться к одному крейту. Другой вопрос, что если известно, что один из компьютеров всегда запущен (причем не обязательно именно один из тех, на которых должна выполняться одна из программ, главное только, чтобы он был подключен к той же сети), то LTR Server может быть запущен на нем, а программы с разных компьютеров уже могут через сеть работать с этим LTR Server’ом, каждая со своим модулем. |
|||
|
||||
|
|
Re: LTRБлагодарю за ответ. Тот вариант, который Вы предлагате, полностью подходит для решения нашей задачи. Если можно, подскажите, как организовать такую сеть. |
|||
|
||||
|
|
Re: LTRНу что собой представляет сеть физически – не принципиально. Это может быть как просто свитч/хаб/маршрутизатор к портам которого подключены несколько компьютеров и крейт, так и локальная сеть предприятия и т.д. С программной точки зрения, Вы просто запускаете LTR Server на одном компьютере, IP-адрес которого Вы должны знать. В LTR Server/'е добавляете IP-адрес крейта (я так понял, что с крейтом через Ethernet Вы уже работали?). В программе, которая запущена на другом компьютере, нужно сделать только одно изменение - при вызове LTR212_Open в качестве второго параметра нужно указать IP-адрес компьютера, на котором запущен LTR Server, а не SADDR_DEFAULT, как Вы делали в случае, если LTR Server был запущен на том же компьютере.
res = LTR212_Open(&hltr212, (192<<24) | (168<<16) | (1<<8) | 2, SPORT_DEFAULT, .... ) Соответственно, при желании Вы можете и управлять сервером с другого компьютера через функции, описанные в ltrapi.pdf, установив в поле saddr структуры TLTR тот же адрес компьютера с запущенным LTR Server/'ом. Если будут вопросы, пишите |
|||
|
||||
|
|
Re: LTRСпасибо огромное! В понедельник попробую реализовать это решение. А чтобы жестко не привязываться к IP-адресу управляющего компьютера, добавлю его в "Свойства модуля" своей программы. |
|||
|
||||
|
|
Re: LTRСделал все так, как Вы написали, но, второй компьютер, по-прежнему, не видит LTR Server - программа не работает. Может, что-то сделал не так. Подскажите, если можно, на примере, где и как нужно прописывать IP-адреса и другие параметры. |
|||
|
||||
|
|
Re: LTRАлександр. Со второго компьютера проходит ли ping по IP-адресу первого компьютера? |
|||
|
||||
|
|
Re: LTRДа, проходит. И файлы по локадьной сети копируются. |
|||
|
||||
|
|
Re: LTRНу если компьютер с запущенным LTR_Server’ом, который видит нужный крейт, пингуется с компьютера, на котором запущена программа, а LTRXXX_Open() с этим адресом возвращает ошибку, то по-видимому, проблема в том что соединение запрещено firewall’ом/ брандмауэром. На компьютере, на котором запущен LTR Server, если запущен виндовый или сторонний firewall, то в нем должно быть разрешено принимать LTR Server’у входящие соединения и/или разрешены входящие соеденения по TCP-порту 11111 (этот порт используется для связи ltrapi с LTR Server’ом) – т.е. или сам LTR Server или порт должен быть добавлен в исключения. Стандартный виндовый firewall, если запущен, при первом запуске LTR Server’а должен был спросить, разрешить ли доступ к сети этой программе и при разрешении позволяет работать LTR Server’у по всем портам. А какая система у Вас на компьютере с LTR Server’ом и с Вашей программой? На компьютере с LTR Server’ом запущен какой-либо firewall?
P.S.: Проверить, что проблема не в Вашей программе можно с помощью LGraph2. В нем есть в настройках оборудования кнопка «Адреса ltrserver», где можно указать адрес компьютера с LTR Server’ом (порт 11111) и нажать тест – соответственно, если удастся установить соединение – загорится зеленый индикатор. P.P.S.: Если у Вас на компьютере, на котором запускается Ваша программа, есть telnet (в WinXP он есть), то дополнительно можно проверить соединение, написав в командной строке (если, допустим адрес компьютера с LTR_Server 192.168.12.2): telnet 192.168.12.2 11111.
P.P.P.S.: Если уровень журнала в LTR Server’е стоит максимальный уровень журнала (7-ой), то сервер в журнал пишет адреса, которые доступны на компьютере, на котором он запущен ([дата]: (4) CLIENT_INIT: Server: имя компьютера [адрес]). Можно на всякий случай проверить, что там есть адрес, по которому Вы пробуете подключаться. Кроме того, проверить, не пишет ли сервер что-либо в журнал при попытке подключения. |
|||
|
||||
|
|
Re: LTR...В последний абзац: даже если уровень журнала 4. Цифра в скобках - это приоритет сообщения (от 0 - критический до 7 - самый подробный debug). |
|||
|
||||
|
|
Re: LTRТак то все должно быть просто. Если у Вас в сети компьютер, допустим с адресом 192.168.1.2, на котом запущен LTR-Server, компьютер с адресом 192.168.1.3, где должна выполняться эта программа и крейт, допустим, с адресом 192.168.1.10. Тогда запускается сервер на 192.168.1.2. При старте в журнале сервер пишет адреса компьютера, среди которых должен быть 192.168.1.2. В запущенном сервере в IP-адресах крейтов добавляется адрес крейта - 192.168.1.10 и устанавливается с ним соединение. Крейт появляется в активных крейтах в сервере с составом модулей. После этого можно запустить программу на компьютере 192.168.12.3 и вызвать в ней LTR212_Open с указанием адреса 192.168.12.2, как было указано в посте от 08.03.12 23:24. |
|||
|
||||
|
|
Re: LTRТолько в последнем абзаце третья цифра в адресах не 12, а 1 для данного примера. |
|||
|
||||
|
|
Re: LTRУточните, пожалуйста, какие параметры нужно прописать в ini-файле сервера (Listen adress, port). Или можно оставить параметры по умолчанию - 0.0.0.0 и 11111? |
|||
|
||||
|
|
Re: LTRВ ini файле можно оставить все по-умолчанию |
|||
|
||||
|
|
Re: LTRОтвечу на Ваши вопросы. Компьютер, на котором запущен LTR_Server, работает под "Vista", а второй - под "XP". По поводу "firewall", ничего пока сказать не могу. Скорее всего, его там нет. |
|||
|
||||
|
|
Re: LTRДа, еще. В журнале LTR-Serverа адреса второго компьютера нет, есть только, адрес первого компьютера и адреса найденных крейтов. |
|||
|
||||
|
|
Re: LTRНу в Висте (как и в XP) есть встроенный firewall (в русском переводе брандмауэр) и включен по-умолчанию (Панель инструментов -> брандмауэр windows) - можно попробовать либо его выключить, либо добавить в списко разрешенных программ LTR Server (на компьютере с сервером). |
|||
|
||||
|
|
Re: LTRСпасибо за ответ, завтра попробую это сделать. |
|||
|
||||
|
|
Re: LTRну да, сервер показывает адрес компьютера, где он запущен (первого). И этот адрес Вы передаете в LTR212_Open, когда кодключаетесь со второго. |
|||
|
||||
|
|
Re: LTRОднако немаленький они уже брандмауэр соорудили... http://www.windowsfaq.ru/content/view/680/94/
|
|||
|
||||
|
|
Re: LTRСпасибо за квалифицированные советы! Все получилось. |
|||
Страницы 1
Тема закрыта
Адрес: 117105, Москва, Варшавское шоссе, д. 5, корп. 4
Многоканальный телефон:+7 (495) 785-95-25
Письма и запросы: lcard@lcard.ru
Отдел продаж: sale@lcard.ru
Техническая поддержка: support@lcard.ru
Время работы: с 9-00 до 19-00 мск