= Станция управления частотно-регулируемыми приводами = === Инструкции: === [wiki:StartUsing Ввод привода в эксплуатацию] [[BR]] [[BR]] === Пути к файлам: === Динамограммы {{{/var/spool/}}}, файлы журнала {{{/var/log/}}}, файл конфигурации {{{/etc/smarthdcd}}}. === Последние изменения в коде === [[ChangeLog(/, 5)]] [wiki:Changelog Подробнее...] === Как сделать хороший баг-рипорт === Если Вы считаете, что обнаружили ошибку, воспользуйтесь нашей системой контроля багов (bug tracking system). Вот несколько простых правил, следуя которым Вы сможете сообщить нам максимум полезной для обнаружения и исправления бага информации. 1. Убедитесь, что используете последние ревизии программного обеспечения. При необходимости обновите ПО. Возможно, что ошибка, с которой вы столкнулись, уже была исправлена. 1. '''Используйте поиск'''. Возможно, что ошибка, с которой вы столкнулись, нам уже известна, и по ней уже заведена карточка (ticket) в нашей системе. Воспользуйтесь [/search поиском] чтобы найти информацию о вашей проблеме. Возможно, она нами уже решена. Если Вы нашли карточку по вашей проблеме, и у Вас есть дополнительная информация, добавьте комментарий к существующему тикету. Если Вы не смогли найти карточку по вашей проблеме, создайте [/newticket новую карточку]. Пожалуйста, '''не создавайте''' новую карточку, если она дублирует существующую. 1. '''Подробно опишите проблему'''. Напишите, что и при каких обстоятельствах Вы делали, что ожидали получить в результате и что получили на самом деле. Чем подробнее будет описание, тем выше вероятность, что ситуацию удастся воспроизвести разработчикам. - '''Будьте точны в деталях'''. Старайтесь избегать общих фраз, например "''не работает привод''" или "''Выскакивает ошибка''". Вместо этого напишите "''При нажатии кнопки "НУ1 вверх" двигатель НУ1 не включается, индикатор "НУ1" не горит''" или "''после выбора ответа "ДА" на запрос "Обновить ПО?" выдается ошибка "Точка монтирования не найдена"''". Это позволит сэкономить ваше время и время разработчиков, затраченное на дополнительные уточнения. - '''Не пытайтесь догадаться''' о причинах ошибочного поведения устройства (если только Вы не разработчик), описывайте только факты. Например, вместо "Перепутаны настройки режимов НУ1 и НУ2" напишите "При настройках НУ1-выкл, НУ2-вкл и переводе переключателя режима в "авто" включается НУ1 вместо НУ2". Только разработчики, имея схемы, чертежи и исходные коды, могут проанализировать ситуацию и найти причину ошибочного поведения. - '''Сохраните журнал'''. Для анализа возникшей проблемы может потребоваться знать, какие события возникали в процессе работы станции - срабатывание различных датчиков, переключение режимов работы, изменение настроек и т.п. Большинство подобных событий фиксируется в журнале станции. Во многих случаях журнал помогает найти источник проблемы. Если Вы обнаружили баг, сохраните журнал. Приложите его к тикету, если Вас об этом попросят разработчики. - '''Сохраните файл конфигурации'''. В процессе анализа возникшей ситуации может потребоваться знать установки тех или иных параметров настройки. Чтобы не надеяться на собственную память, сохраните текущие настройки сразу после обнаружения проблемы. Приложите файл к тикету, если Вас об этом попросят разработчики. 1. '''Оставьте контактную информацию'''. Если Вы еще этого не сделали, укажите ваш адрес e-mail на странице [/prefs Предпочтения], это позволит Вам получать уведомления об изменении состояния карточек или появлении новых комментариев, в которых у Вас могут попросить уточняющую информацию. 1. '''Создавайте один тикет на одну проблему'''. Не описывайте в одном тикете сразу несколько проблем (если нет веских оснований считать, что эти проблемы связаны и вызваны одной причиной) - это затруднит последующее отслеживание решения этих проблем. Создайте одтельные тикеты по каждой проблеме. В описании тикета или комментарии к нему можете дать ссылку на другие тикеты, если их описание может дополнить картину происходящего, например: "//См. также #2, #7//". {{{#!plantuml @startuml title Упрощенная диаграмма состояний привода skinparam handwritten true skinparam monochrome true skinparam Shadowing false skinparam noteBackgroundColor white skinparam sequenceMessageAlign center skinparam defaultFontName "Frezer-Font" state startDown: Первый\nстартовый\nход вниз state startDownBotSensorActive: Первый стартовый ход вниз\nпри сработанном нижнем\nдатчике state startDown2: Второй\nстартовый\nход вниз state startUp: Cтартовый\nход вверх state Up: Рабочий\nход вверх state Down: Рабочий\nход вниз state OverheatDown1: Спуск к НМТ\nпри перегреве state OverheatDown2: Второй спуск\nпри перегреве state Cooling: охлаждение state ovlRestart1: сброс датчиков\nпри перегрузе state ovlDown: ход вниз\nпри перегрузе state ovlARA: задержка перед\nАПВ при перегрузе state WedgingDown: спуск для\nрасклинивания\nклапанов state WedgingEV: расклинивание\nэлектроклапанов state WedgingUp: ход вверх\nпосле расклинивания\nэлектроклапанов startDown --> startUp: сработал\nнижний\nдатчик startDownBotSensorActive --> startUp: нижний датчик\nнеактивен startDownBotSensorActive --> startUp: таймаут\nхода\nвниз startDown --> startUp: таймаут\nхода\nвниз startUp --> startDown2: сработал\nверхний\nдатчик startDown2 --> Up: сработал\nнижний\nдатчик startDown2 --> Up: таймаут\nхода\nвниз Up --> Down: сработал\nверхний\nдатчик startDown --> OverheatDown1: T выше T6 startDownBotSensorActive --> OverheatDown1: T выше T6 startUp --> OverheatDown1: T выше T6 startDown2 --> OverheatDown1: T выше T6 Up --> OverheatDown1: T выше T6 Down --> OverheatDown1: T выше T6 OverheatDown1 --> OverheatDown2: сработал\nнижний\nдатчик OverheatDown1 --> OverheatDown2: таймаут\nхода\nвниз OverheatDown2 --> Cooling: макс. время\nхода вниз OverheatDown1 --> startUp: Т ниже Т5 OverheatDown2 --> startUp: Т ниже Т5 Cooling --> startUp: Т ниже Т5 startUp --> ovlRestart1: перегруз и\nсчетчик АПВ\nменьше\nмаксимума ovlRestart1 --> ovlDown: таймаут\nсброса ovlDown --> ovlARA: сработал\nнижний\nдатчик ovlDown --> ovlARA: таймаут\nхода\nвниз ovlARA --> startUp: таймаут\nзадержки\nАПВ Up --> WedgingDown: Превышение времени\nхода вверх Up --> WedgingEV: Превышение времени\nхода вверх WedgingDown --> WedgingEV: Макс. время\nхода вниз WedgingEV --> WedgingUp: расклинивание\nзавершено WedgingUp --> WedgingEV: верхний дат.\nне стработал WedgingUp --> startUp: верхний дат.\nсработал @enduml }}}