Считаете ли вы нужным разбираться в протоколе на уровне строения пакета? Ладно там Modbus RTU какой нибудь, а чо по Ethernet, EtherCAT, Mechatrolink, Profinet и прочее. Нужно ли изучать или пользоваться как черным ящиком и не заморачиваться?

Комментарии: 36

  1. Viktor

    Модбас надо понимать на самом низком уровне ибо число настроек и вариантов реализации протокола а как следствие возможностей проебацца очень много. С профинетом желательно на уровне ваершарка уметь видеть, идут ли пакеты куда нужно. Этого достаточно ибо сам протокол стандартизован и модбасных проблем адресации и совместимости не имеет. Аналогично по другим протоколам, если они кривые,то надо лезть

    • Rustem

      Я думаю стандартные протоколы надо использовать глубоко не вникая в его принципы. Раз он стандартный - наверняка все настройки обмена выведены в конфигураторы/библиотеки со своими справками и руководствами.

      • Viktor

        Всё так, однако есть НО! Модбас имеет кучу реализаций, где-то с нуля первый регистр, а где-то с единицы. Данные ты получишь, но они будут не те, что ты ожидал. Регистры в модбас 16 битные, если тебе надо получить float, то будет занято 2 регистра. Старшее слово может стоять до младшего, а может наоборот. Данные ты получишь, но они снова будут не те. Как тут без колупания?

        • Rustem

          Так тут опять же в конфигураторе либо библиотеке галочку ставить старшим/младшим байтом/словом вперёд. Про все это у всех производителей приборов обычно в мануалах указывают. Ну а я на опыте сначала ОПС сервером с новыми приборами (про модбас) налаживаю связь ввиду простоты, а потом только настройки ввожу в плк или скаде. И их же отдаю с документацией заказчику с картой регистров. Я так понял человек спросил про нечто более глубокое чем выше написанное: это тайминги, структуры пакетов и прочая муть. Я считаю если тебе дали стандартный инструмент - работай с ним и не усложняй себе жизнь )))

          • Z-vladimir

            Траблшутинг с модбасом всегда присутствует. Не про тайминги конечно, но анализ hex кадров чтобы определить смещение, порядок байт и слов.

            • Viktor

              Да, и при том необходимость этого секаса напрямую связана с распространенностью протокола и точностью документации. Вот к примеру есть такие счетчики электроэнергии СЭТ и Меркурий. Я при настройке обмена данными ни разу не лазил в дебри протокола ибо из коробки все работает и разночтений по адрессации там нет. Вопрос только с заводским адресом (он связан с серийным номером устройства), но и тут есть обходной путь запросить данные по 0 адресу (оставить одно устройство в сети)

        • Andrew

          А ещё порядок байт в слове

          • Viktor

            Это уже к реализации модбаса не имеет значение, ибо протоколу плевать как ты распорядишься 16 битами информации

            • Andrew

              Согласен

            • Z-vladimir

              Почему только 16? Очень часто в передаче Float или DWORD

              • Andrew

                Но это 2 холдинг регистра

                • Z-vladimir

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

              • Viktor

                Потому что в протоколе Модбас заявлено два типоразмера данных: бит и слово (1 и 16 бит данных) И в этом то и корень зла. С одной стороны это дает свободу разработчикам, распределяйте свои данные как хотите делением ее кратно 2 байтам. Но это и привело в итоге к бардаку, свапам байт, свапам слов и тд

                • Z-vladimir

                  Всё так.

                  • Andrew

                    В одном случае разраб пишет адрес 0, в другом 1, в третьем 40001

    • Berkeman

      А с чем именно можно проебацца в модбасе? Как пример

      • Viktor

        Ниже прочитайте, я подробно описал примеры

        • Berkeman

          Я и харт протокол сниффил, так к слову. Так что в случае проблем при передаче лезть в дебри протокола необходимо

          • Viktor

            Тогда не понимаю сути Вашего вопроса

            • Berkeman

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

              • Viktor

                Вот и пример, почему надо знать устройство фрейма Модбаса ))

              • Rustem

                Вот вот. Достаточно прочесть мануалы с описанием коммуникации. И это по любомупротоколу. Потом выставить галочки как требуется и усе. А когда книжки не читаем - изобретаем велосипеды и героически преодолеваем собственноручно созданные трудности. Хотя просто не прочли внимательно руководство ))) сам так обжигаюсь и не раз )))

                • Viktor

                  Вот мы и выяснили, ко с Модбасом на практике не работал ))

          • Anton

            чем снифал?

            • Berkeman

              Да любой сниффер ком порта

              • Anton

                понимаю, что любой. ты каким снифал?

                • Berkeman

                  До ноута доберусь, скажу

                  • Anton

                    огей, жду

                • Berkeman

                  https://www.hhdsoftware.com/device-monitoring-studio

                  • Anonim

                    Получилось скопировать с фб есть коментрарии

                    • Serg

                      Всех с Пятницей!!!! Тут котоводы есть? Никто лотки не автоматизировал?

            • Berkeman

              К разговору выше, снифф помог, так как нашел предположительную проблему, с девайса приходило 4 преамбулы, а не 5. Может в этом проблема была, а может и не в этом.

  2. Sergy

    Мне вот пришлось изучать структуру телеграммы весоизмерительного терминала Тензо-м и CAS.Чтоб подвезать s1200

    • Sam

      Я про распостраненные протоколы имел ввиду. Конечно когда у завода не стандартизированый протокол, его нужно ковырять

      • Sergy

        По распространенным уже выше ответил

      • Alexey

        CAS vs Mechatrolink тут ещё вопрос кто более распространен

Не нашли ответ?

Вам также может быть интересно