шар настроения

Обсуждаем контроллеры компании Atmel.
Ответить
Друг Кота
Аватара пользователя
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск

Сообщение pyzhman »

Щас, Alkul'а только дождаться надо. :)
Docendo discimus
Контактная информация:
Реклама
Говорящий с текстолитом
Аватара пользователя
Сообщения: 1590
Зарегистрирован: Вс июн 24, 2012 16:07:00
Откуда: Лен.Обл.

Сообщение da-nie »

Это Вы рассказываете мне? Я это прекрасно знаю. А вот Вы, видимо, информированы не вполне.
А раз знаете, тогда знаете и то, что этот код приёмку не отражает. И то, что именно и под каким обозначением выпускает Воронеж это его личное дело - ничто не мешает получить несколько обозначений.
Так что не надо пытаться уличать меня в незнании.
Ого как. :) Вы серьёзно думаете, что вас кому-то нужно уличать в чём-то? Но... зачем? :) Я вам лишь сказал, что сами обозначения не тождественны приёмке и что сторожевой таймер нужен не для криворуких программистов. А вы из этого раздули целое "а ты кто такой?". :) Выпейте пива, за живот не бойтесь - не успеет вырасти. 8)
у них идут под кодом АДБК, а изделия специального назначения - под кодом АЕЯР.
Сколько угодно - только непосредственно от буев это не зависит.
С этим кто-то спорит? Для этого люди придумали тестирование во всех режимах работы. Вы военпреду хоть раз сдавали изделие?
Военпреду сдают по тестам, которые сами же разработчики и пишут. :) Сдавал, сдавал, и ПО и электронику. Всё это не более, чем формальность.
И тестирование во всех режимах работы не гарантирует работоспособность системы. Есть разные разделы теорий доказательств правильности работы программы, как и разные методики (я, правда, с ними не знаком - это отдельная ветвь математики). Ещё в Техника-Молодёжи году эдак в 1986-м писалось о том, как криптоанализатор работал длительное время безошибочно во время тестирования и вдруг тест не прошёл. Ошибка не проявлялась сутками, но она была. Поэтому тесты не помогут.
Попробовал бы я своему военпреду заявить эту фразу
А попробуйте. Бывают адекватные военпреды - обычно, из молодёжи.
Боюсь, что у Вас формы допуска нет.
А вам какая нужна? :) Первой, у меня, конечно, нет.
Alkul'а только дождаться надо.
Я бы подождал бы автора темы. Потому как очень мне интересно, что это за шар настроения такой. :)
А Alkul слишком горяч, он, видно, любитель противостояния. Мне его образумить не удаётся. А я люблю беседы за чашечкой виртуального чая. :)
И день и ночь в пути...
Мои программки: https://github.com/da-nie
Мои публикации: https://habr.com/ru/users/da-nie/posts/
Мои видео: https://www.youtube.com/channel/UCUroi3 ... 52g/videos
Контактная информация:
Реклама
Друг Кота
Аватара пользователя
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск

Сообщение pyzhman »

Какой непримиримый. :))
говорят, брюхо растет
Верить кому-то на слово? Это не наш метод. Нужно всё попробовать на себе! :beer:
Docendo discimus
Контактная информация:
Держит паяльник хвостом
Сообщения: 933
Зарегистрирован: Ср апр 13, 2011 11:09:20
Откуда: Екатеринбург

Сообщение Alkul »

da-nie писал(а):А раз знаете, тогда знаете и то, что этот код приёмку не отражает.
Сам по себе код - конечно. Возможно, я неточно выразился. Код АЕЯР -значает изделие с приемкой "5", выпускаемое НИИЭТ и ВЗПП. Не более того. Предприятие, где работаю я, выпускает изделия с приемкой "5" совсем под другим кодом :)

Что касается основной темы нашей с Вами дискуссии - мы расходимся вот в чем: Вы считаете, что современное сложное ПО не подвержено тотальному контролю в силу своей сложности. Я же считаю, что само ПО надо писать так, чтобы оно было проще и работало однозначно. Использовать любую возможность упростить ПО (не в ущерб задаче, конечно).
Позволю себе отвлечься - в одном фантастическом рассказе описан сюжет, когда люди, попали на планету, где попали в закрытую зону, управляемую компьютером и не могли выйти из этой зоны - компьютер отвергал команды снять защитное поле. Тогда они, якобы, дали компьютеру другую задачу - на зону надвигается некая опасность, для отражения которой нужно увеличить мощность защитного поля на одной из окружавших зоны защитных башен. И этот компьютер не мог выбрать башню, на которой увеличить мощность. Этакая задача о Буридановом осле на новый лад :)

