Добрый день! :-)
Возникла необходимость использования прибора iLogik 1210 под Линуксом (Ubuntu).
Отлично, что на сайте есть библиотека - в принципе, там ничего сложного - бери и используй, даже не заморачиваясь протоколом Modbus.
Но протокол Modbus новый для меня и поэтому для полноты понимания (да и просто ради интереса) есть несколько вопросов по его реализации в этом устройстве:
1. Обращение происходит в режиме вопрос-ответ - передается номер функции, назад передается результат. Судя по описанию, по умолчанию, чтобы получить состояние входа, передается номер функции 0x02. В ответ передается один байт? Значение счетчика - функция 0x04. В ответ приходит двойное слово? Но состояние всех входов - так же функция 0x04. Как отличить их друг от друга? Нет полного описания функций протокола Modbus для этого прибора. Или это закрытая информация и нужно использовать именно имеющуюся библиотеку?
2. Не могу понять, зачем используются User-Defined Start Address и Reference Address? Какое отношение они имеют к протоколу Modbus? Как использовать эти адреса при доступе к конкретному прибору?
3. Что такое Modbus Mapping, зачем он нужен и как его использовать? Там как раз User-Defined Start Address и Reference Address и используются.
Прошу извинить, если вопросы слишком дилетанские.