Segnetics

Вернуться   Segnetics > Форум Segnetics > Связь с внешним миром

Связь с внешним миром Modbus, RS232, RS485, Lon и другое.

Ответ
 
Опции темы Поиск в этой теме
Старый 25.12.2014, 16:58   #1
sensei
Member
 
Регистрация: Jan 2014
Сообщения: 62
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию 2Gi в роли TCP-клиента

Может ли SMH-2Gi сам подключаться в роли TCP-клиента на сторонний TCP-сервер, при этом с точки зрения Modbus оставаясь Slave'ом?
sensei вне форума   Ответить с цитированием
Старый 25.12.2014, 17:28   #2
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: 2Gi в роли TCP-клиента

Цитата:
Сообщение от sensei Посмотреть сообщение
Может ли SMH-2Gi сам подключаться в роли TCP-клиента на сторонний TCP-сервер, при этом с точки зрения Modbus оставаясь Slave'ом?
Да.

Подробнее.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 26.12.2014, 02:08   #3
sensei
Member
 
Регистрация: Jan 2014
Сообщения: 62
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: 2Gi в роли TCP-клиента

Про стек протоколов и про то, что физически возможно протолкнуть через один Ethernet несколько Modbus-соединений, я прекрасно понимаю.

Вопрос в том, как заставить Segnetics поднять исходящее TCP-соединение на адрес и порт стороннего TCP-сервера (сервера опроса SCADA). Чтобы внутри этого соединения был Modbus. Нигде этого не нашел.

Есть только функция подключения к Slave-карте, но она подразумевает, что 2Gi становится Master'ом, а его абонент Slave'ом. А сервер опроса SCADA, к которому мы подключаемся, может быть только Master'ом.

Пробовал использовать стороннее ПО под Linuxб которое бы работало как TCP-relay, но там оказалось не все так гладко, как хотелось бы.
sensei вне форума   Ответить с цитированием
Старый 26.12.2014, 13:23   #4
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: 2Gi в роли TCP-клиента

Цитата:
Сообщение от sensei Посмотреть сообщение
Про стек протоколов и про то, что физически возможно протолкнуть через один Ethernet несколько Modbus-соединений, я прекрасно понимаю.

Вопрос в том, как заставить Segnetics поднять исходящее TCP-соединение на адрес и порт стороннего TCP-сервера (сервера опроса SCADA). Чтобы внутри этого соединения был Modbus. Нигде этого не нашел.

Есть только функция подключения к Slave-карте, но она подразумевает, что 2Gi становится Master'ом, а его абонент Slave'ом. А сервер опроса SCADA, к которому мы подключаемся, может быть только Master'ом.

Пробовал использовать стороннее ПО под Linuxб которое бы работало как TCP-relay, но там оказалось не все так гладко, как хотелось бы.
В модбасе именно мастер - иницииатор связи. Поэтому я не знаю, как вам помочь.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 26.12.2014, 16:27   #5
sensei
Member
 
Регистрация: Jan 2014
Сообщения: 62
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: 2Gi в роли TCP-клиента

Придется в итоге опять возвращаться к варианту со сторонним ПО.
sensei вне форума   Ответить с цитированием
Старый 26.12.2014, 16:52   #6
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: 2Gi в роли TCP-клиента

Цитата:
Сообщение от sensei Посмотреть сообщение
Придется в итоге опять возвращаться к варианту со сторонним ПО.
А как вы заставите модбас-драйвер признать своим открытый "сторонним ПО" сокет? Да ладно драйвер. Как вы заставите мастера отправить запрос в непонятно кем открытое соединение?

В данном случае я вижу вашу задачу примерно как попытку немого человека привлечь внимание человека слепого на расстоянии. Маши руками, не маши - ничего толкового не получится.

И почему-то мне кажется, что дело всё отнюдь не так на самом деле, как вами представлено. Делать сервер протокола, который не умеет устанавливать соединение... Такое разработчики даже после ящика водки не придумают.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 27.12.2014, 12:23   #7
sensei
Member
 
Регистрация: Jan 2014
Сообщения: 62
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: 2Gi в роли TCP-клиента

Цитата:
Сообщение от Arsie Посмотреть сообщение
А как вы заставите модбас-драйвер признать своим открытый "сторонним ПО" сокет? Да ладно драйвер. Как вы заставите мастера отправить запрос в непонятно кем открытое соединение?

В данном случае я вижу вашу задачу примерно как попытку немого человека привлечь внимание человека слепого на расстоянии. Маши руками, не маши - ничего толкового не получится.

И почему-то мне кажется, что дело всё отнюдь не так на самом деле, как вами представлено. Делать сервер протокола, который не умеет устанавливать соединение... Такое разработчики даже после ящика водки не придумают.
Идея использовать нечто, работающее следующим образом.

На контроллер устанавливается служба (daemon), который в качестве TCP-клиента подключается на localhost:502, еще одно клиентское TCP-соединение создает на адрес:порт сервера SCADA и делает между ними трансляцию пакета.

Аналогичный механизмом у нас отлично работает для Mosbus-RTU, когда Moxa NPort в качетсве TCP-клиента подключается на сервер опроса, а последовательным портом цепляется на последовательный порт/шину. Как вы сами писали другим людям по ранее приведенной ссылке:
Цитата:
Сообщение от Arsie Посмотреть сообщение
Вас вводит в заблуждение многоуровневость современных(?) протоколов. И на каждом уровне термины в основном повторяются.
И в этом случае даже по одной физической шине отлично работают Modbus и проприетарные протоколы счетчиков, и даже скорость, битность и т.д. удается "переключать" на лету.
sensei вне форума   Ответить с цитированием
Старый 29.12.2014, 10:08   #8
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: 2Gi в роли TCP-клиента

Цитата:
Сообщение от sensei Посмотреть сообщение
Идея использовать нечто, работающее следующим образом.
Может проще использовать нормальный OPC-сервер?


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать свои сообщения

BB code is Вкл.
[IMG] код Вкл.
HTML код Выкл.



Часовой пояс GMT +4, время: 16:19.


Версия vBulletin: 3.8.7
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Segnetics 2005 - 2024