Подвисание службы коммуникатора

Стартовая страница Форумы Ошибки в работе Ошибки Коммуникатора Подвисание службы коммуникатора

Просмотр 15 сообщений - с 16 по 30 (из 37 всего)
  • Автор
    Сообщения
  • #3407
    kustar
    Участник

    Хотя, можно и парсеру!
    16 байт он видит как данные из регистров.
    Если байты сложить в правильном порядке, наверняка получим float

    #3409
    manjey73
    Участник

    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.
    #3411
    kustar
    Участник

    Первая и третья переменные — ок.
    Спасибо!
    Вторая и четвертая — в расчетах и отображении не участвуют, поэтому, я не знаю, что это. Ковыряться в работающей на коммерцию системе не рискну.
    Там все же четыре переменные, не служебка. У MODBUS TCP вся служебка спереди, CRC в конце нет.

    #3412
    manjey73
    Участник

    Тогда последняя переменная если переставить байты просто +1
    я не знаю, что это ? 🙂

    #3413
    kustar
    Участник

    Да это и неважно. Порядок старший-младший Вы определили правильно. Если у Михаила будет желание и возможность, он добавит в dll возможность читать четырехбайтные MODBUS регистры.
    Manjey73, просьба к ВАМ. Если не сложно, тезисно, опишите порядок настройки в админе работы с переменной на чтение/запись.
    У меня на запись не работает. Может, неправильно конфигурю.
    Спасибо!

    #3416
    manjey73
    Участник

    А что там описывать то ?

    http://postimg.org/image/6fsqrswdb/ команды управления
    http://postimg.org/image/h7gui8zaz/ входные каналы

    http://postimg.org/image/emo53l7qj/ — шаблон команд, номера потом проставить в КУ, в ВК сослаться на номера базы КУ

    В коммуникаторе разрешить команды Теле Управления (ТУ)

    #3420
    Mikhail
    Модератор

    По протоколу обмена:
    запрашивалось 4 регистра, а в ответ вернулось 8 двухбайтных. С точки зрения стандартного Модбас — это некорректно, соответственно драйвер выдаст ошибку.

    #3421
    Mikhail
    Модератор

    Настройка команд в Админе не решает проблему зависания. Для проверки команд достаточно отправлять их из Коммуникатора. Когда будет понятно, что нужно отправлять из Коммуникатора, настроить в Администраторе — дело нескольких минут.

    #3424
    kustar
    Участник

    Михаил, я правильно понял, что запись в тэг можно делать вовсе без настроек в админе? Просто вручную из коммуникатора?

    Еще вопрос. Убрал из настроек коммуникатора все, что связано с записью в тэги. Перезапустил сервис. В логе коммуникатора по 5 раз на секунду запись:
    2016-10-27 13:37:00 <ARM><СИСТЕМА><ACT> Получена неактуальная команда из файла: команда управления приложением
    ARM — это имя компа.
    Работает нормально, читает из Лектуса 41 тэг.

    #3428
    Mikhail
    Модератор

    Просто вручную из коммуникатора?

    Да.

    Посмотрите, что за файл застрял в C:\SCADA\ScadaComm\Cmd

    #3430
    kustar
    Участник

    Убрал из ..\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. Качество: good

    2016-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 — служба остановилась.

    #3437
    Mikhail
    Модератор

    После того, как зависание началось, проходит ли команда перезапуска только одной линии связи из контекстного меню этой линии?

    #3438
    Mikhail
    Модератор

    Какую команду Вы отправляете?

    #3443
    kustar
    Участник

    Команды останова и запуска этой линии проходят (сообщение появляется), но после перезапуска линии данных чтения нет. У коммуникатора статус — работает.
    Отправляю команду «Стандартная» с номером команды, привязанным к нужному тэгу в настройках dll

    #3445
    Mikhail
    Модератор

    Боюсь, что проблема не логического свойства, а системного.
    Получается ли отправить такую же команду из стороннего клиента, например, Martikon OPC Explorer?

Просмотр 15 сообщений - с 16 по 30 (из 37 всего)
  • Вы должны авторизироваться для ответа в этой теме.