вторник, 1 марта 2011 г.

Как преобразовать CAN в RS485 и наоборот

Фразы: Как романтично: Ее супруг под большим секретом уверял, что, если бы она встретилась лицом к лицу с господом богом, она непременно всплеснула бы своими пухлыми руками и закричала: «Как романтично!»


Про RS485 я уже немного упоминал и возможно вы подумали, что я теперь начну рассказывать еще об одном промышленном стандарте CAN, но это не так, я буду рассказывать о том как сделать передачу данных между RS485 и CAN интерфейсами.


То что я прочитал в интернете: Физическая среда передачи данных CAN-интерфейса, характеристики приемопередатчиков, разводка разъемов, свойства кабелей, топология сети не оговариваются CAN спецификацией BOSCH v.2.0 A/B. Физический уровень является предметом различных интернациональных, национальных, промышленных и даже внутрифирменных спецификаций. 

Далее углубляться не будем, скажу так: "Большинство разработчиков используют готовые реализации этой шины, в виде давно придуманных микросхем", а мы как пользователи этих двух стандартов имеем проблемы подключения. Рассмотрим самую обычную ситуацию, когда есть шина RS485, к ней подключено несколько приборов и вдруг нам надо подключить еще один, но у него оказывается другой вид интерфейса - CAN. Хотя преобразователь интерфейсов Меркурий-221 имеет такой разъем и возможность работы сразу с двумя интерфейсами, но в этой ситуации надо тянуть дополнительную витую пару до нового прибора, что не рационально. Что же делать? Собираем новую схему соединения.

Проверяем и радуемся жизни...
Сами понимаете, что эта схема справедлива только для преобразования физического уровня сигналов. Наличие или отсутствие ЭХА в пакетах будет конфигурироваться внутренним джампером в преобразователе Меркурий-221 и галочкой ECHO в "Универсальном конфигураторе".


Для некоторых преобразователей интерфейса резисторы подтяжки не ставятся. Единственно оставляют резистор между А и В.






Скачать:
Универсальный конфигуратор счетчиков Меркурий (конфигурирование электросчетчиков)
TaskGroup (выполнение групповых задач)
ES_XML80020 (опрос профилей энергии в формате XML80020 на Андроид)



Условия заказа и доставки адаптеров для связи со счетчиками Меркурий
(запросы на электронку vladrusanov@gmail.com или по телефону 8-909-283-34-16)




Товар в наличии! Цены 2017 г.

1) USB-IRDA (модель VR-001)   Стоимость 1700 рублей.  Для Меркурий-230, 231, СЕ-102, содержащих IRDA интерфейсы. Для подключения к электросчетчику не требует вскрытия клеммной коробки

2) USB-RS485/CAN (модель VR-002)   Стоимость 1700 рублей.  Универсальный преобразователь проводных интерфейсов RS485/CAN. Может подавать питание на интерфейс электросчетчика. Подходит для Меркурий-200,203,206,230,233,234,236 содержащие RS485/CAN. Требует вскрытия клеммной коробки для подключения.

3) USB-RS485 (модель VR-004)   Стоимость 800 рублей.  Подходит для электросчетчиков Меркурий которым не нужно запитывать интерфейс связи. Имеет на выходе только клеммы D+ и D-. Можно использовать с Меркурий-203,206,230,233,234,236 содержащие RS485. Требует вскрытия клеммной коробки для подключения.

4) USB-оптопорт (модель VR-005)   Стоимость 1700 рублей.  Подходит для электросчетчиков Меркурий-203,206,233,234,236, содержащих оптопорт. Для подключения не требует вскрытия клеммной коробки.

5) Узел автоматики - WiFi роутер (модель VR-006)   Стоимость 3700 рублей.  Универсальное устройство связи со счетчиками через Ethernet, WiFi, 3G/4G интернет. Имеет на корпусе Ethernet  и USB разъемы, позволяет построить разветвленную сеть опроса внешнего программного обеспечения и подключаться к электросчетчикам через любой из адаптеров связи USB- RS485 / CAN / IRDA / оптопорт.

6) JTT-A (RS485/CAN) (радиомодем 433 МГц, 100 мВт)  Стоимость 3700 рублей.  Миниатюрные радиомодемы с прозрачным каналом связи, позволяющие работать в режиме радиоудлинителей. Имеют возможность подключения к промышленным интерфейсам RS485/CAN.

