Rs232 ошибка задержки приема первого байта

Периметр «Перитест 300» (прибор для проверки поля зрения)

fox_df Дата: Четверг, 15.Апр.2010, 14:42 | Сообщение # 1

Стажер

инженер-электронщик

OFFлайн

Украина



Киев

Помогите найти распайку кабеля (COM-порт) на мед. аппарат «Перитест 300»! Очень срочно нужно!

 
STaras Дата: Четверг, 15.Апр.2010, 23:23 | Сообщение # 2

инженер-электроакустика, ультразвук

OFFлайн

Украина



Ровно

Цитата fox_df ()

COM-порт

— это DB9, все контакты как бы имеют свое назначение.

1. С каких контактов оборваны 2 провода — по наличию пайки можно определить?
2. Куда в аппарате идут два провода, которые оборваны? Ведь их можно вызвонить? На какие ножки какой микросхемы, или куда там ещё?

 
enyuri Дата: Среда, 22.Сен.2010, 10:25 | Сообщение # 3

Удаленные

Может это поможет:
DB9-Вход/Выход-Значение
1-Вход-Обнаружение несущей данных
2-Вход-Принимаемые данные
3-Выход-Передаваемые данные
4-Выход-Готовность терминала
5-Корпус-Сигнальная земля
6-Вход-Готовность модема
7-Выход-Запрос передачи
8-Вход-Сброс для передачи
9-Вход-Индикатор звонка

 
nejron Дата: Четверг, 30.Сен.2010, 22:38 | Сообщение # 4

Стажер

разработчик

OFFлайн

Российская Федерация


Как правило, используются только 2-Rxd 3-Txd 5-Gnd. Остальные модемные.

 
Clickerrock Дата: Вторник, 15.Фев.2011, 22:28 | Сообщение # 5

Стажер

Инженер по медтехнике

OFFлайн

Российская Федерация



Санкт-Петербург

nejron, т.е. как не используются? У меня для корректной работы требует всё кроме 8 и 9. О_о Или я что-то не правильно понимаю?

 
STaras Дата: Вторник, 15.Фев.2011, 23:30 | Сообщение # 6

инженер-электроакустика, ультразвук

OFFлайн

Украина



Ровно

Clickerrock, кого спрашиваешь? Товарисчь …


Чти вело свое – ибо не ты на нём едешь, но оно везёт тебя

 
Prien4eg Дата: Четверг, 16.Июн.2011, 12:20 | Сообщение # 7

Стажер

medteh

OFFлайн

Российская Федерация



Blagoveshensk

ни у кого нет случайно электросхемы? а то сей аппарат сломался, на компе пишет что ошибка передаваемого байта проверьте соединение с компьютером, как будто кабель не подключен пишет. При включении питания на аппарате издаётся короткий писк и всё. Может кто встречался с такой проблемой? Может у кого настройки COM-порта есть?

 
gennadyi52 Дата: Воскресенье, 18.Мар.2012, 09:03 | Сообщение # 8

Стажер

мед.инженер

OFFлайн

Российская Федерация



нерюнгри

Сообщи если разобрался мучаюсь той же проблемой.

 
gennadyi52 Дата: Вторник, 20.Мар.2012, 16:24 | Сообщение # 9

Стажер

мед.инженер

OFFлайн

Российская Федерация



нерюнгри

распайка кабеля

 
mk Дата: Среда, 14.Ноя.2012, 09:38 | Сообщение # 10

Стажер

Инженер по медицинскому оборудовани

OFFлайн

Российская Федерация



ростов на дону

Здраствуйте у меня вот такой вопрос
Скажи пожалуйста у кого нибудь есть инструкция на перитест-300 ?
Или если есть доступ к прибору ,хотелось бы посмотреть как выглядит распечатаный результат, или как нибудь без принтера можно посмотреть результат (есть прибор, но нет принтера).
Заранее спасибо!

 
оптик-А Дата: Четверг, 15.Ноя.2012, 13:18 | Сообщение # 11

Завсегдатай

инженер-оптик

OFFлайн

Российская Федерация



Третий

Посмотри на этой картинке, всё на мониторе компа http://junior-lg.com.ua/?p=about

 
us-30 Дата: Пятница, 18.Янв.2013, 12:00 | Сообщение # 12

Участник

электромеханик

OFFлайн

Российская Федерация



орехово-зуево

ре Prien4eg, решилась-ли проблема с Перитестом? Подскажи,пожалуйста!

 
генаf Дата: Пятница, 18.Янв.2013, 13:55 | Сообщение # 13

медтехникl

OFFлайн

Российская Федерация


краткая инструкция Перитест-300
http://www.medteh.info/load/51-1-0-1935 Может кому поможет
Выписка из статьи «Физиология глаза» по ссылке, указанной в начале инструкции
.

обсуждение проблем Перитеста 300
http://pda.teron.ru/index.php?showtopic=220165

Сообщение отредактировал генаfПятница, 18.Янв.2013, 14:00

 
tuman_777 Дата: Суббота, 13.Июл.2013, 16:35 | Сообщение # 14

Участник

электронщик

OFFлайн

Российская Федерация



Российская Федерация

не подскажите,какие должны быть настройки для программы исследования «периферическое поле зрения 100%»

 
RuViDm Дата: Среда, 21.Авг.2013, 00:08 | Сообщение # 15

Стажер

инженер по ремонту медецинской техн

OFFлайн

Российская Федерация



Воронеж

В чем причина такой ошибки: RS232.Ошибка задержки приема внутри блока. Может быть кто-нибудь сталкивался с такой проблемой?

 
protos Дата: Пятница, 23.Окт.2015, 17:27 | Сообщение # 16

Стажер

инженер

OFFлайн

Российская Федерация



Краснодар

Здравствуйте. Достали из упаковки Перитест-300. Лежал на складе. Новый. Производство 2002 года. Паспорт есть , а вот программы нет. В соседней клинике работает этот Перитест, приобретенный в прошлом году новым. Работает на ХР и на 7-м. Ставил эту программу со своим перитестом и на 7-й и на ХР, Выдает — «RS-232: Ошибка задержки приема первого байта». Нашел старое комп. железо, с родным ком-портом, поставил 98-й W. Результат тот-же. Версии 1 — программа не соответствует. 2- контроллер внутри периметра неисправен.
Может у кого есть программа ПериТест-300 для 2002, или есть опыт с такой проблемой.

 
protos Дата: Понедельник, 09.Ноя.2015, 17:47 | Сообщение # 17

Стажер

инженер

OFFлайн

Российская Федерация



Краснодар

Вопрос решился.

 
igoriy Дата: Суббота, 20.Фев.2016, 12:54 | Сообщение # 18

Участник

Медтехник

OFFлайн

Российская Федерация



Миасс

Доброе время суток. Чтобы не плодить темы, задаю вопрос здесь. А нет ли у кого-нибудь распайки этого кабеля сом- сш5?
.

Перитест старенький, оборвали кабель связи, но он не с джеком, а еще с сш5. Там в кабеле 4 жилы задействованы и все были припаяны. Кто сталкивался. скиньте распиновку.

Сообщение отредактировал igoriyСуббота, 20.Фев.2016, 12:55

 
protos Дата: Суббота, 20.Фев.2016, 20:56 | Сообщение # 19

Стажер

инженер

OFFлайн

Российская Федерация



Краснодар

igoriy, Напиши почту, куда отправить.

 
igoriy Дата: Вторник, 23.Фев.2016, 09:57 | Сообщение # 20

Участник

Медтехник

OFFлайн

Российская Федерация



Миасс

protos, domos.68@mail.ru . За ранее спасибо.

 
igoriy Дата: Пятница, 26.Фев.2016, 22:12 | Сообщение # 21

Участник

Медтехник

OFFлайн

Российская Федерация



Миасс

А есть у кого-нибудь такая распиновка?

 
indigus Дата: Среда, 28.Сен.2016, 12:58 | Сообщение # 22

Стажер

Инженер

OFFлайн

Российская Федерация



Тюмень

Ребята, помогите! Аналогичный прибор 2000-х годов. Жесткий полетел — прогу потеряли. Помогите найти инсталятор для программы. Очень надо! Если что, почта 89129965446@mail.ru

Сообщение отредактировал indigusСреда, 28.Сен.2016, 13:31

 
igoriy Дата: Среда, 28.Сен.2016, 15:28 | Сообщение # 23

Участник

Медтехник

OFFлайн

Российская Федерация



Миасс

indigus, Ну инсталяшку врятли, такие проги гораздо сложней обычно ставятся, да и не в этом дело, диски теряют медики через неделю. Если умеешь пользоваться акронисом с подхватом драйверов, попробую снять образ, опять же если дадут.

Сообщение отредактировал igoriyСреда, 28.Сен.2016, 15:28

 
protos Дата: Вторник, 01.Ноя.2016, 13:25 | Сообщение # 24

Стажер

инженер

OFFлайн

Российская Федерация



Краснодар

indigus, Вопрос еще открыт могу поискать и сбросить, но работает с WIN98, с XP пытается но конфликтует.

 
naves Дата: Вторник, 01.Ноя.2016, 19:20 | Сообщение # 25

Техник

программист

OFFлайн

Российская Федерация



Москва

http://www.medteh.info/load/13-1-0-3477
http://s000.tinyupload.com/index.php?file_id=24165124241930260514

 
barsukov Дата: Пятница, 10.Фев.2017, 09:08 | Сообщение # 26

Участник

медтехник

OFFлайн

Российская Федерация



Калинино

Коллеги!

Подскажите,пожалуйста, кто производит Перитест-300.
Неисправность, зажигаются по два светодиода вместо одного.

 
генаf Дата: Пятница, 10.Фев.2017, 14:59 | Сообщение # 27

медтехникl

OFFлайн

Российская Федерация


barsukov,
посмотрите http://www.spetsmedpribor.net/perimetr

 
roof Дата: Суббота, 13.Май.2017, 16:10 | Сообщение # 28

Стажер

Менеджер

OFFлайн

