Форум » » Перестал работать модуль 7.5.1 с Biamp Nexia » Ответить

Перестал работать модуль 7.5.1 с Biamp Nexia

CEA: Добрый день. Небольшая паника. Перестал работать данный модуль (а может и не работал ?) c Nexia CS с последней прошивкой. Последний, с которым я имел дело, был кажется 5.4 и он работал. Модуль шлет команду на Nexia типа "GETD" , а Nexia говорит - ошибка синтаксиса. Если подключиться терминалом на 23 порт Нексии - то же самое. Однако, например, команда из калькулятора на сайте Biamp (например получить уровень фейдера) отрабатывается нормально - в терминалке верный ответ.

Ответов - 8

CEA: Так... а аргументов-то а запросе почему то нет. Сейчас будем разбираться.

CEA: Так... а аргументов-то а запросе почему то нет. Сейчас будем разбираться.

CEA: Так... а аргументов-то а запросе почему то нет. Сейчас будем разбираться.


CEA: Проблема возникла после замены в проекте контроллера второй серии на контроллер 3 серии. Если в том же проекте контроллер поменять на вторую серию - аргументы у команды GETD появляются.....

Admin: Интересно было бы узнать точную причину неработоспособности на 3-ей серии модуля, работающего на 2-й.

CEA: Пока не понял почему. Времени было мало, поэтому просто убрал из проекта, сохраненного для CP3 все, что касалось BIAMP (модули и их использование в программе). А потом положил в папку проекта модули версии 5.4, повторил все на них - и все заработало. В начале, при переходе со второй на третью серию были модули версии 5.7.1 - но вероятно, не в этом дело. При многократных копированиях блоков при написании программы или замен процессора где-то появился глюк. Но где именно? Что интересно, если в проблемном проекте заменить процессор с 3 серии на вторую, то все работает. Однако, и 3 серия компилировалась без ошибок. Но не работало.

eoulianov: Я перешёл на 7.4 - лень разбираться, там в S+ изменилось поведение, какие-то новые криворукие индусы взялись за него (на 3-ю серию) и я уже попадал со своими старыми проектами. У меня 7.5.1 с какой-то невнятной диагностикой он стал валиться и переставать передавать команды. 7.4 вроде бы приемлемо работает.

