В результате длительного пошагового тестирования проблема была локализована таким образом:
1. от float я решил отказаться - проще использовать функцию REAL_TO_WORD, чем разбираться что да почему, хотя есть подозрение, что работать может.
2. связь восстановилась после того как номер начального бита alarm сделал 0х00. Этого требования кстати нигде !!! в инструкциях нет!
Рекоммендации: резервировать с запасом количество бит на Modbus, достаточное для добавления alarm'ов, начиная с 0. т.к. идут они только по порядку. если потом по ходу у вас придумаются дополнительные события, а вставлять их будет некуда - придется, передвигать другие регистры.
Дополнительно обнаруженные траблы:
Так и не смог пока заставить панель возвращаться автоматически на экран, указанный в настройках (у меня стоит номер1).
С контролером периодически отваливается связь по TCP, закономерности не выявил, такое ощущение, что контроллер перегревается, хотя частота цикла у меня 50 мс.






