Спасибо большое за помощь!
Сначала испытал прошивку 3.0.50 "на столе" и при связи с модулем ввода аналоговых сигналов МВ110-8А производства ОВЕН. Всё заработало замечательно.
Потом решил испытать "на реальном объекте" и с блоком термометрии производства Контакт1.
Связь почему-то не заработала
, хотя с Вашим адаптером Z-397 (но не WEB, a USB- RS485) на локальном компьютере работает замечательно.
Долго мучился, ставил согласующие резисторы и т.д. - ничего не получалось...
При этом галочка "
Использовать NVT" в программе
Com2ip.exe была установлена.
С помощью программы portmon от Sysinternals видел, что не приходят ответы и сервер опроса термометрии очищает буферы и реинициализирует порт, вот фрагмент протокола:
46 0.00000031 tursrv.exe IOCTL_SERIAL_SET_LINE_CONTROL VSerial7_0 SUCCESS StopBits: 1 Parity: EVEN WordLength: 8
47 0.00000031 tursrv.exe IOCTL_SERIAL_SET_CHAR VSerial7_0 SUCCESS EOF:48 ERR:0 BRK:0 EVT:0 XON:11 XOFF:13
48 0.00000124 tursrv.exe IOCTL_SERIAL_SET_HANDFLOW VSerial7_0 SUCCESS Shake:0 Replace:0 XonLimit:256 XoffLimit:256
49 0.00000031 tursrv.exe IOCTL_SERIAL_SET_TIMEOUTS VSerial7_0 SUCCESS RI:50 RM:2 RC:200 WM:1000 WC:1000
50 0.00000714 tursrv.exe IRP_MJ_WRITE VSerial7_0 SUCCESS Length 8: 03 03 04 0A 00 22 E5 03
51 0.37385245 tursrv.exe IOCTL_SERIAL_WAIT_ON_MASK VSerial7_0 SUCCESS
52 0.34602670 tursrv.exe IRP_MJ_READ VSerial7_0 TIMEOUT Length 0:
53 0.00000186 tursrv.exe IOCTL_SERIAL_GET_COMMSTATUS VSerial7_0 SUCCESS
54 0.00000217 tursrv.exe IOCTL_SERIAL_PURGE VSerial7_0 SUCCESS Purge: TXCLEAR RXCLEAR
55 0.00000093 tursrv.exe IOCTL_SERIAL_SET_QUEUE_SIZE VSerial7_0 SUCCESS InSize: 1024 OutSize: 1024
56 0.00000031 tursrv.exe IOCTL_SERIAL_GET_BAUD_RATE VSerial7_0 SUCCESS
57 0.00000031 tursrv.exe IOCTL_SERIAL_GET_LINE_CONTROL VSerial7_0 SUCCESS
58 0.00000031 tursrv.exe IOCTL_SERIAL_GET_CHARS VSerial7_0 SUCCESS
59 0.00000000 tursrv.exe IOCTL_SERIAL_GET_HANDFLOW VSerial7_0 SUCCESS
60 0.00000279 tursrv.exe IOCTL_SERIAL_SET_BAUD_RATE VSerial7_0 SUCCESS Rate: 9600
61 0.00000062 tursrv.exe IOCTL_SERIAL_CLR_RTS VSerial7_0 SUCCESS
62 0.00000031 tursrv.exe IOCTL_SERIAL_CLR_DTR VSerial7_0 SUCCESS
Пробовал сбрасывать и устанавливать галочку "Использовать NVT" и перезапускать программу
Com2ip.exe- безрезультатно.
Потом уже полез в реестр - оказалось, что параметр реестра
[HKEY_CURRENT_USER\Software\RF Enabled\Com2ip\VCP[1]]
"UseNVT"="1"
не изменяется при изменении чекбокса в диалоге программы и после перезапуска программа стартует с установленной галочкой "
Использовать NVT".
После этого закрыл программу
Com2ip.exe, в реестре обнулил параметр
"UseNVT"="0", снова запустил программу - и...
о чудо
- связь заработала, радости не было предела !!!
В связи с этим не могли бы Вы:
1) пояснить смысл этого параметра (можно в личку или на почту);
2) поправить программу
Com2ip.exe для корректной работы с реестром;
3) программа
Com2ip.exe может создавать до двух виртуальных СOM портов и, насколько я понял, эти два порта могут физически располагаться на разных адаптерах Z-397 WEB (разных IP-адресах). Огромная просьба доработать программу
Com2ip.exe, так, чтобы она смогла работать сразу с 3-мя отдельными адаптерами Z-397 WEB, т.е. создавать 3 COM- порта одновременно или поясните как можно на одном компьютере запустить 2 (3) экземпляра программы, так, чтобы они не мешали друг другу (не было конфликта одновременного доступа к ключам реестра). Может быть выполнять 2 процесса от имени разных пользователей?
4) какой смысл имеет параметр
"Пересоединять через" в программе
Com2ip.exe?
Заранее большое спасибо.