_3m 7 5 июня Опубликовано 5 июня · Жалоба 4 часа назад, sidy сказал: Если имеется ввиду преобразователь COM->USB то он есть. Ой как все запущено... "преобразователь COM->USB" не умеет RTU! Совсем, от слова вообще. Если вы как микроконтроллерщик хотя бы читали спецификацию RTU то должны знать что там критически важна отработка временных интервалов. Ни Виндоуз ни Линукс не умеют работать с точными времянками потому что они ни разу не RTOS да и USB не гарантирует соблюдение временных характеристик что называется by design. Цитата Какую среду разработки использовать? Ту в которой вы привыкли писать программы для ПК. Если под ПК ранее не писали - ищите на проект писюкового погромизда. 8 часов назад, Arlleex сказал: Qt Creator. Там C++ с блекджеком и слотами/сигналами. Отличный совет! Что у нас с лицензией Qt для Russia ??? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sasamy 0 5 июня Опубликовано 5 июня · Жалоба On 6/5/2024 at 5:15 PM, _3m said: Что у нас с лицензией Qt для Russia для гуёв уровня "прочетать модбас" это очень важно 🙂 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 180 5 июня Опубликовано 5 июня · Жалоба 43 минуты назад, _3m сказал: Что у нас с лицензией Qt для Russia ??? А чё там с ней? Компудахтер не дает программировать?) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sidy 1 6 июня Опубликовано 6 июня · Жалоба 20 hours ago, _3m said: Ой как все запущено... "преобразователь COM->USB" не умеет RTU! Совсем, от слова вообще. Если вы как микроконтроллерщик хотя бы читали спецификацию RTU то должны знать что там критически важна отработка временных интервалов. Ни Виндоуз ни Линукс не умеют работать с точными времянками потому что они ни разу не RTOS да и USB не гарантирует соблюдение временных характеристик что называется by design. Не только читал RTU, но и реализовывал на МК. И прекрасно знаю про паузу 2,5 байта при приеме и 3,5 байта при передаче. По факту сталкивался со сторонними устройствами с modbus rtu в которых эти интервалы отличались гораздо в большую сторону. Если Виндоуз и Линукс не могут в realtime, то как тогда реализуется опрос modbus rtu устройств с помощью ПК? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
tonyk_av 43 6 июня Опубликовано 6 июня (изменено) · Жалоба 2 hours ago, sidy said: Если Виндоуз и Линукс не могут в realtime, то как тогда реализуется опрос modbus rtu устройств с помощью ПК? А для чего _любому_ процессору или МК работать в рилтайме для реализации Модбас? Судя по постановке вопроса, свою реализацию Модбас ТС делал на некрофильских MCS-51 или AVR. Изменено 6 июня пользователем tonyk_av Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_3m 7 7 июня Опубликовано 7 июня · Жалоба 21 час назад, sidy сказал: ...прекрасно знаю про паузу 2,5 байта при приеме и 3,5 байта при передаче. По факту сталкивался со сторонними устройствами с modbus rtu в которых эти интервалы отличались гораздо в большую сторону. Если Виндоуз и Линукс не могут в realtime, то как тогда реализуется опрос modbus rtu устройств с помощью ПК? На ПК опрос modbus rtu реализуется с помощью: а) С использованием специально обученных переходников которые либо сами отрабатывают протокол либо хотя бы позволяют работать с паузами согласно спецификации rtu. Это редкость потому что жаба всегда против. б) Покланием толстого болта на все разделы спецификации RTU относящиеся к паузам. Заодно кладется болт на устойчивость к сбоям и надежность доставки пакетов. Это мэйнстрим, так все и работают. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 236 7 июня Опубликовано 7 июня · Жалоба 3 минуты назад, _3m сказал: На ПК опрос modbus rtu реализуется с помощью: а) С использованием специально обученных переходников которые либо сами отрабатывают протокол либо хотя бы позволяют работать с паузами согласно спецификации rtu. Это редкость потому что жаба всегда против. б) Покланием толстого болта на все разделы спецификации RTU относящиеся к паузам. Заодно кладется болт на устойчивость к сбоям и надежность доставки пакетов. Это мэйнстрим, так все и работают. И мы уже знаем в какой группе находится наш Modbus-строитель: В 05.06.2024 в 12:26, sidy сказал: Если имеется ввиду преобразователь COM->USB то он есть. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MrYuran 26 7 июня Опубликовано 7 июня · Жалоба В 05.06.2024 в 09:00, sidy сказал: У меня вопрос: Писал на С ПМО для микроконтроллеров. С С++ не знаком. Требуется разработать GUI для ПК, которое опрашивает устройство по Modbus, выводит полученные значения и строит графики. Что лучше использовать для этих целей C++? С чего начать изучение для данной задачи? Какую среду разработки использовать? а вы с какой целью спрашиваете? Может, и не нужно ничего разрабатывать? Для Modbus есть куча готовых тулзов, начиная с Modbus Poll. Если все-таки нужно делать кастомное приложение, то наверно лучше сразу с# и библиотека NModbus. А вообще, полез я как-то в гитхаб с запросом "Modbus server". Первый проект - на javascript, второй на typescript а я искал на python )) Нынче по-другому дела делаются ) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sidy 1 7 июня Опубликовано 7 июня · Жалоба 1 hour ago, jcxz said: И мы уже знаем в какой группе находится наш Modbus-строитель: Ответ неверный. Just now, MrYuran said: а вы с какой целью спрашиваете? Может, и не нужно ничего разрабатывать? Для Modbus есть куча готовых тулзов, начиная с Modbus Poll. Если все-таки нужно делать кастомное приложение, то наверно лучше сразу с# и библиотека NModbus. Modbus Poll - мало функционала. Требуется графическое представление данных желательно с ведением архива на несколько дней. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MrYuran 26 7 июня Опубликовано 7 июня · Жалоба В 07.06.2024 в 13:37, sidy сказал: Ответ неверный. Modbus Poll - мало функционала. Требуется графическое представление данных желательно с ведением архива на несколько дней. Я практиковал связку Lectus ModbusOPC toolkit + MasterSCADA Многим LabView нравится. Если нет трбований к лицензионной чистоте. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
tonyk_av 43 7 июня Опубликовано 7 июня · Жалоба 7 hours ago, _3m said: б) Покланием толстого болта на все разделы спецификации RTU относящиеся к паузам. Заодно кладется болт на устойчивость к сбоям и надежность доставки пакетов. Это мэйнстрим, так все и работают. Есть третий вариант, который здесь не озвучен. Его суть заключается в том, что входящий поток анализируется на предмет наличия в нём Модбас-фреймов. Модбас сделан довольно логично, кроме того, поля в нём так или иначе коррелируют друг с другом, поэтому эта задача оказывается не сложной. Последний раз делали такое, когда оборудование было подключено по Модбас, но через модемы ведомственной сотовой связи (да-да, есть у нас и такая). Чё-как там было настроено- ХЗ, но пакеты прилетали рваные, причём одна половина могла прийти утром, а вторая ближе к обеду. Всё было собрано не нами и не работало. Манагеры вписались в тему, пришлось решать задачу. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_3m 7 9 июня Опубликовано 9 июня · Жалоба В 07.06.2024 в 19:29, tonyk_av сказал: Есть третий вариант, который здесь не озвучен. Его суть заключается в том, что входящий поток анализируется на предмет наличия в нём Модбас-фреймов. Модбас сделан довольно логично, кроме того, поля в нём так или иначе коррелируют друг с другом, поэтому эта задача оказывается не сложной. Последний раз делали такое, когда оборудование было подключено по Модбас, но через модемы ведомственной сотовой связи (да-да, есть у нас и такая). Чё-как там было настроено- ХЗ, но пакеты прилетали рваные, причём одна половина могла прийти утром, а вторая ближе к обеду. Всё было собрано не нами и не работало. Манагеры вписались в тему, пришлось решать задачу. Озвучен: это как раз вариант б) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 236 9 июня Опубликовано 9 июня · Жалоба В 07.06.2024 в 19:29, tonyk_av сказал: Есть третий вариант, который здесь не озвучен. Его суть заключается в том, что входящий поток анализируется на предмет наличия в нём Модбас-фреймов. Модбас сделан довольно логично, кроме того, поля в нём так или иначе коррелируют друг с другом, поэтому эта задача оказывается не сложной. Последний раз делали такое, когда оборудование было подключено по Модбас, но через модемы ведомственной сотовой связи (да-да, есть у нас и такая). А если придёт такой кадр, содержимое внутри которого будет похоже на другой Modbus-кадр? Этот вариант называется "кривой костыль". В 07.06.2024 в 19:29, tonyk_av сказал: Чё-как там было настроено- ХЗ, но пакеты прилетали рваные, причём одна половина могла прийти утром, а вторая ближе к обеду. Видимо там поработали такие-же костыле-строители. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
tonyk_av 43 9 июня Опубликовано 9 июня · Жалоба 4 hours ago, jcxz said: А если придёт такой кадр, содержимое внутри которого будет похоже на другой Modbus-кадр? Если бы у бабушки были яйца, она была бы дедушкой. Посмотрите на структуру ADU и PDU. Нужно ведь распознать границы фреймов, а не содержимое. Можете привести пример хоть одного девайса, который берёт Модбас-фрейм и помещает его внутрь другого фрейма? Кто, где и для чего такое может делать? 4 hours ago, jcxz said: Этот вариант называется "кривой костыль". Этот вариант называется "нестандартная реализация". Один проект уже 15 лет работает без нареканий, другой- 10 лет, так что за кривизной это вам в другое место обращаться. Я не говорю, что так _нужно_ делать, нет. Но так можно делать, когда по другому просто не возможно. Если уж компьютеры научили с близкой к 100% вероятностью распознавать лица людей даже в масках, то уж за 45 лет эксплуатации, наверно, можно научить компьютер распознавать границы Модбас-фрейма в сплошном потоке данных? 4 hours ago, jcxz said: Видимо там поработали такие-же костыле-строители. Для Эзернет сетей и сетей сотовой связи это нормальное явление. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 236 9 июня Опубликовано 9 июня · Жалоба 48 минут назад, tonyk_av сказал: Посмотрите на структуру ADU и PDU. Нужно ведь распознать границы фреймов, а не содержимое. Можете привести пример хоть одного девайса, который берёт Модбас-фрейм и помещает его внутрь другого фрейма? Кто, где и для чего такое может делать? Элементарно: Девайс ретранслирует траффик некоего канала связи (Modbus). Не разбирая его. В кадрах своего протокола обмена. Делали такие устройства (ретранслирующие прозрачно чужой траффик). Для вас это будет выглядеть как Modbus-кадры в обрамлении некоего "мусора". Или куски таких кадров. 48 минут назад, tonyk_av сказал: Этот вариант называется "нестандартная реализация". Нет, это называется "кривая реализация". Изначально Modbus-RTU - кодонезависимый протокол. Вы же сделали некое поделие, не обладающее кодонезависимостью. Т.е. - что-то сделали, но явно не Modbus-RTU. 48 минут назад, tonyk_av сказал: Один проект уже 15 лет работает без нареканий, другой- 10 лет, так что за кривизной это вам в другое место обращаться. Ну да. "Работает". До тех пор, пока не найдётся заинтересованного лица, заинтересованного доказать, что ваш девайс не работает (не соответствует спецификации). Далее - эта морда лицо приобретает ваш девайс, и строит элементарный тест. На котором ваш девайс неверно распознаёт кадры. И выкладывает результаты теста в общий доступ. Это обычное дело когда существует конкуренция. Конкуренты так и делают. Если вы не сталкивались с такой практикой, это не значит, что её нет. PS: Есть и другие сценарии, когда с такой костыльной "реализацией" запросто сядете в лужу. Просто подумайте немного... Вам просто повезло наступить мимо граблей. Но завтра может уже не повезти. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться