Цитата(Непомнящий Евгений @ Sep 9 2015, 09:22)

Не сталкивался с фримодбасом, в свое время написал сам RTU. Вроде как ничего сложного там нет. TCP как я понимаю отличается только канальным уровнем.
Судя по примерам фримодбаса - там внутри один экземпляр глобальных данных. Если повезло - то они уже объединены в структуру (и надо сделать несколько экземпляров этой структуры + в каждую функцию добавить дескриптор); если не повезло - то это просто россыпь глобальных переменных (и надо их вначале соединить в структуру и далее как в пред пункте)
Собственно об том и речь - нужно сделать многоэкземплярный вариант, можно даже на C++. Я ищу готовое, если не найду возмусь сам.
Цитата(SasaVitebsk @ Sep 9 2015, 12:50)

У меня это реализовано.
Не знаю что там с этим Freemodbus... Не пойму зачем он вообще.
Сделан драйвер USART, LwIP, и драйвер modbus который готовые пакеты разруливает.
Работает параллельно Modbus - TCP/Modbus - UDP/Modbus - HTTP.
Сам драйвер modbus настолько примитивен, что не пойму зачем себе ещё голову чужими исходниками забивать?
...
Единственное, на что обратите внимание, это в TCP пакете обеспечьте ID пакета. И в OPC сервере необходимо разруливать эти ID.
Иначе 2 устройства не будут в одной сети жить, да и с одним будут проблемы ... Нужна уверенность, что вы получили ответ именно на свой запрос.
Зачем забивать чужими исходниками? -> Я сторонник брать готовое проверенное решение, если оно есть, вместо написания с нуля. Может Вы поделитесь исходниками?