Так вот, о чем я - грамотно написанное ПО не должно попадать в подобные ловушки (вообще-то идеология современных цифровых вычислительных систем вообще не позволит дать процессору неопределенную команду, разве что эту возможность специально сымитировали). Но это так, лирика.
Но к проектированию программы нужно относиться вдумчиво. Например, проверяется совпадение некоторых условий - замечательно, но "любимая" ошибка новичков - не указать, какие действия выполнять, если ни одно из условий не выполняется. Имеем, допустим, подпрограммы некоторого канала обмена данными - пакеты защищены CRC, "битые" пакеты просто не доходят до стадии определения вида принятой команды. Надо ли предусматривать обработку исключения в случае, если принята команда, отсутствующая в протоколе? Принят верный во всех отношениях пакет с недокументированной командой - такого ведь не бывает? Да, не бывает. А исключение все равно предусмотреть обязательно!

Или вот человек писал - котел. Из-за помех измеряется частота сети не 50 Гц, а в 2 раза выше - и программа, изволите ли видеть, "вылетает", блокирует котел! Кто её так написал? Измерен параметр невозможной величины? И что? Ну, не выполнять управление исполнительным механизмом, пропускать обработку этого параметра, выдать диагностический код ошибки, наконец. Но "вылетать"? Это уж слишком.
И схемотехники тоже хороши. Они измерительные цепи автоматики котла проектировали что - в расчете на идеальные лабораторные условия?


Но вопросы о сложности ПО на форуме обсуждать бессмысленно. На таком уровне дискуссия возможна только такая - поставлена некая задача, для реализации которой требуется программно-аппаратный комплекс. Дискутирующие обсуждают разработанные ими алгоритмы ПО для решения поставленной задачи. Вот тут и можно будет спросить - "А почему алгоритм так замудрен? Нельзя ли сделать вот так - проще и понятней?"
da-nie писал(а):Я бы подождал бы автора темы. Потому как очень мне интересно, что это за шар настроения такой. :)
Думается мне, это шар, который по некоему алгоритму меняет цвет.
Последний раз редактировалось Alkul Сб фев 01, 2014 17:09:17, всего редактировалось 1 раз.
Реклама
Эиком - электронные компоненты и радиодетали
Держит паяльник хвостом
Сообщения: 933
Зарегистрирован: Ср апр 13, 2011 11:09:20
Откуда: Екатеринбург

Сообщение Alkul »

pyzhman писал(а):Какой непримиримый. :))
Есть немного :) . С предпредыдущей работу уволился, потому что не был согласен с начальником относительно методологии разработки электроники. Не нравилось мне, когда механик по образованию, сам частенько произносивший фразу, что "электроника для него - черный ящик", указывает мне как именно нужно разрабатывать.
pyzhman писал(а):
говорят, брюхо растет
Верить кому-то на слово? Это не наш метод. Нужно всё попробовать на себе! :beer:
Для того, чтобы убедиться в том, что сосна твердая, не обязательно стукаться об неё головой :))
Реклама
Говорящий с текстолитом
Аватара пользователя
Сообщения: 1590
Зарегистрирован: Вс июн 24, 2012 16:07:00
Откуда: Лен.Обл.

Сообщение da-nie »

Код АЕЯР -значает изделие с приемкой "5", выпускаемое НИИЭТ и ВЗПП.
Код АЕЯР и набор цифр для ТУ на изделие с этой приёмкой. Это да. Но вообще говоря, с этим кодом хотя бы просто внутри этих предприятий могут быть совершенно разные изделия с совершенно разной приёмкой. :tea:



Я также считаю, что ПО должно следовать принципу KISS и работать однозначно. Но ПО бывает сделано почти, как ПО для Шаттла, где ЭВМ непрерывно пытается противодействовать каким-либо факторам и работать без вмешательства оператора. Такое ПО имеет очень большую сложность и обходится очень дорого по финансам и по времени. Но даже в этом ПО есть ошибки: ссылка:
Но поразителен не объем работ, который выполняет программное обеспечение. Что действительно поражает, так это то, как хорошо это ПО работает. Это ПО никогда не падает. Оно никогда не требует перезагрузки. Оно не содержит ошибок. Оно совершенно, настолько совершенно, насколько человек смог этого достичь. Посмотрите на статистику: последние три версии этой программы – каждая по 420.000 строк кода – имели всего по одной ошибке в каждой. Последние 11 версии этого ПО имели в сумме 17 ошибок. Коммерческие программы, подобного уровня сложности имели бы 5.000 ошибок.
То есть, даже в этом случае ошибки неизбежны. Они были, есть и будут. И это в уникальном проекте. В рядовой программе те самые 5000 ошибок на 420 000 строк кода как минимум будут. Но проявляться они будут по-разному - некоторые и вовсе не проявятся за весь срок эксплуатации.
Проблема заключается в том, что ни один тест не может гарантировать безошибочность ПО. Он гарантирует только то, что программа прошла этот тест и всё.
Ошибки вида ""Например, проверяется совпадение некоторых условий - замечательно, но "любимая" ошибка новичков - не указать, какие действия выполнять, если ни одно из условий не выполняется" очевидны, гораздо опаснее ошибки, которые отражают тонкости работы программы и её частей между собой. И вот здесь, имея кучу флагов и переменных от различного оборудования очень легко что-то не предусмотреть. Такие ошибки проявляются по-разному. Скажем, должно придти прерывание по линии CAN от контроллера 82527 - оно в 99.999 случаев приходит. Но вот, вдруг, смотрим состояние CAN и видим, что данные в позиции CAN отмечены, а в прерывание программа не вошла. Как такое может быть? Прерывание никто не запрещал. Анализ ситуации сильно затруднён - поведение программы не очевидно (а она ещё и многопоточная, да ещё и со спецификой работы с потоками в QNX). Кто виноват, что нет прерывания? Что вообще происходит? Что же делать в этом случае? Никто не знает. Попытка решения путём рассуждений и анализа проблему не обнаруживают. Остаётся до понимания проблемы одно - непрерывно скидывать флаг занятости сообщения CAN в "свободно" (чтобы по данному арбитражу могли придти следующие данные) - это чревато возможной потерей пакета, но зато контроллер CAN не застрянет в состоянии, что ему некуда принимать данные.

Итак, мы практически в любом случае имеем программу с ошибками. Что делать, чтобы обеспечить её работоспособность в как можно большем количестве случаев? Перезагрузить программу. Поэтому не только микроконтроллеры, но и такие ОС реального времени, как QNX имеют в своём составе администратор высокой готовности - иными словами, сторожевой таймер с возможность перезапуска программы.
Из-за помех измеряется частота сети не 50 Гц, а в 2 раза выше - и программа, изволите ли видеть, "вылетает", блокирует котел! Кто её так написал?
Её так написал тот, кто не предполагал, что в сети будут столь сильные помехи. В конце-концов, всё же не следует решать программно все проблемы оборудования - это чрезмерно усложнит программу. Помехи в данном случае желательно устранять со стороны оборудования. А тот факт, что программой измерена "странная" частота сети и она зависает, конечно, удивителен - но, думается, эту программу писали не из соображений надёжности, а из соображений стоимость разработки/надёжность. Отсюда и столь странные результаты.
Измерительные же цепи автоматики могут тут быть и не при чём. Как-то нужно нам было по обычной экранированной двухпроводной линии соединить одну из линий нашего изделия с комплектом испытательной аппаратуры. Линия эта - обычные метки времени, частотой 1000 Гц и амплитудой 9 В, которые требовалось одновибратором немного растянуть. Всё бы ничего, но то, что работало в нашем стендовом зале и на спутнике, вдруг отказалось работать в чужом стендовом зале - уровень помех был чудовищным и сравнимым с уровнем сигнала - на такое мы в принципе не рассчитывали. Городить витую пару времени не было (у нас было 2 дня испытаний на всё), так что пришлось фильтровать на месте. Так и здесь, возможно, уровень помех по питанию оговорен в документации на котёл.

