Но сначала ссылки
Распиновка кабеля для подключения СПТ941, СПТ942, СПТ943 — на этом форуме наиболее подробным образом описаны варианты граблей и распиновок для подключения тепло-счетчиков.
Построение сети сбора данных с СПТ943 и КАРАТ-011 — тот же форум, те же вопросы, ответов впрочем почти нет.
FAQ Логика — официальный FAQ от компании логика. Кроме прочего есть несколько тем по подключению к интерфейсу.
еще один FAQ — в котором так же есть небольшая ветка по диспетчеризации
Артматика диспетчеризация — тема посвящена нашему вопросу, тут кроме прочего приведена корректная схема подключения к COM порту. Далее в статье мы подробно рассмотрим, почему именно так и что следует делать в иных случаях.
описание интерфейса RS 232 на википедии — полезно для общего понимания.
FAQ RS232 connection that works — отличная статья объясняющая ряд не очевидных нюансов по вопросам связи устройств через интерфейс rs232. Одна беда — на английском. (в виде PDF)
Инструкция от Логика СПТ 943, для подключения интересна страница 35 — на ней дана схема разъема X2. Еще стоит разобраться с настройкой параметров КИ и NT. Ниже приведен видео ролик на котором процесс настройки показан.
Составляем схему на базе PL2303
Любая схема должна начинаться с чтения Datasheet. Производитель микросхем очень заинтересован в том, чтобы купили именно его чип. В документации он обычно максимально подробно разбираем как пользоваться микросхемой, прикладывает схемы и пишет тонкости и особенности реализации прибора на этом чипе. Посмотрим что советует нам производитель (из документации на чип pl2303HXD):
Имейте ввиду, что без внешнего EEPROM usb порт будет отдавать только 100ma! Соответственно питать что-то существенное не получится.
С точки зрения чертежа схемы в Kicad никих особенностей нет. Проще не чертить соединения проводами, а использовать метки, тем более это будет удобно в дальнейшем при трассировке платы. В итоге получается такая схема (проект в Kicad можно скачать в конце статьи):
Последовательные порты COM
COM-порты компьютера, это связь компьютерного комплекса «дальнего действия». В отличие от параллельных портов и кабелей, ведших на «тяжёлые» устройства — принтеры, сканеры, Com-порты присоединяли к компьютеру «лёгкие» юниты — мышка, модем. Первые межкомьютерные интерфейсы (через «нуль-модем»). В дальнейшем, когда распространились локальные сети, а мыши стали подключаться по такому же разъёму, как и клавиатура — port ps/2 (пэ-эс-пополам) — com port как-то был подзабыт.
Возрождение пришло с появлением последовательного интерфейса USB. Вот и получилось движение по кругу. Теперь на USB можно встретить, кроме флешек, и мыши USB-шные, и USB-шные «клавы». Принтеры, сканеры модемы — вся периферия теперь на USB, забыла уже о толстых и солидных параллельных LTP — кабелях, которые необходимо было в обязательном порядке прикручивать с каждой стороны на 2 болта. А проводочков-то в этих USB — два сигнальных (собственно, канал один, один прямой сигнал, другой тот же — инверсный) и два — питание и корпус.
Прежних последовательных портов COM было несколько. Самый маленький — и самый востребованный 9-контактный порт (D9), к которому подключали большую чать устройств: мыши, модемы, нуль-модемные кабели. Контакты располагались в два ряда, 5 и 4 в ряд, получалась трапеция. Поэтому и название D9. На «маме» нумерация шла слева направо и сверху вниз:
1 2 3 4 5
6 7 8 9
На «папе» справа налево:
5 4 3 2 1
9 8 7 6
Далее в табличке указаны официальные параметры работы COM порта. Написано, максимальная длина кабеля — 15 м., хотя умудрялись протянуть и на 100 м.
Скорость передачи | 115 Кбит/с (максимум) |
Расстояние передачи | 15 м (максимум) |
Характер сигнала | несимметричный по напряжению |
Количество драйверов | 1 |
Количество приемников | 1 |
Схема соединения | Полный дуплекс, от точки к точке |
Распайка COM-порта, port RS232, 9 контактов.
№ | Обозначение | Тип | Описание |
1 | DCD | Вход | Высокий уровень от модема, когда он принимает несущую модема-партнёра |
2 | RxD | Вход | Входящие импульсы данных |
3 | TxD | Выход | Исходящие импульсы данных |
4 | DTR | Выход | Высокий уровень (+12В) показывает готовность компьютера к приёму данных. Подключённая мышь использовала этот контакт как источник питания |
5 | GND | Общий | Земля |
6 | DSR | Вход | Готовность к передаче данных устройством |
7 | RTS | Выход | Ответная готовность устройства — партнёра |
8 | CTS | Вход | Готовность к приёму данных от партнёра |
9 | RI | Вход | Сигнал информирования компьютера о входящем звонке, поступившим на модем из линии связи |
Способ 2: Программы от сторонних разработчиков
Подробнее: Установка драйверов через DriverPack Solution
Ничего не мешает вам использовать тот же DriverPack Solution, чтобы отыскать необходимые драйверы, однако это решение подходит далеко не всем пользователям. Но сейчас на просторах интернета существует огромное количество похожих решений от других разработчиков, которые функционируют примерно по такому же принципу. Изучить список самого популярного тематического софта можно в отдельном обзоре на нашем сайте. Что касается алгоритмов поиска и инсталляции, то практически во всех приложениях они имеют похожую структуру, поэтому приведенное ранее руководство считается универсальным.
Подробнее: Лучшие программы для установки драйверов
Тестирование работы проекта
После того, как все необходимые соединения в проекте сделаны, программа загружена в плату Arduino и на компьютере установлена программа Simple Modbus Master, откройте диспетчер устройств на вашем компьютере и посмотрите там к какому COM порту подключен модуль преобразования USB в RS-485. После этого запустите программу Simply Modbus Master 8.1.1. Затем выполните следующую последовательность шагов.
1. В программе Simply Modbus откройте опции записи (Write option).
2. После этого установите параметры записи в программе Simply Modbus Master: режим RTU, COM порт к которому подключен модуль преобразования USB в RS-485 (в нашем случае это COM6), скорость 9600 бод, 8 бит данных, 1 стоповый бит, отсутствие бита четности (Parity None) и идентификатор ведомого (Slave ID) равный 1.
3. После этого установите в первом регистре (first register) значение 40001, число передаваемых значений (values) равное 3 и функциональный код (function code) равный 16 (Write Holding Register).
После этого запишите 1 в 40001 (для включения первого светодиода), 1 в 40002 (для включения второго светодиода) и 90 в 40003 (для задания угла поворота оси сервомотора), затем нажмите кнопку SEND (передать) – см. рисунок.
После этого вы увидите как загорятся оба светодиода, а сервомотор повернется на 90 градусов.
4. После этого запишите 1 в 40001, 0 в 40002 и 180 в 40003.
В результате этой операции первый светодиод включится, второй – выключится, а сервомотор повернется на угол 180 градусов.
5. Теперь запишите 135 в 40003, 0 в 40001 и 1 в 40002.
Вы увидите что сервомотор повернется на угол 135 градусов, первый светодиод выключится, а второй – включится.
Способ 1: Официальный сайт FTDI
Сам конвертер RS485 собирают различные китайские компании, модернизируя корпус и отдельные детали, но плата чаще всего является фирменной разработкой компании FTDI, которая занимается созданием различных чипов, плат и переходников. Поэтому мы советуем поискать подходящий драйвер для этой платы на официальном сайте, ведь там все файлы проверены на работоспособность и точно будут совместимыми с операционной системой.
Точно таким же образом загрузите и установите второй тип драйверов, а затем в обязательном порядке перезагрузите операционную систему, чтобы все изменения вступили в силу. Теперь можно подключить преобразователь RS485 и проверить корректность его функционирования.
Связь С2000М с АРМ Орион ПРО.
Работа С2000М с АРМ Орион ПРО может осуществляться по трем схемам:
1. Через COM порт в режиме компьютер.
Для пожарной системы это единственно правильный вариант.
Управление системой пожарной сигнализации осуществляет контроллер С2000М. Компьютер используется как вспомогательное средство наглядного отображения состояний и удобного управления контроллером.
Многие не знают, а еще больше не соглашаются с тем, что система пожарной сигнализации не имеет права работать под управлением только компьютера с АРМ «Орион ПРО», поэтому встречаются и другие варианты подключения.
2. Через COM порт в режиме ПИ-Резерв.
В этом варианте управление системой осуществляется компьютером. Контроллер С2000М находится в режиме преобразователя интерфейсов — неглубоком сне, параллельно отслеживая состояние системы и перехватывая управление, когда связь с компьютером теряется.
Резервирование есть, но требование чтобы противопожарная система находилась под управлением сертифицированного прибора не выполняется.
3. Через USB.
Контроллер С2000М никак не участвует в процессе управления и вообще физически отключен от системы.
Резервирование можно обеспечить только извращенным способом при помощи релейной логики, что и было сделано в самой первой схеме из проекта.
Вот проектное подключение из обсуждения на форуме Болид, приведенном выше:
При таком варианте С2000М будет всегда висеть в режиме программирования, как бутафория. Для проекта охранной сигнализации вроде бы и ничего, но схема успешно кочует и по проектам пожарной сигнализации.
То-есть изначально проекты неправильные!
Через С2000-Ethernet.
Оказывается, «C2000-Ethernet» работают вполне себе стабильно, что недавно выяснил в результате натурных экспериментов.
И скорее всего компьютер с АРМ «Орион-ПРО» будет не проблема подключить к ЛВС.
Тогда актуально применение такой схемы из руководства пользователя С2000-Ethernet:
Принцип связи между устройствами
Компоненты сети соединяются двумя проводами, используя балансный (дифференциальный) метод подключения. При таком способе сигнал передается по двум проводам. Если один из проводников обозначить буквой «A», а второй «B», то информация будет передаваться по A в исходном виде, а по B —в инвертированном. Если на проводе A максимальное значение, то на B — минимальное.
Поэтому всегда существует разность значений напряжения между проводами A и B. Итоговая информация считывается в точке приема по этому показателю.
Благодаря дифференциальному способу передачи, достигается высокая помехоустойчивость к электромагнитным помехам. Так как витая пора состоит из двух проводников сигнала, расположенных близко к друг другу, то любая наводка действует практически одинаково на них. Если произошло изменение амплитуды на проводе A, то настолько же изменился инвертированный сигнал на B.
Но значение имеет не величина напряжения относительно земли на одном из проводов, а разность потенциалов между ними, которая не изменится, и полезная информация не исказится.
Напряжение относительно земли может быть от -7 В до +12 В. Значения от 200 мВ до 12В приемники на линии воспринимают как логическую 1, от -7 В до -200 мВ — как логический 0. Балансное напряжение на выходе должно быть не менее 1,5 В. Приемник реагирует на величины от 200 мВ.
В рассматриваемом стандарте большая разность потенциалов позволяет передавать управляющие сигналы на длинные расстояния. В RS-482 максимальная длина линии достигает 1200 метров при скорости обмена данными около 100 кбит/с.
Почему не сделать сразу как надо?
Тому есть несколько причин.
1. Невозможность объяснить почему нужен системный блок именно с com портом клеркам, заказывающим оборудование.
2. Некоторая сложность в создании зеркальных баз данных для С2000М и Орион ПРО. Функция конвертирования у меня так ни разу нигде не заработала — все надо делать руками. Сложно даже не сделать,а отслеживать изменения и делать их параллельно. Потому и не заморачиваются.
3. Скорость работ. На заключительном этапе строительства время ускоряется и никто уже не слушает нытье какого-то «программиста» слаботочных систем.
4. Отсутствие пусконаладочных работ. Пусконаладка сейчас вообще не является работой и отсутствует как класс.
Программное обеспечение Modbus Master
Программу Modbus Master Software мы будем использовать для передачи данных ведомой плате Arduino с помощью интерфейса RS-485.
Перед использованием данной программы необходимо ознакомиться со следующими терминами, используемыми в ней.
Slave ID (идентификатор/адрес ведомого)
Каждому ведомому устройству в сети назначается уникальный адрес в диапазоне от 1 до 127. Когда ведущее устройство запрашивает данные, то первый байт, который он передает, содержит адрес ведомого устройства. Благодаря этому каждое ведомое устройство знает стоит ли ему отвечать на этот запрос или нет.
Регистры Modbus
Регистры флагов (Coils) хранят однобитные значения — то есть могут находится в состоянии 0 или 1. Такие регистры могут обозначать текущее состояние выхода (включено реле). Название «coil» буквально и означает обмотку-актюатор электромеханического реле. Регистры флагов допускают как чтение, так и запись. Имеют номера от 1 до 9999.
Дискретные входы (Discrete Inputs) также являются однобитными регистрами, описывающими состояние входа устройства (например, подано напряжение — 1). Эти регистры поддерживают только чтение. Имеют номера от 10001 до 19999.
Регистры ввода (Input Registers) – 16-битные регистры, используемые для ввода информации. Эти регистры поддерживают только чтение. Имеют номера от 30001 до 39999.
Регистры хранения (Holding Registers) представлены двухбайтовым словом и могут хранить значения от 0 до 65535 (0x0000 — 0xFFFF). Регистры хранения поддерживают как чтение, так и запись (для хранения настроек). Имеют номера от 40001 до 49999.
Function code (код функции/функциональный код)
Второй байт, передаваемый ведущим, содержит функциональный код. Этот код определяет действие, которое необходимо выполнить (считать, записать и т.д.). Действия сгруппированы по таблицам. В протоколе Modbus существует четыре таблицы с данными:
Таблица | Тип элемента | Тип доступа |
Дискретные входы (Discrete Inputs) | один бит | только чтение |
Регистры флагов (Coils) | один бит | чтение и запись |
Регистры ввода (Input Registers) | 16-битное слово | только чтение |
Регистры хранения (Holding Registers) | 16-битное слово | чтение и запись |
В реальной практике чаще всего встречаются устройства, в которых есть только таблица Holding Registers, иногда объединённая с таблицей Input Registers.
Для доступа к этим таблицам существует ряд стандартный функций ModBus:
Чтение:
- 1 (0x01) — чтение значений из нескольких регистров флагов (Read Coil Status).
- 2 (0x02) — чтение значений из нескольких дискретных входов (Read Discrete Inputs).
- 3 (0x03) — чтение значений из нескольких регистров хранения (Read Holding Registers).
- 4 (0x04) — чтение значений из нескольких регистров ввода (Read Input Registers).
Запись одного значения:
- 5 (0x05) — запись значения одного флага (Force Single Coil).
- 6 (0x06) — запись значения в один регистр хранения (Preset Single Register).
Запись нескольких значений:
15 (0x0F) — запись значений в несколько регистров флагов (Force Multiple Coils)
16 (0x10) — запись значений в несколько регистров хранения (Preset Multiple Registers)
Наиболее часто используемые на практике функции (функциональные коды) ModBus это 3, 6 и 16 («Read Holding Registers», «Preset Single Register» и «Preset Multiple Registers» — соответственно).
CRC
CRC расшифровывается как Cyclic Redundancy check и переводится как “циклический избыточный код”. Это два байта, которые добавляются к каждому передаваемому сообщению протокола Modbus для обнаружения ошибок.
USB 3.3 В 5.5 В для TTL адаптер мини-порт
Обзор
- Размер – 36х17,5 мм (ДхШ);
- Контакты: GND, CTS, VCC, TXD, DTR, RXD, RXD;
- Чипсет FT232RL;
- Поддерживает – 5В, 3,3 В;
- Шаг – 2,54 мм.
Его стоимость составляет 42,7 рублей .
К особенностям относятся:
- антистатическую упаковку, не допускающую накопления статэлектричества,
- негативно отражающегося на работе;
- высокую надежность, стабильность;
- поддержку WIN7.
Используется продукт, весящий 5 граммов (без упаковки) в студенческих экспериментах производстве и т.д. Его размер – 50Х15Х7 мм. У конвертеров модели USB PL2303 — RS232
TL есть пара интерфейсов, служащих для подключения (пятиконтактный штыревой) и ПК (USB стандартный).
КОРОТКО О НАС
Тогда следующий кадр будет приниматься с нормального старт-бита. Прерывание по передаче контроллер формирует при опустошении входного регистра, когда данные уже выложены в сдвиговый регистр, но ещё не выданы!
Несмотря на то, что RS может успешно осуществлять передачу с использованием различных типов передающей среды, он должен использоваться с проводкой, обычно называемой «витая пара». Подключение устройств Подключение шины RS к модулю WB-M1W2 Подключение шины RS к Wiren Board 5 Так как все устройства соединяются общей шиной, следите за качественным соединением всех узлов линии: при обрыве линии устройства за обрывом не будут работать при коротком замыкании не будут работать все устройства. Принимающее устройство отсчитывает время с момента последнего приема байта до следующего, и если эта пауза оказывается больше какой-то величины например, 1.
Защита, организованная на варисторах, супрессорах, газоразрядных трубках, способна выдерживать лишь кратковременные всплески напряжения. Они устанавливаются всегда на первом и последнем устройстве, подключенном к линии. Напряжение питания — 5В.
В данном случае может присутствовать меньшая предельная дальность, так как емкость кабеля является более высокой. Для защиты от помех экран витой пары заземляется в любой точке, но один раз. Описание интерфейса RS Интерфейс RS обеспечивает обмен данными между несколькими устройствами по одной двухпроводной линии связи в полудуплексном режиме. Для длинной линии лучше ставить два комплекта подтягивающих резисторов в оба удаленных конца рядом с терминаторами.
Основные отличия RS-232, RS-422 и RS-485
Разработаем распределенную систему аналогичную системе из предыдущего урока, только с использованием сети RS Помехи в линии связи зависят не только от длины, терминаторов и качества самой витой пары. Сигналы интерфейса RS передаются дифференциальными перепадами напряжения величиной 0,2…8 В, что обеспечивает высокую помехоустойчивость и общую длину линии связи до 1 км и более с использованием специальных устройств — повторителей.
Такой алгоритм требует четкой синхронизации, отработки временных интервалов коммутации передатчиков. Можно выделить место в памяти для формирования посылки на передачу и сохранения принятой посылки буфер посылки , а также указатели на позицию текущего символа.
Описание интерфейса RS-485
Если требуется сопряжение системы и компьютера с Windows, такой протокол лучше не применять, так как у Windows могут быть проблемы с распознанием девятого бита в UART. Это означает, что уровни напряжений на сигнальных цепях А и В меняются в противофазе, как показано на приведенном ниже рисунке: Передатчик должен обеспечивать уровень сигнала 1,5 В при максимальной нагрузке 32 стандартных входа и 2 терминальных резистора и не более 6 В на холостом ходу. Но они все на уровне протоколов. На сегодняшний день, различные расширения стандарта RS охватывают широкое разнообразие приложений.
Управление состоянием передатчика происходит отдельным сигналом DE. С такой проблемой можно столкнуться в больших системах, в которых пульт и приборы расположены в разных зданиях и объединены интерфейсом RS
Интерфейс связи RS485. Использование в СКУД
Что такое Modbus
Modbus — протокол, работающий по принципу «клиент-сервер». Широко применяется в промышленности для межмашинного взаимодействия и не только. Протокол Modbus был разработан в 1979 году. Modbus может использоваться для передачи данных через последовательные линии связи RS-485, RS-422, RS-232, а также через сети TCP/IP. В данной статье мы рассмотрим его использование на примере линии RS-485. Достаточно подробно протокол Modbus описан в соответствующей статье Википедии. Также неплохое описание протокола Modbus есть в этом документе (уже не помню откуда его скачал но его автору отдельное спасибо).
Modbus RS-485 использует линию последовательной связи RS-485 для передачи данных. Modbus является программным (не аппаратным) протоколом и состоит из двух частей: Modbus Master (ведущий) и Modbus Slave (ведомый). В сети Modbus RS-485 может быть один ведущий и 127 ведомых устройств, каждое из которых имеет уникальный адрес от 1 до 127. Master адреса не имеет — он в сети может быть только один.
Modbus чаще всего используется в программируемых логических контроллерах (PLCs — Programmable Logic Controllers). Но также он широко применяется в медицине, транспорте, проектах автоматизации дома и т.п. Modbus имеет 255 функциональных кодов. Наиболее распространены 3 версии данного протокола:
- MODBUS RTU;
- MODBUS ASCII;
- MODBUS/TCP.
Какая разница между протоколами Modbus ASCII и Modbus RTU? По сути, это практически одинаковые протоколы. Только в протоколе Modbus RTU данные передаются последовательно в двоичном коде, а в Modbus ASCII – в ASCII кодах. В этом проекте мы будем использовать Modbus RTU. Структура пакета в проколе Modbus RTU выглядит следующим образом:
Назначение элементов данного пакета рассмотрено далее в статье.
В данной статье мы будем использовать последовательную связь по протоколу Modbus RS-485 используя плату Arduino Uno в качестве ведомого устройства (Slave). Мы установим программное обеспечение Simply Modbus Master Software на компьютер и будем управлять двумя светодиодами и сервомотором, подключенными к ведомой плате Arduino. Управлять ими мы будем при помощи передачи специальных значений от Master Modbus Software.
Подключение к СПТ943 с помощью преобразователя Сапфир.
В рамках курса на импорто-замещение и просто из любви к отечеству, были закуплены преобразователи компании ООО «Сапфир СТ». Которые показали себя весьма не плохо. И позволили с некоторыми нюансами подключиться к тепловычислителю.
Например вот такой преобразователь USB в RS232
Подключение аналогично MOXA. Но на третью клемму разъема X2 тепловычислителя мы подаем питание с с линии +5В.
Так же был испытан преобразователь RS232 в RS485. Подключение аналогично преобразователю USB в RS только необходимо поменять линии Tx и Rx на клеммнике X2 местами. (так как DCE).
СПТ-943 — X2 | Преобразователь сапфир |
1 | Rx |
2 | GND |
3 | +5V |
4 | Tx |
Минус впрочем нашелся. Преобразователь USB в RS485 через преобразователь RS232<>RS485 к тепловычислителю подключиться не смог. Однако через этот же преобразователь MOXA Nport 5232 — снабженный интерфейсами rs485 подключился более чем спокойно. Что говорит о том, что преобразователь интерфейсов RS232<>RS485 работает хорошо.
Зачем он нужен? Только для одного — увеличить дальность сигнальной линии с нескольких метров по стандарту RS232 до 1 километра по стандарту RS 485.
Суть и причина проблемы при возникновении ошибки с кодом 10
Компания «Prolific» прославилась в сети не своими чипами, а дисфункцией своих драйверов, возникающей при переходе пользователя с Windows 7 b 10. Как я уже упоминал выше, некоторые драйвера к чипам «Prolific» работают только с Виндовс 7 и ниже. И прекращают работать с более модерными версиями ОС (8,10). Многие же пользователи, перейдя с 7 на 10 версию Windows, обнаружили, что их устройства с чипами «Prolific» перестали работать. А в Диспетчере устройств рядом с названием «Prolific usb-to-serial comm port» красуется восклицательный знак, сигнализирующий о возникшей ошибке с кодом 10.
Другим же фактором возникновения проблемы является подделка чипов «Prolific» малоизвестными китайскими производителями. Как и в случае настоящих чипов, фейковые чипы имеют тот же Vendor ID (VID_067B) и тот же « Product ID» (PID_2303) , потому отличить подлинник от подделки бывает сложновато.
Для устранения фейковых чипов «Prolific» выпустила новые драйвера, которые не работают с ненастоящими чипами, делая их бесполезными. Одновременно данное решение привело к отказу от драйверной поддержки более ранних адаптеров компании.
Поэтому 64-битные драйвера «Prolific», распространяемые «Майкрософт» через службу обновлений Windows, версий 3.4.67.325, 3.4.25.218, 2.1.51.238, 3.4.62.293 не будут работать с большинством адаптеров. А в «Диспетчере устройств» пользователь будет видеть восклицательный знак и код ошибки 10. Или, в качестве альтернативы, вы не будете видеть ошибок в самом ДУ, но ваше устройство попросту не будет работать.
Сообщений 1 страница 10 из 13
Поделиться120.10.16 11:38
Запуск этого устройства невозможен. (Код 10)
Есть адаптер USB-Com фирмы Prolific, спаянный скорее всего в Китае, VID_067B&PID_2303. Нужно прицепить его к Windows 7 (x32). Виндовский Update не помог. Cкачал новый драйвер с оф.сайта, v3.4.48.272. После его установки подключил шнурок и получил «Запуск этого устройства невозможен. (Код 10)». Копания в инете привели на тот самый форум. Оказалось, нужен старый драйвер, в котором еще нет проверки подлинности чипа. На форуме товарищ писал, что лечил так Win7x64, у меня на 32-разрядной тоже все получилось как и на win 8.
Цитировать Сообщение 1
Поделиться220.10.16 11:39
Самый новый драйвер под Win7 не будет работать, т.к. шнурок у нас китайский и драйвер проверяет чип на оригинальность. Нужна старая версия драйвера. Спасибо товарищу с ником «San-ch» за найденное решение. Не работал драйвер v3.4.48.272, после установки и подключения шнурка ошибка «Запуск этого устройства невозможен. (Код 10)».
Самое интересное, что прога определения чипа (шла в архиве с новым драйвером) после нормальной установки не ругается на чип и определяет его как PL-2303 XA / HXA». Вот и кому, спрашивается, пиндосы в итоге хуже сделали? Нам..
USB 2.0 To COM Device / Prolific USB-to-Serial Comm PortUSBVID_067B&PID_2303&REV_0300Win7 x64 (для x32 тоже работает)
. Расскажу, что я перед этим делал. Сначала удалил все ранее установленные драйверы с помощью их программ установки и перезагрузил компьютер. Вставил девайс, он определился как в самом начале. Выбрал автоматическую установку драйверов, появился знакомый «код 10». Потом выбрал «ручную установку» —> «выбрать из установленных», и выбрал самую раннюю версию, 3.0.1.0. Потом появилось сообщение «драйвер установлен, требуется перезагрузка». Перезагрузил. Захожу в диспетчер устройств. ВНЕЗАПНО ВСЁ РАБОТАЕТ. Вот только номер порта был аж 27, поменял в настройках на COM2.
ИНФА ДЛЯ ТЕХ, У КОГО PL2303 И КОД 10Опытным путём определил, что на Windows 7 x64 с версиями драйвера 3.3.2.105 (27.10.2008) и ниже всё работает нормально. Все версии с 3.3.5.122 (17.07.2009) до самой последней 3.4.42.258 (12.11.2012) выдают «ошибку код 10».
Читая файл ReadMe, который идёт вместе с драйвером с оф. сайта, наткнулся на это:
======================= Counterfeit Warning. ======================= Please be warned that counterfeit/fake PL-2303HX Chip Rev A (or PL-2303HXA) USB to Serial Controller ICs using Prolific’s trademark logo, brandname, and device drivers, were being sold in the China market. Counterfeit IC products show exactly the same outside chip markings but generally are of poor quality and causes Windows driver compatibility issues (Yellow Mark Error Code 10 in Device Manager). We issue this warning to all our customers and consumers to avoid confusion and false purchase.
Подозреваю, что в свежих версиях драйвера встроена защита от поддельных чипов, а в старых версиях эту фичу ещё не запилили, поэтому они нормально работают.
Как вручную выбрать версию драйвера. Заходим в «Диспетчер устройств» —> «Порты COM и LTP» —> «Profilic USB-to-Serial Comm Port» —> «Свойства» —> «Драйвер» —> «Обновить» —> «вручную» —> «выбрать из уже установленных». Признаком успешной установки является отсутствие «кода 10» или других ошибок. Если нерабочая версия будет заменена на рабочую, то «код 10» и жёлтый треугольник исчезнут сразу, до перезагрузки.
Требования к кабельным соединениям
При подключении интерфейса RS-485 нужно соблюдать некоторые требования. Требуется две пары кабелей «витая пара». Однако, для обмена информации достаточно и одной. Вторая пара используется в качестве резерва.
Чтобы уменьшить помехи, необходимо экранировать кабели. Экраны следует соединить по всей длине линии. Заземлять провод нужно только в одном месте. В противном случае возникнут наводки, из-за разницы потенциала в двух точках. Они пройдут по всей длине экрана.
С самим подключением кабелей проблем возникнуть не должно. Однако, программная часть соединения устройств гораздо сложнее. Здесь лучше доверить работу профессионалам.
Принципы работы интерфейса последовательной связи RS-485
RS-485 представляет собой асинхронный интерфейс последовательной связи, не требующий для своей работы импульсов синхронизации. Для передачи двоичных данных от одного устройства к другому интерфейс использует дифференциальный сигнал.
Если следовать определению из википедии, дифференциальный сигнал представляет собой способ электрической передачи информации с помощью двух противофазных сигналов. В данном методе один электрический сигнал передаётся в виде дифференциальной пары сигналов, каждый по своему проводнику, но один представляет инвертированный сигнал другого, противоположный по знаку. Пара проводников может представлять собой витую пару, твинаксиальный кабель или разводиться по печатной плате. Приёмник дифференциального сигнала реагирует на разницу между двумя сигналами, а не на различие между одним проводом и потенциалом земли.
В нашем случае дифференциальный сигнал образуется при помощи использования положительного и отрицательного напряжения 5V. Интерфейс RS-485 обеспечивает полудуплексную связь (Half-Duplex) при использовании 2-х линий (проводов) и полноценную дуплексную связь (Full-Duplex) при использовании 4-х линий (проводов).
Основные особенности данного интерфейса:
- Максимальная скорость передачи данных в интерфейсе RS-485 – 30 Мбит/с.
- Максимальная дистанция связи – 1200 метров, что значительно больше чем в интерфейсе RS-232.
- Основным достоинством интерфейса RS-485 по сравнению с RS-232 является использование нескольких ведомых (multiple slave) при одном ведущем (single master) в то время как RS-232 поддерживает только одного ведомого.
- Максимальное число устройств, которое можно подключить по интерфейсу RS-485 – 32.
- Также к достоинствам интерфейса RS-485 относится хорошая помехоустойчивость вследствие использования дифференциального сигнала.
- RS-485 обеспечивает более высокую скорость передачи по сравнению с интерфейсом I2C.