|
Вопросы о Pixel Раздел специально по темам работы и применения контроллеров Pixel - 12xx и Pixel - 25xx |
|
Опции темы | Поиск в этой теме |
23.10.2013, 07:20 | #1 |
Senior Member
Регистрация: Dec 2011
Сообщения: 755
Благодарил(а): 1 раз(а)
Поблагодарили:
10 раз(а) в 10 сообщениях
|
Глюк при заливке ядра.
Доделываю объект, замороженный более года назад. Контроллеры Пиксель 2511. Версия лоджика 3.25.76 запросила обновление ядра. На 3 контроллерах обновление произошло штатно, за исключением того, что для обновления пришлось вытаскивать батарейку. Спишем это на старое ядро. А на одном из контроллеров процесс загрузки ядра пошел, но в процессе загрузки выскочило сообщение типа "Попытка загрузки ядра в неподходящий тип контроллера". Загрузка ядра оборвалась. Контроллер стоит с погашенным экраном и горящим красным светодиодом. На манипуляции с клавиатурой ни как не реагирует. При попытке обнаружить контроллер Лоджиком выскакивает сообщение типа "Попытка остановить работу мастера" и процесс обнаружения контроллера срывается. Танцы с бубнами типа вставления/удаления батарейки ни к чему не приводят.
Каковы варианты реанимации контроллера? |
23.10.2013, 09:12 | #2 | |
Сотрудник Segnetics
Регистрация: Sep 2011
Сообщения: 129
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Глюк при заливке ядра.
Цитата:
2. Попробовать загрузить версию от Пиксель12 ПС: если светится красный светодиод, то работает бутлоадер, который ждет прошивку. |
|
23.10.2013, 09:44 | #3 |
Senior Member
Регистрация: Dec 2011
Сообщения: 755
Благодарил(а): 1 раз(а)
Поблагодарили:
10 раз(а) в 10 сообщениях
|
Ответ: Глюк при заливке ядра.
Если эти варианты не сработают, загрузка через Гипертерминал поможет решить проблему?
|
23.10.2013, 10:50 | #4 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Глюк при заливке ядра.
Цитата:
В отличии от лоджика он как один раз более 20 лет назад был написан Микрософтом, так и существует в неизменном виде. А лоджик постоянно меняется. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
24.10.2013, 07:43 | #5 | |
Senior Member
Регистрация: Dec 2011
Сообщения: 755
Благодарил(а): 1 раз(а)
Поблагодарили:
10 раз(а) в 10 сообщениях
|
Ответ: Глюк при заливке ядра.
Вылечить удалось 1 способом.
Цитата:
1. Не включая питания контроллера надо запустить поиск. 2. Потом прервать поиск. 3. Запустить обновление ядра. 4. Включить питание контроллера. Возможно это не единственный вариант, но без запуска поиска обновление ядра не запускалось. |
|
24.10.2013, 11:24 | #6 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Глюк при заливке ядра.
Цитата:
Я передал программистам, они поищут, но не факт, что найдут. Этот контроллер теперь нормально перешивает своё ядро, если попробовать это сделать? PS. Вообще, у меня есть мысли, что происходило: Загрузка ядра прервалась не важно по какой причине (помеха, глюк или челябинский метеорит) и контроллер "встал" в непонятный бесконечный цикл с участием 485-го порта. Функция загрузки ядра увидела какое-то неправильно шевеление на линии и поэтому отказалась грузить, интерпретировав это шевеление по своему. Включение вами поиска инициировало подавление лоджиком работы сети (так называемое "выключение мастера"), контроллер хоть и впавший в безумие, это отработал и перестал шевелить порт. После этого загрузка ядра отработала корректно. Если я прав, то за этим можно гоняться долго и безперспективно, т.к. отловить именно тот момент, когда у вас прервалась связь, практически нереально. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
24.10.2013, 12:27 | #7 | |
Senior Member
Регистрация: Dec 2011
Сообщения: 755
Благодарил(а): 1 раз(а)
Поблагодарили:
10 раз(а) в 10 сообщениях
|
Ответ: Глюк при заливке ядра.
Краткое содержание предыдущих серий:
1. При заливке ядра произошел сбой. Загрузка прервалась, контроллер повис. 2. Попытка обнаружить повисший контроллер средствами лождика приводила к самопроизвольному сбросу поиска без объяснения причин. 3. Попытка повторно загрузить ядро без запуска процедуры поиска приводила к самопроизвольному сбросу загрузки без объяснения причин. 4. Загрузить ядро удалось при выполнении следующих манипуляций: Цитата:
1. Домыслов нет. 2. Лоджик обнаруживает невозможность поиска контроллера и прерывает его, но не сообщает пользователю причину невозможности поиска. Не есть хорошо. 3. Необходимость предварительного запуска поиска для загрузки ядра сомнительна. В приведенном выше примере загрузка происходила вне зависимости от результатов поиска. Важен был сам факт запуска поиска. 4. Возможно не единственный рабочий вариант. |
|
24.10.2013, 12:53 | #8 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Глюк при заливке ядра.
Цитата:
А вот это я попытался объяснить. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
24.10.2013, 13:45 | #9 | |||
Senior Member
Регистрация: Dec 2011
Сообщения: 755
Благодарил(а): 1 раз(а)
Поблагодарили:
10 раз(а) в 10 сообщениях
|
Ответ: Глюк при заливке ядра.
Цитата:
Цитата:
Не все манипуляции с контроллером происходили в одном месте и в одно время. На объекте происходило следующее: 1. Сам сбой загрузки. 2. Неоднократные попытки поиска контроллера средствами лоджика с описанными выше результатами. 3. Снятие/установка батарейки. 4. Неоднократные попытки поиска контроллера средствами лоджика с описанными выше результатами. 5. Демонтаж контроллера. В офисе, на следующий день, происходило следующее: Цитата:
Кроме того, попробовал повторить те же манипуляции вообще без контроллера, но с подключенным преобразователем USB-Rs485. Все повторилось. Это факты. Теперь домыслы. Процедура поиска нужна для определения наличия связи с контроллером, определения адреса контроллера , записи/считывания свойств контроллера. То есть всех тех операций, которые идут через ModBus. На процесс заливки ядра не влияет. Если обратиться к документации на контроллер, то заливку ядра можно сделать как через Лоджик так и через HyperTerminal. И протокол, через который идет заливка ядра в обеих случаях один и тот же - 1K Xmodem. А в документации применительно к нашей ситуации написано следующее: "В процессе загрузки ядра произошел сбой. ... Процесс передачи необходимо возобновить. Выключите питание контроллера. Остановите процесс передачи по кнопке Отмена. Перезапустите процесс передачи HyperTerminal. Включите питание контроллера. Примечание. Для инициализации процесса загрузки котроллер должен находиться в состоянии выключения не менее 3с." То есть примерно те же манипуляции, что и я проделал. |
|||
24.10.2013, 14:16 | #10 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Глюк при заливке ядра.
Понял.
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
24.10.2013, 14:27 | #11 | |
Сотрудник Segnetics
Регистрация: Feb 2010
Сообщения: 132
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Глюк при заливке ядра.
Цитата:
если да, то поиск и другие команды типа загрузки глушит мастера на линии. |
|
24.10.2013, 14:29 | #12 |
Senior Member
Регистрация: Dec 2011
Сообщения: 755
Благодарил(а): 1 раз(а)
Поблагодарили:
10 раз(а) в 10 сообщениях
|
Ответ: Глюк при заливке ядра.
В сети был 1 контроллер. Обычная приточка.
|
24.10.2013, 14:38 | #13 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Глюк при заливке ядра.
Если вы работаете на живой приточке, то часто многие проблемы со связью решает перемычка от "земли" ноутбука до "земли" контроллера.
Выдача лоджиком сигнала глушения (непрерывный низкий или высокий потенциал на линии передачи) теоретически мог сместить "земли" так, что можно было начинать нормальную работу. А потом всё "разъезжалось" обратно. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
24.10.2013, 14:59 | #14 |
Senior Member
Регистрация: Dec 2011
Сообщения: 755
Благодарил(а): 1 раз(а)
Поблагодарили:
10 раз(а) в 10 сообщениях
|
Ответ: Глюк при заливке ядра.
Длина кабеля RS485 маленькая, так что вряд ли дело в нем. Скорее всего в USB - не самый надежный в плане контактов интерфейс. А дергать пригодится часто.
Да и не сам сбой при загрузке был предметом обсуждения, а способ выхода из этой ситуации. Ко всеобщему удовольствию ситуация разрешилась. |
24.10.2013, 15:09 | #15 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Глюк при заливке ядра.
Согласование потенциалов никак не зависит от длины кабеля
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
25.10.2013, 07:43 | #16 | |
Senior Member
Регистрация: Dec 2011
Сообщения: 755
Благодарил(а): 1 раз(а)
Поблагодарили:
10 раз(а) в 10 сообщениях
|
Ответ: Глюк при заливке ядра.
Из документации на 2G:
Цитата:
Так есть гальваноразвязка RS485 на Пикселе или ее нет? |
|
25.10.2013, 11:25 | #17 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Глюк при заливке ядра.
Никакая документация не переборет проблему с разводкой заземления на объекте и/или отсутствием заземления блока питания ноутбука.
Гальванической развязки там нет. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |