PDA

Просмотр полной версии : Непонятное поведение СП310+МУ110-16Р



Юрий Агапов
16.09.2016, 08:39
Использую связку, указанную в теме, СП310 выступает в роли мастера, через интерфейс панели (грубо говоря кнопки) управляю каналами МУ110 по modbus.
Вообще вопросов на данный момент 2:
1. Кнопки реагируют как положено (прописан PLC порт 16 - для первого канала к примеру), а вот с индикацией какая-то непонятная вещь происходит, а именно. Добавляю индикатор в проект, пытаюсь "повесить" его на 16 порт (по умолчанию для МУ110), НО отображения нет - на экране периодически появляется диалог "соединение.. PLC порт 16"... и ничего не происходит.
Если к примеру использовать read в макросах и индикатор повесить на PSB то всё корректно.
Кстати проблема работы с регистрами МУ110 наблюдается и при использовании "Переключателя с индикацией" - также не работает.

2. Где в макросах можно прописать процедуру или функцию которая бы исполнялась после включения панели - дабы актуализировать индикацию состояния каналов МУ110 - например выключили и включили панель и через макросы обновили все индикаторы с использованием read.

Евгений Кислов
16.09.2016, 08:55
1. Индикатор пытается использовать функцию Read Coils или Read Discrete Inputs, которую модуль не поддерживает. Поэтому надо считывать регистр битовой маски (например, через макросы или функциональную область), а потом выводить на экран значения его битов - что, собственно, вы и сделали.

2. Объявите логическую переменную, инициализируйте ее со значением FALSE, проверяйте через IF, что она равна FALSE, если равна - значит, произошел запуск панели, соответственно, опрашивайте модуль и присваивайте переменной значение TRUE, чтобы прекратить опрос.

Юрий Агапов
16.09.2016, 10:35
1. Индикатор пытается использовать функцию Read Coils или Read Discrete Inputs, которую модуль не поддерживает. Поэтому надо считывать регистр битовой маски (например, через макросы или функциональную область), а потом выводить на экран значения его битов - что, собственно, вы и сделали.

2. Объявите логическую переменную, инициализируйте ее со значением FALSE, проверяйте через IF, что она равна FALSE, если равна - значит, произошел запуск панели, соответственно, опрашивайте модуль и присваивайте переменной значение TRUE, чтобы прекратить опрос.

С одной стороны всё вроде бы понятно, но не совсем понятно где именно должен быть этот самый IF...

Евгений Кислов
16.09.2016, 10:46
Прикладываю пример. В нем при старте панели в PSW300 однократно записывается значение 100. Вам по аналогии нужно произвести необходимые действия с модулями.

Юрий Агапов
16.09.2016, 11:22
Исправил макрос следующим образом - не отрабатывает
BOOL HMIstart=FALSE;
BOOL Value;

if (HMIstart==FALSE)
{


Read(PLC, 16, MODBUS_RTU_BIT_0X, 0, 0, TYPE_BIT, &Value);
if (Value==TRUE)
{
SetPSB(300);
}
else
{
ResetPSB(300);
}

PSW[300]=Value;
HMIstart=TRUE;
}

Евгений Кислов
16.09.2016, 12:30
У меня ваш код отрабатывает, но не один раз, а постоянно.

Я не могу в данный момент прокомментировать, почему так происходит, но могу предложить решение - используйте вместо HMIstart один из регистров панели.

Примерно так:


BOOL Value;

if (PSW[400]==0)
{


Read(DOWNLOAD, 1, MODBUS_RTU_BIT_0X, 0, 0, TYPE_BIT, &Value);
if (Value==TRUE)
{
SetPSB(300);
}
else
{
ResetPSB(300);
}

PSW[300]=Value;
PSW[400]=1;
}

Юрий Агапов
20.09.2016, 13:12
В итоге решил свою задачу следующим образом, т.к. булево не хочет адекватно работать. На PSB300 соответственно висит индикатор, читаю значение регистра МУ110 в переменную с типом dword (с BOOL повторюсь не вышло - всегда в TRUE не зависимо от состояния регистра), ну а дальше согласно условий...

DWORD Value=0;

if (PSW[400]==0)
{


Read(DOWNLOAD, 32, MODBUS_RTU_REG_4X, 0, 0, TYPE_WORD, &Value);

if (Value!=0)
{
SetPSB(300);
}
else
{
ResetPSB(300);
}

PSW[400]=1;
}

Юрий Агапов
10.10.2016, 12:41
В общем и целом - что-то все таки СП310 сыровата совсем (или же конфигуратор от нее).
Использую данную панель в паре с модулями МУ110 - вот некоторые грабли (это помимо тех что выше написаны)
1. Элемент управления "Переключатель с индикацией" - с привязкой к порту PLC/Download - напрочь отказывается работать - снова приходится шаманить с макросами и внутренними регистрами, чтобы заставить адекватно управлять портами
ВОПРОС: почему с обычными кнопками всё нормально а с этим элементом такой бардак?

2. Функциональные области нельзя переименовывать - если у меня несколько областей на экране - приходится на память запоминать какая за что отвечает!
3. Адекватно прочитать состояние канала с МУ110 получается ТОЛЬКО через тип WORD так еще и с REG_4x, а вот записать состояние канала почему то по данной схеме уже не получается
приходится уже битовыми типами оперировать Write(DOWNLOAD, 176, MODBUS_RTU_BIT_0X, 0, 0, TYPE_BIT, Value);

Почему такая несогласованность?! Все приходится путем проб и ошибок выяснять.

Юрий Агапов
10.10.2016, 12:49
и где взять последнюю версию конфигуратора для СП310?

petera
10.10.2016, 12:53
В общем и целом - что-то все таки СП310 сыровата совсем (или же конфигуратор от нее).
Использую данную панель в паре с модулями МУ110 - вот некоторые грабли (это помимо тех что выше написаны)
1. Элемент управления "Переключатель с индикацией" - с привязкой к порту PLC/Download - напрочь отказывается работать - снова приходится шаманить с макросами и внутренними регистрами, чтобы заставить адекватно управлять портами
ВОПРОС: почему с обычными кнопками всё нормально а с этим элементом такой бардак?

2. Функциональные области нельзя переименовывать - если у меня несколько областей на экране - приходится на память запоминать какая за что отвечает!
3. Адекватно прочитать состояние канала с МУ110 получается ТОЛЬКО через тип WORD так еще и с REG_4x, а вот записать состояние канала почему то по данной схеме уже не получается
приходится уже битовыми типами оперировать Write(DOWNLOAD, 176, MODBUS_RTU_BIT_0X, 0, 0, TYPE_BIT, Value);

Почему такая несогласованность?! Все приходится путем проб и ошибок выяснять.

Да это не панель "сыроватая", а просто опыта у Вас маловато.
Расскажите, а лучше покажите, чего Вы хотите получить от "Переключателя с индикацией", какие у него настройки, и что не работает без "шаманства".

Юрий Агапов
10.10.2016, 13:02
Задача казалось бы элементарная:
Есть модуль МУ110 - необходимо включать и выключать его каналы
1. Добавляю на экран "Переключатель с индикацией" в свойствах выставляю download порт (адрес модуля 176), регистр 0х - таким образом хочу управлять первым каналом модуля.
2. На вкладке "индикатор" - инверсия
При первом нажатии канал включается (по логике индикатор тоже должен загореться, но этого не происходит), повторное нажатие ни к чему не приводит - появляется окно "соединение.. Download порт 176"

Да и дело тут получается больше в том что во включенном состоянии канала МУ110 в регистре не битовое значение а WORD (1000) вот индикатор видимо и не понимает что дальше делать...
Вот собственно и всё!

Юрий Агапов
10.10.2016, 13:14
В итоге что сделано для того чтобы это заработало:
1. "Переключатель с индикацией" натравлен на PSB301;
2. Добавлена функциональная область с циклом - макрос следующего вида:

BOOL Value=0;

if (GetPSBStatus(301))
{
Value=TRUE;
}
else
{
Value=FALSE;
}

Write(DOWNLOAD, 176, MODBUS_RTU_BIT_0X, 0, 0, TYPE_BIT, Value);

Вот таким образом всё отрабатывает!


Чуть позже добавил - да можно конечно оптимизировать чуток до одной строки:
Write(DOWNLOAD, 176, MODBUS_RTU_BIT_0X, 0, 0, TYPE_BIT, GetPSBStatus(301));

Юрий Агапов
10.10.2016, 13:14
Просто когда планируется рулить 100 или более нагрузками :)) придется пописать видимо :) - малой кровью не обойдешься.

Юрий Агапов
10.10.2016, 13:28
так может не писать булевый переключатель в ИНТовый регистр, а писать изменение бита в 50 регистре

с этого момента поподробнее - что за 50 регистр?

petera
10.10.2016, 13:35
Задача казалось бы элементарная:
Есть модуль МУ110 - необходимо включать и выключать его каналы
1. Добавляю на экран "Переключатель с индикацией" в свойствах выставляю download порт (адрес модуля 176), регистр 0х - таким образом хочу управлять первым каналом модуля.
2. На вкладке "индикатор" - инверсия
При первом нажатии канал включается (по логике индикатор тоже должен загореться, но этого не происходит), повторное нажатие ни к чему не приводит - появляется окно "соединение.. Download порт 176"

Да и дело тут получается больше в том что во включенном состоянии канала МУ110 в регистре не битовое значение а WORD (1000) вот индикатор видимо и не понимает что дальше делать...
Вот собственно и всё!

Дело в том, что МУ110 не поддерживает команды Modbus для чтения отдельных бит 0х или 1х. Т.е. тут не панель виновата, модуль МУ110.
По этому в настройках Переключателя подсветки нужно разделить адреса чтения и записи, благо переключатель это позволяет.
Например,
26965
Здесь запись происходит в битовую ячейку МУ110,
а чтение происходит из битовой маски выходов.
Тут и макросов ни каких не нужно.
Хотя я не уверен, что модуль может понимать команды для записи отдельных бит 0х или 1х

В принципе нужно и для чтения состояния и записи нового значения использовать тот же регистр битовой маски (50)
26966
Только и здесь модуль подкачал, для записи всего одного регистра ему нужна команда, которая используется для записи нескольких регистров.
Для того, чтобы панель использовала нужную команду (0х10) нужно в регистр PFW36.2=1, лучше всего то сделать однократно - ф. областью с действием "После загрузки проекта", выключить и включить панель, чтобы изменения вступили в силу.

petera
10.10.2016, 13:46
просто прочел Ваше упоминание про значение 1000 и термин регистр, вот и пришел к Выводу что пользуетесь таблицей из руководства В.4 ив той же таблице где Вы смотрели состояние первого кaнaла под нулевым регистром, есть битовая маска
Если же это касается таблицы В.5, то там адресация использует термин ячейка и использует 15 функцию записи, тут не знаю может ли панель этой функцией пользоваться.
Возвращаясь к битовой маске, нужно учитывать что писать в неё надо регистр, а его заполнять переключением состояний для каждого разряда, вроде как это сделать Вам предлагали примеры и я так понял, что Вы пишите, только вместо 50 регистра в нулевой

Ну да похоже второй вариант с битовой маской в моем посте не прокатит, т.к. нужно сформировать всю маску.
26967

Тогда первый вариант - самое то, если для МУ110

Write(DOWNLOAD, 176, MODBUS_RTU_BIT_0X, 0, 0, TYPE_BIT, Value);
это действительно работает.
Тогда никаких макросов вообще не нужно.

Юрий Агапов
10.10.2016, 13:52
Ну да похоже второй вариант с битовой маской в моем посте не прокатит, т.к. нужно сформировать всю маску.
26967

Тогда первый вариант - самое то, если для МУ110

это действительно работает.
Тогда никаких макросов вообще не нужно.

write, указанный выше РАБОТАЕТ! это проверено на железе.

petera
10.10.2016, 13:56
write, указанный выше РАБОТАЕТ! это проверено на железе.

Ну тогда так попробуйте
26968
Это для первого выхода МУ110
26969
Для второго
управление - 0х1
мониторинг 4х50.01
Для третьего
управление - 0х2
мониторинг 4х50.02

и т.д.

ЗЫ.
Похоже этот метод будет работать только если у переключателя действие или ВКЛ или ВЫКЛ.
А вот для действия "Инверсия" - не получится. К сожалению:(

Юрий Агапов
10.10.2016, 14:01
Ну тогда так попробуйте
26968
Это для первого выхода МУ110
26969
Для второго
управление - 0х1
мониторинг 4х50.01
Для третьего
управление - 0х2
мониторинг 4х50.02

и т.д.

Состояние индикатора теперь соответствует действительности (т.е. использование 50 регистра в мониторинге помогло этот вопрос закрыть), а вот с управлением - РАБОТАЕТ ТОЛЬКО НА ВКЛ! :)
Что то не то с инверсией...