Собственно, больше сказать нечего. Ждём автора темы. :)
Последний раз редактировалось da-nie Вс фев 02, 2014 12:41:47, всего редактировалось 1 раз.
И день и ночь в пути...
Мои программки: https://github.com/da-nie
Мои публикации: https://habr.com/ru/users/da-nie/posts/
Мои видео: https://www.youtube.com/channel/UCUroi3 ... 52g/videos
Контактная информация:
Реклама
Друг Кота
Аватара пользователя
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск

Сообщение pyzhman »

Alkul писал(а):Для того, чтобы убедиться
Вы забыли младенчество и детство. :)) С их синяками, ссадинами и шишками. В частности, что нам ближе, розетку 220 вольт. :))
Docendo discimus
Контактная информация:
Говорящий с текстолитом
Аватара пользователя
Сообщения: 1590
Зарегистрирован: Вс июн 24, 2012 16:07:00
Откуда: Лен.Обл.

Сообщение da-nie »

Чего я подумал - а может, по котлу - его блокировка часть штатной автоматики? Программа просто определяет, что с питанием что-то не то и спасает оборудование. :) Вполне логично.
И день и ночь в пути...
Мои программки: https://github.com/da-nie
Мои публикации: https://habr.com/ru/users/da-nie/posts/
Мои видео: https://www.youtube.com/channel/UCUroi3 ... 52g/videos
Контактная информация:
Держит паяльник хвостом
Сообщения: 933
Зарегистрирован: Ср апр 13, 2011 11:09:20
Откуда: Екатеринбург

Сообщение Alkul »

pyzhman писал(а):В частности, что нам ближе, розетку 220 вольт. :))
Нет, в детстве к розетке я не лазил. А вот лет в 12 делал цветомузыку с лампами накаливания на 220 В, ну и разложил все это на кровати, прямо на покрывале. И ни одного соединения не заизолировал :)
Потом еще младший брат пришел, я с гордостью стал ему демонстрировать работающую цветомузыку, он полез потрогать, в общем, "коротнуло" все прямо на кровати :)) От родителей здорово влетело. Причем от мамы - за испорченное покрывало, а от отца - за то, что "паяльник в руки взял, а изоленту в руках держать не научился" :)) Брат как "мелкий" и вообще не при делах от наказания "отмазался" :))
da-nie писал(а):а может, по котлу - его блокировка часть штатной автоматики? Программа просто определяет, что с питанием что-то не то и спасает оборудование.
Вполне возможно, однако в этом случае как же без выдачи диагностических кодов ошибки? Вон, в электронных блоках управления современных автомобилей для неисправности каждого датчика есть свой диагностический код.
Говорящий с текстолитом
Аватара пользователя
Сообщения: 1590
Зарегистрирован: Вс июн 24, 2012 16:07:00
Откуда: Лен.Обл.

Сообщение da-nie »

А оно, может, и выдаёт какие коды... но не на индикаторах (а есть ли они? Я котлов таких никогда не видел.), а по какому-либо интерфейсу для диагностики. Приходит мастер, подключается и считывает ошибки. Впрочем, может и индикаторы есть и чего интересного отображают (типа мигания), но просто в инструкцию не заглянули, чтобы понять, в чём дело. :)))
И день и ночь в пути...
Мои программки: https://github.com/da-nie
Мои публикации: https://habr.com/ru/users/da-nie/posts/
Мои видео: https://www.youtube.com/channel/UCUroi3 ... 52g/videos
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 6321
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Сообщение Jack_A »

da-nie писал(а): и там от систем управления вооружением, морской, наземной и космической навигацией
Будем надеяться, что 1-й отдел не читает форумы с несерьёзной назвой РАДИОКОТ :)
Кстати, когда переходили на 4-буквеныое обозначение предприятия-разработчика, я вот думал : все варианты наборов будут использовать или вариант типа }|{ОПА отфильтруют :)
Говорящий с текстолитом
Аватара пользователя
Сообщения: 1590
Зарегистрирован: Вс июн 24, 2012 16:07:00
Откуда: Лен.Обл.

Сообщение da-nie »

Без конкретики всё это пустой трёп. :) Названия многих проектов совершенно не секретны и в инете в новостях, бывает, мелькают с общим описанием (скажем, вот ссылка или вот ссылка и вот ссылка). А вот параметры уже могут быть секретными - тут другой разговор. :)