Igor: Камрады, дабы не плодить темы, напишу сюда. Подкажите, плиз, где старик мог лопухнуться. Имеется TesiraFORTÉ AVB CI и PRO2. Управление по Ethernet. За основу взято официальное демо "biamp_tesira_ip_v1_7_demo" и точно воспроизведено, с учётом, разумеется, используемого конфига Tesira. Всего в проекте Crestron 80 функциональных модулей (Level controls и State controls). Нумерация начинается с модулей, управляющих 12-канальным блоком Tesira Level Control, получившим Instance Tag "Level2", с первого выхода: Module-1 Level Control Instance Tag="Level2" Attribute code="Level" Index1=1 Index2=0 [уровень по первому выходу] Module-2 State Control Instance Tag="Level2" Attribute code="Mute" Index1=1 Index2=0 [mute по первому выходу] Module-3 Level Control Instance Tag="Level2" Attribute code="Level" Index1=2 Index2=0 [уровень по второму выходу] Module-4 State Control Instance Tag="Level2" Attribute code="Mute" Index1=2 Index2=0 [mute по второму выходу] и т.д. При запуске программы происходит инициализация функциональных блоков проекта Crestron. Слушая траффик Модули <-> Command Processor и Command Processor <-> TCP/IP Client, вижу следующее: 16:41:54.197: Tesira_Initialized -> 0 16:41:54.197: Tesira_ToModule_#1$ -> INIT<1> = 16:41:56.178: Tesira_Client_Tx$ -> SESSION get alias Level2\x0A 16:41:56.194: Tesira_Client_Rx$ -> SESSION get alias Level = 16:41:56.397: Tesira_Client_Rx$ -> 2\x0D\x0A+OK [0 5120 16777223]\x0D\x0A 16:41:56.459: Tesira_ToModule_#1$ -> RESPONSE_MSG<SESSION get alias Level2|+OK [0 5120 16777223]> 16:41:56.490: Tesira_FromModule_#1$ -> RESPONSE_OK<1|SESSION get alias Level2> 16:41:56.490: Tesira_FromModules$ -> RESPONSE_OK<1|SESSION get alias Level2> 16:41:56.521: Tesira_FromModule_#1$ -> POLL_MSG<1|Level2 get maxLevel 1> 16:41:56.537: Tesira_FromModules$ -> POLL_MSG<1|Level2 get maxLevel 1> 16:41:56.553: Tesira_FromModule_#1$ -> POLL_MSG<1|Level2 get minLevel 1> 16:41:56.568: Tesira_FromModules$ -> POLL_MSG<1|Level2 get minLevel 1> 16:41:56.599: Tesira_FromModule_#1$ -> POLL_MSG<1|Level2 subscribe level 1 "[1*level]"> 16:41:56.615: Tesira_FromModules$ -> POLL_MSG<1|Level2 subscribe level 1 "[1*level]"> 16:41:56.646: Tesira_FromModule_#1$ -> POLL_MSG<1|Level2 get level 1> 16:41:56.646: Tesira_FromModules$ -> POLL_MSG<1|Level2 get level 1> 16:41:56.693: Tesira_Client_Tx$ -> Level2 get maxLevel 1\x0A 16:41:56.709: Tesira_Client_Rx$ -> Level2 get maxLevel 1\x0D\x0A 16:41:56.911: Tesira_Client_Rx$ -> +OK 12.000000\x0D\x0A 16:41:56.958: Tesira_ToModule_#1$ -> RESPONSE_MSG<Level2 get maxLevel 1|+OK 12.000000> 16:41:56.974: Tesira_FromModule_#1$ -> RESPONSE_OK<1|Level2 get maxLevel 1> 16:41:56.989: Tesira_FromModules$ -> RESPONSE_OK<1|Level2 get maxLevel 1> 16:41:57.021: Tesira_Client_Tx$ -> Level2 get minLevel 1\x0A 16:41:57.036: Tesira_Client_Rx$ -> Level2 get minLevel 1\x0D\x0A = 16:41:57.301: Tesira_Client_Rx$ -> +OK -100.000000\x0D\x0A 16:41:57.520: Tesira_ToModule_#1$ -> RESPONSE_MSG<Level2 get minLevel 1|+OK -100.000000> 16:41:57.535: Tesira_FromModule_#1$ -> RESPONSE_OK<1|Level2 get minLevel 1> 16:41:57.551: Tesira_FromModules$ -> RESPONSE_OK<1|Level2 get minLevel 1> 16:41:57.598: Tesira_Client_Tx$ -> Level2 subscribe level 1 "[1*level]"\x0A 16:41:57.613: Tesira_Client_Rx$ -> Level2 subscribe level 1 "[1*level]"\x0D\x0A 16:41:57.801: Tesira_Client_Rx$ -> -ERR ALREADY_SUBSCRIBED\x0D\x0A 16:41:57.863: Tesira_ToModule_#1$ -> RESPONSE_MSG<Level2 subscribe level 1 "[1*level]"|-ERR ALREADY_SUBSCRIBED> 16:41:57.879: Tesira_FromModule_#1$ -> RESPONSE_OK<1|Level2 subscribe level 1 "[1*level]"> 16:41:57.894: Tesira_FromModules$ -> RESPONSE_OK<1|Level2 subscribe level 1 "[1*level]"> 16:41:57.941: Tesira_Client_Tx$ -> Level2 get level 1\x0A 16:41:57.957: Tesira_Client_Rx$ -> L 16:41:58.144: Tesira_Client_Rx$ -> evel2 get level 1\x0D\x0A+OK -68.000000\x0D\x0A 16:41:58.206: Tesira_ToModule_#1$ -> RESPONSE_MSG<Level2 get level 1|+OK -68.000000> 16:41:58.237: Tesira_FromModule_#1$ -> RESPONSE_OK<1|Level2 get level 1> 16:41:58.237: Tesira_FromModules$ -> RESPONSE_OK<1|Level2 get level 1> 16:41:58.253: Tesira_Input-1_Volume_FB -> 18724d 16:41:58.269: Tesira_FromModule_#1$ -> INIT_DONE<1> 16:41:58.284: Tesira_FromModules$ -> INIT_DONE<1> 16:41:58.300: Tesira_ToModule_#2$ -> INIT<2> 16:41:58.331: Tesira_FromModule_#2$ -> POLL_MSG<2|SESSION get alias Level2> 16:41:58.331: Tesira_FromModules$ -> POLL_MSG<2|SESSION get alias Level2> 16:41:58.378: Tesira_Client_Tx$ -> SESSION get alias Level2\x0A 16:41:58.393: Tesira_Client_Rx$ -> SESSION get alias Level 16:41:58.581: Tesira_Client_Rx$ -> 2\x0D\x0A+OK [0 5120 16777223]\x0D\x0A 16:41:58.643: Tesira_ToModule_#2$ -> RESPONSE_MSG<SESSION get alias Level2|+OK [0 5120 16777223]> 16:41:58.674: Tesira_FromModule_#2$ -> RESPONSE_OK<2|SESSION get alias Level2> 16:41:58.674: Tesira_FromModules$ -> RESPONSE_OK<2|SESSION get alias Level2> 16:41:58.721: Tesira_FromModule_#2$ -> POLL_MSG<2|Level2 subscribe mute 1 "[2*mute]"> 16:41:58.737: Tesira_FromModules$ -> POLL_MSG<2|Level2 subscribe mute 1 "[2*mute]"> 16:41:58.752: Tesira_FromModule_#2$ -> POLL_MSG<2|Level2 get mute 1> 16:41:58.768: Tesira_FromModules$ -> POLL_MSG<2|Level2 get mute 1> 16:41:58.830: Tesira_Client_Tx$ -> Level2 subscribe mute 1 "[2*mute]"\x0A 16:41:58.830: Tesira_Client_Rx$ -> Level2 s 16:41:59.049: Tesira_Client_Rx$ -> ubscribe mute 1 "[2*mute]"\x0D\x0A-ERR ALREADY_SUBSCRIBED\x0D\x0A 16:41:59.127: Tesira_ToModule_#2$ -> RESPONSE_MSG<Level2 subscribe mute 1 "[2*mute]"|-ERR ALREADY_SUBSCRIBED> 16:41:59.142: Tesira_FromModule_#2$ -> RESPONSE_OK<2|Level2 subscribe mute 1 "[2*mute]"> 16:41:59.158: Tesira_FromModules$ -> RESPONSE_OK<2|Level2 subscribe mute 1 "[2*mute]"> 16:41:59.205: Tesira_Client_Tx$ -> Level2 get mute 1\x0A 16:41:59.205: Tesira_Client_Rx$ -> L 16:41:59.423: Tesira_Client_Rx$ -> evel2 get mute 1\x0D\x0A+OK true\x0D\x0A 16:41:59.470: Tesira_ToModule_#2$ -> RESPONSE_MSG<Level2 get mute 1|+OK true> 16:41:59.485: Tesira_FromModule_#2$ -> RESPONSE_OK<2|Level2 get mute 1> 16:41:59.501: Tesira_FromModules$ -> RESPONSE_OK<2|Level2 get mute 1> 16:41:59.532: Tesira_FromModule_#2$ -> INIT_DONE<2> 16:41:59.532: Tesira_FromModules$ -> INIT_DONE<2> 16:41:59.610: Tesira_Initialized -> 1 И больше ничего. Ждал около 3 минут. На человеческом: успешно инициализируются первые два модуля Crestron, после чего Из GUI Crestron XPANEL соответствующие Level и Mute в Tesira управляются отлично. На этом инициализация останавливается без каких-либо объяснений свыше. Очевидно что Instance Tag и Index (оба) указаны верно, систему заполнения Index последующих модулей проследил, соблюдается. Здесь обнаружена эпическая ремарка: "If for some reason function module 3 of 62 does not initialize, that means that function modules 4-62 will not attempt initialization and subsequently the Command Processor will not report as fully initialized.". И, как мы видим выше, именно на третьем модуле останавливается инициализация. Также вендор пришет что It is normal to see Tesira respond with "Error - already subscribed" as this confirms the subscription exists. (видно в логе, снимал после повторной инициализации ручками) Где можно продолжить раскопки? Спасибо.



полная версия страницы