petera
10.10.2016, 14:13
Я уже про это предыдущий пост дополнил

ЗЫ.
Похоже этот метод будет работать только если у переключателя действие или ВКЛ или ВЫКЛ.
А вот для действия "Инверсия" - не получится. К сожалению

Но зато вариант с битовой маской и для управления и для мониторинга
26972

При условии

нужно в регистр PFW36.2=1, лучше всего то сделать однократно - ф. областью с действием "После загрузки проекта", выключить и включить панель, чтобы изменения вступили в силу.

скорей всего работать будет так как надо:rolleyes:

Юрий Агапов
10.10.2016, 14:20
Я уже про это предыдущий пост дополнил


Но зато вариант с битовой маской и для управления и для мониторинга
26972

При условии


скорей всего работать будет так как надо:rolleyes:


p.s...На форуме нашел про 270 панель и про 300 - не так я сделал как надо - сейчас макрос пропишу попробую этот регистр в 1 взвести.

petera
10.10.2016, 14:36
p.s...На форуме нашел про 270 панель и про 300 - не так я сделал как надо - сейчас макрос пропишу попробую этот регистр в 1 взвести.

Если Вы про макрос для сп270, то не надо его для сп300 использовать.
СП300 поддерживает команду 0х10 без макросов. Нужно только задать однократно PFW36.2=1 и использовать биты маски (50 регистр МУ110) прямо в переключателе.

Юрий Агапов
10.10.2016, 14:40
Если Вы про макрос для сп270, то не надо его для сп300 использовать.
СП300 поддерживает команду 0х10 без макросов. Нужно только задать однократно PFW36.2=1 и использовать биты маски (50 регистр МУ110) прямо в переключателе.

Через функциональную область Бит ВКЛ - это не сработало. Как еще задать PFW можно? Информации что то крайне мало в документациях.

petera
10.10.2016, 15:30
Через функциональную область Бит ВКЛ - это не сработало. Как еще задать PFW можно? Информации что то крайне мало в документациях.
Изменения вступают в силу после выключения и повторного включения панели.

1.
26973
2.
ф.область д.б. или на стартовом экране или сделать ее глобальной
26974
3.
26975
Можно сделать даже пустой проект с одной этой функцией

-загрузить в панель
-подождать 30 сек. Ждать 30 сек нужно потому, что в PFW информация записывается не сразу, а запись на флеш кешируется.
-выключить панель
- включить и все, в PFW36 значения останутся новыми вплоть до новой перезаписи.
Чтобы убедится можно просто лампу с этим битом на экране сделать.

Юрий Агапов
10.10.2016, 15:45
Что ж - смею огорчить - вариант не работает на СП310
Придется все ж макросы использовать.

petera
10.10.2016, 16:30
Что ж - смею огорчить - вариант не работает на СП310
Придется все ж макросы использовать.

Только на последней картинке у меня "очепятка"
нужно вкл PFW36.2
А ошибочно указано PFW26.1
Может по тому и не работает?
То, что панель будет при PFW36.2=1 использовать функции 0х10 вместо штатной 0х06, проверено и подтверждается.
Так, что должно работать. Ведь тот макрос и был сделан для реализации в СП270 именно 0х10 функции.

Юрий Агапов
10.10.2016, 19:59
Только на последней картинке у меня "очепятка"
нужно вкл PFW36.2
А ошибочно указано PFW26.1
Может по тому и не работает?
То, что панель будет при PFW36.2=1 использовать функции 0х10 вместо штатной 0х06, проверено и подтверждается.
Так, что должно работать. Ведь тот макрос и был сделан для реализации в СП270 именно 0х10 функции.

Я сразу увидел опечатку. Изменял значение регистра 36.2 - индикатор который к нему привязан - показывает что он введен в 1, но повторюсь на СП310 у меня это не взлетело.

Юрий Агапов
12.10.2016, 09:40
Ну что больше никаких предположений - остается все таки на макросах лепить?!

petera
12.10.2016, 11:47
Ну что больше никаких предположений - остается все таки на макросах лепить?!

Т.е. Вы хотите сказать,
что этот макрос работает

//В примере адрес устройства равен 176
//Данные с маской выхoдов МУ в регистре PSW300
//*************************************************
BYTE snd[11]={0xB0,0x10,0x00,0x32,0x00,0x01,0x02};//буфер для посылки команды slave
//[0]-адрес устройства(0x01)
//[1]-Код функции ModbusRTU 0x10 -запись нескольких регистров
//[2]-ст.байт адреса начального регистра(0x00)
//[3]-мл.байт адреса начального регистра(0x32)
//[4]-ст.байт количества регистров(0x00)
//[5]-мл.байт количества регистров(0x01)
//[6]-количество байтов(0x02)
//[7]-ст.байт значения в регистре(Определим ниже)
//[8]-мл.байт значения в регистре(Определим ниже)
//[9]-ст.байт CRC(Определим ниже)
//[10]-мл.байт CRC(Определим ниже)

BYTE rcv[8];//буфер для приема ответа от slave
//[0]-адрес устройства
//[1]-Код функции ModbusRTU-чтение нескольких регистров 0x10
//[2]-ст.байт адреса начального регистра(0x00)
//[3]-мл.байт адреса начального регистра(0x32)
//[4]-ст.байт количества регистров(0x00)
//[5]-мл.байт количества регистров(0x01)
//[6]-ст.байт CRC
//[7]-мл.байт CRC

snd[7]=HIBYTE(PSW[300]);
snd[8]=LOBYTE(PSW[300]);
snd[9]=HIBYTE(Crc(snd,9));//дополнить команду CRC, сначала Hi
snd[10]=LOBYTE(Crc(snd,9));//затем Lo
//Crc() -внутренняя функция, ее писать не надо

Enter(PLC);//Захватить порт PLC
Send(PLC,snd,11);//Отправить команду
Receive(PLC,rcv,8,1000,6);//Получить ответ (тайм-аут 1000мс)
Leave(PLC);//Освободить порт
а переключатель
27001
при переводе режима Modbus для формирования функции 0х10
27002
не работает?

Юрий Агапов
13.10.2016, 06:56
Абсолютно точно! Макрос работает, изменение регистра PFW36.2=1 не дает никакого результата. Панель СП310-Р

LEX2030
21.02.2018, 20:57
Доброго времени суток. Удалось ли решить проблему? Необходимо связать ПС-310-Р+МУ110-16Р+МВ110-8А, не знаю как подступится. Можно конечно через ПР-200, но зачем, как напрямую чет не пойму с чего начать.

Евгений Кислов
21.02.2018, 21:04
Доброго времени суток. Удалось ли решить проблему? Необходимо связать ПС-310-Р+МУ110-16Р+МВ110-8А, не знаю как подступится. Можно конечно через ПР-200, но зачем, как напрямую чет не пойму с чего начать.

Добрый вечер. Проблемы, собственно, нет. Начать лучше всего с изучения карты регистров модулей Mx110.

Каким образом планируете управлять МУ110-16Р? Если с дисплея панели, то подключайте модуль к PLC-порту и устанавливайте бит PFW36.2 в значение Вкл.
Если управлять надо по каким-то алгоритмам, используйте макросы:
http://www.owen.ru/uploads/aip_47_sait_kislov_36-37.pdf

LEX2030
21.02.2018, 22:01
Спасибо за скорый ответ. Задача измерение температуры 15 точек, пока...Управление двигателями с панели, пока..., ну а далее аппетит приходит во время еды, СП начал изучать 5 дней назад, проект для решения текущих задач готов, как к скаде подключить видео есть, а вот как прикурить МУ и МВ..сижу и туплю...:confused:

Евгений Кислов
22.02.2018, 07:08
а вот как прикурить МУ и МВ..сижу и туплю...:confused:

У нас есть такой пример - с опросом МВ и МК. Вам достаточно убрать часть, которая связана с опросом дискретных входов МК и выставить свои сетевые настройки/адреса модулей.
http://www.owen.ru/uploads/sp307_macrocommunication.zip

LEX2030
22.02.2018, 16:19
Добрый день. С наступающим праздником. С МУ разобрался, НО!!! При уходе на другой экран, опрос адреса МУ прекращается и модуль уходит в ошибку. Но если я лупану кую ни будь кнопочку или лампочку на этом "не рабочем" экране, все замечательно, опрос идет, ошибки нет. Так что, лупить толпу ненужных ламп на всех окнах? И еще, при пропадании (обрыве) связи с модулем, панель виснет, пытаясь связаться, причем уйти на другое окно очень тяжело, как быть?

Ильнур Гибадуллин
22.02.2018, 17:11
Добрый день. С наступающим праздником. С МУ разобрался, НО!!! При уходе на другой экран, опрос адреса МУ прекращается и модуль уходит в ошибку. Но если я лупану кую ни будь кнопочку или лампочку на этом "не рабочем" экране, все замечательно, опрос идет, ошибки нет. Так что лупить толпу ненужных ламп на всех окнах? И еще, при пропадании (обрыве) связи с модулем, панель виснет, пытаясь связаться, причем уйти на другое окно очень тяжело, как быть?

Добрый день! Если делаете опрос с модулем, например, через функциональную область, то сделайте элемент глобальным (ПКМ на элемент --> Глобальный). Тоже самое можно применить ко всем другим элементами.

Евгений Кислов
22.02.2018, 17:13
Добрый день. С наступающим праздником. С МУ разобрался, НО!!! При уходе на другой экран, опрос адреса МУ прекращается и модуль уходит в ошибку. Но если я лупану кую ни будь кнопочку или лампочку на этом "не рабочем" экране, все замечательно, опрос идет, ошибки нет. Так что лупить толпу ненужных ламп на всех окнах? И еще, при пропадании (обрыве) связи с модулем, панель виснет, пытаясь связаться, причем уйти на другое окно очень тяжело, как быть?

1. Если вы делали опрос на базе примера - то просто сделайте функциональную область глобальной (нажав на нее ПКМ).
2. Пропадание связи - это нештатная ситуация. В текущей реализации с поведением панели ничего нельзя сделать.

LEX2030
22.02.2018, 19:12
1).Если честно, то в примере не понял ни....чего. Просто включил бит : порт PLC, Адрес..., Регистр...,....,...И все заработало.Работают и кнопки, и переключатели, всё. Кстати "ВКЛ бит PFW36.2" работает без перезапуска, сразу. Глобальной Ф.О объявить не удается. Кнопку удается, лампочку получаетья, а Ф.О нет.
2) А если исключить оборваный модуль из опроса? Или уменьшить частоту опроса, разумеется с тревогой?

Евгений Кислов
22.02.2018, 19:16
1).Если честно, то в примере не понял ни....чего. Просто включил бит : порт PLC, Адрес..., Регистр...,....,...И все заработало.Кстати работают и кнопки, и переключатели, всё. Кстати "ВКЛ бит PFW36.2" работает без перезапуска, сразу. Глобальной Ф.О объявить не удается. Кнопку удается, лампочку получаетья, а Ф.О нет.
2) А если исключить оборваный модуль из опроса? Или уменьшить частоту опроса, разумеется с тревогой?

1) Странно. Если вы ф.о. скопировали из примера - то, возможно, она там уже и так была глобальной.
2) С помощью макросов - так сделать можно. Но после исключения возобновлять опрос придется вручную - нажатием кнопки на дисплее панели.

LEX2030
22.02.2018, 19:25
1).Если честно, то в примере не понял ни....чего. Просто включил бит : порт PLC, Адрес..., Регистр...,....,...И все заработало.Кстати работают и кнопки, и переключатели, всё. Кстати ВКЛ бит PFW36.2 работает без перезапуска, сразу. Глобальной Ф.О объявить не удается. Кнопку удается, лампочку получаетья, а Ф.О нет.
2) А если исключить оборваный модуль из опроса? Или уменьшить частоту опроса, разумеется с тревогой?

LEX2030
22.02.2018, 19:34
1). Не копировал, а писал. Так что глобальной она быть не могла.
2). А что, если мышки перегрызли кабель, сразу фиксики его соединят, а кнопку не нажмут????

Евгений Кислов
22.02.2018, 19:41
1). Не копировал, а писал.
2). А что если мышки перегрызли кабель, сразу фиксики его соедият, а кнонку не нажмут????

1) Если выложите ваш проект - подскажем, в чем дело.
2) Тогда зачем вообще останавливать обмен? Всплывающее окно о потере связи поможет оператору быстро диагностировать проблему и вызвать фиксиков.