Неверный формат ответа SCADA-Сервера

Стартовая страница Форумы Ошибки в работе Ошибки Коммуникатора Неверный формат ответа SCADA-Сервера

Помечено: , , ,

Просмотр 9 сообщений - с 1 по 9 (из 9 всего)
  • Автор
    Сообщения
  • #31052
    GennadyZ6
    Участник

    Добрый вечер.
    Столкнулся с такой проблемой.
    Был у меня конвертер ОВЕН АС4 и проработал почти 5 лет без проблем. После — сгорел.
    На данный момент не смогли быстро найти его и купили конвертер USB to RS485 TTL Serial на FT232. У меня сборка такая: Raspberry Pi3B+, Raspbian, RapidScada, TRM202 и датчики. Драйвера я под линукс собрал и установил. Конфигурацию прописал. Порт привязал.
    В итоге:
    ScadaCommSVc.log — Неверный формат ответа SCADA-Сервера на запрос состояния
    line006.log (моя рабочая линия связи) — Запрос значений группы элементов «Входы» — Ошибка связи!

    В конфигах прописал порт /dev/ttyUSB0, скорость 9600, 8 бит, стоп бит 1 (в ТРМ проверил чтобы параметры совпадали).
    Что интересно когда я отправляю уставку на ТРМ, она проходит. Значение на ТРМ изменяется на то, которое я отправил. А вот получить данные с ТРМ не могу.

    Куда копать? Что может быть не так?

    #31053
    manjey73
    Участник

    Ну по идее у вас шаблон должен был остаться прежним от АС4
    Почему у вас тогда нет ответа?

    Причины:
    1. запрашиваете несуществующий регистр
    2. запрашиваете группой, где попадает несуществующий регистр
    3. вообще группой нельзя запрашивать, некоторые приборы не отдают
    4. не выставленны таймауты, типа по нулям.

    Раз уставка проходит, значит связь есть и по правильному регистру.
    Где-то просто допустили ошибку в шаблоне Modbus.

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

    Добрый день!
    Какая версия Rapid SCADA используется?

    #31062
    GennadyZ6
    Участник

    Версия 5.6.0
    Коммуникатор 5.1.1.0

    #31063
    GennadyZ6
    Участник

    «3. вообще группой нельзя запрашивать, некоторые приборы не отдают» — буду иметь в виду.

    «4. не выставленны таймауты, типа по нулям.» — Где именно? И какой тайм-аут должен быть? И таймаут чего именно?)))

    «Где-то просто допустили ошибку в шаблоне Modbus.» —
    Вот мой шаблон:
    <CommLine active=»true» bind=»true» number=»6″ name=»Raspb.Server»>
    <CommChannel type=»Serial»>
    <Param name=»BaudRate» value=»9600″ />
    <Param name=»Behavior» value=»Master» />
    <Param name=»DataBits» value=»8″ />
    <Param name=»DtrEnable» value=»False» />
    <Param name=»Parity» value=»None» />
    <Param name=»PortName» value=»/dev/ttyUSB0″ />
    <Param name=»RtsEnable» value=»False» />
    <Param name=»StopBits» value=»One» />
    </CommChannel>
    <LineParams>
    <Param name=»ReqTriesCnt» value=»3″ descr=»Количество попыток перезапроса КП при ошибке» />
    <Param name=»CycleDelay» value=»0″ descr=»Задержка после цикла опроса, мс» />
    <Param name=»CmdEnabled» value=»true» descr=»Команды ТУ разрешены» />
    <Param name=»ReqAfterCmd» value=»false» descr=»Опрос КП после команды ТУ» />
    <Param name=»DetailedLog» value=»true» descr=»Записывать в журнал подробную информацию» />
    </LineParams>
    <CustomParams>
    <Param name=»TransMode» value=»RTU» />
    </CustomParams>
    <ReqSequence>
    <KP active=»true» bind=»true» number=»1″ name=»ТРМ Теплица 1″ dll=»KpModbus.dll» address=»1″ callNum=»teplo1″ timeout=»1000″ delay=»200″ time=»00:00:00″ period=»00:00:00″ cmdLine=»KpModbus_mytrm.xml» />
    <KP active=»true» bind=»true» number=»2″ name=»ТРМ Теплица 2″ dll=»KpModbus.dll» address=»2″ callNum=»teplo2″ timeout=»1000″ delay=»200″ time=»00:00:00″ period=»00:00:00″ cmdLine=»KpModbus_mytrm.xml» />
    <KP active=»true» bind=»true» number=»3″ name=»ТРМ Теплица 3″ dll=»KpModbus.dll» address=»3″ callNum=»teplo3″ timeout=»1000″ delay=»200″ time=»00:00:00″ period=»00:00:00″ cmdLine=»KpModbus_mytrm.xml» />
    <KP active=»true» bind=»true» number=»4″ name=»ТРМ Теплица 4″ dll=»KpModbus.dll» address=»4″ callNum=»teplo4″ timeout=»1000″ delay=»200″ time=»00:00:00″ period=»00:00:00″ cmdLine=»KpModbus_mytrm.xml» />
    <KP active=»true» bind=»true» number=»5″ name=»ТРМ Теплица 5″ dll=»KpModbus.dll» address=»5″ callNum=»teplo5″ timeout=»1000″ delay=»200″ time=»00:00:00″ period=»00:00:00″ cmdLine=»KpModbus_mytrm.xml» />
    <KP active=»true» bind=»true» number=»6″ name=»ТРМ Теплица 6″ dll=»KpModbus.dll» address=»6″ callNum=»teplo6″ timeout=»1000″ delay=»200″ time=»00:00:00″ period=»00:00:00″ cmdLine=»KpModbus_mytrm.xml» />
    <KP active=»true» bind=»true» number=»7″ name=»ТРМ Теплица 7″ dll=»KpModbus.dll» address=»7″ callNum=»teplo7″ timeout=»1000″ delay=»200″ time=»00:00:00″ period=»00:00:00″ cmdLine=»KpModbus_mytrm.xml» />
    <KP active=»true» bind=»true» number=»8″ name=»ТРМ Теплица 8″ dll=»KpModbus.dll» address=»8″ callNum=»teplo8″ timeout=»1000″ delay=»200″ time=»00:00:00″ period=»00:00:00″ cmdLine=»KpModbus_mytrm.xml» />
    <KP active=»true» bind=»true» number=»9″ name=»ТРМ Теплица 9″ dll=»KpModbus.dll» address=»9″ callNum=»teplo9″ timeout=»1000″ delay=»200″ time=»00:00:00″ period=»00:00:00″ cmdLine=»KpModbus_mytrm.xml» />
    <KP active=»true» bind=»true» number=»10″ name=»ТРМ Теплица 10″ dll=»KpModbus.dll» address=»10″ callNum=»teplo10″ timeout=»1000″ delay=»200″ time=»00:00:00″ period=»00:00:00″ cmdLine=»KpModbus_mytrm.xml» />
    <KP active=»false» bind=»true» number=»11″ name=»ТРМ Котёл №1″ dll=»KpModbus.dll» address=»11″ callNum=»bak1″ timeout=»1000″ delay=»200″ time=»00:00:00″ period=»00:00:00″ cmdLine=»KpModbus_mytrm.xml» />
    <KP active=»false» bind=»true» number=»12″ name=»ТРМ Котёл №2″ dll=»KpModbus.dll» address=»12″ callNum=»bak2″ timeout=»1000″ delay=»200″ time=»00:00:00″ period=»00:00:00″ cmdLine=»KpModbus_mytrm.xml» />
    </ReqSequence>
    </CommLine>

    #31064
    manjey73
    Участник

    timeout=»1000″ — вот это не должно быть равным 0, но у вас не 0.

    callNum=»teplo2″ — интересно это что? callNum вроде должно быть просто числовым значением. Это же вроде адрес прибора в сети RTU/
    Блин, в 5-й версии это наверное IP если он есть…

    • Этот ответ был изменен 8 месяцев, 3 недели назад от manjey73.
    • Этот ответ был изменен 8 месяцев, 3 недели назад от manjey73.
    #31067
    manjey73
    Участник

    Без бутылки не разобрать :)… Есть привязка к БД судя по шаблону. Там адреса прописаны в БД ?

    Вообще логи Коммуникатора бы как чтения так и записи

    #31068
    manjey73
    Участник

    KpModbus_mytrm.xml на файлообменник киньте. Его надо смотреть тоже.

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

    Скриншот шаблона Модбас и настроек устройства в Коммуникаторе будут более полезны, чем не отформатированный XML. Также для прояснения ситуации будет полезно скопировать запросы и ответы из журнала линии связи.

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