Добрый день!
Пару лет как у меня дома работает связка 750-889 и 753-646, все вроде было ок, но некотоыре вещи я сразу не доделал и наконец решил вернуться к вопросу. Однако то ли что-то поменялось, то ли я что-то забыл, то ли где-то что-то случайно поменял и не заметил, но теперь есть проблема с программированием конфигурации для новых (програмных) KNX устройств в Wago, программа в ETS заливается без ошибок ,но реально ничего не меняется. Более подробно: - есть несколько функциональных блоков, в которых внутри используются стандартные блоки из knx_2.lib, типа FbDPT_Switch и им подобные. Они прописаны в отдельном блоке глобальных переменных, экспортируется xml файл с описанием, импортируется в ETS, там прописаны групповые адреса и все ок, все работает. - понадобилось мне добавить еще новых блоков с той разницей, что старые представляли из себя блоки для работы с реальными KNX устройствами типа датчика движения, реле, или блока с кнопками. А новые, должны были использоваться для передачи состояний входов wago в knx и передачи команд внутрь. - сделал новые блоки, экспортировал, импортировал, прописал новые групповые адреса, залил программу - не работает - подумал что ошибка в программе, что-то где-то не так сделал. Пробовал по разному - ничего не помогает. Взял просто FbDPT_Switch, на вход DI00 - не работает, в сети нет телеграмм при изменении входа, телеграммы из сети так же не попадают на выходы блока - почесал репу и подумал что у меня не правильно прописаны dwIndex_DPT, что может оно переполнилось. Там была такая схема - допустим у меня есть блок M1_001_Switch4, в него передается индекс 1. В нем есть 4 FbDPT_Switch (на самом деле 10, но не важно), в них передаются индексы по формуле 1000000*dwIndex_DPT + N*1000, где N - порядковый номер блока внутри. Почему именно так уже не помню, но оно работало. Я подумал что индексы у меня теперь стали большими, где-то что-то переполнилось. Переделал формулу на 100*dwIndex_DPT + N. Все что работало раньше - перестало. - загрузил в ETS новый XML без галочки update - все групповые адреса сбросились, настроил заново но опять не работает - все удалил, оставил один Switch, DI01 на вход, экспорт/импорт/новый адрес/заливка программы - не заработало - вернул все обратно к старой программе со старыми индексами - экспорт/импорт новые адреса НЕ прописал, залил программу - работает как раньше
Итого, у меня сейчас работает старая программа, при это в ets групповые адреса не прописаны, но все работает. Такое впечатление, что реально загрузка программы и параметрво из ETS не проходила и программа все это время оставалась прежней, этим объясняется и то, что новые элементы не работали, и то, что старые элементы с новыми индексами не работали и что все заработало без прописанных групповых адресов. При этом, ETS никаких ошибок не выдает. Программирование физических устройств проходит нормально, и настройки меняются, и новые адреса присваиваются, проблема только с "устройствами" из контроллера. Еще ETS раньше был 5.0.5, а сейчас 5.7.3
Что делать, куда копать? Модет я что-то забываю сделать? Кажое изменение программы заливал в контролле, делал boot project, после заливки программы контроллер перезапускаю все вроде ок
П.С. Раз уж спрашиваю, как сделать чтобы программа сама запускалась? create boot project приводит только к тому, что после перезапуска она есть в контроллере, но приходится ей вручную делать run.
Сообщение отредактировал АлексН - 4.3.2020, 12:17
|