Você pode usar uma linguagem de programação para abrir uma biblioteca de socket e roll-your-own, usando a especificação de modbus . Caso contrário, você pode usar uma biblioteca existente, não tenho experiência com nenhuma delas, mas isso parece promissor: link