Проблема с подключением к COM порту.

Вопросы по программе Lectus Modbus OPC/DDE server
admin
Администратор
Сообщения: 578
Зарегистрирован: 05 сен 2010, 00:51

Re: Проблема с подключением к COM порту.

Сообщение admin »

Можно посмотреть разницу работы с COM портом и на демо версии снифера COM порта.
Для примера:
http://www.eltima.com/ru/products/serial-port-monitor/
http://www.serial-port-monitor.com/
и другие: https://www.google.ru/?gws_rd=ssl#newwi ... r+x64+free
Pavell
Сообщения: 12
Зарегистрирован: 14 янв 2017, 22:31

Re: Проблема с подключением к COM порту.

Сообщение Pavell »

блин сразу первая ссылка в гугле на работающий сниффер.) сейчас разберусь что там и как.
Pavell
Сообщения: 12
Зарегистрирован: 14 янв 2017, 22:31

Re: Проблема с подключением к COM порту.

Сообщение Pavell »

ну в общем все стало ясно.
общение с портом терминальной программы и другого орс сервера начинаются командами:
000161: Create Request (DOWN), 2017-01-16 19:49:49.0780133 +490.1343545 (1. Device: Стандартный последовательный порт по соединению Bluetooth (COM10))
Process 0x1a60 (Terminal.exe) attempted to open the device


000162: Create Request (UP), 2017-01-16 19:49:50.7764510 +1.6984377 (1. Device: Стандартный последовательный порт по соединению Bluetooth (COM10))
Process 0x1a60 (Terminal.exe) create request status: 0x00000000
дальше идет запрос скорости, остальной фигни и собственно работа с портом.

а Lectus сервер делает так:
001287: Create Request (DOWN), 2017-01-16 20:20:28.0536721 +69.4213979 (1. Device: Стандартный последовательный порт по соединению Bluetooth (COM10))
Process 0x10ac (ServOPC.exe) attempted to open the device


001288: Create Request (UP), 2017-01-16 20:20:29.8522286 +1.7995468 (1. Device: Стандартный последовательный порт по соединению Bluetooth (COM10))
Process 0x10ac (ServOPC.exe) create request status: 0x00000000


001291: Create Request (DOWN), 2017-01-16 20:20:29.8588464 +0.0062825 (1. Device: Стандартный последовательный порт по соединению Bluetooth (COM10))
Process 0x10ac (ServOPC.exe) attempted to open the device


001292: Create Request (UP), 2017-01-16 20:20:30.2485029 +0.3896565 (1. Device: Стандартный последовательный порт по соединению Bluetooth (COM10))
Process 0x10ac (ServOPC.exe) create request status: 0xc0000225
т.е. он спустя 6 тысячных секунд после создания нулевого статуса о том что порт окрылся опять пытается открыть этот порт. и спустя 400 мс создает статус 225 типа что ничего не получилось.
Удивительно, но такой алгоритм (повторное открытие порта) проходит с другими драйверами, т.е. повторный запрос открытия порта, потом статус 000000 выходит а потом начинает работать с портом. а с этим драйвером такое дело не прокатывает.

другие же программы делают 1 запрос на открытие, потом статус 000000 как порт открылся , а потом начинают работать .
так что так вот. надо чуть подправить.
admin
Администратор
Сообщения: 578
Зарегистрирован: 05 сен 2010, 00:51

Re: Проблема с подключением к COM порту.

Сообщение admin »

Порт открывается и потом закрывается. Это проверка доступности COM порта. Затем порт открывается и начинается штатная работа. Видимой драйвер COM порта не может корректно отработать эту ситуацию.
Pavell
Сообщения: 12
Зарегистрирован: 14 янв 2017, 22:31

Re: Проблема с подключением к COM порту.

Сообщение Pavell »

ну это можно как-то исправить? разве удачное открытие порта не говорит о его доступности?
также смотрю, что похоже другие программы после команды на закрытие опрашивают статус порта.. видимо ожидают пока он закроется т.е. ответ от драйвера , что порт все таки закрылся.
а тут нет. тут статус порта опрашивается похоже только в цикле после запроса на контроллер.. а при остановке опроса статус порта не опрашивается.
исправление этой ситуации можно ожидать? а то ведь другого драйвера для блютус сом порта ожидать не приходится)
как мне видится, тут надо всего лишь удалить несколько лишних строк где порт закрывается и открывается снова.. открылся? ок.. значит доступен - работаем. не открылся значит недоступен и соответственно "ошибка инициализации".
admin
Администратор
Сообщения: 578
Зарегистрирован: 05 сен 2010, 00:51

Re: Проблема с подключением к COM порту.

Сообщение admin »

1) Протестируйте на отладочной версии. Удалена проверка доступности COM порта.
http://lectussoft.com/programs/debug/Modbus/ServOPC.zip
Нужно распаковать ServOPC.exe в каталог сервера.
По умолчанию: "C:\Program Files (x86)\Lectus Modbus OPC and DDE server"

2) Из-за некорректной работы драйвера порт зависнет после переподключения - отключения и подключения OPC клиента
или ошибки при чтении/записи порта.
Pavell
Сообщения: 12
Зарегистрирован: 14 янв 2017, 22:31

Re: Проблема с подключением к COM порту.

Сообщение Pavell »

ну вот - шикардос) теперь все завелось и работает замечательно. Протестировал и на блютус порте и на проводном и на виртуальном.
при отключении питания на устройстве в лог пишется ошибка "устройство не отвечает", "ошибка записи в порт".. потом при включении питания устройства связь восстанавливается.
вот лог файл
сначала тестировал COM10 блютус
потом COM11 проводной USB-SERIAL чип CH340
затем COM2 виртуальный мост от ELTIMA
т.е. я сначала запускал опрос, потом отключал устройство, затем включал.
на виртуальном мосту порт всегда открыт и там просто устройство на другом конце переставало отвечать. ошибки записи в ком порт не было вродеб.
спасибо за оперативность и профессионализм.
admin
Администратор
Сообщения: 578
Зарегистрирован: 05 сен 2010, 00:51

Re: Проблема с подключением к COM порту.

Сообщение admin »

Хорошо. Релизная версия будет выпущена в конце недели.
Можете пока использовать отладочную версию.
Ответить

Кто сейчас на конференции

Сейчас этот форум просматривают: Bing [Bot] и 4 гостя