Казахстан



Алматы

Программа для Притест-300, подключаемого через COM порт. Работает с Windows XP. Может быть, кому пригодится.
https://drive.google.com/file/d/0B7MN4XdPHbrCV0JpRzdibnUweFE/view?usp=sharing

 
laandrew Дата: Среда, 11.Сен.2019, 08:48 | Сообщение # 29

Заглянувший

вмксис

OFFлайн

Российская Федерация



Красный Сулин

Здравствуйте!
Есть аппарата ПериТест-300, но не было с ним установочного файла. Взял из этого форума установочный файл, настроил виртуальную машину с Win98, но выдает ошибку «RS-232: Ошибка задержки приема первого байта». Прошу помощи или совета, что сделать, чтобы заработал аппарат.

 
SeregaBRB77 Дата: Вторник, 15.Окт.2019, 08:09 | Сообщение # 30

Заглянувший

Начальник отдела ИТ

OFFлайн

Российская Федерация



Белоярский

Здравствуйте!
Подскажите, есть ли обновление на Перитест 300 посвежее DEC 4 2013. Если можно ссылочку!
Заранее спасибо!

 
pertseff Дата: Суббота, 28.Ноя.2020, 17:36 | Сообщение # 31

Заглянувший

мастер по ремонту

OFFлайн

Российская Федерация



Дмитров

Ремонтировал тут этот прибор, наткнулся на эту тему, и понял что в инете программ для него почти нет. Выкладываю ПОЛНЫЙ комплект программ к данному девайсу. Работа проверялась в Windows XP Pro (32 bit).

https://drive.google.com/file/d/19Gz4hT6XLux98fBp2F66Va1yT0tVW4lH/view?usp=sharing

Надеюсь еще пригодится кому-нибудь.


Отремонтировать возможно всё!

 
5saleru Дата: Среда, 26.Янв.2022, 19:15 | Сообщение # 32

Стажер

нет

OFFлайн

Российская Федерация



Москва

Перитест 300.
Непонятки. У кого такой же, помогите разобраться.

Кабель соединения с компьютером COM — с одной стороны мини джек, с другой DB9.
В теме есть распайка кабеля — задействованы все 3-и контакта на мини джеке.
На нашем аппарате к этому разъёму изнутри подходят только 2-а проводка. Фото изнутри прилагаю, верхний разъём.
Почему так?

2. Зачем на кнопку пациента изнутри приходят 4-е провода?
Все они задействованы по одиночке, см. фото платы.
В других моделях перикомов было только два крайних.
Фото самой платки может кому пригодится. 4-е проводка от 5-ти штырькового разъёма кнопки слава сверху.

Сообщение отредактировал 5saleruЧетверг, 27.Янв.2022, 16:54

 

Эта идиотская проблема отняла два дня моей жизни, так что оставлю это тут, для тех кто будет гуглить также как это делал я и ничего не найдет.

Ключевые слова для поиска:
— Задержки при чтении из ком порта и рс-232
— Низкая скорость обмена по ком порту и рс-232
— read delays com port RS-232
— winapi c# serialport port driver
— COMMPROP COMMTIMEOUTS FTDI Latency time

Суть проблемы — писал программу по общению железки с компьютером через виртуальный ком порт (FTDI). Общение — небольшими пактами по несколько байт. На прием каждого пакета уходило около 20 мс. При этом мне необходимо передавать около 200 пакетов в секунду, что значит, что задержка на один пакет не должна превышать 5мс, а лучше — меньше. Стал смотреть в чем дело — задержка возникала при чтении из ком порта с помощью стандартного класса serial port .NET Стал копаться дальше — стало понятно, что проблема с буферизацией и таймаутами. В драйвере есть некоторый софтверный буфер и о принятых байтах драйвер сообщает не сразу, а когда этот буфер заполняется или когда проходит таймаут после последнего принятого байта. Стал копать в сторону таймаутов. Функционал класса serialport далеко не безупречен и не позволяет полностью контролировать настройки драйвера, в то время как стандартные функции winapi позволяют. Стал копать в сторону реализации класса для работы с ком портом на основе импортированных из winapi функций. С учетом того что я на C#, да и вообще под винду на PC прогаю вторую неделю как — это было не очень просто для понимания. Нашел сторонний класс, прикрутил к своей программе и, ничего не изменилось. Стал смотреть дальше — в настройках ком порта, если нажать на кнопочку «дополнительно» то можно увидеть такое окошко:

Поначалу я больше обращал внимание на размер буфера, но потом увидел, что если поменять «Время ожидания» на 1мс, то передача становится практически мгновенной. Отлично, осталось найти, как это значение поменять из программы. написал импорт функций винапи, которые позволили загрузить и посмотреть все структуры для настройки ком порта. Посмотрел — нигде нет этих пресловутых 16мс. Стал гуглить на русском — ноль информации, кроме как советы снизить «время ожидания» вручную. Нашел как окошко выглядит на английском, поле называется Latency time. Это очень быстро привело к ответу на все вопросы. Оказывается это поле есть только у ком портов FTDI. Настроить ее через винапи и тем более класс serialport .NET нельзя!