7) 4G модем (Hilink)  Стоимость 2000 рублей.  Модем со специализированной прошивкой Hilink, работает со всеми SIM-картами, имеет расширенные настройки (встроенный брандмауер, SMS, USSD, индицирует служебную информацию об уровне сигналов и многое другое).

8) Узел автоматики - WiFi роутер (модели VR-007.1 / VR-007.3)   Стоимость 4000 рублей.  Обладает собственным Web интерфейсом, базой данных, может вести ежеминутный опрос однофазных и трехфазных счетчиков Меркурий через WiFi\Ethernet\3G\4G и строить графики мгновенных значений токов, напряжений, мощностей, графики энергий по тарифам. Обладает возможностью транслировать через себя вебкамеру и погодные станции, является элементом умного дома способного передавать данных о потреблении на электронную почту пользователя и в сбыт. Может выводить данные на сервер Narodmon.ru и сообщать о критических ситуациях. 


Доставка (добавляется к стоимости товара):

1) Почта России - заказная бандероль первого класса. Цена 300 рублей. Срок доставки 3-5 рабочих дней. Выдается трекномер.



2) ЕМS - курьерская доставка (из рук в руки). Цена 750 рублей. Срок доставки 3-5 рабочих дней. Выдается трекномер.



3) Самовывоз Н.Новгород


P.S.
По взаимной договоренности могу отправлять наложенным платежом (отправка стоит 400 руб. и 4% от стоимости возьмет Почта).



Как можно оплатить:

1) Оплата по счету. Обычно удобна предприятиям, работающим по безналу. Цена отправки включается в стоимость товара. Нужны реквизиты для выставления счета, адрес доставки, ФИО и тел. контактного лица. 
2) Онлайн оплата картой любого банка (для физлиц). Необходимо сообщить ФИО полностью, я пришлю ссылку на оплату карточкой любого банка через банковский сервис Yandex. После оплаты пришлите подтверждение платежа иначе деньги поступят на наш расчетный счет только через сутки.
2) Наложенный платеж. Удобен для физлиц. Получите посылку на почте, ее можно вскрыть, проверить и расплатится по факту. Выдается трекномер и есть возможность отследить ее прохождение. При данном способе оплаты цена отправления 400 руб. и 4% процента возьмет Почта за обратный перевод денег.


Согласно "Номенклатуре продукции, в отношении которой законодательными актами Российской Федерации предусмотрена обязательная сертификация", введенной в действие Постановлением Госстандарта России от 30.07.2002 №64 (в редакции от 30.04.2009) и "Номенклатуре продукции подлежащей декларированию соответствия", введенной в действие Постановлением Госстандарта России от 30.07.2002 №4 (в редакции от 30.04.2009) продукция:
ПРЕОБРАЗОВАТЕЛИ АНАЛОГО-ЦИФРОВЫЕ И ЦИФРОАНАЛОГОВЫЕ ПРОЧИЕ, код ОКП 40 5470:
- Преобразователь интерфейсов "USB-RS485/CAN";
- Преобразователь интерфейсов "USB-IRDA";
- Преобразователь интерфейсов "USB-оптопорт";
не подлежат обязательной сертификации и не подлежат декларированию соответствия.

