Есть девайс:
http://aandd.ru/shop/catalog-balance/pl ... rm_68.html
девайс имеет возможность принимать две команды: запрос текущего значения и обнуление значения. Проблема в том, что команды должны заканчиваться CrLf (0Dh 0Ah).
При локальном подключении все работает. Было опробовано на разных операционках. При подключении через Win машины так же проблем нет. Через WTware весы работают только в одну сторону. Т.е. в автоматическом режиме значение выдают, а при вводе команды отвечают, что не поняли. На сколько я понимаю, проблема именно в терминаторе, т.е CrLf.
Подскажите куда копнуть?
Весы на COM-порт
-
- Разработчик
- Сообщения: 11863
- Зарегистрирован: Ср окт 01, 2003 12:06 am
- Откуда: Роcсия, Тольятти
- Контактная информация:
Re: Весы на COM-порт
0. Поставь свежую втварь.
1. Через mstsc.exe проверил, работает?
2. Когда через втварь не работает, используется точно та же программа, на сервер зашли тем же пользователем, вообще всё в точности то же, только втварь вместо виндовса с mstsc.exe, так?
3. Запусти терминал. Отправь команду, чтоб получилась ошибка. Сохрани лог и пришли на aka@pxe.ru
Будет очень забавно, если через десять лет после появления в втвари перенаправления ком-портов всплывёт ошибка с CrLf.
1. Через mstsc.exe проверил, работает?
2. Когда через втварь не работает, используется точно та же программа, на сервер зашли тем же пользователем, вообще всё в точности то же, только втварь вместо виндовса с mstsc.exe, так?
3. Запусти терминал. Отправь команду, чтоб получилась ошибка. Сохрани лог и пришли на aka@pxe.ru
Будет очень забавно, если через десять лет после появления в втвари перенаправления ком-портов всплывёт ошибка с CrLf.
Re: Весы на COM-порт
0. свежая
1. да. клиент Win7, сервер Win2k3
2. да
3. отправил.
не думаю что это что-то не естественное. Ибо rdesktop ведёт себя аналогично, да и freeRDP этим страдает: https://github.com/FreeRDP/FreeRDP/issues/1515
1. да. клиент Win7, сервер Win2k3
2. да
3. отправил.
не думаю что это что-то не естественное. Ибо rdesktop ведёт себя аналогично, да и freeRDP этим страдает: https://github.com/FreeRDP/FreeRDP/issues/1515
-
- Разработчик
- Сообщения: 11863
- Зарегистрирован: Ср окт 01, 2003 12:06 am
- Откуда: Роcсия, Тольятти
- Контактная информация:
Re: Весы на COM-порт
Любопытно. Вот этот файлик запиши на флешку в каталог packages: http://pxe.ru/files/testing/201501151854.zip
И сделай то же самое, только пожалуйста делай минимум действий до появления ошибки, лог должен получиться очень большой. Запусти терминал, запусти программу, сделай чтоб ошибка один раз проявилась, сохрани.
И сделай то же самое, только пожалуйста делай минимум действий до появления ошибки, лог должен получиться очень большой. Запусти терминал, запусти программу, сделай чтоб ошибка один раз проявилась, сохрани.
-
- Разработчик
- Сообщения: 11863
- Зарегистрирован: Ср окт 01, 2003 12:06 am
- Откуда: Роcсия, Тольятти
- Контактная информация:
Re: Весы на COM-порт
Смотрю в лог. Сначала много букв про открытие и настройку порта, затем запись:
rdpdr[]-main.cpp ( 100): IRP_MJ_WRITE
rdpdr[serial]-worker.cpp ( 1770): Now: 1421385483.221071. 1 bytes written to /dev/ttyS0.
rdpdr[]-main.cpp ( 305): IRP Completion: Device 1, CompletionId 2, IoStatus 0x00000000, result 1, 0 bytes of data.
Записывается 1 (один) байт в порт.
Затем из порта читаются три байта:
08-18-17-200| [rdpdr-serial 0] 00000000:3f ?
08-18-17-200| [rdpdr-serial 0] 00000000:0d .
08-18-17-200| [rdpdr-serial 0] 00000000:0a .
Вопросик и виндовый перевод строки.
Затем ещё раз в порт пишется 1 (один, адын штук) байт. И опять железка отвечает вопросиком.
Откуда информация про завершение CrLf? Втвари от виндовса один байт команды всего приходит, безо всяких CrLf. А сколько должно быть байт в команде?
rdpdr[]-main.cpp ( 100): IRP_MJ_WRITE
rdpdr[serial]-worker.cpp ( 1770): Now: 1421385483.221071. 1 bytes written to /dev/ttyS0.
rdpdr[]-main.cpp ( 305): IRP Completion: Device 1, CompletionId 2, IoStatus 0x00000000, result 1, 0 bytes of data.
Записывается 1 (один) байт в порт.
Затем из порта читаются три байта:
08-18-17-200| [rdpdr-serial 0] 00000000:3f ?
08-18-17-200| [rdpdr-serial 0] 00000000:0d .
08-18-17-200| [rdpdr-serial 0] 00000000:0a .
Вопросик и виндовый перевод строки.
Затем ещё раз в порт пишется 1 (один, адын штук) байт. И опять железка отвечает вопросиком.
Откуда информация про завершение CrLf? Втвари от виндовса один байт команды всего приходит, безо всяких CrLf. А сколько должно быть байт в команде?
Re: Весы на COM-порт
Огромное спасибо!!!
Всё решилось выставлением скорости в 9600 на весах.
Всё решилось выставлением скорости в 9600 на весах.