#210 closed баг (fixed)
Вероятно предприняты неверные меры по снижению производительности
Сообщил: | Art_M | Владелец: | alx |
---|---|---|---|
Приоритет: | средний | Этап разработки: | 2-я очередь |
Ключевые слова: | Копия: | andrei, alx |
Описание
Тикет создан alx со слов Art_M из ticket:208#comment:2
Вот кстати тоже примечательный лог:
Jun 13 11:06:27 smarthdcd[376]: controller.cpp:1565: НУ1: запуск двигателя (50.0 Гц)
Jun 13 11:06:27 smarthdcd[376]: controller.cpp:1565: НУ2: запуск двигателя (50.0 Гц)
Jun 13 11:06:29 smarthdcd[376]: controller.cpp:3620: верхний датчик положения активен
Jun 13 11:06:29 smarthdcd[376]: controller.cpp:1602: НУ1: останов двигателя (нормальный)
Jun 13 11:06:29 smarthdcd[376]: controller.cpp:1602: НУ2: останов двигателя (нормальный)
Jun 13 11:06:30 smarthdcd[376]: controller.cpp:3753: верхний датчик положения неактивен
Jun 13 11:06:37 smarthdcd[376]: controller.cpp:3025: условие разворота
Jun 13 11:06:37 smarthdcd[376]: Сброс счетчика АПВ
Jun 13 11:06:37 smarthdcd[376]: Сброс счетчика АПВ НУ1
Jun 13 11:06:37 smarthdcd[376]: Сброс счетчика АПВ НУ2
Jun 13 11:06:37 smarthdcd[376]: controller.cpp:1565: НУ1: запуск двигателя (50.0 Гц)
Jun 13 11:06:37 smarthdcd[376]: controller.cpp:1565: НУ2: запуск двигателя (50.0 Гц)
Jun 13 11:06:39 smarthdcd[376]: controller.cpp:3620: верхний датчик положения активен
Jun 13 11:06:39 smarthdcd[376]: controller.cpp:1602: НУ1: останов двигателя (нормальный)
Jun 13 11:06:39 smarthdcd[376]: controller.cpp:1602: НУ2: останов двигателя (нормальный)
Jun 13 11:06:39 smarthdcd[376]: controller.cpp:3753: верхний датчик положения неактивен
Jun 13 11:06:47 smarthdcd[376]: controller.cpp:3025: условие разворота
Jun 13 11:06:47 smarthdcd[376]: Сброс счетчика АПВ
Jun 13 11:06:47 smarthdcd[376]: Сброс счетчика АПВ НУ1
Jun 13 11:06:47 smarthdcd[376]: Сброс счетчика АПВ НУ2
Jun 13 11:06:47 smarthdcd[376]: controller.cpp:1565: НУ1: запуск двигателя (50.0 Гц)
Jun 13 11:06:47 smarthdcd[376]: controller.cpp:1565: НУ2: запуск двигателя (50.0 Гц)
Jun 13 11:06:48 smarthdcd[376]: controller.cpp:3620: верхний датчик положения активен
Jun 13 11:06:48 smarthdcd[376]: controller.cpp:1602: НУ1: останов двигателя (нормальный)
Jun 13 11:06:48 smarthdcd[376]: controller.cpp:1602: НУ2: останов двигателя (нормальный)
Jun 13 11:06:49 smarthdcd[376]: controller.cpp:3753: верхний датчик положения неактивен
Jun 13 11:06:57 smarthdcd[376]: Настройка 'freqDrive1' изменена: 50.00 --> 49.00
Jun 13 11:06:57 smarthdcd[376]: Настройка 'freqDrive2' изменена: 50.00 --> 49.00
Jun 13 11:06:57 smarthdcd[376]: controller.cpp:3025: условие разворота
Jun 13 11:06:57 smarthdcd[376]: Сброс счетчика АПВ
Jun 13 11:06:57 smarthdcd[376]: Сброс счетчика АПВ НУ1
Jun 13 11:06:57 smarthdcd[376]: Сброс счетчика АПВ НУ2
Jun 13 11:06:57 smarthdcd[376]: controller.cpp:1565: НУ1: запуск двигателя (49.0 Гц)
Jun 13 11:06:57 smarthdcd[376]: controller.cpp:1565: НУ2: запуск двигателя (49.0 Гц)
Jun 13 11:06:58 smarthdcd[376]: controller.cpp:3620: верхний датчик положения активен
Jun 13 11:06:58 smarthdcd[376]: controller.cpp:1602: НУ1: останов двигателя (нормальный)
Jun 13 11:06:58 smarthdcd[376]: controller.cpp:1602: НУ2: останов двигателя (нормальный)
Jun 13 11:06:59 smarthdcd[376]: controller.cpp:3753: верхний датчик положения неактивен
Jun 13 11:07:10 smarthdcd[376]: controller.cpp:3620: верхний датчик положения активен
Jun 13 11:07:10 smarthdcd[376]: controller.cpp:3753: верхний датчик положения неактивен
Jun 13 11:07:30 smarthdcd[376]: controller.cpp:4228: нижний датчик положения активен
Jun 13 11:07:30 smarthdcd[376]: Снятие аварии: 17.1 Снижение длины хода по числу качаний
Jun 13 11:07:30 smarthdcd[376]: Сброс счетчика АПВ
Jun 13 11:07:30 smarthdcd[376]: Сброс счетчика АПВ НУ1
Jun 13 11:07:30 smarthdcd[376]: Сброс счетчика АПВ НУ2
Jun 13 11:07:30 smarthdcd[376]: controller.cpp:1565: НУ1: запуск двигателя (49.0 Гц)
Jun 13 11:07:30 smarthdcd[376]: controller.cpp:1565: НУ2: запуск двигателя (49.0 Гц)
Jun 13 11:07:31 smarthdcd[376]: controller.cpp:4308: нижний датчик положения неактивен
Jun 13 11:07:40 smarthdcd[376]: controller.cpp:3620: верхний датчик положения активен
Jun 13 11:07:40 smarthdcd[376]: controller.cpp:1602: НУ1: останов двигателя (нормальный)
Jun 13 11:07:40 smarthdcd[376]: controller.cpp:1602: НУ2: останов двигателя (нормальный)
Jun 13 11:07:40 smarthdcd[376]: controller.cpp:3753: верхний датчик положения неактивен
Jun 13 11:07:50 smarthdcd[376]: controller.cpp:4228: нижний датчик положения активен
Jun 13 11:07:50 smarthdcd[376]: Настройка 'freqDrive1' изменена: 49.00 --> 50.00
Jun 13 11:07:50 smarthdcd[376]: Настройка 'freqDrive2' изменена: 49.00 --> 50.00
Jun 13 11:07:50 smarthdcd[376]: Авария привода: 17.1 Снижение длины хода по числу качаний
Jun 13 11:07:50 smarthdcd[376]: Сброс счетчика АПВ
Jun 13 11:07:50 smarthdcd[376]: Сброс счетчика АПВ НУ1
Jun 13 11:07:50 smarthdcd[376]: Сброс счетчика АПВ НУ2
Jun 13 11:07:50 smarthdcd[376]: controller.cpp:1565: НУ1: запуск двигателя (50.0 Гц)
Jun 13 11:07:50 smarthdcd[376]: controller.cpp:1565: НУ2: запуск двигателя (50.0 Гц)
Jun 13 11:07:51 smarthdcd[376]: controller.cpp:4308: нижний датчик положения неактивен
Jun 13 11:07:55 smarthdcd[376]: controller.cpp:3620: верхний датчик положения активен
Jun 13 11:07:55 smarthdcd[376]: controller.cpp:1602: НУ1: останов двигателя (нормальный)
Jun 13 11:07:55 smarthdcd[376]: controller.cpp:1602: НУ2: останов двигателя (нормальный)
Jun 13 11:07:56 smarthdcd[376]: controller.cpp:3753: верхний датчик положения неактивен
Jun 13 11:08:02 smarthdcd[376]: controller.cpp:3025: условие разворота
Jun 13 11:08:02 smarthdcd[376]: Сброс счетчика АПВ
Jun 13 11:08:02 smarthdcd[376]: Сброс счетчика АПВ НУ1
Jun 13 11:08:02 smarthdcd[376]: Сброс счетчика АПВ НУ2
Jun 13 11:08:02 smarthdcd[376]: controller.cpp:1565: НУ1: запуск двигателя (50.0 Гц)
Jun 13 11:08:02 smarthdcd[376]: controller.cpp:1565: НУ2: запуск двигателя (50.0 Гц)
Jun 13 11:08:05 smarthdcd[376]: controller.cpp:3620: верхний датчик положения активен
Jun 13 11:08:05 smarthdcd[376]: controller.cpp:1602: НУ1: останов двигателя (нормальный)
Jun 13 11:08:05 smarthdcd[376]: controller.cpp:1602: НУ2: останов двигателя (нормальный)
Jun 13 11:08:05 smarthdcd[376]: controller.cpp:3753: верхний датчик положения неактивен
Jun 13 11:08:12 smarthdcd[376]: controller.cpp:3025: условие разворота
Jun 13 11:08:12 smarthdcd[376]: Сброс счетчика АПВ
Jun 13 11:08:12 smarthdcd[376]: Сброс счетчика АПВ НУ1
Jun 13 11:08:12 smarthdcd[376]: Сброс счетчика АПВ НУ2
Jun 13 11:08:12 smarthdcd[376]: controller.cpp:1565: НУ1: запуск двигателя (50.0 Гц)
Jun 13 11:08:12 smarthdcd[376]: controller.cpp:1565: НУ2: запуск двигателя (50.0 Гц)
Jun 13 11:08:15 smarthdcd[376]: controller.cpp:3620: верхний датчик положения активен
Jun 13 11:08:15 smarthdcd[376]: controller.cpp:1602: НУ1: останов двигателя (нормальный)
Jun 13 11:08:15 smarthdcd[376]: controller.cpp:1602: НУ2: останов двигателя (нормальный)
Jun 13 11:08:15 smarthdcd[376]: controller.cpp:3753: верхний датчик положения неактивен
Jun 13 11:08:22 smarthdcd[376]: Настройка 'selectedDrive2' изменена: 'Выбран' --> 'Не выбран'
Jun 13 11:08:22 smarthdcd[376]: controller.cpp:3025: условие разворота
Jun 13 11:08:22 smarthdcd[376]: Сброс счетчика АПВ
Jun 13 11:08:22 smarthdcd[376]: Сброс счетчика АПВ НУ1
Jun 13 11:08:22 smarthdcd[376]: Сброс счетчика АПВ НУ2
Jun 13 11:08:22 smarthdcd[376]: controller.cpp:1565: НУ1: запуск двигателя (50.0 Гц)
Jun 13 11:08:24 smarthdcd[376]: controller.cpp:3620: верхний датчик положения активен
Jun 13 11:08:24 smarthdcd[376]: controller.cpp:1602: НУ1: останов двигателя (нормальный)
Jun 13 11:08:25 smarthdcd[376]: controller.cpp:3753: верхний датчик положения неактивен
Jun 13 11:08:46 smarthdcd[376]: controller.cpp:4228: нижний датчик положения активен
Jun 13 11:08:46 smarthdcd[376]: Снятие аварии: 17.1 Снижение длины хода по числу качаний
Jun 13 11:08:46 smarthdcd[376]: Сброс счетчика АПВ
Jun 13 11:08:46 smarthdcd[376]: Сброс счетчика АПВ НУ1
Jun 13 11:08:46 smarthdcd[376]: Сброс счетчика АПВ НУ2
Jun 13 11:08:46 smarthdcd[376]: controller.cpp:1565: НУ1: запуск двигателя (50.0 Гц)
Jun 13 11:08:46 smarthdcd[376]: controller.cpp:4308: нижний датчик положения неактивен
Jun 13 11:08:54 smarthdcd[376]: controller.cpp:3620: верхний датчик положения активен
Jun 13 11:08:54 smarthdcd[376]: controller.cpp:1602: НУ1: останов двигателя (нормальный)
Jun 13 11:08:55 smarthdcd[376]: controller.cpp:3753: верхний датчик положения неактивен
Jun 13 11:09:04 smarthdcd[376]: controller.cpp:4228: нижний датчик положения активен
Jun 13 11:09:04 smarthdcd[376]: Настройка 'selectedDrive2' изменена: 'Не выбран' --> 'Выбран'
Jun 13 11:09:04 smarthdcd[376]: Авария привода: 17.1 Снижение длины хода по числу качаний
Jun 13 11:09:04 smarthdcd[376]: Настройка 'freqDrive1' изменена: 50.00 --> 22.00
Jun 13 11:09:04 smarthdcd[376]: Настройка 'freqDrive2' изменена: 50.00 --> 22.00
Jun 13 11:09:04 smarthdcd[376]: Сброс счетчика АПВ
Jun 13 11:09:04 smarthdcd[376]: Сброс счетчика АПВ НУ1
Jun 13 11:09:04 smarthdcd[376]: Сброс счетчика АПВ НУ2
Jun 13 11:09:04 smarthdcd[376]: controller.cpp:1565: НУ1: запуск двигателя (22.0 Гц)
Jun 13 11:09:04 smarthdcd[376]: controller.cpp:1565: НУ2: запуск двигателя (22.0 Гц)
Jun 13 11:09:05 smarthdcd[376]: controller.cpp:4308: нижний датчик положения неактивен
Jun 13 11:09:10 smarthdcd[376]: controller.cpp:3620: верхний датчик положения активен
Jun 13 11:09:10 smarthdcd[376]: controller.cpp:1602: НУ1: останов двигателя (нормальный)
Jun 13 11:09:10 smarthdcd[376]: controller.cpp:1602: НУ2: останов двигателя (нормальный)
Jun 13 11:09:10 smarthdcd[376]: controller.cpp:3753: верхний датчик положения неактивен
Jun 13 11:09:35 smarthdcd[376]: НУ1: переключатель режима работы: руч
Jun 13 11:09:35 smarthdcd[376]: controller.cpp:5623: остановка привода
Смотрите:
06:27 начало хода вверх на двух НУ 50Гц
подъем 2сек
06:29 верхний датчик, спуск на обоих ЭК
спуск 8сек
06:37 условие разворота по ЧК, ход вверх на двух НУ 50Гц
подъем 2сек
06:39 верхний датчик, спуск на обоих ЭК
спуск 8сек
06:47 условие разворота по ЧК, ход вверх на двух НУ 50Гц
подъем 1сек (намеренное занижение времени хода вверх)
06:48 верхний датчик, спуск на обоих ЭК
спуск 9сек
06:57 условие разворота по ЧК, ход вверх на двух НУ 50=>49Гц
подъем 1сек
06:58 верхний датчик, спуск на обоих ЭК
07:30 нижний датчик, ход вверх на двух НУ 49Гц
подъем 10 секунд
07:40 верхний датчик, спуск на обоих ЭК
спуск длительностью 10секунд, т.к. цикл получился 20сек, в завершении снова авария 17.1
07:50 нижний датчик, ход вверх на двух НУ 49=>50Гц
подъем 5сек
07:55 верхний датчик, спуск на обоих ЭК
спуск 7сек
08:02 условие разворота по ЧК, ход вверх на двух НУ 50Гц
подъем 3сек
08:05 верхний датчик, спуск на обоих ЭК
спуск 7сек
08:12 условие разворота по ЧК, ход вверх на двух НУ 50Гц
подъем 3сек
08:15 верхний датчик, спуск на обоих ЭК
спуск 7сек
08:22 условие разворота по ЧК, ход вверх на ОДНОЙ НУ 50Гц Вот здесь контроллер совсем плохо себя повел, для чего нужно было отключать насосную установку? Если он пусть и ошибочно принял решение снизить производительность, то почему не начал со снижения частоты?
Вложения (7)
История изменений (21)
by , 5 лет ago
Вложение: | config.xml added |
---|
comment:3 by , 5 лет ago
предшествующий инциденту цикл начался в 08:12 и закончился в 08:22. Таким образом, длительность цикла составляла около 10 секунд, что дает число качаний приблизительно 6 мин-1.
Согласно приложенному конфиг-файлу, настройка "Режим задания числа качаний" имеет значение "Прямое указание". В этом случае требуемое число качаний устанавливается настройкой "Число качаний". Настройка "Число качаний" имеет значение 6. К сожалению, лог не позволяет вычислить длительность цикла с погрешностью менее 1 секунды, поэтому невозможно установить, было ли фактическое число качаний выше или ниже требуемого. Поэтому я не могу ни подтвердить, ни опровергнуть утверждение о том, что контроллер принял решение снизить производительность привода ошибочно.
Настройки "Минимальная частота двигателя 1" и "Минимальная частота двигателя 2" установлены в значнеие 22 Гц, настройка "Мин. частота синхронной работы" установлена в значение 20 Гц, в то время как в предшествовавшем событию цикле двигатели работали на частоте 50 Гц. Таким образом, выбраны обе НУ, и обе НУ работают на частоте выше минимально разрешенной. Согласно ТЗ, в данномй ситуации выполняется полузависимый подбор частот. При этом возможны три варианта:
- на шаг тонкой настройки снижается частота только НУ1;
- на шаг тонкой настройки снижается частота только НУ2;
- на шаг тонкой настройки снижается частота НУ1 и НУ2.
Из этих трех вариантов выбирается тот, при котором соотношение частот НУ2/НУ1 будет ближе к значению настройки "Отношение частоты НУ2 к НУ1" (в данном случае установлена в значение 1).
В соответствии с изложенным выше алгоритмом контроллер вычисляет для каждого из трех вариантов абсолютное значение ошибки отношения частот (разности между фактическим отношением и требуемым настройкой). Затем выбирается тот вариант, ошибка которого меньше ошибок двух других.
Я предполагаю, что проблема в следующем. Согласно ТЗ, шаг набора частоты или снижения частоты (шаг тонкой подстройки) следует определить как (требуемое число качаний в минуту - текущее число качаний в минуту) х 10 Гц, округленное до Гц. Ранее мы уже выяснили, что фактическое число качаний близко к требуемому. Я предполагаю, отклонение фактического числа качаний от требуемого составило менее 0.05 мин-1, поэтому вычисленный шаг тонкой подстройки частоты равен нулю. Так как частоты обеих НУ в предыдущем цикле были равны, то для всех трех вариантов соотношение частот равно ровно единице, что строго равно требуемому настройкой соотношению. Таким образом, вычисленная ошибка для каждого из трех вариантов строго равна нулю. Так как при сравнении величин ошибок сравнение было строгим (error1 < error2 && error1 < error3), условие не выполнилось ни для одного из трех вариантов! В результате контроллер не смог применить эту меру и перешел к следующей - выключению неприоритетной НУ.
В качесетве решения проблемы я предполагаю изменить строгое сравнение ("меньше") на нестрогое ("меньше или равно").
следующие: 5 10 comment:4 by , 5 лет ago
Алексей не могу понять такой момент:
Допустим мы ходим от датчика до датчика, все НУ и ЭК выбраны, частоты средние! Все ходы так или иначе отличаются друг от друга. Допустим в процессе прогрева масла (оно становится жиже и производительность дросселя с клапаном увеличиваются) спуск произошел быстрее, цикл стал на 0,04мин-1 меньше. Что в таком случае должен сделать контроллер? Следуя нынешней логике: он так же не сможет подобрать значение частоты на которое нужно снизить производительность и так же отключит одну насосную установку? А что затем, получит большой разброс в заданом и фактическом ЧК и снова подключит вторую НУ?
Это же явно неверная логика!
Ну и вот например http://178.176.107.221 привод работает на двух НУ. Я не вижу, чтоб он постоянно скакал с одной на две НУ и обратно.
comment:5 by , 5 лет ago
Replying to Art_M:
Допустим мы ходим от датчика до датчика, все НУ и ЭК выбраны, частоты средние! Все ходы так или иначе отличаются друг от друга. Допустим в процессе прогрева масла (оно становится жиже и производительность дросселя с клапаном увеличиваются) спуск произошел быстрее, цикл стал на 0,04мин-1 меньше. Что в таком случае должен сделать контроллер?
Артем, в контексте данного тикета имеет значение не то, стал ли цикл на 0.01 мин-1 короче (очевидно, предыдущего) или длиннее. Имеет значение разница между фактической (вычисленной в момент его завершения) длиной цикла и требуемой (в данном случае установленной настройкой "Число качаний").
А теперь о том, что должен сделать контроллер. Согласно требованиям ТЗ,
Если число качаний выше требуемого, то для обеспечения требуемого числа качаний осуществляется ряд действий по снижению производительности согласно установленному приоритету и разрешенным ЭД и ЭК.: сначала снижение частоты ЭД, затем, если частота достигла границы, то другими действиями по снижению производительности Если число качаний ниже требуемого, то осуществляется увеличение частоты ЭД, затем, если частота достигла максимума, то другими действиями по повышению производительности.
Следуя нынешней логике: он так же не сможет подобрать значение частоты на которое нужно снизить производительность и так же отключит одну насосную установку?
Насколько я понимаю, если строго следовать написанному в ТЗ, при превышении фактическим числом качаний требуемого на 0.04 мин-1 должна быть принята мера по снижению частоты одной или сразу двух НУ на 0 Гц (шаг тонкой подстройки частоты равен нулю). То есть, фактически, ничего не должно быть изменено в параметрах производительности. Вторую НУ он не отключит, так как, согласно требованию ТЗ, выполняется только одна мера по повышению (понижению) производительности привода за один цикл. Так как мера по снижению частоты на 0 Гц будет считаться успешно предпринятой, то последующие меры (отключение НУ2) выполняться не должны. Но это лишь мое предварительное мнение, я еще над этим вопросом должен подумать.
Это же явно неверная логика!
Может быть и неверная. Я тоже человек, и могу ошибаться. Если ты нашел ошибку в моей логике - укажи мне на нее, чтобы я смог исправить свою локигу, и она стала верной...
Ну и вот например http://178.176.107.221 привод работает на двух НУ. Я не вижу, чтоб он постоянно скакал с одной на две НУ и обратно.
И? Не понял, к чему это было сказано. Ты считаешь, что эта установка работает неправильно?
следующий: 7 comment:6 by , 5 лет ago
Алексей, если я правильно понимаю, то вот это:
Я предполагаю, что проблема в следующем. Согласно ТЗ, шаг набора частоты или снижения частоты (шаг тонкой подстройки) следует определить как (требуемое число качаний в минуту - текущее число качаний в минуту) х 10 Гц, округленное до Гц. Ранее мы уже выяснили, что фактическое число качаний близко к требуемому. Я предполагаю, отклонение фактического числа качаний от требуемого составило менее 0.05 мин-1, поэтому вычисленный шаг тонкой подстройки частоты равен нулю. Так как частоты обеих НУ в предыдущем цикле были равны, то для всех трех вариантов соотношение частот равно ровно единице, что строго равно требуемому настройкой соотношению. Таким образом, вычисленная ошибка для каждого из трех вариантов строго равна нулю. Так как при сравнении величин ошибок сравнение было строгим (error1 < error2 && error1 < error3), условие не выполнилось ни для одного из трех вариантов! В результате контроллер не смог применить эту меру и перешел к следующей - выключению неприоритетной НУ.
не соответствует этому:
Насколько я понимаю, если строго следовать написанному в ТЗ, при превышении фактическим числом качаний требуемого на 0.04 мин-1 должна быть принята мера по снижению частоты одной или сразу двух НУ на 0 Гц (шаг тонкой подстройки частоты равен нулю). То есть, фактически, ничего не должно быть изменено в параметрах производительности. Вторую НУ он не отключит, так как, согласно требованию ТЗ, выполняется только одна мера по повышению (понижению) производительности привода за один цикл. Так как мера по снижению частоты на 0 Гц будет считаться успешно предпринятой, то последующие меры (отключение НУ2) выполняться не должны.
Хотя ситуации в обоих случаях идентичные, я правильно понимаю?
Если так, то первый вариант неверный, привод должен действовать по второму варианту.
И приведенный пример верной работы привода http://178.176.107.221 подтверждает это.
следующий: 8 comment:7 by , 5 лет ago
Replying to Art_M:
Алексей, если я правильно понимаю, то вот это:
...
не соответствует этому:
...
Правильно. Первая цитата - это что, насколько я понимаю, фактически произошло в твоем эксперименте. Вторая цитата - что, насколько я понимаю, должно было произойти в данной ситуации.
Хотя ситуации в обоих случаях идентичные, я правильно понимаю?
Правильно. Можно считать, что я говорил об одном и том же случае.
Если так, то первый вариант неверный, привод должен действовать по второму варианту.
Именно это я и хотел сказать.
И приведенный пример верной работы привода http://178.176.107.221 подтверждает это.
??? Как он может это подтверждать, если ошибка еще не исправлена? Если на этой установке сойдутся все необходимые условия, она тоже поведет себя как и в твоем эксперименте - отключит НУ2. То, что она этого не делала, означает лишь что какие-то условия не совпадали с условиями эксперимента - например шаг тонкой подстройки никогда не оказывался равным нулю...
следующий: 9 comment:8 by , 5 лет ago
Replying to alx:
И приведенный пример верной работы привода http://178.176.107.221 подтверждает это.
??? Как он может это подтверждать, если ошибка еще не исправлена? Если на этой установке сойдутся все необходимые условия, она тоже поведет себя как и в твоем эксперименте - отключит НУ2. То, что она этого не делала, означает лишь что какие-то условия не совпадали с условиями эксперимента - например шаг тонкой подстройки никогда не оказывался равным нулю...
Вот тут я согласен с тем, что пример показывает, что "какие-то условия не совпадали с условиями эксперимента". Но позвольте не согласиться с тем, что "условия не совпадали с условиями эксперимента - например шаг тонкой подстройки никогда не оказывался равным нулю".
Если бы "шаг тонкой подстройки никогда не оказывался равным нулю" то контроллер постоянно бы куда-то шагал частотами, например - сдвигал действующую частоту то вверх, то вниз на 1Гц каждый ход. Однако этого не происходит. Это означает, что механизм подбора частоты действует, как надо. Это я и хотел продемонстрировать примером с сылкой на http://178.176.107.221 !
Иными словами: я согласен, что к результату в ходе эксперимента приводят "какие-то условия", но я очень сомневаюсь, что условие "шаг тонкой подстройки ... оказывался равным нулю" является основой этого.
comment:9 by , 5 лет ago
Replying to Art_M:
Если бы "шаг тонкой подстройки никогда не оказывался равным нулю" то контроллер постоянно бы куда-то шагал частотами, например - сдвигал действующую частоту то вверх, то вниз на 1Гц каждый ход. Однако этого не происходит.
В таком случае я хотел бы получить для анализа логи работы этой установки и конфиг-файл с ее настройками. Возможно ли приложить эти файлы к данному тикету?
by , 5 лет ago
Вложение: | smarthdcd.bak added |
---|
by , 5 лет ago
Вложение: | messages.0 added |
---|
by , 5 лет ago
Вложение: | messages.2 added |
---|
by , 5 лет ago
Вложение: | messages.1 added |
---|
by , 5 лет ago
Вложение: | messages.3 added |
---|
comment:10 by , 5 лет ago
Спасибо, Андрей!
Replying to Art_M:
Это же явно неверная логика!
Ну и вот например http://178.176.107.221 привод работает на двух НУ. Я не вижу, чтоб он постоянно скакал с одной на две НУ и обратно.
Плохо смотришь. :)
Jun 18 11:04:21 smarthdcd[378]: controller.cpp:3354: нижний датчик положения активен Jun 18 11:04:21 smarthdcd[378]: controller.cpp:1374: НУ1: запуск двигателя (34.0 Гц) Jun 18 11:04:21 smarthdcd[378]: controller.cpp:1374: НУ2: запуск двигателя (34.0 Гц) Jun 18 11:04:22 smarthdcd[378]: controller.cpp:3421: нижний датчик положения неактивен Jun 18 11:04:25 smarthdcd[378]: smbus.cpp:541: /dev/ttyS2: request timeout Jun 18 11:04:29 smarthdcd[378]: controller.cpp:2820: верхний датчик положения активен Jun 18 11:04:29 smarthdcd[378]: controller.cpp:1409: НУ1: останов двигателя (нормальный) Jun 18 11:04:29 smarthdcd[378]: controller.cpp:1409: НУ2: останов двигателя (нормальный) Jun 18 11:04:30 smarthdcd[378]: controller.cpp:2962: верхний датчик положения неактивен Jun 18 11:04:31 smarthdcd[378]: controller.cpp:2820: верхний датчик положения активен Jun 18 11:04:31 smarthdcd[378]: controller.cpp:2962: верхний датчик положения неактивен Jun 18 11:04:34 smarthdcd[378]: smbus.cpp:541: /dev/ttyS2: request timeout Jun 18 11:04:41 smarthdcd[378]: controller.cpp:3354: нижний датчик положения активен Jun 18 11:04:41 smarthdcd[378]: config.cpp:223: Настройка 'selectedDrive2' изменена: 'Выбран' --> 'Не выбран' Jun 18 11:04:41 smarthdcd[378]: controller.cpp:1374: НУ1: запуск двигателя (60.0 Гц) Jun 18 11:04:42 smarthdcd[378]: controller.cpp:3421: нижний датчик положения неактивен Jun 18 11:04:44 smarthdcd[378]: smbus.cpp:541: /dev/ttyS2: request timeout Jun 18 11:04:45 smarthdcd[378]: smbus.cpp:541: /dev/ttyS2: request timeout Jun 18 11:04:49 smarthdcd[378]: smbus.cpp:541: /dev/ttyS2: request timeout Jun 18 11:04:50 smarthdcd[378]: controller.cpp:2820: верхний датчик положения активен Jun 18 11:04:50 smarthdcd[378]: controller.cpp:1409: НУ1: останов двигателя (нормальный) Jun 18 11:04:51 smarthdcd[378]: controller.cpp:2962: верхний датчик положения неактивен Jun 18 11:04:51 smarthdcd[378]: smbus.cpp:541: /dev/ttyS2: request timeout Jun 18 11:04:53 smarthdcd[378]: controller.cpp:2820: верхний датчик положения активен Jun 18 11:04:53 smarthdcd[378]: controller.cpp:2962: верхний датчик положения неактивен Jun 18 11:04:55 smarthdcd[378]: smbus.cpp:541: /dev/ttyS2: request timeout Jun 18 06:04:58 ntpd[371]: Soliciting pool server 2001:67c:1560:8003::c8 Jun 18 11:04:59 smarthdcd[378]: smbus.cpp:541: /dev/ttyS2: request timeout Jun 18 11:05:02 smarthdcd[378]: smbus.cpp:541: /dev/ttyS2: request timeout Jun 18 11:05:03 smarthdcd[378]: controller.cpp:3354: нижний датчик положения активен Jun 18 11:05:03 smarthdcd[378]: controller.cpp:1374: НУ1: запуск двигателя (60.0 Гц) Jun 18 11:05:04 smarthdcd[378]: controller.cpp:3421: нижний датчик положения неактивен Jun 18 11:05:13 smarthdcd[378]: controller.cpp:2820: верхний датчик положения активен Jun 18 11:05:13 smarthdcd[378]: controller.cpp:1409: НУ1: останов двигателя (нормальный) Jun 18 11:05:13 smarthdcd[378]: controller.cpp:2962: верхний датчик положения неактивен Jun 18 11:05:15 smarthdcd[378]: controller.cpp:2820: верхний датчик положения активен Jun 18 11:05:15 smarthdcd[378]: smbus.cpp:541: /dev/ttyS2: request timeout Jun 18 11:05:15 smarthdcd[378]: controller.cpp:2962: верхний датчик положения неактивен Jun 18 11:05:26 smarthdcd[378]: controller.cpp:3354: нижний датчик положения активен Jun 18 11:05:26 smarthdcd[378]: config.cpp:223: Настройка 'selectedDrive2' изменена: 'Не выбран' --> 'Выбран'
comment:11 by , 5 лет ago
Владелец: | установлено в |
---|---|
Решение: | → fixed |
Состояние: | new → closed |
In 760/smartHDC:
следующий: 14 comment:12 by , 5 лет ago
Лог не снимал, наблюдал только визуально через веб-интерфейс. Действительно, оказывается проблема есть. Момент показательный, действительно, в логах появляются скачки с двух НУ на одну и обратно. В 8:46, 9:27, 11:04, 12:31, 13:34, 17:29, 19:06, 23:25, 3:10, 8:11.
Очевидно, что проблема возникала, именно в тот момент, когда привод пытался снизить производительность, и, видимо, как раз между 0 и 1...
Т.е. снижал производительность привод только через скачки с дальнейшим подъемом частоты до нужного значения, ниже первоначального. А если предположить, что проблема возникала каждый такой случай, то выходит, что в промежутках привод только "набирал производительность"? (набирал в кавычках потому что набирал даже на 0). Не увидел ни одного случая снижения частоты в логах.
comment:14 by , 5 лет ago
Replying to Art_M:
Т.е. снижал производительность привод только через скачки с дальнейшим подъемом частоты до нужного значения, ниже первоначального. А если предположить, что проблема возникала каждый такой случай, то выходит, что в промежутках привод только "набирал производительность"?
Да, вывод логичен.
Для ответа на этот вопрос требуется знать, какие настройки действовали во время описанного эксперимента. Прошу приложить конфиг-файл.