- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
ПО работает через COM порт, а надо брать данные из Ethernet
Модератор: Глоб.модераторы
ПО работает через COM порт, а надо брать данные из Ethernet
Здравствуйте. Имеется счетчик и к нему ПО, работающее через COM порт. Но счетчик удален от компьютера. Данные передаются с него по сети Ethernet. Имеются преобразователи RS485-RS232 и RS232-Ethernet.Вопрос: возможно ли использовать какой-нибудь(бесплатный) виртуальный COM порт и какой, чтобы не переписывать программу? Если все-таки придется переписывать программу... натолкните на мысль с чего начать, есть ли какой-нибудь подходящий компонент в VBA(родное ПО написано именно на VBA) или лучше писать на чем-то другом? Очень надеюсь на ответ, никогда не приходилось с этим сталкиваться.
-
- почётный участник форума
- Сообщения: 3971
- Зарегистрирован: 20 янв 2010, 22:23
- Имя: Никита
- Страна: РФ
- город/регион: Мурманск
- Благодарил (а): 21 раз
- Поблагодарили: 229 раз
Re: ПО работает через COM порт, а надо брать данные из Ethernet
А дрова преобразователя Ethernet-232 случаем не имеют этой функции?
Опыт - это когда на смену вопросам: "Что? Где? Когда? Как? Почему?" приходит единственный вопрос: "Нахрена? "
-
- почётный участник форума
- Сообщения: 3971
- Зарегистрирован: 20 янв 2010, 22:23
- Имя: Никита
- Страна: РФ
- город/регион: Мурманск
- Благодарил (а): 21 раз
- Поблагодарили: 229 раз
Re: ПО работает через COM порт, а надо брать данные из Ethernet
Речь идет, наверное, про подъем архивов в первую очередь, SCADA тут совсем ни к чему, нужна простенькая программа формирования отчета копеечной стоимости или бесплатная. Если функций в драйвере нет - нужно искать полную документацию на эту железяку, как TCP-пакеты преобразуются в строку порта. Но чего-то мне подсказывает, что должна быть, иначе зачем такой преобразователь нужен..А не проще ли поискать\написать к устройству ОРС-сервер? И дальше в любую SCADA
Писать можно на чем угодно, но в разумных рамках. Вспоминаются одни умельцы из известной конторы, которые бесплатно распространяемую программу съема архивов с тепловычислителя сделали в Access. Т.е. я для того чтоб с ним работать еще и офис купить полностью должен и установить...
Опыт - это когда на смену вопросам: "Что? Где? Когда? Как? Почему?" приходит единственный вопрос: "Нахрена? "
-
- почётный участник форума
- Сообщения: 3971
- Зарегистрирован: 20 янв 2010, 22:23
- Имя: Никита
- Страна: РФ
- город/регион: Мурманск
- Благодарил (а): 21 раз
- Поблагодарили: 229 раз
Re: ПО работает через COM порт, а надо брать данные из Ethernet
Знакомо. На букву "М". Что еще можно про них сказать...С удивлением обнаружил в нем протокол CAN :)
С год назад на одном объекте оказалось проще и дешевле воткнуть в контроллер счетный модуль. В принципе если счетчиков десятки - разницы нет в интерфейсе, а вот для одного-двух задача увлекательная. Особенно с учетом того что производители счетчиков протоколами делиться очень не любят.
Опыт - это когда на смену вопросам: "Что? Где? Когда? Как? Почему?" приходит единственный вопрос: "Нахрена? "
-
- администратор
- Сообщения: 18758
- Зарегистрирован: 17 июн 2008, 16:01
- Имя: Евгений свет Брониславович
- Страна: Россия
- город/регион: Санкт-Петербург
- Благодарил (а): 973 раза
- Поблагодарили: 1854 раза
Re: ПО работает через COM порт, а надо брать данные из Ethernet
Что-то совершенно не понял вопроса. Во 1-х, надо смотреть на Ваш преобразователь, в каком виде он отдаёт данные. Во 2-х, если преобразователь ещё не выбран, то используйте MOXA NPort6250 - Вы как раз и получите удалённый COM-порт, причём после покупки MOXA виртуальный СОМ-порт Вы получите в подарок, то есть бесплатно, в виде стандартной функции. :)NaB писал(а):Имеются преобразователи RS485-RS232 и RS232-Ethernet.Вопрос: возможно ли использовать какой-нибудь(бесплатный) виртуальный COM порт и какой, чтобы не переписывать программу?
Кстати, именно этой MOXA я с работы мониторю домашнюю электросеть - связываюсь с прибором, имеющим RS-485 через виртуальный COM-порт посредством NPot6250 и интернета. Софт прибора работает только с COM. Это то что Вам требуется?
По вопросам работы Форума можно обратиться по этим контактам.
Re: ПО работает через COM порт, а надо брать данные из Ethernet
Да, наверно, это то что нужно, но преоразователь уже есть. Это NPort 5100
Re: ПО работает через COM порт, а надо брать данные из Ethernet
Даже не знаю что это за протокол низкоуровневое ПО писать не приходилось.
Протокол обмена:
1. Формат пересылки ( 11 битовая передача, 9600 бод/сек) при передаче и приеме.
0 1 2 3 4 5 6 7 8 9 10 - последовательность передачи
ST B0 B1 B2 B3 B4 B5 B6 B7 BP SP
-- ----------------------- -- --
¦ ¦ ¦ ¦
¦ ¦ ¦ L-- стоп
¦ ¦ L----- идентификатор адреса
¦ L------------------ биты данных
L-------------------------------- старт
2. Кодировка данных.
8 76543210
A=1 хххxxxxx адрес МК ( при запросе )
A=1 11111111 широковещательный адрес МК ( при запросе )
A=0 хххxxxxx адрес МК ( при ответе )
A=0 11111111 широковещательный адрес МК ( при ответе )
C=0 1xxxxxxx команда записи данных в МК
C=0 0xxxxxxx команда чтения данных из МК
S=0 хxxxxxxx состояние МК
SP=0 xxxxxxxx знаки и порядок десятичного формата
DN=0 xxxxxxxx данные
CRC=0 xxxxxxxx контрольная сумма
3. Форматы данных.
Двоичный, целые со зн.: DN D0
76543210 ... 76543210
- прямой код 00000000 ... 00000001 +1
- прямой код 00000000 ... 00000000 0
- дополнительный код 11111111 ... 11111111 -1
Десятичный, упаковнный: SP DN D0
7 6 543210 7654 3210 ... 7654 3210
+9.99 ... 9e+1 0 0 000001 1001 1001 ... 1001 1001
-0.09 ... 9e-1 1 1 000001 1001 1001 ... 1001 1001
-99.9 ... 9e+2 1 0 000010 1001 1001 ... 1001 1001
- - ------ -----------------------
¦ ¦ ¦ ¦
¦ ¦ ¦ L--- мантисса
¦ ¦ L-------------------- порядок
¦ L------------------------ знак порядка
L-------------------------- знак мантиссы
Символьный: DN D0
76543210 ... 76543210
хххххххх ... хххххххх код ASCII
4. Кодировка команд ОБМЕНА с ВУ.
запрос ответ
7 6543210 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
--- x 0000000
VC 10 0 0000001 A C CRC A S SP D3 D2 D1 D0 CRC
VL 10 0 0000010 A C CRC A S SP D3 D2 D1 D0 CRC
t 10 0 0000011 A C CRC A S SP D3 D2 D1 D0 CRC
QC 10 0 0000100 A C CRC A S SP D3 D2 D1 D0 CRC
QP 10 0 0000101 A C CRC A S SP D3 D2 D1 D0 CRC
QL 10 0 0000110 A C CRC A S SP D3 D2 D1 D0 CRC
A 2 1 1110110 A C D0 CRC
D 10 0 1110111 A C CRC A S SP D3 D2 D1 D0 CRC
--- x 1111111
------- - -- --------- ---------------------- ----------------------
¦ ¦ ¦ ¦ ¦ ¦
¦ ¦ ¦ ¦ L-----------------------+-- последов. передачи
¦ ¦ ¦ ¦
¦ ¦ ¦ L-- код команды 7 бит 0 - чтение
¦ ¦ ¦ 1 - запись
¦ ¦ L-- формат данных
¦ ¦
¦ L-- режим C - калибровка
¦
L-- параметр:
Протокол обмена:
1. Формат пересылки ( 11 битовая передача, 9600 бод/сек) при передаче и приеме.
0 1 2 3 4 5 6 7 8 9 10 - последовательность передачи
ST B0 B1 B2 B3 B4 B5 B6 B7 BP SP
-- ----------------------- -- --
¦ ¦ ¦ ¦
¦ ¦ ¦ L-- стоп
¦ ¦ L----- идентификатор адреса
¦ L------------------ биты данных
L-------------------------------- старт
2. Кодировка данных.
8 76543210
A=1 хххxxxxx адрес МК ( при запросе )
A=1 11111111 широковещательный адрес МК ( при запросе )
A=0 хххxxxxx адрес МК ( при ответе )
A=0 11111111 широковещательный адрес МК ( при ответе )
C=0 1xxxxxxx команда записи данных в МК
C=0 0xxxxxxx команда чтения данных из МК
S=0 хxxxxxxx состояние МК
SP=0 xxxxxxxx знаки и порядок десятичного формата
DN=0 xxxxxxxx данные
CRC=0 xxxxxxxx контрольная сумма
3. Форматы данных.
Двоичный, целые со зн.: DN D0
76543210 ... 76543210
- прямой код 00000000 ... 00000001 +1
- прямой код 00000000 ... 00000000 0
- дополнительный код 11111111 ... 11111111 -1
Десятичный, упаковнный: SP DN D0
7 6 543210 7654 3210 ... 7654 3210
+9.99 ... 9e+1 0 0 000001 1001 1001 ... 1001 1001
-0.09 ... 9e-1 1 1 000001 1001 1001 ... 1001 1001
-99.9 ... 9e+2 1 0 000010 1001 1001 ... 1001 1001
- - ------ -----------------------
¦ ¦ ¦ ¦
¦ ¦ ¦ L--- мантисса
¦ ¦ L-------------------- порядок
¦ L------------------------ знак порядка
L-------------------------- знак мантиссы
Символьный: DN D0
76543210 ... 76543210
хххххххх ... хххххххх код ASCII
4. Кодировка команд ОБМЕНА с ВУ.
запрос ответ
7 6543210 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
--- x 0000000
VC 10 0 0000001 A C CRC A S SP D3 D2 D1 D0 CRC
VL 10 0 0000010 A C CRC A S SP D3 D2 D1 D0 CRC
t 10 0 0000011 A C CRC A S SP D3 D2 D1 D0 CRC
QC 10 0 0000100 A C CRC A S SP D3 D2 D1 D0 CRC
QP 10 0 0000101 A C CRC A S SP D3 D2 D1 D0 CRC
QL 10 0 0000110 A C CRC A S SP D3 D2 D1 D0 CRC
A 2 1 1110110 A C D0 CRC
D 10 0 1110111 A C CRC A S SP D3 D2 D1 D0 CRC
--- x 1111111
------- - -- --------- ---------------------- ----------------------
¦ ¦ ¦ ¦ ¦ ¦
¦ ¦ ¦ ¦ L-----------------------+-- последов. передачи
¦ ¦ ¦ ¦
¦ ¦ ¦ L-- код команды 7 бит 0 - чтение
¦ ¦ ¦ 1 - запись
¦ ¦ L-- формат данных
¦ ¦
¦ L-- режим C - калибровка
¦
L-- параметр:
-
- администратор
- Сообщения: 18758
- Зарегистрирован: 17 июн 2008, 16:01
- Имя: Евгений свет Брониславович
- Страна: Россия
- город/регион: Санкт-Петербург
- Благодарил (а): 973 раза
- Поблагодарили: 1854 раза
Re: ПО работает через COM порт, а надо брать данные из Ethernet
Всё у вас будет работать. Скачивайте с сайта моксы драйвер-конфигуратор виртуальных портов - получите на ПК виртуальные порты в нужном количестве. Бесплатно. :)с даташита на NPort5100 писал(а): The Real COM/TTY drivers provided with the NPort® 5100 device servers allow you to continue using software designed for communicating through COM/TTY ports. Installation and configuration is painless, and allows your serial devices and PC to communicate seamlessly over a TCP/IP network. Using Moxa’s Real COM/TTY drivers is an excellent way to preserve your software investment, while still allowing you to enjoy the benefits of networking your serial devices.
По вопросам работы Форума можно обратиться по этим контактам.
Re: ПО работает через COM порт, а надо брать данные из Ethernet
Только на сайте моксы драйвер Real TTY только для Linux http://www.moxa.ru/item/show/16981/17106/
-
- администратор
- Сообщения: 18758
- Зарегистрирован: 17 июн 2008, 16:01
- Имя: Евгений свет Брониславович
- Страна: Россия
- город/регион: Санкт-Петербург
- Благодарил (а): 973 раза
- Поблагодарили: 1854 раза
Re: ПО работает через COM порт, а надо брать данные из Ethernet
Не там ищете. Вам сюда: http://www.moxa.com/support/search_resu ... _type=softNaB писал(а):Только на сайте моксы драйвер Real TTY только для Linux http://www.moxa.ru/item/show/16981/17106/
По вопросам работы Форума можно обратиться по этим контактам.
Re: ПО работает через COM порт, а надо брать данные из Ethernet
Спасибо большое! Сейчас там поищу...
Re: ПО работает через COM порт, а надо брать данные из Ethernet
Да, на этом сайте есть драйвер для Windows "NPort Windows driver manager". Надеюсь, то что нужно. Завтра попробую. Спасибо огромное!
-
- администратор
- Сообщения: 18758
- Зарегистрирован: 17 июн 2008, 16:01
- Имя: Евгений свет Брониславович
- Страна: Россия
- город/регион: Санкт-Петербург
- Благодарил (а): 973 раза
- Поблагодарили: 1854 раза
Re: ПО работает через COM порт, а надо брать данные из Ethernet
Пожалуйста.NaB писал(а):Да, на этом сайте есть драйвер для Windows "NPort Windows driver manager". Надеюсь, то что нужно. Завтра попробую. Спасибо огромное!
У меня аналогично работает на NPort6250. Не забудьте только прописать маршруты (если есть роутер по дороге) и в файрволе соответствующие порты открыть.
По вопросам работы Форума можно обратиться по этим контактам.
Re: ПО работает через COM порт, а надо брать данные из Ethernet
Хорошо. Спасибо еще раз. Завтра все попробую.