Зато можно вот так:

В самом FTDI пишут:
http://www.ftdichip.com/Support/Knowledgebase/index.html?an232b_04adjlatency.htm
FTDI’s R, C and BM series chips allow the latency timer to be changed from 16 milliseconds to any value from 1 to 255 milliseconds, in 1 millisecond increments. When using the FTDI Virtual COM Port driver the latency timer can be set in the port properties page. In Windows, the port properties page is accessed via the Control Panel > System > Device Manager. For Windows 2000 and XP, the initial value of the latency timer can also be pre-configured in ftdiport.inf by changing the value of the last number in the following line:

[FtdiPort.NT.HW.AddReg]
HKR,,»LatencyTimer»,0x00010001,16

where again, 16 milliseconds is the default value.

Есть ли такая радость у других преобразователей — не знаю, если кто проверит на CP2102 и прочих — скажу спасибо :)

Итого:

Плюсы:
-решил проблему;
-узнал много нового про то как работает винда, идет взаимодействие с драйверами и т.п.;
-немного поработал с winapi:

Минусы:
-чуть не сломал мозг;
-потратил на эту хрень два дня жизни.

П.С. Что интересно — если гуглить про задержки при работе с ком портом — можно найти несколько подобных проблем, возникавших у людей, причем практически все они без решения. Но нигде, нигде я не видел упоминаний про FTDI или про latency timer.

П.С.2 особенно доставили некоторые комментаторы, толком не разбирающиеся в вопросах, но пишущие на форумах что-то вроде «ком порт — очень медленное устройство, при работе с современными компьютерами проблем с задержками быть не может». Ха-ха. Компьютер конечно быстрее, но только сделано все слишком уж громоздко. МК отвечает на запрос компьютера за несколько десятков микросекунд максимум. Компьютер с виндой, которой до реального времени как до луны — отвечает в течение миллисекунд — минимум!

П.С.3 Попробуйте создать файл с именем com1.txt, на рабочем столе, например ;)

UPD: Грязный хак! Как гласит документация на FTDI — сигналом для отправки буфера кроме всего вышеописанного является изменение одной из хардверных линий — CTS/DSR/DCD/RI. Соответственно достаточно дергать одну из этих линий в конце каждого пакета или же, поступить еще брутальнее — просто закоротить эту линию с RX. Проверенно, работает :)

Эволюция от RS232 до USB
В старые времена персональных компьютеров одним из основных доступных соединений был последовательный порт RS232. Помимо параллельного порта, он был основным средством подключения внешнего устройства. Разъем был уменьшен с 25-контактного до 9-контактного (D-sub 9 pin), но порты RS232 оставались на каждом компьютере в течение многих лет. Встроенные в ПК COM порты имеют прямое отображение на память и работают с высоким приоритетом. Данные практически перетекали непосредственно в программное обеспечение, которое осуществляло доступ к последовательному порту, и из него. В 1996 году стандарт универсальной последовательной шины (USB) был введен в качестве замены последовательного разъема и других типов разъемов, которые обычно находились на задней панели компьютеров. USB обеспечивает меньшие размеры разъемов и большую пропускную способность, чем последовательный и параллельный интерфейсы, которые он заменил. Устройства USB имеют высокую пропускную способность, но они используют общую шину данных. Данные упаковываются и передаются в пакетах. Для обработки пакетов и перемещения данных в программу, обращающуюся к USB-устройству, и из нее, необходим программный драйвер. Драйвер программного обеспечения находится между аппаратным обеспечением и компьютерной программой, которую Вы используете, и он должен быть установлен и работать правильно.

Необходимость адаптера
• Благодаря широкому распространению USB большинство компьютеров, продаваемых в настоящее время, не имеют COM порта. Поэтому для подключения устройства RS232 (такого как, например, CR1000) к компьютеру необходимо использовать переходник USB-RS232, такой как адаптер KS-is KS-141. Хотя адаптеры USB RS232 выполняют необходимую функцию, у них есть некоторые ограничения. Например, существует три типа проблем, с которыми Вы можете столкнуться при использовании переходника USB-RS232:
• Проблемы с драйверами
• Аппаратные проблемы
• Проблемы с производительностью

Проблема № 1: Драйвер
Самая частая проблема, с которой наши клиенты сталкиваются при переходе с USB на RS232, — это установка правильного драйвера. Драйвер должен соответствовать микросхеме внутри переходника, а не его производителю. Для чипов USB-RS232 существует два основных производителя: Prolific и FTDI. Поскольку нестандартные микросхемы с плохими драйверами ненадежны, мы рекомендуем использовать переходники USB KS-is RS232:
• KS-141 (на микросхеме FTDI)
• KS-213 (на микросхеме Prolific)

Мы выбрали данные адаптеры, потому что они используют микросхемы с сертифицированным драйвером, доступным в Центре обновления Windows. Совет: протестируйте свои USB-адаптеры в офисе на своем компьютере. Когда Вы находитесь в поле, компьютер не будет иметь подключения к Интернету для автоматической загрузки и установки драйвера. Если драйвер для Вашего адаптера не устанавливается автоматически или не может быть установлен с компакт-диска, Вам необходимо определить микросхему в переходнике и найти драйвер в Интернете. Некоторые производители указывают на своей упаковке, какой чип используется внутри их адаптера. Вы также можете определить чип переходника в диспетчере устройств Windows, выполнив следующие действия:
1. В диспетчере устройств Windows щелкните правой кнопкой мыши на Вашем устройство из списка.

2. В раскрывающемся меню выберите Свойства.
3. В диалоговом окне «Свойства» выберите вкладку «Сведения».
4. В поле «Свойства» выберите «Аппаратные идентификаторы» в раскрывающемся меню.
5. В поле «Значение» указаны VID (идентификатор поставщика) и PID (идентификатор продукта). Эти идентификаторы соответственно указывают производителя и модель чипа.

6. В приведенном выше примере быстрый интернет-поиск показал, что это чип FT4232 производства FTDI. После того, как Вы знаете свой тип чипа и производителя, Вы можете найти и скачать правильный драйвер для Вашей версии Microsoft Windows.

Проблема № 2: Аппаратное обеспечение

Переходники USB-RS232 являются стандартными компонентами компьютерной техники. Как бы нам ни хотелось, чтобы все было так же надежно, как KS-is KS-141, все адаптерные кабели в конечном итоге выходят из строя. Хотя есть две основные компании, которые производят чипы для переходников с USB на RS232, есть много производителей адаптеров, которые предлагают различные уровни качества кабелей. Промышленные модели более высокого качества должны работать дольше, но со временем они изнашиваются, как и любой полевой инструмент. В плохо сконструированном переходнике могут быть компоненты, которые выходят из строя в течение короткого периода времени — возможно, даже к моменту получения адаптера. Мы видели несколько случаев, когда старые переходники больше не могли обрабатывать 115200 бод, но они все еще работали на низких скоростях. Было еще много случаев, когда USB-кабель перестал работать на полпути в полевых условиях. Совет. Если Ваш полевой участок находится далеко от офиса, возьмите с собой два переходника USB-RS232. Потерянное время в поле может быть намного дороже, чем цена покупки второго кабеля.

Проблема № 3: Производительность
Как упоминалось ранее, USB использует общую шину данных с пакетной связью. Пакетная связь привнесла некоторое время ожидания (время передачи данных), которого не было со встроенными портами RS232. К сожалению, задержка имеет заметное значение, когда Вы загружаете большие объемы данных или загружаете новую операционную систему. Драйвер для чипов FTDI позволяет снизить время ожидания пакетов. Для этого Вы можете использовать поле таймера задержки, доступ к которому осуществляется через диспетчер устройств Windows. Следуй этим шагам:
1. В диспетчере устройств Windows щелкните правой кнопкой мыши свое устройство из списка.
2. В раскрывающемся меню выберите Свойства.
3. Перейдите на вкладку «Настройки порта».
4. Нажмите кнопку Дополнительно …
5. В окне «Дополнительные параметры» перейдите к полю «Таймер задержки» и уменьшите значение параметра до 1 для достижения максимальной производительности.

В дополнение к снижению времени задержки, мы также рекомендуем отключить опцию Selective Suspend для Вашего переходника. Параметр «Выборочная приостановка» позволяет Windows перевести оборудование в спящий режим, что может привести к повреждению пакетов данных. Чтобы отключить параметр «Выборочная приостановка», снимите флажок «Включить выборочную приостановку» в окне «Дополнительные параметры» для вашего устройства.

Примечание: параметр «Выборочная приостановка» по умолчанию уже отключен в драйвере FTDI.

Вывод
Новые конструкции регистраторов данных, такие как, например, CR6, предназначенных для считывания, обработки и передачи сигналов электрических датчиков, имеют встроенное USB-соединение. Однако многие устройства будут иметь интерфейс RS232 на долгие годы, и нам для работы с ними нужно будет продолжать использовать переходники USB-RS232.

Добрый день.

Попробую еще раз задать вопрос на форуме, хотя уже и без особой надежды на ответ.

Есть задача — научиться подавать в ПЛИС длинные последовательности бит (от 10^6 байт по 6 бит).

Имеется отладочная плата Actel, на которой установлена микросхема USB->RS232, а на PC установлен виртуальным COM-порт. Таким образом физически RS232 нигде не существует, однако для всех приложений существует COM-порт, в который я могу писать данные, а для ПЛИС существует 2 контакта RX и ТХ для передачи данных.

Теперь собственно к проблеме.

Поскольку физические ограничения на скорость существует только по USB, я пишу данные со скорость 1.5МБит секунду.

В среде Матлаб это выглядит так

s = serial('COM2');
s.BaudRate=1.5*10^6;
fopen(s);
fwrite(s,'!&!');
fclose(s);

Данные пишутся как надо, на осциллографе я вижу требуемые сигналы, длительной одного байта — 4.8 мкс.

Пакеты данных так же передаются как надо, без трудностей,байт за байтом

fwrite(s,'ABCDEFGHIJKLM');

Далее, задача состоит в том, чтобы организовать обмен данными между ПЛИС и PC

Прием->Передача->Прием->Передача

Для чистоты опыта задача прием пока выключен, то есть я пробую выполнить 2 команды передачи последовательно

fwrite(s,'A');

fwrite(s,’B’);

И вот тут случается странное. Длительность байт не меняется, однако между самими байтами возникает интервал в 80мс. То есть 4мкс порт занят передачей, потом 80мс ждет, потом передает следующий байт.

osc.png

Откуда возникает эта задержка и как с ней бороться? Одно из временных решений — увеличить размер входного буфера до 1024 бит, и тогда передача будет идти не 4 мкс, а 4 мс, пауза сохранится прежней 80мс. Но КПД по прежнему просто несерьезный.

Где узкое место и чего дожидается система?

Granados

interested
interested
Сообщения: 7
Зарегистрирован: 27 май 2018, 15:32
Версия LabVIEW: 2013
Контактная информация:

NI VISA USB (RS-232 на CH340) Ошибка в read

Всем добрый вечер.
В рамках своего дипломного проекта пришлось заниматься тем, чем некогда раньше не занимался, а именно разработать систему, которая будет считывать данные с аналогового интерфейса, подключенного к ультразвуковому расходомеру.
Программа должна считывать информацию из канала передачи данных RS-232.
Подключение аналогового интерфейса к ПК осуществлялось через переходник RS-232 в USB на чипе CH340, я использовал простую программ (vi прикладываю). В соответствии с инструкцией на интерфейс (файл во вложении) я должен получать строку из 55 ASCII символов каждые 100мс, однако получил лишь набор неопределённых символов (фото во вложении)
Питание аналогового интерфейса корректное, драйвер на чип CH340 я установил, ПК COM порт обнаружил (система windows 10).
Чувствую, что решение простое, однако поиск на форумах не принёс результата. Буду очень благодарен, если кто-нибудь откликнется на мой зов о помощи. Время на завершение диплома остаётся у меня очень мало…

Вложения
rs-232 — 1.vi
(10.99 КБ) 173 скачивания
DIGIFLOW-mini1-CAN and RS-232.pdf
RS-232, стр 12
(206.61 КБ) 125 скачиваний
Read buffer.jpg

Granados

interested
interested
Сообщения: 7
Зарегистрирован: 27 май 2018, 15:32
Версия LabVIEW: 2013
Контактная информация:

Аватара пользователя

dadreamer

professor
professor
Сообщения: 3873
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 10 раз
Поблагодарили: 98 раз
Контактная информация:

Re: NI VISA USB (RS-232 на CH340) Ошибка в read

Сообщение

dadreamer » 31 янв 2019, 22:34

1. Для начала нужно переключить тип интерфейса с CAN на RS-232:

2019-02-01_0-23-29.jpg

2. Затем корректно сконфигурировать сессию VISA через VISA Configure Serial Port:

2019-02-01_0-24-48.jpg

Не забываем активировать терминатор (termination character) — у вас задан 0xA (Line Feed):

2019-02-01_0-28-15.jpg

3. Дальше убираем VISA Bytes At Port, оставляем только VISA Read, ставим обычную кнопку «стоп» для остановки цикла (вместо того условия, что сейчас), переключаем строковый индикатор в режим HEX и смотрим, что приходит. Описание формата посылки на странице 12-13.

кросс-пост на ni.com

Последний раз редактировалось dadreamer 05 фев 2019, 14:16, всего редактировалось 1 раз.

Granados

interested
interested
Сообщения: 7
Зарегистрирован: 27 май 2018, 15:32
Версия LabVIEW: 2013
Контактная информация:

Re: NI VISA USB (RS-232 на CH340) Ошибка в read

Сообщение

Granados » 01 фев 2019, 13:13

Blackman, dadreamer, спасибо большое, что откликнулись на мой зов о помощи. Приятно осознавать, что есть такие люди)
Прошу прощения скинул не тот VI, в другом у меня стояли настройки VISA Configure Serial Port согласно manual на интерфейс.
Как доберусь до экспериментального стенда обязательно попробую выполнить и другие рекомендуемые действия.

Granados

interested
interested
Сообщения: 7
Зарегистрирован: 27 май 2018, 15:32
Версия LabVIEW: 2013
Контактная информация:


Re: NI VISA USB (RS-232 на CH340) Ошибка в read

Сообщение

Granados » 03 фев 2019, 15:41

dadreamer, Добрый день. Попробовал выполнить все Ваши указания и получил следующую информацию (скрин во вложении), также прикладываю VI.
Я получаю набор данных в hex, мне нужно из них вытащить значение «mmmmmm», т.е. «mean flow calculated over 1second in ASCII (range: -99.999 ml bis +99.999 ml)», нашёл на форуме Ваше указание как это сделать и попытался выполнить с помощью «Spreadsheet string to array», однако разбить по частям не удалось и желаемую величину вытащить также не удалось. Чувствую, что проблема в неправильном определении «format string»
Буду очень благодарен, если найдёте время помочь !

Вложения
string hex.PNG
rs-232 — 1.vi
(15.62 КБ) 121 скачивание

Аватара пользователя

dadreamer

professor
professor
Сообщения: 3873
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 10 раз
Поблагодарили: 98 раз
Контактная информация:

Re: NI VISA USB (RS-232 на CH340) Ошибка в read

Сообщение

dadreamer » 03 фев 2019, 16:41

Granados, структура данных, отправляемых преобразователем, не соответствует структуре, описанной в документации. Длина посылки должна составлять 54 байта (55-й — терминатор, он удаляется из посылки после приёма), на картинке же 100 байт, а вся посылка, скорее всего, больше, т.к. заказали для VISA Read 100 байт. Нигде в данных не наблюдается 0xA (Line Feed). Части посылки должны быть разделены символом 0x20, которого также нигде не видно. + Ещё ряд мелких несоответствий. Поэтому бессмысленно вытаскивать данные об измерениях из такой посылки.

Попробуйте связаться с прибором через терминал (NI MAX или какой-то сторонний), посмотрите данные в HEX. Отправьте команду V<cr>, должна прийти информация о серийном номере и прошивке платы. Попробуйте отключить датчик и посмотрите, изменится ли что-нибудь во входящих данных. Загляните также в диспетчер устройств, посмотрите, какие настройки стоят у USB-конвертора. В крайнем случае свяжитесь с производителем платы, возможно, необходимо обновить ПО.

Granados

interested
interested
Сообщения: 7
Зарегистрирован: 27 май 2018, 15:32
Версия LabVIEW: 2013
Контактная информация:

Re: NI VISA USB (RS-232 на CH340) Ошибка в read

Сообщение

Granados » 04 фев 2019, 22:30

dadreamer, понял, спасибо, отрицательный результат тоже результат.
NI Max показал ошибку при попытке протестить порт. На досуге попробую поиграться с командами.
Может ли быть проблемы связаны с «плохими» драйверами на чип CH340 ?
Также мне мой научный руководитель говорил, что датчики могут быть не рабочим (но он, мол, точно не знал какие). Есть вариант и их заменить на другие.
Стоит ли пробовать подключать напрямую через RS-232, а не через переходник RS-232->USB (у меня на моноблоке нет разъёма RS-232, но поищу системник с необходимой платой расширения) ?

Granados

interested
interested
Сообщения: 7
Зарегистрирован: 27 май 2018, 15:32
Версия LabVIEW: 2013
Контактная информация:

Re: NI VISA USB (RS-232 на CH340) Ошибка в read

Сообщение

Granados » 04 фев 2019, 22:42

Blackman, Если я правильно Вас понял. То я использую коннектор на чипе CH340, фото во вложении

rs-232 USB.PNG
rs-232 USB.PNG (103.96 КБ) 5280 просмотров

Kosist, Спасибо большое, попробую !

Аватара пользователя

dadreamer

professor
professor
Сообщения: 3873
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 10 раз
Поблагодарили: 98 раз
Контактная информация:

Re: NI VISA USB (RS-232 на CH340) Ошибка в read

Сообщение

dadreamer » 05 фев 2019, 13:57

Granados писал(а):Может ли быть проблемы связаны с «плохими» драйверами на чип CH340 ?

Маловероятно, но исключать не стоит. Скорее, драйвер может быть не «плохой», а не с теми настройками, что необходимы для вашего устройства. Все такие настройки обычно можно изменить в диспетчере устройств.

Granados писал(а):Также мне мой научный руководитель говорил, что датчики могут быть не рабочим (но он, мол, точно не знал какие). Есть вариант и их заменить на другие.

Если датчик вышел из строя и не отдаёт данные (или отдаёт какую-то ерунду), то структура посылки не должна изменяться. Просто в текущих показаниях должны быть некорректные данные (нули или та самая ерунда). Я уже советовал отключить датчик, чтобы отдефектовать этот случай.

Granados писал(а):Стоит ли пробовать подключать напрямую через RS-232, а не через переходник RS-232->USB (у меня на моноблоке нет разъёма RS-232, но поищу системник с необходимой платой расширения) ?

Да, попробуйте, чтобы исключить USB-конвертор из списка «виновников». Если есть аналогичный преобразователь на другом чипе, можно и с ним ещё попробовать.

Ещё может быть такое, что плата Digiflow Mini работает только с «железным» COM-портом (уровни напряжения -3В .. -12В и +3В .. +12В). А конвертор на CH340G (или мост USB-UART, по-другому) работает с TTL-уровнями (не более +5В). Мне не удалось найти полноценный мануал на плату в открытом доступе. Скиньте посмотреть, если есть возможность.

Granados

interested
interested
Сообщения: 7
Зарегистрирован: 27 май 2018, 15:32
Версия LabVIEW: 2013
Контактная информация:

Re: NI VISA USB (RS-232 на CH340) Ошибка в read

Сообщение

Granados » 13 фев 2019, 19:09