42 комментария:

  1. Можно сделать еще проще. Чтобы преобразовать сигнал CAN от счетчика в RS485(подключить его к разъему RS485), достаточно изменить полярность сигнальных проводов(не питающих!) и включить между ними резистор 120 ом. Проверено - работает! Кстати, этот резистор(120 ом) уже установлен внутри Меркурий-221 между сигнальными контактами(А,В) интерфейса CAN, а на сигнальных контактах разъема RS485 его нет. Подтягивающие к питанию и земле резисторы можно не ставить.

    ОтветитьУдалить
  2. Еще одно уточнение. Проверял на Мрекурий-230 ART-01 CN. -без подтягивающих резисторов работает. А по схеме приведенной выше не работает!
    Растягивать нужно в другую сторону. Вот так Выход (RS485 A) на (СAN- 19) и резистором 680 на +5V. Выход (RS485 В) на (СAN- 24) и резистором 680 на +0V.

    ОтветитьУдалить
  3. Спасибо я изменил схему. Видимо я по своей торопливости умудрился перепутать между собой CAN и RS485. Думаю, что так должно все работать.

    ОтветитьУдалить
  4. Господа, а что можно произвести, если стоит ряд счетчиков, часть из которых - 485, а часть- САN. нужен один резистор или несколько, на каждый счетчик? что бы все данные опрашивались с одного хвоста М-221?
    кстати, М-221 не панацея, он не умеет одновременно опрашивать и такие и эдакие интерфейсы, он рассчитан только на один, так как ВНУТРИ у него стоит джампер, который просто так без отвертки, не переключишь.

    ОтветитьУдалить
    Ответы
    1. Кстати джампер внутри М221 для отключения Эха и никак на выходы не влияет, т.е. одновременно могут работать оба выхода.

      Удалить
    2. Кстати, ещё, по поводу джампера: мы, как и все нормальные наладчики, часто работающие через Меркурий-221 с разными интерфейсами (и CAN, и RS-485), первым делом, для удобства работы, в своих М-221 заменили этот джампер на клавишный мини-переключатель, выведенный на корпус преобразователя.

      Удалить
    3. Сейчас уже сделан новый преобразователь USB-RS485/CAN, которому вообще не надо ничего переключать и снимать джамперы. Читать статью

      Удалить
  5. Представленное решение на небольших расстояниях точно работает, но на больших расстояниях может и не заработать. Если у вас один хвост RS485, попробуйте при подключении счетчиков CAN для каждого счетчика поменять А и В. На одном счетчике поставьте между А и В резистор 120 Ом, если не заработает, то в одном месте сделайте подтяжки на питание и землю резисторами 680 Ом как показано.

    ОтветитьУдалить
  6. Извините за ламмерский вопрос .
    Зачем Подтягивающие к питанию и земле резисторы?
    Я предполагаю ,что на длинных расстояниях падает напряжение?

    ОтветитьУдалить
    Ответы
    1. Для улучшения помехозащищенности канала связи.

      Удалить
  7. Купил домой Меркурий-200 и адаптер USB-RS485/CAN. Изначально на счетчике стоит московское время, которое для Уфы не подходит - надо менять. Подключение прошло идеально, время поменял. Спасибо поддержке, в лице Vlad Rusanov, который быстро по мылу инструкции давал.

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

      Удалить
  8. счетчики Меркурий 230 ART2 – 03 PQC SIDN с внутренним питанием интерфейсов, с внешним питанием , с интерфейсом CAN.
    Необходимо передача данных по RS – 485 от двух счетчиков к одному устройству. Производитель счетчиков обещает работоспособность при смене полярности, а сбытовая компания утверждает, что это не будет работать.
    Есть несколько вопросов:
    1.Нужен ли дополнительный (внешний) источник питания;
    2.Если источник не нужен, то как будет выглядеть вышеприведенная схема при наличии внутреннего источника;
    3.Сопротивление (или набор сопротивлений) устанавливается на обоих счетчиках или на одном (каком именно первом или последнем, ближайшим к приемному устройству).
    Трассы короткие 4-6 метров.
    Заранее спасибо.

    ОтветитьУдалить
    Ответы
    1. Если использовать наш адаптер USB-RS485/CAN, то будет работать без дополнительных элементов. Если счетчик с буквой S, то внешнее питание ему не нужно, если этой буквы нет, то с адаптера USB-RS485/CAN можно взять до 0,5А питания.

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

      Удалить
  9. Здравствуйте!
    Установил счетчик меркурий 200.02. Имеются несколько преобразователей интерфейсов 485 to 232 (Adam, Moxa). На счетчике, как я понимаю, CAN-интерфейс. Пробовал подключать счетчик по данной схеме (и с растяжкой и без) и без резисторов в прямой и обратной полярности, ПК счетчик не видит. Адрес счетчик прописывал и "0" и последние 6 цифр номера.
    Подскажите, в чем может быть проблема, что можно еще попробовать?
    Заранее спасибо!

    ОтветитьУдалить
    Ответы
    1. Вероятно проблема не в интерфейсе, а в том что вы не знаете правильный сетевой адрес. Попробуйте прочитать следующую статью, может быть поможет

      Для соединения вам необходимы:
      - преобразователь RS485/CAN
      - питание интерфейса +5В
      - правильный сетевой адрес

      Удалить
  10. Анонимный20 июня 2013 г., 15:59

    Здравствуйте

    Подскажте пожалуйста. Имеются счётчики с интерфейсом RS485 у устройство сбора данных с интерфейсом CAN, к которому необходимо подключить счётчики. Можно ли это сделать по приведённой Вами схеме? Или лучше на каждую интерфейсную линию ставить М-221?

    ОтветитьУдалить
    Ответы
    1. Можно делать по данной схеме. Количество подключенных счетчиков зависит от использованного драйвера (микросхемы управляющей шиной интерфейса). В стандартном виде обычно это 32 устройства, но есть драйверы которые выдерживают 128-256 устройств на шине.

      Удалить
    2. Анонимный21 июня 2013 г., 9:22

      Будет ли схема работать на больших расстояниях (19-ти этажная секция)? Устройство сбора данных может опрашивать 110 счётчиков на каждой из трёх интерфейсных линиях.
      Если сделать по такой схеме:

      счётчики -> (RS485 интерфейс) -> М221 -> (CAN интерфейс) -> устройство сбора данных

      будет работать?

      Удалить
    3. Пришлите схему на электронную почту vladrusanov@gmail.com

      Удалить
  11. Добрый день!

    У нас установлены счетчики Меркурий-230 AR-03 с интерфейсами RS-485 и CAN 2006-2008 гг. выпуска. Проблема заключается в том, что мы не можем достучаться до CAN-счетчиков через MOXA NPort 5150. Через Меркурий-221 CAN-счетчики опрашиваются нормально.

    Сам преобразователь MOXA находится на расстоянии 250 метров от счетчиков, и считывать данные у нас получается только со счетчиков с интерфейсом RS-485. Провод - обычная витая пара. Терминальных резисторов нет (хотя с ними тоже не хочет). Полярность - обратная по отношению к RS-485.

    Точно такой же преобразователь MOXA NPort 5150, находящийся в непосредственной близости от счетчиков на другой подстанции, видит и RS-485, и CAN.

    Подскажите, пожалуйста, в чем может быть проблема! Спасибо!

    ОтветитьУдалить
    Ответы
    1. Я не знаю как реализован порт в Moxa, но попробуйте несколько вариантов:
      1. Просто смена полярности проводов.
      2. Смена полярности и 120 Ом между А и В.
      3. Вариант как на приведенной выше схеме.

      Удалить
    2. Влад, добрый день!

      По Вашему совету проверил весь канал, подключившись непосредственно перед преобразователем MOXA. В итоге пришел к выводу, что вместо него нужен другой преобразователь. Заменил MOXA на Меркурий-256, а между сигнальными проводами поставил резистор на 120 Ом. После этого все заработало!

      Удалить
    3. зря MOXA поменяли в нутри MOXA есть перемычки ими поднимаеш общее напряжение интерфейса т.е увеличиваеш сдвиг и вуаль все работает

      Удалить
  12. Счетчик Меркурий 200.02, адаптер МЗЭП ПФ3.035.020, А адаптера к И- счетчика, В к И+, питание к счетчику от отдельного USB (земля к 1, +5В к 4). Всё получилось без допонительных резисторов

    ОтветитьУдалить
  13. Счетчики Меркурий 230 ART CN. CAN - интерфейс, без подпитки счетчиком интерфейса. Можно ли будет подцепиться к счетчику модемом iRZ MC52i-485GI с 485 интерфейсом и пятью вольтами на клемах для питания интерфейса. В РЭ на Меркурий говориться о 5,5 вольтах требуемых интерфейсу.
    Приведенная схема CAN - RS485 будет работать?

    ОтветитьУдалить
    Ответы
    1. Я не испытывал, но в любом случае можно попробовать. Сначала просто провода переверните, если не будет связи, то установите 120 Ом резистор, если не поможет, то уже и растяжку как на рисунке. Должно заработать.

      Удалить
  14. Здравствуйте. Вопрос который хочу задать выше по теме поднимался не один раз. И все таки. Эл.счетчики меркурий с CAN пытаюсь подключить по RS485. Не работает хоть убейте.
    На столе при подключении CAN к меркурий 221 (RS485) переполюсовка помогает даже без
    резисторов. На длинной линии не работает (подсоединение резисторов по схеме непосредственно на колодку меркурий 221. Подскажите что не так.

    ОтветитьУдалить
    Ответы
    1. CAN интерфейс, что бы не писали, стабильно может не работать на длинных линиях (более 200 метров) и я его обычно не советую для прокладки магистралей. Тем более если вы захотите использовать его совместно с RS485, а с Меркурий-221 тем более, т.к. источник +5В в нем слаботочный и очень критичен к нагрузке.

      Пришли свою схему, длину линии, какие счетчики подключены на vladrusanov@gmail.com

      Удалить
  15. У меня 10 счетчиков на линии с CAN и 1 счетчик с RS-485. Данная схема не работает. Линия 15 метров. Напряжение питания интерфейса 7 вольт от внешнего источника. Подтяжка получается 0.4 вольта.

    ОтветитьУдалить
    Ответы
    1. Схема точно работает при питании 5В, но лучше не смешивать на одной линии разные счетчики с разными интерфейсами. Мы ее используем много лет.

      Удалить
  16. Анонимный5 июня 2015 г., 20:02

    Здравствуйте. Имеется 16 счетчиков Меркурий 230 ART-03 СN и УСПД Меркурий 250GR.4R. Подскажите пожалуйста, каким образом все 16 счетчиков подключить к УСПД для сбора данных.

    ОтветитьУдалить
    Ответы
    1. На сколько я знаю к УСПД можно подключить счетчики с CAN интерфейсом просто перевернув концы А и В. Все должно работать.

      Удалить
  17. Подскажите эту схему можно применять на счетчиках Меркурий 230 АМ-01 и АМ-03?

    ОтветитьУдалить
    Ответы
    1. Нет к сожалению нельзя, т.к. в этих счетчиках вообще нет встроенного интерфейса, там есть только импульсный выход, т.е. выход транзистора который выдает импульсы пропорционально текущему потреблению (например 5000 имп. может быть равно 1 квч).

      Удалить
  18. два счетчика меркурий 230АР, по отдельности читаются оба, когда подключаю оба через RS485, видит только последний счетчик, а первый нет.
    вторая проблема, не могу прочитать дату время и т.д. и под админом и под пользователем, что это может быть?

    ОтветитьУдалить
    Ответы
    1. Если счетчики с разными интерфейсами RS485 и CAN, то на одной магистрале они читаться не будут. Также проверьте таймауты (время ожидания ответа 200, системный таймаут 25, множитель 4).

      Удалить
    2. оба счетчика с интерфейсами RS485,таймауты прописал как Вы сказали, не помогло, последний счетчик виден, а при подключении к первому пишет Test=#Err-1 End доходит до 12% и все. при подключении к первому счетчику в столбце "цифровой идентификатор ПО" пишет #Err-1, все остальные данные отображаются.
      по прежнему не могу зайти и посмотреть дату время и т.д. при любых вариантах подключения на обеих счетчиках, пробовал на разных компьютерах, с разными ОС, с разными преобразователями интерфейсов, RS-USB, RS-COM, разных производителей. Может в церковь сходить?

      Удалить
    3. резисторы тоже ставил, во всех вариантах, и с подтяжкой и без, в начале линии в конце, и по отдельности.

      Удалить
    4. Я видимо не понимаю зачем вам использовать эту схему если оба счетчика с RS485 интерфейсом. Эта схема нужна тем, кто имеет в наличии преобразователь интерфейсов USB-RS485, а хочет соединиться со счетчиками у которых CAN интерфейс.

      А вам этого ничего не нужно, вам нужна витая пара, адаптер USB-RS485, еще по необходимости питание интерфейсов (если нет буквы S на счетчике, то нужно подать на клемники 18-землю, 23-плюс 5Вольт).

      Удалить
    5. все верно, мне эта схема не нужна, я ошибся случайно в этой теме написал, собрал все как описано, два счетчика, витая пара, питание 5 вольт,USB-RS485 преобразователь, но не работает....

      Удалить
    6. До 1 км работает - проверено.
      Покажите фото подключения счетчиков, фото подключения адаптера, скрины настроек связи конфигуратора. Какие ошибки по каждому счетчику возникают при соединении.
      Все это шлите на электрону vladrusanov@gmail.com

      Удалить

Статьи