|
Связь с внешним миром Modbus, RS232, RS485, Lon и другое. |
|
Опции темы | Поиск в этой теме |
25.12.2014, 16:58 | #1 |
Member
Регистрация: Jan 2014
Сообщения: 62
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
2Gi в роли TCP-клиента
Может ли SMH-2Gi сам подключаться в роли TCP-клиента на сторонний TCP-сервер, при этом с точки зрения Modbus оставаясь Slave'ом?
|
25.12.2014, 17:28 | #2 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 157
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: 2Gi в роли TCP-клиента
Цитата:
Подробнее. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
26.12.2014, 02:08 | #3 |
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, но там оказалось не все так гладко, как хотелось бы. |
26.12.2014, 13:23 | #4 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 157
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: 2Gi в роли TCP-клиента
Цитата:
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
26.12.2014, 16:27 | #5 |
Member
Регистрация: Jan 2014
Сообщения: 62
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: 2Gi в роли TCP-клиента
Придется в итоге опять возвращаться к варианту со сторонним ПО.
|
26.12.2014, 16:52 | #6 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 157
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: 2Gi в роли TCP-клиента
А как вы заставите модбас-драйвер признать своим открытый "сторонним ПО" сокет? Да ладно драйвер. Как вы заставите мастера отправить запрос в непонятно кем открытое соединение?
В данном случае я вижу вашу задачу примерно как попытку немого человека привлечь внимание человека слепого на расстоянии. Маши руками, не маши - ничего толкового не получится. И почему-то мне кажется, что дело всё отнюдь не так на самом деле, как вами представлено. Делать сервер протокола, который не умеет устанавливать соединение... Такое разработчики даже после ящика водки не придумают. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
27.12.2014, 12:23 | #7 | |
Member
Регистрация: Jan 2014
Сообщения: 62
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: 2Gi в роли TCP-клиента
Цитата:
На контроллер устанавливается служба (daemon), который в качестве TCP-клиента подключается на localhost:502, еще одно клиентское TCP-соединение создает на адрес:порт сервера SCADA и делает между ними трансляцию пакета. Аналогичный механизмом у нас отлично работает для Mosbus-RTU, когда Moxa NPort в качетсве TCP-клиента подключается на сервер опроса, а последовательным портом цепляется на последовательный порт/шину. Как вы сами писали другим людям по ранее приведенной ссылке: И в этом случае даже по одной физической шине отлично работают Modbus и проприетарные протоколы счетчиков, и даже скорость, битность и т.д. удается "переключать" на лету. |
|
29.12.2014, 10:08 | #8 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 157
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: 2Gi в роли TCP-клиента
Может проще использовать нормальный OPC-сервер?
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |