Стартовая страница › Форумы › Ошибки в работе › Ошибки Коммуникатора › Подвисание службы коммуникатора
- В этой теме 36 ответов, 3 участника, последнее обновление 7 лет, 5 месяцев назад сделано Mikhail.
-
АвторСообщения
-
27.10.2016 в 07:06 #3407kustarУчастник
Хотя, можно и парсеру!
16 байт он видит как данные из регистров.
Если байты сложить в правильном порядке, наверняка получим float27.10.2016 в 09:20 #3409manjey73Участник42 0B 23 8A = +34.78470611572265625 — первая переменная СИКН отсылает 4 байта младшим байтом вперед. то есть поменять надо 3210 (если не ошибся)
45 59 67 88 = +3478.470703125 — похоже умножает на 100 и происходит округление небольшое.
42 1E 2A F7 = +39.541957855224609375 третья переменная
дальше служебка похоже modbus TCP
Надо попробовать считать 3 флоата с перестановкой байт и что он выдаст ?
- Этот ответ был изменен 7 лет, 5 месяцев назад от manjey73.
27.10.2016 в 09:54 #3411kustarУчастникПервая и третья переменные — ок.
Спасибо!
Вторая и четвертая — в расчетах и отображении не участвуют, поэтому, я не знаю, что это. Ковыряться в работающей на коммерцию системе не рискну.
Там все же четыре переменные, не служебка. У MODBUS TCP вся служебка спереди, CRC в конце нет.27.10.2016 в 10:03 #3412manjey73УчастникТогда последняя переменная если переставить байты просто +1
я не знаю, что это ? 🙂27.10.2016 в 10:14 #3413kustarУчастникДа это и неважно. Порядок старший-младший Вы определили правильно. Если у Михаила будет желание и возможность, он добавит в dll возможность читать четырехбайтные MODBUS регистры.
Manjey73, просьба к ВАМ. Если не сложно, тезисно, опишите порядок настройки в админе работы с переменной на чтение/запись.
У меня на запись не работает. Может, неправильно конфигурю.
Спасибо!27.10.2016 в 10:33 #3416manjey73УчастникА что там описывать то ?
http://postimg.org/image/6fsqrswdb/ команды управления
http://postimg.org/image/h7gui8zaz/ входные каналыhttp://postimg.org/image/emo53l7qj/ — шаблон команд, номера потом проставить в КУ, в ВК сослаться на номера базы КУ
В коммуникаторе разрешить команды Теле Управления (ТУ)
27.10.2016 в 11:52 #3420MikhailМодераторПо протоколу обмена:
запрашивалось 4 регистра, а в ответ вернулось 8 двухбайтных. С точки зрения стандартного Модбас — это некорректно, соответственно драйвер выдаст ошибку.27.10.2016 в 11:54 #3421MikhailМодераторНастройка команд в Админе не решает проблему зависания. Для проверки команд достаточно отправлять их из Коммуникатора. Когда будет понятно, что нужно отправлять из Коммуникатора, настроить в Администраторе — дело нескольких минут.
27.10.2016 в 13:49 #3424kustarУчастникМихаил, я правильно понял, что запись в тэг можно делать вовсе без настроек в админе? Просто вручную из коммуникатора?
Еще вопрос. Убрал из настроек коммуникатора все, что связано с записью в тэги. Перезапустил сервис. В логе коммуникатора по 5 раз на секунду запись:
2016-10-27 13:37:00 <ARM><СИСТЕМА><ACT> Получена неактуальная команда из файла: команда управления приложением
ARM — это имя компа.
Работает нормально, читает из Лектуса 41 тэг.27.10.2016 в 13:55 #3428MikhailМодераторПросто вручную из коммуникатора?
Да.
Посмотрите, что за файл застрял в C:\SCADA\ScadaComm\Cmd
27.10.2016 в 15:41 #3430kustarУчастникУбрал из ..\Cmd четыре файла с датой 25.10. Ошибка исчезла.
Даю команду на запись ч-з коммуникатор. Значение тэга меняется и коммуникатор подвисает. GUI говорит, что коммуникатор работает, но чтения тэгов нет.
Жду минуту, изменений нет.
Через минуту останавливаю службу.
Служба останавливается еще через минуту.В файле line016.log:
2016-10-27 15:14:02 КП 60. Обработка изменения текущих данных. Подписка: АРМ
КП 60. Обработка тега. Наименование: Vector1.Line2.Pout. Значение: 3,211069. Качество: good
КП 60. Обработка тега. Наименование: Vector1.Line2.Tout. Значение: 22,452. Качество: good
КП 60. Обработка тега. Наименование: Vector1.BKK.P. Значение: 1,285043. Качество: good
КП 60. Обработка тега. Наименование: Vector1.BKK.T. Значение: 11,19019. Качество: good
КП 60. Обработка тега. Наименование: Vector1.BKK.Ro. Значение: 868,8333. Качество: good
КП 60. Обработка тега. Наименование: Vector1.BKK.Ro20. Значение: 861,827. Качество: good
КП 60. Обработка тега. Наименование: Vector1.BKK.Ro15. Значение: 865,3787. Качество: good
КП 60. Обработка тега. Наименование: Vector1.BIL.Pin. Значение: 2,645329. Качество: good
КП 60. Обработка тега. Наименование: Vector1.Oper_Narast.Tout. Значение: 10,59764. Качество: good
КП 60. Обработка тега. Наименование: Vector1.Oper_Narast.Pout. Значение: 3,168506. Качество: good
КП 60. Обработка тега. Наименование: Vector1.Oper_Narast.Ro. Значение: 870,4327. Качество: good
КП 60. Обработка тега. Наименование: Vector1.Oper_Narast.Tbk. Значение: 11,55105. Качество: good
КП 60. Обработка тега. Наименование: Vector1.Oper_Narast.Pbk. Значение: 1,286798. Качество: good
КП 60. Обработка тега. Наименование: Vector1.Oper_Narast.Robk. Значение: 868,6605. Качество: good
КП 60. Обработка тега. Наименование: Vector1.Oper_Narast.Water. Значение: 0,1495064. Качество: good
КП 60. Обработка тега. Наименование: Vector1.Oper_Narast.QWater. Значение: 0,1721035. Качество: good
КП 60. Обработка тега. Наименование: Vector1.Sut_Narast.Tout. Значение: 11,52255. Качество: good
КП 60. Обработка тега. Наименование: Vector1.Sut_Narast.Tbk. Значение: 12,29791. Качество: good
КП 60. Обработка тега. Наименование: Vector1.Sut_Narast.Pbk. Значение: 1,440838. Качество: good
КП 60. Обработка тега. Наименование: Vector1.Sut_Narast.Water. Значение: 0,1489145. Качество: good
КП 60. Обработка тега. Наименование: Vector1.Sut_Narast.QWater. Значение: 0,1712903. Качество: good
КП 60. Обработка тега. Наименование: Vector1.BKK.Q. Значение: 1,077649. Качество: good
КП 60. Обработка тега. Наименование: Vector1.BKK.Water. Значение: 0,179752. Качество: good
КП 60. Обработка тега. Наименование: Vector1.BKK.QWater. Значение: 0,2068889. Качество: good2016-10-27 15:14:03 Команда КП 60 «ИВК СИКН «, тип: KpOpc
15:14 — время подачи команды.
В файле ScadaCommSvc.log:
———————————————————————————
2016-10-27 15:12:00 <ARM><СИСТЕМА><ACT> Служба ScadaCommService 4.5.0.6 запущена
2016-10-27 15:12:00 <ARM><СИСТЕМА><ACT> Загрузка библиотеки КП: KpOpc.dll
2016-10-27 15:12:00 <ARM><СИСТЕМА><ACT> Установка соединения со SCADA-Сервером «10.162.1.234»
2016-10-27 15:12:00 <ARM><СИСТЕМА><ACT> Запуск линий связи
2016-10-27 15:12:00 <ARM><СИСТЕМА><ACT> Запуск приёма команд
2016-10-27 15:14:03 <ARM><СИСТЕМА><ACT> Получена команда из файла: тип=Standard, КП=60, номер=103
2016-10-27 15:16:06 <ARM><СИСТЕМА><ACT> Прерывание приёма команд
2016-10-27 15:16:06 <ARM><СИСТЕМА><ACT> Остановка линий связи
2016-10-27 15:16:17 <ARM><СИСТЕМА><ACT> Разрыв соединения со SCADA-Сервером
2016-10-27 15:16:17 <ARM><СИСТЕМА><ACT> Служба ScadaCommService остановлена
———————————————————————————
15:14 — время подачи команды, 15:15 — остановил службу через GUI, 15:16 — служба остановилась.28.10.2016 в 08:55 #3437MikhailМодераторПосле того, как зависание началось, проходит ли команда перезапуска только одной линии связи из контекстного меню этой линии?
28.10.2016 в 08:56 #3438MikhailМодераторКакую команду Вы отправляете?
28.10.2016 в 11:57 #3443kustarУчастникКоманды останова и запуска этой линии проходят (сообщение появляется), но после перезапуска линии данных чтения нет. У коммуникатора статус — работает.
Отправляю команду «Стандартная» с номером команды, привязанным к нужному тэгу в настройках dll28.10.2016 в 15:40 #3445MikhailМодераторБоюсь, что проблема не логического свойства, а системного.
Получается ли отправить такую же команду из стороннего клиента, например, Martikon OPC Explorer? -
АвторСообщения
- Вы должны авторизироваться для ответа в этой теме.