Добрый день,
Имеется панель Овен СПК-107, в которой есть COM-порт, поддерживающий режим работы RS485. И соответственно документация по работе с этой панелью и несколькими протоколами (включая Modbus) в среде Codesys.
Также имеется измерительный прибор Millimar N1702. На его входе индуктивный датчик, на выход выдаются результаты измерений (перемещения этого датчика), но выход только цифровой с интерфейсом RS485. Штатно этот блок подключается к преобразователю RS485->USB (из той же линейки N1700) и далее на компе под Windows есть специальное ПО и исходники на C#. На компе всё работает.
Но нужно подключить этот Millimar N1702 не к компьютеру, а к панели Овен СПК-107. Трудность в том, что Mahr не даёт никакой информации о протоколе передачи данных, известно только что интерфейс RS485 и всё. Как бы соединить проводом то не проблема, а вот как дальше работать, как извлекать данные?
Такая задача вообще осуществима? Если да, то может быть есть какой то алгоритм действий, с чего можно начать, что бы попробовать определить протокол...
- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
Подключение Millimar N1702M к СПК-107
Модератор: Глоб.модераторы
-
- завсегдатай
- Сообщения: 582
- Зарегистрирован: 04 фев 2014, 08:41
- Имя: Тарас Валерьевич
- Страна: Россия
- город/регион: Екатеринбург
- Благодарил (а): 78 раз
- Поблагодарили: 98 раз
Подключение Millimar N1702M к СПК-107
Преобразователь, скорее всего, создаёт в ПК виртуальный COM-порт. Программа работает с ним, как с обыкновенным СОМ-портом. Изучайте исходники на предмет организации протокола обмена данными.
Взгляд знатока намного уже кругозора неуча. Ю.Базылев
-
- авторитет
- Сообщения: 865
- Зарегистрирован: 16 ноя 2016, 11:33
- Имя: Максим Владимирович
- Страна: Россия
- город/регион: Магнитогорск
- Благодарил (а): 16 раз
- Поблагодарили: 223 раза
Подключение Millimar N1702M к СПК-107
Прежде всего, необходимо уяснить для себя, что Modbus (у СПК) и RS485 (у Millimar) - это совсем не одно и тоже (хотя ради прикола можно попробовать посадить Millimar на Modbus-сниффер и посмотреть, но я на 146% уверен, что если бы у производителя там был Modbus, то он бы и писал про Modbus).
Затем далее, вам необходимо данные с щупа получать именно в СПК чтобы чем-то там дальше управлять? Или просто надо данные оператору например видеть?
Если именно в СПК надо, то такая задача осуществима, поскольку производитель специально выложил исходники для "There is an option to communicate directly with the N 1700 modules using a third-party software" - прямого подключения N1700 к чужому софту.
Если в исходниках вы не понимаете, что за данные отправляет N1700, то для вас эта задача становится не осуществима.
На СПК-1xx DOOM запускали, так что на С#, конечно же, проблематично будет софтину под Linux накатать, ну а под C++ без проблем. Но если вы под Linux не умеете писать программы на C++, то для вас снова эта задача становится не осуществима.
А если надо просто данные с щупа забирать и смотреть, то покупается готовый ПК (C 1700 PC) от Mahr за 2589 EUR. Ну или софтина берётся (Cockpit) за 899 EUR.
Затем далее, вам необходимо данные с щупа получать именно в СПК чтобы чем-то там дальше управлять? Или просто надо данные оператору например видеть?
Если именно в СПК надо, то такая задача осуществима, поскольку производитель специально выложил исходники для "There is an option to communicate directly with the N 1700 modules using a third-party software" - прямого подключения N1700 к чужому софту.
Если в исходниках вы не понимаете, что за данные отправляет N1700, то для вас эта задача становится не осуществима.
На СПК-1xx DOOM запускали, так что на С#, конечно же, проблематично будет софтину под Linux накатать, ну а под C++ без проблем. Но если вы под Linux не умеете писать программы на C++, то для вас снова эта задача становится не осуществима.
А если надо просто данные с щупа забирать и смотреть, то покупается готовый ПК (C 1700 PC) от Mahr за 2589 EUR. Ну или софтина берётся (Cockpit) за 899 EUR.
-
- здесь недавно
- Сообщения: 3
- Зарегистрирован: 09 янв 2019, 11:00
- Имя: Денис
- Благодарил (а): 2 раза
Подключение Millimar N1702M к СПК-107
dtv, да, на компе драйвер преобразователя создаёт виртуальный COM порт.
С работой на компе вообще проблем нет, я там на базе исходников создал своё приложение.
Parliament74, данные с щупа нужно просто видеть оператору. Но поскольку эти измерения нужно проводить в цехе, где установка компа не представляется возможной, то и был выбран СПК-107 по причине практичности и удобства как монтируемый в щит компактный прибор с резистивным сенсорным экраном. Выбор был сделан практически наугад (экспериментальный вариант), так как опыта работы с СПК до сих пор не было. Ну и была надежда подключить к СПК штатными средствами, в Codesys. На счёт программирования под Linux на С++, это тогда вообще отказываться от работы в Codesys и полностью писать своё прикладное ПО? В этом случае это слишком сложная (неподъёмная в данном случае) для меня задача. А ПК (C 1700 PC) от Mahr за 2589 EUR и софт Cockpit за 899 EUR я видел, но поскольку таких стендов измерения нужно далеко не один, получается очень дорого. Проще поискать компактный компьютер с Windows и сенсорным экраном (с этого и надо было начинать, но ранее уже был куплен СПК-107, вот и приходится скрещивать "бульдога с носорогом").
Сейчас изучаю исходники на C#, может всё таки удастся понять что там за протокол обмена данными используется, вероятно какой то свой, если получится, то в Codesys предусмотрена возможность работы с нестандартными протоколами, главное понять его суть, что является очень трудной задачей для меня.
С работой на компе вообще проблем нет, я там на базе исходников создал своё приложение.
Parliament74, данные с щупа нужно просто видеть оператору. Но поскольку эти измерения нужно проводить в цехе, где установка компа не представляется возможной, то и был выбран СПК-107 по причине практичности и удобства как монтируемый в щит компактный прибор с резистивным сенсорным экраном. Выбор был сделан практически наугад (экспериментальный вариант), так как опыта работы с СПК до сих пор не было. Ну и была надежда подключить к СПК штатными средствами, в Codesys. На счёт программирования под Linux на С++, это тогда вообще отказываться от работы в Codesys и полностью писать своё прикладное ПО? В этом случае это слишком сложная (неподъёмная в данном случае) для меня задача. А ПК (C 1700 PC) от Mahr за 2589 EUR и софт Cockpit за 899 EUR я видел, но поскольку таких стендов измерения нужно далеко не один, получается очень дорого. Проще поискать компактный компьютер с Windows и сенсорным экраном (с этого и надо было начинать, но ранее уже был куплен СПК-107, вот и приходится скрещивать "бульдога с носорогом").
Сейчас изучаю исходники на C#, может всё таки удастся понять что там за протокол обмена данными используется, вероятно какой то свой, если получится, то в Codesys предусмотрена возможность работы с нестандартными протоколами, главное понять его суть, что является очень трудной задачей для меня.
-
- авторитет
- Сообщения: 865
- Зарегистрирован: 16 ноя 2016, 11:33
- Имя: Максим Владимирович
- Страна: Россия
- город/регион: Магнитогорск
- Благодарил (а): 16 раз
- Поблагодарили: 223 раза
Подключение Millimar N1702M к СПК-107
dines, здесь сами смотрите, конечно, но я бы проще планшет под Windows купил обычный (в пределах 10 т.р. найти можно), чем боролся с C++ и Linux, да и в случае большого количества стендов будет проще со всем этим хозяйством работать.
Ещё в защищённом исполнении планшеты такие есть, но мне кажется проще дешёвые менять периодически...
Ещё в защищённом исполнении планшеты такие есть, но мне кажется проще дешёвые менять периодически...
-
- авторитет
- Сообщения: 865
- Зарегистрирован: 16 ноя 2016, 11:33
- Имя: Максим Владимирович
- Страна: Россия
- город/регион: Магнитогорск
- Благодарил (а): 16 раз
- Поблагодарили: 223 раза
Подключение Millimar N1702M к СПК-107
Да, наткнулся на тему 8-ми летней давности:
http://asutpforum.ru/viewtopic.php?t=799
В теории, наверное, можно RS485 от Millimar переделать аппаратно в тот же Modbus или в те же 4-20, тогда хоть куда можно будет подключать датчик. Производитель к тому же грозился любой протокол в любой другой протокол сделать при необходимости, можете с ними попробовать пообщаться по поводу цены такого удовольствия...
http://asutpforum.ru/viewtopic.php?t=799
В теории, наверное, можно RS485 от Millimar переделать аппаратно в тот же Modbus или в те же 4-20, тогда хоть куда можно будет подключать датчик. Производитель к тому же грозился любой протокол в любой другой протокол сделать при необходимости, можете с ними попробовать пообщаться по поводу цены такого удовольствия...
-
- почётный участник форума
- Сообщения: 1746
- Зарегистрирован: 18 янв 2009, 12:25
- Имя: Дмитрий
- Страна: Россия
- город/регион: Москва
- Благодарил (а): 6 раз
- Поблагодарили: 143 раза
Подключение Millimar N1702M к СПК-107
Беглый анализ исходников тестовой программы на С++ показал:
- протокол у них называется "MarNet"
- тестовая программа работает через "N1700.dll", исходников которой не предоставлено
- "N1700.dll" в свою очередь является оболочкой для вызовов функций "ftd2xx.dll" из комплекта драйвера преобразователя USB-RS485
Про реверсинг вызовов "ftd2xx.dll" существуют тонны информации.
На всякий случай, исходники были в файле "Millimar--N1700--1.01-16--SD.zip", скачанном с офсайта https://www.mahr.com/en/Services/Produc ... ve-probes/ Кнопка "Download"
"Умные люди обсуждают идеи, средние - события, а глупые - людей" Л.Н. Толстой
-
- здесь недавно
- Сообщения: 3
- Зарегистрирован: 09 янв 2019, 11:00
- Имя: Денис
- Благодарил (а): 2 раза
Подключение Millimar N1702M к СПК-107
В общем, приостановили пока эту тему, и остановились на платформе с Windows, тут вариантов много, и мини-ПК и планшеты и промышленные компьютеры в защищённых корпусах и т.д. Но тем не менее, для себя (в целях самообразования) по мере времени продолжу ковырять исходники от Mahr.
Да, я с этого же архива и брал исходники "Millimar--N1700--1.01-16--SD.zip". Там есть на C++ пример консольного приложения, и на C# пример оконного WindowsForm. Вот на C# и пишу сейчас. И да, там связь через "N1700.dll" идёт, но поскольку в программировании я разбираюсь на поверхностном уровне, то с набегу не получается разобраться, требуется время на изучение всех тонкостей и советы, вот и обратился сюда. Спасибо всем за активность.
Тему 8-ми летней давности почитаю, спасибо за ссылку.
Да, я с этого же архива и брал исходники "Millimar--N1700--1.01-16--SD.zip". Там есть на C++ пример консольного приложения, и на C# пример оконного WindowsForm. Вот на C# и пишу сейчас. И да, там связь через "N1700.dll" идёт, но поскольку в программировании я разбираюсь на поверхностном уровне, то с набегу не получается разобраться, требуется время на изучение всех тонкостей и советы, вот и обратился сюда. Спасибо всем за активность.
Тему 8-ми летней давности почитаю, спасибо за ссылку.