dadreamer, Добрый день. Некоторое время экспериментировал, сжёг попутно две платы (оставшись с последней рабочей) и установил следующие:
1) Замена датчиков и плат-интерфейсов не влияет на подачу информации;
2) Работа через RS-232 напрямую , а не через конвертер, также не избавляет от проблемы.
3) При отключении датчика подача информации через RS-232 прекращается.
В завершении всего получаю всё тот же набор не читаемых символов и при остановки работы программы отображается ошибка (фото во вложении, vi также прикладываю)
Начинаю думать, что ошибка где-то в реализации самого подключения, ниже подробно его опишу, надеюсь найдёте время и поможите мне найти ошибку. Все имеющиеся файлы на интерфейс DIGIFLOW-MINI1 прилагаю, фото осуществляемого подключения прилагаю.
Через коннектор P102 я подключаю следующие:
1) Питание 3,3 В подаю на PIN 2, нулевой потенциал (GND) на PIN 4;
2) Нулевой потенциал PIN 5 подключаю к 5 (GND) выводу female RS-232, PIN 6 (TxD) коннектора P102 подключаю к 2 (TxD) выводу RS-232, PIN 7 (RxD) коннектора P102 подключаю к 3 (RxD) выводу RS-232. Такое подключение было выбрано, ввиду того, что потом данная система подключалась в male RS-232.
По поводу JMP 606 и 607 совершенно не знаю как через них осуществлять подключение RS-232 или CAN (фото во вложении), такое ощущение, что они запаяны.

Очень надеюсь на Вашу помощь и заранее спасибо.

Вложения
error.png
rs-232 — 1.vi
(16.03 КБ) 114 скачиваний
DIGIFLOW-mini1-UM-1 02.pdf
(812.56 КБ) 104 скачивания
DIGIFLOW-mini1-AOUM-1 04.pdf
(206.61 КБ) 105 скачиваний
DIGIFLOW and rs-232.jpg
front.jpg

Blackman

Activity

leader
leader
Сообщения: 932
Зарегистрирован: 17 янв 2016, 15:02
Награды: 1
Версия LabVIEW: 6.1,8.5,20

Re: NI VISA USB (RS-232 на CH340) Ошибка в read

Сообщение

Blackman » 14 фев 2019, 02:47

dadreamer писал(а):1. Для начала нужно переключить тип интерфейса с CAN на RS-232 …

:super:

Granados писал(а): dadreamer, Добрый день. Попробовал выполнить все Ваши указания …

:super:

Granados писал(а):По поводу JMP 606 и 607 совершенно не знаю как через них осуществлять подключение RS-232 или CAN (фото во вложении), такое ощущение, что они запаяны…

:shok:
Паяльником переставить перемычки :wink:

Аватара пользователя

dadreamer

professor
professor
Сообщения: 3873
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 10 раз
Поблагодарили: 98 раз
Контактная информация:

Re: NI VISA USB (RS-232 на CH340) Ошибка в read

Сообщение

dadreamer » 14 фев 2019, 11:25

Granados писал(а):Некоторое время экспериментировал, сжёг попутно две платы (оставшись с последней рабочей)

:shok: Ваше упорство в этой задаче поражает. Как такое могло случиться?

Я бы сходу также попробовал переставить перемычки — делов на 5-10 минут. Смущает только то, что они обе в положении 1-2, что по мануалу соответствует RS-232. Что странновато, т.к. по дефолту должен быть активирован CAN интерфейс. Кроме того, данные по RS-232 передаются, если бы был активен CAN, то передача по RS-232 не имела бы смысла. Ну, попробуйте, хуже не будет. Только не спалите последнюю плату. :wink:

Granados писал(а):при остановки работы программы отображается ошибка (фото во вложении, vi также прикладываю)

Framing Error говорит о том, что какие-то из параметров COM-порта не соответствуют реальным настройкам (часто это скорость передачи). Можете попробовать вставить Flush Buffers перед циклом. Уберите задержку в цикле, она там не нужна, VISA Read организует задержку, когда ожидает новых данных. Также вероятно, что порт может быть переполнен из-за того, что отправка идёт чаще, чем чтение. Укажите для VISA Read число байтов = 4096 (макс. размер входного буфера по умолчанию). Что происходит, когда подключаетесь через терминал? На вашем месте я бы уже давно написал производителю об этой проблеме. Вдруг это косяк данной ревизии… Возможно, есть какая-то сервисная программа от производителя для связи с платой?..

  • 6 Ответы
    708 Просмотры
    Последнее сообщение Artem.spb

    11 дек 2022, 23:09

  • 3 Ответы
    765 Просмотры
    Последнее сообщение Artem.spb

    17 сен 2022, 18:38

  • 1 Ответы
    640 Просмотры
    Последнее сообщение alerm

    16 ноя 2022, 23:42

  • 3 Ответы
    298 Просмотры
    Последнее сообщение rsv

    30 мар 2023, 14:51

  • Rs2 omron ошибка e4
  • Rs 1541 ошибка мерседес актрос
  • Rs 1507 ошибка мерседес актрос
  • Rqt close odin ошибка
  • Rpm ctr ивеко ошибка