Именно так и происходит, 10 попыток записи и БОЛТ (не шмогла я), 10 раз запись разных значений и ПОЛНЫЙ БОЛТ на устройство (да ну его нафиг).
В 20-21-ом году обошел проблему тем что установку значений перенес в MS4D а в зарубежном ПО оставил только чтение. В этот раз решил немножко заморочиться. Открыл запрос в ТП и спросил на форуме (прикольная дискуссия получилась). А вариантов решения есть целых три Python, Java и OpenScada (это те которые на тестовом проекте проверены и работают)
Ну нравится мне MS4D, нравится.
С прослойкой на уровне tcp заморачиваться лениво, а вот идею вы подали - использовать для обмена COM-порт. Это надо обдумать.





.
Ответить с цитированием