Автор Тема: Надо настроить бит чётности  (Прочитано 5713 раз)

Serge95

  • Пользователь
  • *****
  • Сообщений: 2
Надо настроить бит чётности
« : 18 Марта 2016, 12:40 »
Хочу использовать Z397-WEB для опроса блоков термометрии БУК-01 производства Контакт1.
для нормальной работы требуется настройка виртуального COM порта 9600 8E1,
т.е. должен использоваться бит чётности.
Как настроить Z-397 WEB для такой работы?
Пробовал посылать по NVT команду
FF FA 2C 03 03 FF F0
, т.е.
IAC SB COM-PORT-OPTION SET-PARITY EVEN IAC SE
- не получается  :(

запись по telnet'у в CFG файл

> set RS485 LINE1_PARITY EVEN
SET [RS485]     LINE_PARITY=EVEN OK
тоже не помогает, хотя и пишет OK,
после перезагрузки устройства пропадает эта строка  :(

Как быть? Может разработчики обновят прошивку? Очень надо

Версия прошивки последняя с сайта:
Z397-WEB command shell.
Version 3.0.48[Jul 17 2014 13:36:43]

Программа опроса под Windows при начале работы сама пытается настроить параметры виртуального COM порта средствами Windows, при этом никаких ошибок со стороны windows в программу не возвращается, но и действие не выполняется.
В диспетчере устройств у этого виртуального COM порта также отсутствует вкладка с настройками параметров порта.
« Последнее редактирование: 18 Марта 2016, 12:49 от Serge95 »

vitiv

  • IronLogic Team
  • *****
  • Сообщений: 713
Re: Надо настроить бит чётности
« Ответ #1 : 18 Марта 2016, 13:25 »
Добрый день!
На данный момент, специалист который может решить проблему отсутствует.
В понедельник напомните о себе, постараемся вам помочь.
Удачи.

vitiv

  • IronLogic Team
  • *****
  • Сообщений: 713
Re: Надо настроить бит чётности
« Ответ #2 : 28 Марта 2016, 15:58 »
Новая прошивка готова.
https://files.ironlogic.ru/index.php/s/2woUoviMZtwKyvB

Serge95

  • Пользователь
  • *****
  • Сообщений: 2
Re: Надо настроить бит чётности
« Ответ #3 : 31 Марта 2016, 20:06 »
Спасибо большое за помощь!
     Сначала испытал прошивку 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?
    Заранее большое спасибо.
« Последнее редактирование: 31 Марта 2016, 20:21 от Serge95 »