Впрочем, уберу эту строчку. :)
И день и ночь в пути...
Мои программки: https://github.com/da-nie
Мои публикации: https://habr.com/ru/users/da-nie/posts/
Мои видео: https://www.youtube.com/channel/UCUroi3 ... 52g/videos
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 6321
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Сообщение Jack_A »

Alkul писал(а): Или вот человек писал - котел. Из-за помех измеряется частота сети не 50 Гц, а в 2 раза выше -
Если изделие ответственное, мерить частоту по переходу через 0 -- это через опу. Никто не возбраняет оцифровать сетевое напряжение и по Фурью выделить первую гармонику. Это не так сложно, страничка кода на асме.
Хотя, конечно, аппаратно отстраиваться от сетевых помех тоже нужно. Бережённого ...
Прорезались зубы
Сообщения: 204
Зарегистрирован: Пт сен 14, 2012 20:32:51

Сообщение ахренолог »

da-nie писал(а):А оно, может, и выдаёт какие коды...
Действительно код на дисплее ошибки был - 13 , что исходя из пользовательской инструкции, обозначал "нарушение в электрических цепях платы автоматики"- довольно расплывчатая подсказка :) . Есть той же линейки дюваль(подороже) - с пультом программирования , он же позволяет считывать код и время возникновения ошибок , в добавок ещё и недельный программатор , причём по радио передаёт команды , а считывает коды через разъём . А с первой платой автоматики всё потому - что она универсальная (под турбо и дымоходное исполнение ) , нужна синхронизация с частотой сети - для управления оборотами турбины . Вот и не понравилась частота сети программе . Совершенно другой тип котла индицирует 27 ошибку " не правильно выбрана частота сети 50/60 Gz" - программа доведена, и понятна сервиснику .

Всё то мы как то без шара радости да без шара ....настроение надоть поднять . :beer:
Родился
Сообщения: 6
Зарегистрирован: Вс янв 12, 2014 22:05:52

Сообщение VoviK110494 »

я начинающий в этом деле, СТУДЕНТ, многого не знаю, но источник питания я брал от зарядки сот. телефона, поставил резистор 200 Ом, напряжение входное составило 4,7вольт, но оно скачет, может и дело в напряжени, в даташите написано что не больше 5 вольт Atmega48. Возможно что перескакивает потомучто оно скачет при измерении тестером, очень благодарен за подсказку на счет напряжения
Родился
Сообщения: 6
Зарегистрирован: Вс янв 12, 2014 22:05:52

Сообщение VoviK110494 »

А вот и прошивка
Вложения
_cvavr.hex
(6.84 КБ) 308 скачиваний
Держит паяльник хвостом
Сообщения: 933
Зарегистрирован: Ср апр 13, 2011 11:09:20
Откуда: Екатеринбург

Сообщение Alkul »

VoviK110494 писал(а):но источник питания я брал от зарядки сот. телефона, поставил резистор 200 Ом, напряжение входное составило 4,7вольт, но оно скачет ... очень благодарен за подсказку на счет напряжения
Возьмите нормальный стабилизированный блок. Или на плате сделайте стабилизатор.
VoviK110494 писал(а):А вот и прошивка
Вы предлагаете нам её дизассемблировать?
дайте схему и ИСХОДНИК кода.
Говорящий с текстолитом
Аватара пользователя
Сообщения: 1590
Зарегистрирован: Вс июн 24, 2012 16:07:00
Откуда: Лен.Обл.

Сообщение da-nie »

но источник питания я брал от зарядки сот. телефона,
Так они, вроде как, пятивольтовые и есть. Зачем вам резистор тогда? Включите напрямую.
И день и ночь в пути...
Мои программки: https://github.com/da-nie
Мои публикации: https://habr.com/ru/users/da-nie/posts/
Мои видео: https://www.youtube.com/channel/UCUroi3 ... 52g/videos
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 20183
Зарегистрирован: Пт фев 04, 2011 17:57:51
Откуда: Рыбинск

Сообщение Martin76 »

da-nie писал(а):Так они, вроде как, пятивольтовые и есть.
И вроде, и как бы. Есть со стабильными 5В, есть с 8 без нагрузки и 4,5-6 под нагрузкой :tea:
Ответить

Вернуться в «AVR»