#230 assigned баг
Авария 26.1 Одновременное включение ЭК и ЭД
Сообщил: | andrei | Владелец: | san |
---|---|---|---|
Приоритет: | средний | Этап разработки: | 2-я очередь |
Ключевые слова: | Копия: | alx, san, Art_M |
Описание (последним изменил )
Станция на достаточно продолжительное время одновременно включает мотор и открывает электроклапана. Есть мысль что это неправильно. Для ислючения такого поведения в будущем нужно понять зачем она так делает.
В логе начиная с 14:08:25.
При дальнейшей разработке УГП-ЧР принять во внимание.
Вложения (2)
История изменений (25)
by , 5 лет ago
Вложение: | messages.16 added |
---|
comment:2 by , 5 лет ago
Артем Павлович Макаров: а вот еще не понятноЭ, он до этогоо в 14_10_25, он решал запустить с частотой 20 Гц уже работающий на 60Гц первый мотор
comment:3 by , 5 лет ago
[ 19 ноября 2019 г. 11:37 ] Артем Павлович Макаров: после того как он остановил мотор после достижения верхнего датчика, более ни один мотор уже не запускался
[ 19 ноября 2019 г. 11:38 ] Артем Павлович Макаров: контроллер писал, что запускает первый мотор на 20Гц, потом на 37,5 Гц, но движения нет
[ 19 ноября 2019 г. 11:38 ] Артем Павлович Макаров: токи и частоты по 0м
[ 19 ноября 2019 г. 11:39 ] Артем Павлович Макаров: вот обрати внимание
[ 19 ноября 2019 г. 11:39 ] Артем Павлович Макаров: в Nov 18 14:18:48 smarthdcd[374]: controller.cpp:4552: остановка привода
[ 19 ноября 2019 г. 11:39 ] Артем Павлович Макаров: что это означает
[ 19 ноября 2019 г. 11:39 ] Артем Павлович Макаров: ?
[ 19 ноября 2019 г. 11:39 ] Артем Павлович Макаров: перевели в РУЧ?
comment:4 by , 5 лет ago
ну и далее не запуская моторы, замерз и оставшийся ЧРП
Nov 18 14:42:07 smarthdcd[374]: controller.cpp:4366: Авария привода: 26.2 Ост. по низк. темп. ЧРП НУ1 и НУ2
Nov 18 14:42:07 smarthdcd[374]: P=0.2 атм. G=-68.5 кгс I1=0.0 A I2=0.0 A F1=0.0 Гц F2=0.0 Гц T=-0.6°C ЭК1=выкл ЭК2=выкл ДВ=неактивен ДН=неактивен
Nov 18 14:42:07 smarthdcd[374]: controller.cpp:4552: остановка привода
следующий: 9 comment:6 by , 5 лет ago
Лично я здесь вижу несколько подозрительных моментов:
Фрагмент нормальной работы:
Nov 18 14:08:04 smarthdcd[374]: controller.cpp:2820: верхний датчик положения активен
Nov 18 14:08:04 smarthdcd[374]: P=76.9 атм. G=6261.0 кгс I1=87.0 A I2=0.0 A F1=60.3 Гц F2=0.0 Гц T=16.1°C ЭК1=выкл ЭК2=выкл ДВ=активен ДН=неактивен
Nov 18 14:08:04 smarthdcd[374]: controller.cpp:1409: НУ1: останов двигателя (нормальный)
Nov 18 14:08:04 smarthdcd[374]: P=76.9 атм. G=6261.0 кгс I1=87.0 A I2=0.0 A F1=60.3 Гц F2=0.0 Гц T=16.1°C ЭК1=выкл ЭК2=выкл ДВ=активен ДН=неактивен
Nov 18 14:08:04 smarthdcd[374]: controller.cpp:1409: НУ2: останов двигателя (нормальный)
Nov 18 14:08:04 smarthdcd[374]: P=76.9 атм. G=6261.0 кгс I1=87.0 A I2=0.0 A F1=60.3 Гц F2=0.0 Гц T=16.1°C ЭК1=выкл ЭК2=выкл ДВ=активен ДН=неактивен
Nov 18 14:08:04 smarthdcd[374]: controller.cpp:2962: верхний датчик положения неактивен
Nov 18 14:08:04 smarthdcd[374]: P=76.8 атм. G=6254.1 кгс I1=87.0 A I2=0.0 A F1=60.3 Гц F2=0.0 Гц T=16.1°C ЭК1=выкл ЭК2=выкл ДВ=неактивен ДН=неактивен
Nov 18 14:08:05 smarthdcd[374]: controller.cpp:2820: верхний датчик положения активен
Nov 18 14:08:05 smarthdcd[374]: P=39.1 атм. G=3138.9 кгс I1=63.4 A I2=0.0 A F1=39.4 Гц F2=0.0 Гц T=16.1°C ЭК1=вкл ЭК2=вкл ДВ=активен ДН=неактивен
Nov 18 14:08:06 smarthdcd[374]: controller.cpp:2962: верхний датчик положения неактивен
Nov 18 14:08:06 smarthdcd[374]: P=35.0 атм. G=2801.0 кгс I1=63.4 A I2=0.0 A F1=39.4 Гц F2=0.0 Гц T=16.1°C ЭК1=вкл ЭК2=вкл ДВ=неактивен ДН=неактивен
Nov 18 14:08:09 smarthdcd[374]: P=23.6 атм. G=1860.4 кгс I1=0.0 A I2=0.0 A F1=0.0 Гц F2=0.0 Гц T=16.1°C ЭК1=вкл ЭК2=вкл ДВ=неактивен ДН=неактивен
Nov 18 14:08:14 smarthdcd[374]: P=24.1 атм. G=1908.0 кгс I1=0.0 A I2=0.0 A F1=0.0 Гц F2=0.0 Гц T=16.1°C ЭК1=вкл ЭК2=вкл ДВ=неактивен ДН=неактивен
Nov 18 14:08:15 smarthdcd[374]: controller.cpp:3354: нижний датчик положения активен
Nov 18 14:08:15 smarthdcd[374]: P=22.9 атм. G=1808.8 кгс I1=0.0 A I2=0.0 A F1=0.0 Гц F2=0.0 Гц T=16.1°C ЭК1=вкл ЭК2=вкл ДВ=неактивен ДН=активен
Nov 18 14:08:15 smarthdcd[374]: controller.cpp:1374: НУ1: запуск двигателя (60.0 Гц)
Nov 18 14:08:15 smarthdcd[374]: P=22.9 атм. G=1808.8 кгс I1=0.0 A I2=0.0 A F1=0.0 Гц F2=0.0 Гц T=16.1°C ЭК1=выкл ЭК2=выкл ДВ=неактивен ДН=активен
Nov 18 14:08:16 smarthdcd[374]: controller.cpp:3421: нижний датчик положения неактивен
Nov 18 14:08:16 smarthdcd[374]: P=52.5 атм. G=4249.1 кгс I1=0.0 A I2=0.0 A F1=0.0 Гц F2=0.0 Гц T=16.1°C ЭК1=выкл ЭК2=выкл ДВ=неактивен ДН=неактивен
Nov 18 14:08:21 smarthdcd[374]: P=72.6 атм. G=5901.0 кгс I1=84.4 A I2=0.0 A F1=60.1 Гц F2=0.0 Гц T=16.2°C ЭК1=выкл ЭК2=выкл ДВ=неактивен ДН=неактивен
Nov 18 14:08:21 smarthdcd[374]: P=73.1 атм. G=5942.4 кгс I1=84.4 A I2=0.0 A F1=60.1 Гц F2=0.0 Гц T=16.2°C ЭК1=выкл ЭК2=выкл ДВ=неактивен ДН=неактивен
Nov 18 14:08:25 smarthdcd[374]: controller.cpp:2820: верхний датчик положения активен
Nov 18 14:08:25 smarthdcd[374]: P=76.5 атм. G=6227.5 кгс I1=86.9 A I2=0.0 A F1=60.3 Гц F2=0.0 Гц T=16.2°C ЭК1=выкл ЭК2=выкл ДВ=активен ДН=неактивен
Nov 18 14:08:25 smarthdcd[374]: controller.cpp:1409: НУ1: останов двигателя (нормальный)
Nov 18 14:08:25 smarthdcd[374]: P=76.5 атм. G=6227.5 кгс I1=86.9 A I2=0.0 A F1=60.3 Гц F2=0.0 Гц T=16.2°C ЭК1=выкл ЭК2=выкл ДВ=активен ДН=неактивен
Nov 18 14:08:25 smarthdcd[374]: controller.cpp:1409: НУ2: останов двигателя (нормальный)
Nov 18 14:08:25 smarthdcd[374]: P=76.5 атм. G=6227.5 кгс I1=86.9 A I2=0.0 A F1=60.3 Гц F2=0.0 Гц T=16.2°C ЭК1=выкл ЭК2=выкл ДВ=активен ДН=неактивен
Nov 18 14:08:25 smarthdcd[374]: controller.cpp:2962: верхний датчик положения неактивен
Nov 18 14:08:25 smarthdcd[374]: P=76.7 атм. G=6245.2 кгс I1=86.9 A I2=0.0 A F1=60.3 Гц F2=0.0 Гц T=16.2°C ЭК1=выкл ЭК2=выкл ДВ=неактивен ДН=неактивен
Nov 18 14:08:26 smarthdcd[374]: controller.cpp:4366: Авария привода: 26.1 Низкая температура ЧРП НУ2
Nov 18 14:08:26 smarthdcd[374]: P=39.1 атм. G=3144.2 кгс I1=72.3 A I2=0.0 A F1=50.7 Гц F2=0.0 Гц T=16.2°C ЭК1=вкл ЭК2=вкл ДВ=неактивен ДН=неактивен
Nov 18 14:08:26 smarthdcd[374]: config.cpp:223: Настройка 'selectedDrive2' изменена: 'Выбран' --> 'Не выбран'
Nov 18 14:08:26 smarthdcd[374]: P=39.1 атм. G=3144.2 кгс I1=72.3 A I2=0.0 A F1=50.7 Гц F2=0.0 Гц T=16.2°C ЭК1=вкл ЭК2=вкл ДВ=неактивен ДН=неактивен
"Конец нормальной работы"
Nov 18 14:08:26 smarthdcd[374]: controller.cpp:1374: НУ1: запуск двигателя (60.0 Гц)
Строчка выше означает неожиданный запуск мотора НУ1, хотя у нас только что было срабатывание верхнего датчика и уже открылись клапаны для осуществления спуска. Далее происходит спуск с действующим мотором НУ1
Nov 18 14:08:26 smarthdcd[374]: P=39.1 атм. G=3144.2 кгс I1=72.3 A I2=0.0 A F1=50.7 Гц F2=0.0 Гц T=16.2°C ЭК1=вкл ЭК2=вкл ДВ=неактивен ДН=неактивен
Nov 18 14:08:26 smarthdcd[374]: controller.cpp:4436: Снятие аварии: 26.1 Низкая температура ЧРП НУ2
Nov 18 14:08:26 smarthdcd[374]: P=39.1 атм. G=3144.2 кгс I1=72.3 A I2=0.0 A F1=50.7 Гц F2=0.0 Гц T=16.2°C ЭК1=вкл ЭК2=вкл ДВ=неактивен ДН=неактивен
Nov 18 14:08:26 smarthdcd[374]: controller.cpp:2820: верхний датчик положения активен
Nov 18 14:08:26 smarthdcd[374]: P=39.1 атм. G=3144.2 кгс I1=72.3 A I2=0.0 A F1=50.7 Гц F2=0.0 Гц T=16.2°C ЭК1=вкл ЭК2=вкл ДВ=активен ДН=неактивен
Nov 18 14:08:26 smarthdcd[374]: controller.cpp:2962: верхний датчик положения неактивен
Nov 18 14:08:26 smarthdcd[374]: P=33.9 атм. G=2712.3 кгс I1=72.3 A I2=0.0 A F1=50.7 Гц F2=0.0 Гц T=16.2°C ЭК1=вкл ЭК2=вкл ДВ=неактивен ДН=неактивен
Nov 18 14:08:30 smarthdcd[374]: P=21.7 атм. G=1709.7 кгс I1=48.5 A I2=0.0 A F1=60.0 Гц F2=0.0 Гц T=16.2°C ЭК1=вкл ЭК2=вкл ДВ=неактивен ДН=неактивен
Nov 18 14:08:35 smarthdcd[374]: controller.cpp:4366: Авария привода: 26.1 Низкая температура ЧРП НУ2
Nov 18 14:08:35 smarthdcd[374]: P=21.9 атм. G=1720.7 кгс I1=48.5 A I2=0.0 A F1=60.1 Гц F2=0.0 Гц T=16.3°C ЭК1=вкл ЭК2=вкл ДВ=неактивен ДН=неактивен
Nov 18 14:08:35 smarthdcd[374]: controller.cpp:1374: НУ1: запуск двигателя (60.0 Гц)
Nov 18 14:08:35 smarthdcd[374]: P=21.9 атм. G=1720.7 кгс I1=48.5 A I2=0.0 A F1=60.1 Гц F2=0.0 Гц T=16.3°C ЭК1=вкл ЭК2=вкл ДВ=неактивен ДН=неактивен
Nov 18 14:08:35 smarthdcd[374]: controller.cpp:4436: Снятие аварии: 26.1 Низкая температура ЧРП НУ2
Nov 18 14:08:35 smarthdcd[374]: P=21.9 атм. G=1720.7 кгс I1=48.5 A I2=0.0 A F1=60.1 Гц F2=0.0 Гц T=16.3°C ЭК1=вкл ЭК2=вкл ДВ=неактивен ДН=неактивен
Nov 18 14:08:48 smarthdcd[374]: P=21.9 атм. G=1727.4 кгс I1=48.4 A I2=0.0 A F1=60.2 Гц F2=0.0 Гц T=16.5°C ЭК1=вкл ЭК2=вкл ДВ=неактивен ДН=неактивен
...
Nov 18 14:10:23 smarthdcd[374]: P=21.8 атм. G=1711.7 кгс I1=47.7 A I2=0.0 A F1=60.2 Гц F2=0.0 Гц T=17.9°C ЭК1=вкл ЭК2=вкл ДВ=неактивен ДН=неактивен
Так как у нас НУ1 на максимуме, а датчик нижний недостижим (т.к. мотор НУ1 нагнетает и не дает приводу спускаться), то привод решает увеличить производительность, подключив НУ2 к следующему ходу вверх, включить обе НУ на частоте 20Гц
Nov 18 14:10:25 smarthdcd[374]: config.cpp:223: Настройка 'selectedDrive2' изменена: 'Не выбран' --> 'Выбран'
Nov 18 14:10:25 smarthdcd[374]: P=21.9 атм. G=1725.0 кгс I1=48.1 A I2=0.0 A F1=60.2 Гц F2=0.0 Гц T=18.0°C ЭК1=вкл ЭК2=вкл ДВ=неактивен ДН=неактивен
Nov 18 14:10:25 smarthdcd[374]: config.cpp:174: Настройка 'freqDrive1' изменена: 60.00 --> 20.00
Nov 18 14:10:25 smarthdcd[374]: P=21.9 атм. G=1725.0 кгс I1=48.1 A I2=0.0 A F1=60.2 Гц F2=0.0 Гц T=18.0°C ЭК1=вкл ЭК2=вкл ДВ=неактивен ДН=неактивен
Nov 18 14:10:25 smarthdcd[374]: config.cpp:174: Настройка 'freqDrive2' изменена: 60.00 --> 20.00
Nov 18 14:10:25 smarthdcd[374]: P=21.9 атм. G=1725.0 кгс I1=48.1 A I2=0.0 A F1=60.2 Гц F2=0.0 Гц T=18.0°C ЭК1=вкл ЭК2=вкл ДВ=неактивен ДН=неактивен
Nov 18 14:10:25 smarthdcd[374]: controller.cpp:2382: условие разворота
Строчкой выше разворот, на ход вверх, после недостижения нижнего датчика
Nov 18 14:10:25 smarthdcd[374]: P=21.9 атм. G=1725.0 кгс I1=48.1 A I2=0.0 A F1=60.2 Гц F2=0.0 Гц T=18.0°C ЭК1=вкл ЭК2=вкл ДВ=неактивен ДН=неактивен
Nov 18 14:10:25 smarthdcd[374]: controller.cpp:1374: НУ1: запуск двигателя (20.0 Гц)
Nov 18 14:10:25 smarthdcd[374]: P=21.9 атм. G=1725.0 кгс I1=48.1 A I2=0.0 A F1=60.2 Гц F2=0.0 Гц T=18.0°C ЭК1=выкл ЭК2=выкл ДВ=неактивен ДН=неактивен
Nov 18 14:10:26 smarthdcd[374]: controller.cpp:2820: верхний датчик положения активен
Nov 18 14:10:26 smarthdcd[374]: P=57.3 атм. G=4645.3 кгс I1=0.0 A I2=0.0 A F1=58.3 Гц F2=0.0 Гц T=18.0°C ЭК1=выкл ЭК2=выкл ДВ=активен ДН=неактивен
Nov 18 14:10:26 smarthdcd[374]: controller.cpp:1409: НУ1: останов двигателя (нормальный)
Nov 18 14:10:26 smarthdcd[374]: P=57.3 атм. G=4645.3 кгс I1=0.0 A I2=0.0 A F1=58.3 Гц F2=0.0 Гц T=18.0°C ЭК1=выкл ЭК2=выкл ДВ=активен ДН=неактивен
Nov 18 14:10:26 smarthdcd[374]: controller.cpp:1409: НУ2: останов двигателя (нормальный)
Nov 18 14:10:26 smarthdcd[374]: P=57.3 атм. G=4645.3 кгс I1=0.0 A I2=0.0 A F1=58.3 Гц F2=0.0 Гц T=18.0°C ЭК1=выкл ЭК2=выкл ДВ=активен ДН=неактивен
Строчками выше произошло следующее: Так как при предыдущем спуске поршень едва оторвался от верхнего датчика, то при ходе вверех верхний датчик был достигнут практически мгновенно, веротяно поэтому первая НУ1 не успела опуститься с 60 до 20Гц, а вторая НУ2 и вовсе не успела запуститься. Но останов был произведен обеих НУ
Строчками ниже произойдет штатный спуск
Nov 18 14:10:27 smarthdcd[374]: controller.cpp:2962: верхний датчик положения неактивен
Nov 18 14:10:27 smarthdcd[374]: P=51.6 атм. G=4175.0 кгс I1=0.0 A I2=0.0 A F1=0.0 Гц F2=0.0 Гц T=18.0°C ЭК1=вкл ЭК2=вкл ДВ=неактивен ДН=неактивен
Nov 18 14:10:36 smarthdcd[374]: controller.cpp:3354: нижний датчик положения активен
Nov 18 14:10:36 smarthdcd[374]: P=24.3 атм. G=1920.4 кгс I1=0.0 A I2=0.0 A F1=0.0 Гц F2=0.0 Гц T=18.2°C ЭК1=вкл ЭК2=вкл ДВ=неактивен ДН=активен
Т.к. мы нормально достигли нижнего датчика, а информации о том что какая-либо из НУ не должна запускаться у нас нет, то следуя логике у нас ход вверх ожидается на двух НУ, однако контроллер сообщает о запуске только одной НУ1
Nov 18 14:10:36 smarthdcd[374]: controller.cpp:1374: НУ1: запуск двигателя (20.0 Гц)
Nov 18 14:10:36 smarthdcd[374]: P=24.3 атм. G=1920.4 кгс I1=0.0 A I2=0.0 A F1=0.0 Гц F2=0.0 Гц T=18.2°C ЭК1=выкл ЭК2=выкл ДВ=неактивен ДН=активен
Nov 18 14:10:37 smarthdcd[374]: P=31.8 атм. G=2538.3 кгс I1=0.0 A I2=0.0 A F1=0.0 Гц F2=0.0 Гц T=18.2°C ЭК1=выкл ЭК2=выкл ДВ=неактивен ДН=активен
Ток не растет, как и частота, однако по мелкому скачку давления видно, что какой то кратковременный запуск НУ1 в действительности произошел (ну или наводка от кратковременного запуска чуть подкинула нам давление), а далее тишина
Nov 18 14:10:49 smarthdcd[374]: P=22.7 атм. G=1786.5 кгс I1=0.0 A I2=0.0 A F1=0.0 Гц F2=0.0 Гц T=18.4°C ЭК1=выкл ЭК2=выкл ДВ=неактивен ДН=активен
Nov 18 14:10:52 smarthdcd[374]: P=22.0 атм. G=1731.1 кгс I1=0.0 A I2=0.0 A F1=0.0 Гц F2=0.0 Гц T=18.4°C ЭК1=выкл ЭК2=выкл ДВ=неактивен ДН=активен
Nov 18 14:10:54 smarthdcd[374]: P=21.6 атм. G=1696.5 кгс I1=0.0 A I2=0.0 A F1=0.0 Гц F2=0.0 Гц T=18.4°C ЭК1=выкл ЭК2=выкл ДВ=неактивен ДН=активен
Nov 18 14:10:56 smarthdcd[374]: P=21.3 атм. G=1673.6 кгс I1=0.0 A I2=0.0 A F1=0.0 Гц F2=0.0 Гц T=18.4°C ЭК1=выкл ЭК2=выкл ДВ=неактивен ДН=активен
...Тут все тоже самое что и выше, только давление потихоньку падает
Nov 18 14:12:18 smarthdcd[374]: P=16.5 атм. G=1280.9 кгс I1=0.0 A I2=0.0 A F1=0.0 Гц F2=0.0 Гц T=16.6°C ЭК1=выкл ЭК2=выкл ДВ=неактивен ДН=активен
Далее естественно авария и останов привода, (тут зря пишет, что останов, т.к. далее полагаются мероприятия по встряхиванию клапанов и повышению производительности)
Nov 18 14:12:36 smarthdcd[374]: controller.cpp:4366: Авария привода: 19. Превышение времени хода вверх
Nov 18 14:12:36 smarthdcd[374]: P=16.2 атм. G=1254.8 кгс I1=0.0 A I2=0.0 A F1=0.0 Гц F2=0.0 Гц T=16.1°C ЭК1=выкл ЭК2=выкл ДВ=неактивен ДН=активен
Nov 18 14:12:36 smarthdcd[374]: controller.cpp:4552: остановка привода
Nov 18 14:12:36 smarthdcd[374]: P=16.2 атм. G=1254.8 кгс I1=0.0 A I2=0.0 A F1=0.0 Гц F2=0.0 Гц T=16.1°C ЭК1=выкл ЭК2=выкл ДВ=неактивен ДН=активен
Nov 18 14:12:36 smarthdcd[374]: controller.cpp:1409: НУ1: останов двигателя (быстрый)
Nov 18 14:12:36 smarthdcd[374]: P=16.2 атм. G=1254.8 кгс I1=0.0 A I2=0.0 A F1=0.0 Гц F2=0.0 Гц T=16.1°C ЭК1=выкл ЭК2=выкл ДВ=неактивен ДН=активен
Nov 18 14:12:36 smarthdcd[374]: controller.cpp:1409: НУ2: останов двигателя (быстрый)
Nov 18 14:12:36 smarthdcd[374]: P=16.2 атм. G=1254.8 кгс I1=0.0 A I2=0.0 A F1=0.0 Гц F2=0.0 Гц T=16.1°C ЭК1=выкл ЭК2=выкл ДВ=неактивен ДН=активен
Ниже похоже процедура расклинивания
Nov 18 14:12:38 smarthdcd[374]: controller.cpp:3421: нижний датчик положения неактивен
Nov 18 14:12:38 smarthdcd[374]: P=18.3 атм. G=1429.7 кгс I1=0.0 A I2=0.0 A F1=0.0 Гц F2=0.0 Гц T=16.1°C ЭК1=вкл ЭК2=выкл ДВ=неактивен ДН=неактивен
Привод встряхивая клапан (почему то вижу только один, второй возможно не попадает в лог) спустился за нижний датчик, подсел на сальник и пытается стартануть с него, и опять же с одной НУ1 вместо двух
Nov 18 14:12:43 smarthdcd[374]: controller.cpp:1374: НУ1: запуск двигателя (20.0 Гц)
Nov 18 14:12:43 smarthdcd[374]: P=0.4 атм. G=-48.6 кгс I1=0.0 A I2=0.0 A F1=0.0 Гц F2=0.0 Гц T=15.9°C ЭК1=выкл ЭК2=выкл ДВ=неактивен ДН=неактивен
Однако мотор уже действительно не запускается, никаких даже малейших скачков не видно
Nov 18 14:12:51 smarthdcd[374]: P=0.1 атм. G=-72.1 кгс I1=0.0 A I2=0.0 A F1=0.0 Гц F2=0.0 Гц T=15.8°C ЭК1=выкл ЭК2=выкл ДВ=неактивен ДН=неактивен
Nov 18 14:12:52 smarthdcd[374]: P=0.1 атм. G=-75.5 кгс I1=0.0 A I2=0.0 A F1=н/д F2=0.0 Гц T=15.7°C ЭК1=выкл ЭК2=выкл ДВ=неактивен ДН=неактивен
Nov 18 14:12:54 smarthdcd[374]: P=0.2 атм. G=-69.5 кгс I1=0.0 A I2=0.0 A F1=0.0 Гц F2=0.0 Гц T=15.7°C ЭК1=выкл ЭК2=выкл ДВ=неактивен ДН=неактивен
Nov 18 14:12:57 smarthdcd[374]: P=0.2 атм. G=-63.8 кгс I1=0.0 A I2=0.0 A F1=0.0 Гц F2=0.0 Гц T=15.6°C ЭК1=выкл ЭК2=выкл ДВ=неактивен ДН=неактивен
...
Nov 18 14:14:34 smarthdcd[374]: P=0.1 атм. G=-72.8 кгс I1=0.0 A I2=0.0 A F1=0.0 Гц F2=0.0 Гц T=12.9°C ЭК1=выкл ЭК2=выкл ДВ=неактивен ДН=неактивен
Не двинувшись никуда в течений 120сек, привод вновь сообщает об остановке
Nov 18 14:14:43 smarthdcd[374]: controller.cpp:4552: остановка привода
Nov 18 14:14:43 smarthdcd[374]: P=0.1 атм. G=-72.3 кгс I1=0.0 A I2=0.0 A F1=0.0 Гц F2=0.0 Гц T=12.6°C ЭК1=выкл ЭК2=выкл ДВ=неактивен ДН=неактивен
Nov 18 14:14:43 smarthdcd[374]: controller.cpp:1409: НУ1: останов двигателя (быстрый)
Nov 18 14:14:43 smarthdcd[374]: P=0.1 атм. G=-72.3 кгс I1=0.0 A I2=0.0 A F1=0.0 Гц F2=0.0 Гц T=12.6°C ЭК1=выкл ЭК2=выкл ДВ=неактивен ДН=неактивен
Nov 18 14:14:43 smarthdcd[374]: controller.cpp:1409: НУ2: останов двигателя (быстрый)
Nov 18 14:14:43 smarthdcd[374]: P=0.1 атм. G=-72.3 кгс I1=0.0 A I2=0.0 A F1=0.0 Гц F2=0.0 Гц T=12.6°C ЭК1=выкл ЭК2=выкл ДВ=неактивен ДН=неактивен
Nov 18 14:14:47 smarthdcd[374]: P=0.4 атм. G=-46.5 кгс I1=0.0 A I2=0.0 A F1=0.0 Гц F2=0.0 Гц T=12.5°C ЭК1=вкл ЭК2=выкл ДВ=неактивен ДН=неактивен
Пошатав клапана выше, ниже он поднастраивает обе НУ на среднюю частоту 37,5, но запускает только НУ1
Nov 18 14:14:48 smarthdcd[374]: config.cpp:174: Настройка 'freqDrive1' изменена: 20.00 --> 37.50
Nov 18 14:14:48 smarthdcd[374]: P=0.3 атм. G=-54.7 кгс I1=0.0 A I2=0.0 A F1=0.0 Гц F2=0.0 Гц T=12.5°C ЭК1=выкл ЭК2=выкл ДВ=неактивен ДН=неактивен
Nov 18 14:14:48 smarthdcd[374]: config.cpp:174: Настройка 'freqDrive2' изменена: 20.00 --> 37.50
Nov 18 14:14:48 smarthdcd[374]: P=0.3 атм. G=-54.7 кгс I1=0.0 A I2=0.0 A F1=0.0 Гц F2=0.0 Гц T=12.5°C ЭК1=выкл ЭК2=выкл ДВ=неактивен ДН=неактивен
Nov 18 14:14:48 smarthdcd[374]: controller.cpp:1374: НУ1: запуск двигателя (37.5 Гц)
Nov 18 14:14:48 smarthdcd[374]: P=0.3 атм. G=-54.7 кгс I1=0.0 A I2=0.0 A F1=0.0 Гц F2=0.0 Гц T=12.5°C ЭК1=выкл ЭК2=выкл ДВ=неактивен ДН=неактивен
Nov 18 14:14:51 smarthdcd[374]: P=0.3 атм. G=-61.2 кгс I1=0.0 A I2=0.0 A F1=0.0 Гц F2=0.0 Гц T=12.4°C ЭК1=выкл ЭК2=выкл ДВ=неактивен ДН=неактивен
Nov 18 14:14:53 smarthdcd[374]: P=0.2 атм. G=-69.0 кгс I1=0.0 A I2=0.0 A F1=0.0 Гц F2=0.0 Гц T=12.4°C ЭК1=выкл ЭК2=выкл ДВ=неактивен ДН=неактивен
Nov 18 14:15:07 smarthdcd[374]: P=0.1 атм. G=-71.3 кгс I1=0.0 A I2=0.0 A F1=0.0 Гц F2=0.0 Гц T=11.9°C ЭК1=выкл ЭК2=выкл ДВ=неактивен ДН=неактивен
Nov 18 14:15:19 smarthdcd[374]: P=0.2 атм. G=-66.0 кгс I1=0.0 A I2=0.0 A F1=0.0 Гц F2=0.0 Гц T=11.6°C ЭК1=выкл ЭК2=выкл ДВ=неактивен ДН=неактивен
...
Nov 18 14:16:46 smarthdcd[374]: P=0.1 атм. G=-72.2 кгс I1=0.0 A I2=0.0 A F1=н/д F2=0.0 Гц T=10.2°C ЭК1=выкл ЭК2=выкл ДВ=неактивен ДН=неактивен
Тут контроллер решил ускориться и пытается запустить НУ1 на 60Гц, однако ничего не происходит, тишина.
Nov 18 14:16:48 smarthdcd[374]: controller.cpp:1374: НУ1: запуск двигателя (60.0 Гц)
Nov 18 14:16:48 smarthdcd[374]: P=0.1 атм. G=-76.3 кгс I1=0.0 A I2=0.0 A F1=0.0 Гц F2=0.0 Гц T=10.1°C ЭК1=выкл ЭК2=выкл ДВ=неактивен ДН=неактивен
Nov 18 14:16:49 smarthdcd[374]: P=0.2 атм. G=-62.3 кгс I1=0.0 A I2=0.0 A F1=0.0 Гц F2=0.0 Гц T=10.1°C ЭК1=выкл ЭК2=выкл ДВ=неактивен ДН=неактивен
Nov 18 14:16:52 smarthdcd[374]: P=0.1 атм. G=-74.3 кгс I1=0.0 A I2=0.0 A F1=0.0 Гц F2=0.0 Гц T=10.1°C ЭК1=выкл ЭК2=выкл ДВ=неактивен ДН=неактивен
Nov 18 14:16:54 smarthdcd[374]: P=0.2 атм. G=-66.2 кгс I1=0.0 A I2=0.0 A F1=0.0 Гц F2=0.0 Гц T=10.1°C ЭК1=выкл ЭК2=выкл ДВ=неактивен ДН=неактивен
...
Nov 18 14:18:45 smarthdcd[374]: P=0.1 атм. G=-72.1 кгс I1=0.0 A I2=0.0 A F1=0.0 Гц F2=0.0 Гц T=7.6°C ЭК1=выкл ЭК2=выкл ДВ=неактивен ДН=неактивен
Nov 18 14:18:48 smarthdcd[374]: controller.cpp:4552: остановка привода
И тут истекли 120 сек, последних попыток,
Nov 18 14:18:48 smarthdcd[374]: P=0.1 атм. G=-77.5 кгс I1=0.0 A I2=0.0 A F1=0.0 Гц F2=0.0 Гц T=7.5°C ЭК1=выкл ЭК2=выкл ДВ=неактивен ДН=неактивен
Nov 18 14:18:48 smarthdcd[374]: controller.cpp:1409: НУ1: останов двигателя (быстрый)
Nov 18 14:18:48 smarthdcd[374]: P=0.1 атм. G=-77.5 кгс I1=0.0 A I2=0.0 A F1=0.0 Гц F2=0.0 Гц T=7.5°C ЭК1=выкл ЭК2=выкл ДВ=неактивен ДН=неактивен
Nov 18 14:18:48 smarthdcd[374]: controller.cpp:1409: НУ2: останов двигателя (быстрый)
Nov 18 14:18:48 smarthdcd[374]: P=0.1 атм. G=-77.5 кгс I1=0.0 A I2=0.0 A F1=0.0 Гц F2=0.0 Гц T=7.5°C ЭК1=выкл ЭК2=выкл ДВ=неактивен ДН=неактивен
Тут привод курит бамбук 25 минут, за которые окончательно замораживает оба своих ЧРП
Nov 18 14:42:06 smarthdcd[374]: P=0.2 атм. G=-69.1 кгс I1=0.0 A I2=0.0 A F1=0.0 Гц F2=0.0 Гц T=-0.6°C ЭК1=выкл ЭК2=выкл ДВ=неактивен ДН=неактивен
Nov 18 14:42:07 smarthdcd[374]: controller.cpp:4366: Авария привода: 26.2 Ост. по низк. темп. ЧРП НУ1 и НУ2
Nov 18 14:42:07 smarthdcd[374]: P=0.2 атм. G=-68.5 кгс I1=0.0 A I2=0.0 A F1=0.0 Гц F2=0.0 Гц T=-0.6°C ЭК1=выкл ЭК2=выкл ДВ=неактивен ДН=неактивен
Nov 18 14:42:07 smarthdcd[374]: controller.cpp:4552: остановка привода
Nov 18 14:42:07 smarthdcd[374]: P=0.2 атм. G=-68.5 кгс I1=0.0 A I2=0.0 A F1=0.0 Гц F2=0.0 Гц T=-0.6°C ЭК1=выкл ЭК2=выкл ДВ=неактивен ДН=неактивен
Nov 18 14:42:07 smarthdcd[374]: controller.cpp:1409: НУ1: останов двигателя (быстрый)
Nov 18 14:42:07 smarthdcd[374]: P=0.2 атм. G=-68.5 кгс I1=0.0 A I2=0.0 A F1=0.0 Гц F2=0.0 Гц T=-0.6°C ЭК1=выкл ЭК2=выкл ДВ=неактивен ДН=неактивен
Nov 18 14:42:07 smarthdcd[374]: controller.cpp:1409: НУ2: останов двигателя (быстрый)
Nov 18 14:42:07 smarthdcd[374]: P=0.2 атм. G=-68.5 кгс I1=0.0 A I2=0.0 A F1=0.0 Гц F2=0.0 Гц T=-0.6°C ЭК1=выкл ЭК2=выкл ДВ=неактивен ДН=неактивен
Nov 18 14:42:07 smarthdcd[374]: controller.cpp:1453: НУ1: помечена как неисправная
следующий: 13 comment:8 by , 5 лет ago
Replying to andrei:
Станция на достаточно продолжительное время одновременно включает мотор и открывает электроклапана. Есть мысль что это неправильно. Для ислючения такого поведения в будущем нужно понять зачем она так делает.
В логе начиная с 14:08:25.
В 14:08:25 сработал верхний датчик - следовательно, ход вверх завершился, и началось выполнение хода вниз. Поэтому открылись электроклапаны.
В 14:08:26 возникла авария "26.1 Низкая температура ЧРП НУ2". В соответствиями с требованием ТЗ была запущена НУ1.
В 14:10:25 наступило условие разворота - закончился ход вниз и начался ход вверх. Электроклапаны выключились.
В 14:10:26 сработал верхний датчик, в результате чего НУ1 была остановлена.
Насколько я вижу, все работает правильно - в соответствии с требованиями ТЗ.
comment:9 by , 5 лет ago
Replying to Art_M:
Лично я здесь вижу несколько подозрительных моментов:
Nov 18 14:10:27 smarthdcd[374]: controller.cpp:2962: верхний датчик положения неактивен
Nov 18 14:10:27 smarthdcd[374]: P=51.6 атм. G=4175.0 кгс I1=0.0 A I2=0.0 A F1=0.0 Гц F2=0.0 Гц T=18.0°C ЭК1=вкл ЭК2=вкл ДВ=неактивен ДН=неактивен
Nov 18 14:10:36 smarthdcd[374]: controller.cpp:3354: нижний датчик положения активен
Nov 18 14:10:36 smarthdcd[374]: P=24.3 атм. G=1920.4 кгс I1=0.0 A I2=0.0 A F1=0.0 Гц F2=0.0 Гц T=18.2°C ЭК1=вкл ЭК2=вкл ДВ=неактивен ДН=активен
Т.к. мы нормально достигли нижнего датчика, а информации о том что какая-либо из НУ не должна запускаться у нас нет, то следуя логике у нас ход вверх ожидается на двух НУ, однако контроллер сообщает о запуске только одной НУ1
Есть такая информация! (с) Когда в 14:08:26 возникла авария, согласно требованию ТЗ, НУ2 была помечена как неисправная. Думаю, именно поэтому в 14:10:36 была запущена только НУ1 несмотря на то, что обе НУ выбраны.
Nov 18 14:10:36 smarthdcd[374]: controller.cpp:1374: НУ1: запуск двигателя (20.0 Гц)
comment:10 by , 5 лет ago
Тип: | задача → баг |
---|---|
Этап разработки: | 2-я очередь → 1-я очередь |
Хм... Я сейчас обнаружил, что в действиях при снятии аварии 26.1 указано снять пометку неисправности. Однако станция ведет себя так, как будто эта пометка не была снята...
Кажется, я нашел, в чем ошибка. В коде неверное условие снятия аварии 26.1 - она снимается если температура любой из НУ выше нуля, что не соответствует требованию ТЗ, где написано, что условие снятия противоположно Условию (возможно, когда-то в ТЗ было другое условие снятия, которое потом было исправлено, а исправления в коде не были сделаны?)...
Предположительно имело место следующее: температура НУ2 достигла нуля. Возникла авария 26.1, и НУ2 была помечена как неисправная. Сразу после этого была выполнена проверка условия снятия, которое выполнилось, и авария 26.1 была снята несмотря на то что температура НУ2 по-прежнему равна нулю. При снятии аварии отметка неисправной с НУ2 не была снята, так как температура ЧРП по-прежнему 0.
С вашего молчаливого разрешения :) я поменяю тип тикета на баг.
следующий: 14 comment:12 by , 5 лет ago
Насколько я понял здесь присутствуют две проблемы и обе касаются аварии 26.1, процитирую формулировку аварии из ТЗ:
Условие: (температура платы управления одного и только одного из ЧРП <= 0°С) и (разрешено включение другой НУ)
Сообщение: “26.1 Низкая температура ЧРП НУ1” или “26.1 Низкая температура ЧРП НУ2”
Индикация №2.
Действие в авт и руч режимах:
- запуск соответствующей НУ запретить (пометить НУ как неисправную).
- запустить только противоположную НУ
Условие снятия: обратное условию
Действия при снятии в авт. и руч. режиме:
- снять пометку неисправности с НУ
Проблема 1. Пометка неисправности не снимается с НУ при снятии аварии, хотя должна согласно ТЗ
(тут всё понятно, я думаю, что Алексей найдёт причину и починит)
Проблема 2. В ТЗ в действиях при аварии написано:
запустить только противоположную НУ
Я, прочитав описание тикета, подозреваю что это не то что ожидает Артём от этой аварии, думаю что в этой формулировке ошибка. Если привод двигался вниз в момент возникновения аварии(был открыт ЭК), то выполняя действия, контроллер запустит двигатель противоположной НУ вместе с открытым ЭК (и именно это обозначено как странность в описании тикета).
Если Артём подтвердит мои подозрения, то я предлагаю переформулировать действия так:
Действие в авт и руч режимах:
- остановить привод
- запуск соответствующей НУ запретить (пометить НУ как неисправную).
- запустить привод
Тогда после возникновении аварии привод будет остановлен и снова запущен(с хода вниз), а по условию разворота начнёт движение на исправной НУ.
следующий: 17 comment:13 by , 5 лет ago
Replying to alx:
Replying to andrei:
Станция на достаточно продолжительное время одновременно включает мотор и открывает электроклапана. Есть мысль что это неправильно. Для ислючения такого поведения в будущем нужно понять зачем она так делает.
В логе начиная с 14:08:25.
В 14:08:25 сработал верхний датчик - следовательно, ход вверх завершился, и началось выполнение хода вниз. Поэтому открылись электроклапаны.
Тут все верно сработало
В 14:08:26 возникла авария "26.1 Низкая температура ЧРП НУ2". В соответствиями с требованием ТЗ была запущена НУ1.
А вот тут неприятное недопонимание:
Авария 26.1 Низкая температура ЧРП
Условие: (температура платы управления одного и только одного из ЧРП <= 0°С) и (разрешено включение другой НУ)
Сообщение: “26.1 Низкая температура ЧРП НУ1” или “26.1 Низкая температура ЧРП НУ2”
Индикация №2.
Действие в авт и руч режимах:
-запуск соответствующей НУ запретить (пометить НУ как неисправную).
-запустить только противоположную НУ
Условие снятия: обратное условию
Действия при снятии в авт. и руч. режиме:
-снять пометку неисправности с НУ
Здесь -запустить только противоположную НУ должно было читаться как по назначению для хода вверх, а не включить ее, не смотря на то, что мы стоим на верхнем датчике. Т.е. вместо запуска получается должно быть - выбрать оставшуюся исправную и разрешенную НУ и работать на ней! И это очень стремный баг, т.к. может приводить к забегам за верхний датчик, от которых мы старательно должны уходить! Такой критический баг хотелось бы исправить оперативно!
В 14:10:25 наступило условие разворота - закончился ход вниз и начался ход вверх. Электроклапаны выключились.
Здесь все логично, но вопрос на скольких моторах должен быть осуществлен ход вверх.
Есть такая информация! (с) Когда в 14:08:26 возникла авария, согласно требованию ТЗ, НУ2 была помечена как неисправная. Думаю, именно поэтому в 14:10:36 была запущена только НУ1 несмотря на то, что обе НУ выбраны.
Здесь Алексей неверно трактуешь действия контроллера, и у меня есть два аргумента:
- Если обратить внимание на лог выше, то следует заметить, что начиная с 14:08:26 и далее авария по низкой температуре отсутствует:
Nov 18 14:08:26 smarthdcd[374]: controller.cpp:4436: Снятие аварии: 26.1 Низкая температура ЧРП НУ2
- Т.к. аварии второй НУ2 отсуствуют (т.е. обе НУ исправны), а предыдущий ход был выполнен на максимальной частоте НУ1 - 60Гц и при этом возникло условие разворота, то привод почитал логичным увеличить производительность подключив НУ2 к НУ1.
Nov 18 14:10:25 smarthdcd[374]: config.cpp:223: Настройка 'selectedDrive2' изменена: 'Не выбран' --> 'Выбран'
И при этом контроллер подтверждает своё желание включить обе насосные установки НУ1 и НУ2 тем, что снижает частоту НУ1 как полагается с 60 до минимальной частоты синхронной работы двух моторов - 20Гц,
Nov 18 14:10:25 smarthdcd[374]: config.cpp:174: Настройка 'freqDrive1' изменена: 60.00 --> 20.00
Nov 18 14:10:25 smarthdcd[374]: config.cpp:174: Настройка 'freqDrive2' изменена: 60.00 --> 20.00
Но все равно следующий пуск производит только одной НУ1, ребята давайте разберемся, почему конкретно здесь только НУ1 ?:
Nov 18 14:10:25 smarthdcd[374]: controller.cpp:1374: НУ1: запуск двигателя (20.0 Гц)
Однако по достижению верхнего датчика выключает обе НУ, почему останавливает обе (здесь нормальный останов), если запускал только одну НУ1?
Nov 18 14:10:26 smarthdcd[374]: controller.cpp:1409: НУ1: останов двигателя (нормальный)
Nov 18 14:10:26 smarthdcd[374]: controller.cpp:1409: НУ2: останов двигателя (нормальный)
Могу только предположить, что возможно мы не увидели запуск второй НУ2 в 14:10:25 в логе, т.к. с момента запуска НУ1 (а она и так уже благодаря багу была включена на 60), до срабатывания верхнего датчика прошло мало времени, и контроллер просто не увидел отклик от НУ2 и поэтому не прописал в лог запуск. (Ребята проясните, может ли быть такое? или если у него было желание запустить обе, то он бы все равно отразил бы запуск обеих НУ, независимо успело ли вернуться из ЧРП подтверждение о наличии вращения или нет)
Далее следующий запуск, также происходит только на НУ1, хотя вторая НУ2 продолжает быть выбранной и её аварий нет. Почему не включается выбранная НУ2, а на которой нет аварий?
Nov 18 14:10:36 smarthdcd[374]: controller.cpp:1374: НУ1: запуск двигателя (20.0 Гц)
Движение же фактически отсутствует (возможно мы не видим, что с НУ1 что-то не в порядке, если это так должны ли мы это каким то образом увидеть?), получаем долгий ход вверх. Останавливает он опять же обе НУ. Тут могу предположить, что при авариях автоматически происходит быстрый останов обеих НУ независимо от того сколько было включено, так или нет?
Nov 18 14:12:36 smarthdcd[374]: controller.cpp:1409: НУ1: останов двигателя (быстрый)
Nov 18 14:12:36 smarthdcd[374]: controller.cpp:1409: НУ2: останов двигателя (быстрый)
И после встряхивания клапанов, опять запуск только НУ1, движение которой опять же отсутствует, а тем временем у нас все еще есть возможность запустить НУ2, которая не имеет аварий и выбрана, но команду контроллер на нее почему то не шлет.
Nov 18 14:12:43 smarthdcd[374]: controller.cpp:1374: НУ1: запуск двигателя (20.0 Гц)
Движение отсуствует, авария по долгому ходу вверх, остановка почемуто опять обеих НУ1 и НУ2, хотя на НУ2 команд на запуск не поступало, повторное встряхивание.
Nov 18 14:14:43 smarthdcd[374]: controller.cpp:4552: остановка привода
Nov 18 14:14:43 smarthdcd[374]: controller.cpp:1409: НУ1: останов двигателя (быстрый)
Nov 18 14:14:43 smarthdcd[374]: controller.cpp:1409: НУ2: останов двигателя (быстрый)
Далее увеличение частот у обеих НУ1 и НУ2 , и запуск снова только на НУ1, движение которой по факту отсуствует (вопрос, почему ускоряет обе (значит обе выбраны), а включает только одну?):
Nov 18 14:14:48 smarthdcd[374]: config.cpp:174: Настройка 'freqDrive1' изменена: 20.00 --> 37.50
Nov 18 14:14:48 smarthdcd[374]: config.cpp:174: Настройка 'freqDrive2' изменена: 20.00 --> 37.50
Nov 18 14:14:48 smarthdcd[374]: controller.cpp:1374: НУ1: запуск двигателя (37.5 Гц)
Далее попытка сходу ускорить только НУ1, а фактического движения НУ1 как не было так и нет.
Nov 18 14:16:48 smarthdcd[374]: controller.cpp:1374: НУ1: запуск двигателя (60.0 Гц)
Ну и опять же по истечению 120 сек, остановка обеих НУ1 и НУ2.
Nov 18 14:18:48 smarthdcd[374]: controller.cpp:1409: НУ1: останов двигателя (быстрый)
Nov 18 14:18:48 smarthdcd[374]: controller.cpp:1409: НУ2: останов двигателя (быстрый)
И все же если были выбраны обе, то почему команда на запуск была только на НУ1, а если была выбрана только НУ1, то почему в условиях отсуствия движения на НУ1 он так и не воспользовался НУ2, которая суда по логу была исправна?
Ну и спустя 25 минут сообщение, что все замерзло
Nov 18 14:42:07 smarthdcd[374]: controller.cpp:4366: Авария привода: 26.2 Ост. по низк. темп. ЧРП НУ1 и НУ2
Nov 18 14:42:07 smarthdcd[374]: controller.cpp:4552: остановка привода
Nov 18 14:42:07 smarthdcd[374]: controller.cpp:1409: НУ1: останов двигателя (быстрый)
Nov 18 14:42:07 smarthdcd[374]: controller.cpp:1409: НУ2: останов двигателя (быстрый)
Nov 18 14:42:07 smarthdcd[374]: controller.cpp:1453: НУ1: помечена как неисправная
Помечена неисправной только НУ1, почему? Может ли все замерзнуть разом? последнее сообщения о 26-х авариях было о снятии аварии 26.1 с НУ2, т.е. до этого момента обе НУ согласно логу не считались замерзшими.
comment:14 by , 5 лет ago
Replying to san:
Действительно две эти проблемы, могли привести к тому, что произошло с приводом судя по логу.
- вероятно так и есть, вторая НУ2 была замерзшей, но привод ее снял с аварии. С другой стороны если контроллер ошибочно снял и считал исправной НУ2, то почему не слал команды на запуск? Допустим слал бы команды, но она не работала. (Как это произошло в нашем случае с НУ1 под конец)
- первая НУ1 при возникновении аварии на НУ2 не должна запускаться, как это произошло. Твое предложение по устранению устраивает. Единственное, что чуть смущает, так это то, что если рассмотреть наш случай, то получается, если привод работал на НУ1, а замерзла НУ2, то привод действуя на НУ1 остановится, и далее выполнит запуск снова на НУ1. Т.е. если авария на НУ2 будет то появляться то сниматься, то это будет постоянно сказываться на работе привода на исправной НУ1 в целом, будут постоянные перезапуски при замерзании недействующей НУ2. Тут было бы разветвить, что если замерзла, действующая НУ, то выполнить ее остановку и запуск привода (с хода вниз) на противоположной (если разрешено), а если замерзла недействующая (невыбранная) НУ, то только лишь оповестить об этом и запретить выбор замерзшей (недействующей).
Ну и оставшийся вопрос, почему не было работы НУ1, когда на нее шли команды? Судя по тому, что прошивка старая и еще не фиксировала все ошибки ЧРП у себя в логе, то теперь мы не узнаем о причинах отсутствия движения на НУ1, я правильно понял?
comment:16 by , 5 лет ago
Replying to san:
Меняем ТЗ как я предлагаю или есть другие предложения?
Саша, да надо менять однозначно! Во избежание забегов за верхний датчик, такой критический момент исправить бы сразу и в прошивке. Я чуть переписал сообщение выше, обрати, пожалуйста внимание!
следующий: 21 comment:17 by , 5 лет ago
Replying to Art_M:
- Т.к. аварии второй НУ2 отсуствуют (т.е. обе НУ исправны),
Неверное логическое построение! Отсутствие какой-либо аварии еще не означает, что НУ исправна. У каждой НУ есть так называемая "пометка неисправности" - именно она говорит об исправности или неисправности НУ, а не наличие или отсутствие какой-либо аварии. Это первое.
Но все равно следующий пуск производит только одной НУ1, ребята давайте разберемся, почему конкретно здесь только НУ1 ?:
Второе. Каждый раз, когда отметка неисправности НУ устанавливается или снимается, в журнале делается соответствующая запись (см. например 14:42:07). Однако когда в 14:08:26 возникла авария 26.1, помечающая НУ2 как неисправную, в журнале нет такой записи. Это - косвенное свидетельство того, что НУ2 уже была помечена неисправной ранее, где-то за пределами периода времени, охватываемого приложенным журналом. Еще одно косвенное подтверждение этому - отсутствие в журнале записей о запуске НУ2, хотя мы видим, что до 14:08:26 НУ2 была выбрана.
Резюме того, что я уже писал выше: НУ2 не запускается, так как она помечена как неисправная. Отметка неисправности с нее не была снята, так как температура ЧРП меньше или равна 0. Снятие же аварии 26.1 - ложное (результат неверного условия снятия).
Nov 18 14:10:25 smarthdcd[374]: controller.cpp:1374: НУ1: запуск двигателя (20.0 Гц)
Однако по достижению верхнего датчика выключает обе НУ, почему останавливает обе (здесь нормальный останов), если запускал только одну НУ1?
Контроллер останавливает выбранные НУ. Выбраны обе НУ.
Могу только предположить, что возможно мы не увидели запуск второй НУ2 в 14:10:25 в логе, т.к. с момента запуска НУ1 (а она и так уже благодаря багу была включена на 60), до срабатывания верхнего датчика прошло мало времени, и контроллер просто не увидел отклик от НУ2 и поэтому не прописал в лог запуск. (Ребята проясните, может ли быть такое? или если у него было желание запустить обе, то он бы все равно отразил бы запуск обеих НУ, независимо успело ли вернуться из ЧРП подтверждение о наличии вращения или нет)
Поясняю. Такого не может быть. Сообщение "НУx: запуск двигателя (xx.x Гц)" выводится в журнал независимо от какого-либо отклика. Более того, оно выводится еще до подачи в ЧРП команды запуска.
Далее следующий запуск, также происходит только на НУ1, хотя вторая НУ2 продолжает быть выбранной и её аварий нет. Почему не включается выбранная НУ2, а на которой нет аварий?
Четвертый раз отвечаю - потому что НУ2 помечена как неисправная, а ТЗ запрещает запускать НУ, помеченные как неисправные.
Движение же фактически отсутствует (возможно мы не видим, что с НУ1 что-то не в порядке, если это так должны ли мы это каким то образом увидеть?),
Насколько я понимаю, ЧРП при каких-то условиях возвращает какие-то аварии и/или предупреждения. Должен ли он был выдать какую-то аварию в данном конкретном случае, я не знаю. Надо изучать документацию на ЧРП...
получаем долгий ход вверх. Останавливает он опять же обе НУ. Тут могу предположить, что при авариях автоматически происходит быстрый останов обеих НУ независимо от того сколько было включено, так или нет?
Нет, не так. Сообщение "НУx: останов двигателя (xxx)" выводится только если НУ была запущена. Но, с другой стороны, я вижу, что в журнале есть записи об останове НУ2, но нет записей о ее запуске. Могу предположить, что в рассматриваемой станции ревизия ПО (пакета smarthdc) существенно отличается от последней, код которой я анализирую. Косвенно это подтверждается значительной разницей в номерах строк, указанных в выводимых сообщениях, и которые я вижу в тексте. Возможно, в той ревизии, которая работает на данной станции, это не так (не зная номер ревизии пакета, установленного на данной станции, я не могу посмотреть его код).
Далее увеличение частот у обеих НУ1 и НУ2 , и запуск снова только на НУ1, движение которой по факту отсуствует (вопрос, почему ускоряет обе (значит обе выбраны), а включает только одну?):
Пятый раз отвечаю: потому что НУ2 помечена как неисправная. ТЗ запрещает запуск НУ, помеченных неисправными.
И все же если были выбраны обе, то почему команда на запуск была только на НУ1,
Шестой раз отвечаю: потому что НУ2 помечена как неисправная. ТЗ запрещает запуск НУ, помеченных неисправными.
а если была выбрана только НУ1, то почему в условиях отсуствия движения на НУ1 он так и не воспользовался НУ2, которая суда по логу была исправна?
Повторяю: из лога не видно, что она была исправна. Напротив, из лога видно (см. начало комментария), что она была неисправна уже на момент начала лога.
Помечена неисправной только НУ1, почему?
Потому что НУ2 уже была помечена неисправной ранее.
Может ли все замерзнуть разом?
Не вижу причины, по которой такого не могло бы быть. Видимо, может.
последнее сообщения о 26-х авариях было о снятии аварии 26.1 с НУ2, т.е. до этого момента обе НУ согласно логу не считались замерзшими.
Это верно. Но, как я уже писал ранее, снятие аварии 26.1 было ложным (результат неверного условия снятия).
следующий: 23 comment:18 by , 5 лет ago
Владелец: | установлено в |
---|---|
Копия: | removed |
Состояние: | new → assigned |
Этап разработки: | 1-я очередь → 2-я очередь |
По "проблеме 1." описаной Алексеем в comment:10, я создал #231
Этот тикет забираю себе т.к речь о "баге" в ТЗ.
Раз в ТЗ присутствует ошибка, предлагаю договорится о правках в ТЗ и я их сделаю.
comment:19 by , 5 лет ago
Краткое описание: | Странности в работе СУГП-ЧР → Авария 26.1 Одновременное включение ЭК и ЭД |
---|
comment:20 by , 5 лет ago
Replying to Art_M:
С другой стороны если контроллер ошибочно снял и считал исправной НУ2, то почему не слал команды на запуск?
ТЗ запрещает запуск НУ, помеченных как неисправные.
- первая НУ1 при возникновении аварии на НУ2 не должна запускаться, как это произошло.
В ТЗ в действиях при возникновении аварии 26.1 написано:
запустить только противоположную НУ
В соответствии с этим требованием ТЗ НУ2 (противоположная, то есть та , температура которой выше нуля) была запущена. Да, я уже знаю, что данное требование ТЗ неверное, но на момент написаня кода мне это известно не было, поэтому контроллер его выполняет.
следующий: 22 comment:21 by , 5 лет ago
Replying to alx:
Алексей, следуя этой логике, получается что контроллер может выбрать НУ, зная о ее неисправности? Алексей, поясни, пожалуйста, правильно ли я понял? Хотелось бы понять, какой в этом физический смысл?
Т.е. если НУ1 исправна и работает на максимуме, а НУ2 - неисправна. И вдруг понадобилось увеличить производительность, то контроллер начнет сбавлять частоту первой и единственной исправной НУ1 до "минимальной синхронной" при подключении (выборе) заведомо неисправной НУ2, которую фактически контроллеру запускать запрещено?
comment:22 by , 5 лет ago
Replying to Art_M:
Алексей, следуя этой логике, получается что контроллер может выбрать НУ, зная о ее неисправности?
Алексей, поясни, пожалуйста, правильно ли я понял?
Да, правильно. В некоторых случаях это возможно.
Пример такого случая:
- возникла авария "25. Аварийный темпер. режим работы" при обоих выбранных НУ. При этом текущие ПП сохраняются в память.
- Затем одна из НУ помечается как неисправная.
- Затем снимается авария "25. Аварийный темпер. режим работы". При этом восстанавливаются сохраненные ранее ПП. В результате НУ, помеченная как неисправная, оказывается выбранной.
Хотелось бы понять, какой в этом физический смысл?
Тут я ничем не могу помочь. Я не специалист в области нефтедобычи. :) Я просто перевожу требования, записанные в ТЗ, на машинный язык, не вникая в физический смысл (предполагая, что ТЗ писали специалисты, которые знают, что надо делать, лучше меня).
Т.е. если НУ1 исправна и работает на максимуме, а НУ2 - неисправна. И вдруг понадобилось увеличить производительность, то контроллер начнет сбавлять частоту первой и единственной исправной НУ1 до "минимальной синхронной" при подключении (выборе) заведомо неисправной НУ2, которую фактически контроллеру запускать запрещено?
Сейчас посмотрю... Да, все верно.
comment:23 by , 5 лет ago
Replying to alx:
Replying to Art_M:
Алексей, следуя этой логике, получается что контроллер может выбрать НУ, зная о ее неисправности?
Алексей, поясни, пожалуйста, правильно ли я понял?
Да, правильно. В некоторых случаях это возможно.
Я считал наоборот, что область выбранных устройств (НУ, ЭК) может быть только внутри области исправных т.е. область выбранных равно или меньше исправных. Вот это вот и сбило меня с толку.
Что-то тут надо пересматривать.
Т.е. если НУ1 исправна и работает на максимуме, а НУ2 - неисправна. И вдруг понадобилось увеличить производительность, то контроллер начнет сбавлять частоту первой и единственной исправной НУ1 до "минимальной синхронной" при подключении (выборе) заведомо неисправной НУ2, которую фактически контроллеру запускать запрещено?
Сейчас посмотрю... Да, все верно.
В частности вот такие случаи, как выше.
Replying to san:
По "проблеме 1." описаной Алексеем в comment:10, я создал #231
Этот тикет забираю себе т.к речь о "баге" в ТЗ.
Раз в ТЗ присутствует ошибка, предлагаю договорится о правках в ТЗ и я их сделаю.
Действие в авт и руч режимах:
случай 1. если неисправность возникла на действующей насосной установке, и разрешен запуск оставшейся исправной НУ , то:
- отобразить аварию
- запуск соответствующей НУ запретить (пометить НУ как неисправную)
- выбрать только оставшуюся НУ и перезапустить привод с хода вниз.
случай 2. если неисправность возникла на недействующей (невыбранной или уже неисправной) насосной установке
- отобразить аварию
- запуск соответствующей НУ запретить (пометить НУ как неисправную).
Условие снятия: обратное условию
Действия при снятии в авт. и руч. режиме:
- снять пометку неисправности с НУ
дополнительные действия при случая 1:
- дождаться возникновения разворота в нижней точке по датчику или временному условию (чтобы возврат на приоритетную происходил без потери ритма)
- выполнить ход вверх в соответствии с приоритетом (если приоритетная НУ исправна).
Вот как то так получается. Не слишком сложно?
Артем: Андрей, привет
Артем Павлович Макаров: Файл
Артем Павлович Макаров: нужно разобраться, что произошло
Артем Павлович Макаров: в логе messages.16 с 14:08 и далее происходит нечто непонятное
Артем Павлович Макаров: messages.16 с 14:08:26
Артем Павлович Макаров: 14:08:25 chf,jnfk dth[ybq lfnxbr
Артем Павлович Макаров: это да
Артем Павлович Макаров: но привод продолжает работать на 1 моторе
Артем Павлович Макаров: смотри 14_08_25 сработал верхний датчик
Артем Павлович Макаров: далее некоторый забег
Артем Павлович Макаров: ввключаются клапаны
Артем Павлович Макаров: начинается фаза спуска
Артем Павлович Макаров: 14_08_26 повторно срабатывает верхний датчик, уже на спуске
Артем Павлович Макаров: а далее до 14_10_25 включены одновременно оба клапана и вколючен первый мотор на 60 ГЦ
Артем Павлович Макаров: привод как бы ехал вниз, но при этом продолжал крутить первый мотор
Артем Павлович Макаров: и в 14_10_25 возникло условие разворота
Артем Павлович Макаров: хочу доконца понять, почему он встал
Артем Павлович Макаров: знаю что сейчас оба ЧРП говорят о низкой температуре
Андрей: там двери-то закрыты?
Андрей: может все инеем покрылось?
Артем Павлович Макаров: все может быть, просто не понятно, он сначала встал, а потом замерз или наоборот
Артем Павлович Макаров: вот далее после вознеикновения разворота оба клапана выключилисть
Артем Павлович Макаров: и он тутже в 14_10_26 достиг верхнего датчика
Артем Павлович Макаров: после чего клапаны включились, а мотор выключился
Артем Павлович Макаров: в 14_10_36 он спустился к нижнему
Артем Павлович Макаров: Nov 18 14:10:36 smarthdcd[374]: controller.cpp:1374: НУ1: запуск двигателя (20.0 Гц)
Артем Павлович Макаров: но его не происходит, оба клапаны выключены, привод стоит на нижнем датчике
Артем Павлович Макаров: Nov 18 14:10:36 smarthdcd[374]: controller.cpp:1374: НУ1: запуск двигателя (20.0 Гц)
Nov 18 14:10:36 smarthdcd[374]: P=24.3 атм. G=1920.4 кгс I1=0.0 A I2=0.0 A F1=0.0 Гц F2=0.0 Гц T=18.2°C ЭК1=выкл ЭК2=выкл ДВ=неактивен ДН=активен