Тема: «Как всё-таки работает Com-ASCII?»
|
[Вернуться в "Список тем"]
[Создать новую тему]
|
Vladimir Nivikov
02.02.2013 09:56
|
Сделал жалкую попытку проверить работу с СОМ-портом. Всё заканчивается на этапе определения наличия устройства. В документации об этом режиме, естественно - ни полслова. Чего ей надо то? Реальный железячный ком? Блютузные и юсбишные в упор не видит... :( |
Дмитрий (PG)
04.02.2013 17:07
|
В справке все написано доступно: 1. Настройки COM порта в диспетчере устройств должны точно соответствовать параметрам передачи данных самим устройством - скорость передачи, биты данных, четность, стоповые биты. Если эти настройки не соответствуют, то, естественно, устройство не будет обнаружено. Например, в настройках COM-порта скорость передачи по умолчанию 9600, если устройство передает данные с другой скоростью, то программа его не обнаружит. 2. Данные должны передаваться в текстовом формате (ASCII) в виде строк, которые заканчиваются символом переноса строки (13). 3. В каждой строке должны быть численные значения, разделенные символами - табуляция, точка с запятой или пробел. Если любое из этих условий не выполняется, то устройство обнаружено не будет. Попробуйте сначала получить данные от вашего устройства с помощью стандартной программы "Терминал", которая входит в состав Windows. И тогда Вы увидите - соответсвуют ли данные, передаваемые этим устройством, требуемому формату. |
Vladimir Nivikov
06.02.2013 22:32
|
Дмитрий, либо я слепой, либо не обучен читать документацию. Я в ней ровным счётом ничего не нашёл. Далее. Настройки порта поставил 9600-8-N-1. И ровным счётом пустота. То есть - вообще. Кстати, что открывает порт? Сама программа, или мне нужно открыть его каким-либо терминалом? |
Дмитрий (PG)
07.02.2013 11:42
|
Владимир, описание драйвера COM-ASCII находится в справке ПО PowerGraph - раздел "Устройства сбора данных / Системные прототипы АЦП / COM-ASCII". В справке есть вкладка "Поиск" где можно ввести в строку поиска "COM-ASCII" и получить ссылку на страницу с описанием. Я Вам написал три пункта, которые надо приверить, Вы ответили только на один из них - настройки скорости передачи. А остальные проверяли?: 2. Ваше устройство может быть вообще не передает данные или передает их не в текстовом формате. 3. Формат передаваемых данных не соответствует требуемому. ЕЩЕ РАЗ привожу Вам алгоритм проверки: 1. Запустите программу HyperTerminal (входит в состав Windows - группа "Стандартные / Связь"). 2. Откройте в HyperTerminal порт, к которому подключено ваше устройство, и дождитесь поступления данных. 3. Проверьте - соответствует ли формат передаваемых данных требуемому для PowerGraph. Данные, полученные с вашего устройства в HyperTerminal, сохраните в текстовый файл и отправьте нам по e-mail. Только после этого мы сможем разобраться, почему ваше устройство "не обнаруживается". Сейчас подозреваю, что ваше устройство вообше ничего не передает в компьютер или передает нетекстовый мусор. |
Vladimir Nivikov
07.02.2013 16:25
|
Дмитрий, ну как же я могу ответить на все три пункта, когда устройство спотыкается на первом? Программа просто говорит: "Мужик, чего пристал? Ну нет у тебя ком-порта! Понимаешь? Нет его!" И как же я должен настраивать то, чего нет в природе? Сразу оговорюсь - порты все виртуальные. Юсбишные и блютузные. Других просто не заложено. Может быть в этом дело? |
Дмитрий (PG)
07.02.2013 16:46
|
Я Вам два раза написал, что сначала надо проверить ваше устройство другой программой - HyperTerminal, а не PowerGraph!!! Программа HyperTerminal открывает указанный COM порт и просто показывает данные, которые по нему поступают. Если Вы в HyperTerminal не сможете получить данные от вашего устройства, то в PowerGraph Вы тем более не сможете с ним работать. В "Диспетчере устройств" Windows есть COM порты? Какие у них номера?
Если в "Диспетчере устройств" нет COM портов, то при чем здесь программа? |
Vladimir Nivikov
08.02.2013 22:29
|
Ну, японский же мой городовой! Да видится всё в гипертерминале. И в прочих терминалках видится. На ура. А Пауэрграф видеть ничего не хочет. Он не видит портов. Просто не видит. В упор не видит. Соответственно и читать ничего не пробует. Пробовал на трёх операционных системах. ХР, "Семёрке" и "Восьмёрке". Один хрен по всей моей роже... |
Дмитрий (PG)
08.02.2013 23:27
|
Неужели Вы не понимаете - для того чтобы мы смогли Вам помочь, нам нужна объективная информация о том, что происходит в вашей ситуации. Поэтому я задаю вопросы, ответы на которые должны помочь нам выяснить причину. Пока от Вас ничего добиться не удается. Ваши голословные "видится всё в гипертерминале" это пустой звук. Нужно ПРИСЛАТЬ НАМ то, что видится в гипертерминале - снимок экрана и текстовый файл с данными. То, что в гипертерминал приходят какие-то данные, еще не означает, что эти данные соответствуют требуемому формату. В третий раз Вам повторяю - отправьте нам по e-mail данные, которые ваше устройство высылает в компьютер. Данные надо получить в HyperTerminal и сохранить в текстовый файл. Дополнительно отправьте снимок окна программы HyperTerminal с полученными данными. И еще раз Вам говорю, что проблема скорее всего не в портах, а в формате данных, поступающих от устройства. PowerGraph открывает порт, принимает данные, но считает их мусором, поэтому закрывает порт. PowerGraph видит все порты, но продолжает работу только с тем портом, по которому приходят "нормальные" данные. Операционные системы не играют никакой роли и проверять их бессмысленно, если формат данных не соответствует требуемому. |
Vladimir Nivikov
19.02.2013 17:06
|
Спасибо. Всё получилось и вполне корректно отображается. Одна беда - числа шестнадцатеричные. Тут придётся прошивку контроллера поправить. В принципе, не страшно. |
Дмитрий (PG)
19.02.2013 18:31
|
Конечно, драйвер предполагает, что по COM порту передаются реальные значения измеряемой величины. Если устройство высылает дискретные значения, то можно в самом PowerGraph перевести их в реальные значения линейной калибровкой. Но если есть возможность, то действительно лучше "поправить" программу контроллера, чтобы в компьютер высылались реальные значения. В этом случае регистрация данных не будет зависеть от программных настроек. |
[Вернуться в "Список тем"]
[Создать новую тему]
|
|