This is topic Новичок и Trace mode in forum TRACE MODE 6 бесплатная Базовая версия / TRACE MODE 6 free Base version at Форум TRACE MODE: техническая поддержка.
Добрый день. Заранее прошу не судить строго, только начал осваивать trace mode, по железу тоже не специалист. В готовом проекте есть канал HEX32 типа input, привзан к источнику Rout_Float (тип input, протокол modbus). При изменении значения этого канала должен меняться цвет заливки некоего графического элемента. Попытка отследить изменение значения в отчете тревог (вместе с еще двумя для полноты картины) не дала ничего, то есть измнение двух других параметров я в файле вижу, а нужного мне нет. Спецы по аппаратной части утверждают, что этот параметр приходит от модуля WAD_DI14_BUS, даже показывают, как на этом модуле загорается соответствующий светодиод, но его изменения trace mode не видит. Подскажите, в каком направлении копать. Спасибо
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Уточните, пожалуйста, - почему выбран источник Rout_Float, если у модуля всего 16 дискретных (булевых?) входов, а источник Rout_Float считывает 4 байта, - по какому Modbus-адресу регистра Вы считываете значение в канал HEX32, - в каком диапазоне может изменяться число, которое Вы ожидаете получить в канале HEX32, - какой именно дискретный вход индицирует светодиод, указываемый "спецами по аппаратной части", - каким образом Вы привязываете ГЭ именно к этому дискретному сигналу.
Posted by Андрей DTP (Участник № / Member № 7103) on :
1. почему был выбран Rout_Float -не знаю, это готовый проект, автор недоступен 2. порт 0х0, адрес 0x5, канал 0x110 3. 0-1 4. светодиод №1 5. цвет заливки вид индикации (Arg=Конст) привязка (R22_RUN) имя ко
Posted by Андрей DTP (Участник № / Member № 7103) on :
5. цвет заливки вид индикации (Arg=Конст) привязка (R22_RUN) константа (1) если истинно зеленый цвет если ложно красный цвет
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
R22_RUN - это имя канала HEX32, получающего сигнал по Modbus? К какому атрибуту канала R22_RUN привязан индикатор? В каком релизе Вы работаете? В каком формате - базовом или профессиональном?
В "Панели МРВ" в дереве каналов посмотрите, как меняется значение канала R22_RUN.
Posted by Андрей DTP (Участник № / Member № 7103) on :
1. R22_RUN - это имя канала HEX32 2. вероятно, к значению 3. Релиз 6.04 базовый
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
У канала HEX32 есть атрибуты РЕАЛЬНОЕ_ЗНАЧЕНИЕ, ВХОДНОЕ_ЗНАЧЕНИЕ, АППАРАТНОЕ_ЗНАЧЕНИЕ, а также значения БИТОВ и т.д.
Как меняется "значение" этого канала, привязанное к индикатору, при изменении состояния светодиода?
Posted by Андрей DTP (Участник № / Member № 7103) on :
1. скорее всего, реальное значение
2. в любом случае (светодиод горит/не горит) значение 0
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Атрибут 4 ("Достоверность") этого канала чему равен T или F? По каким-либо другим каналам с этим модулем обмен данными осуществляется?
Posted by Андрей DTP (Участник № / Member № 7103) on :
1. Атрибут 4 - true 2. Да
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
1. Замените "Источник-Modbus" Rout_Float на Rout_Word с теми же привязками.
2. Подключите перехватчик COM-порта (типа PortMon) и по его протоколу проследите, как отвечает модуль WAD_DI14_BUS на запрос именно этого "Источника".
Posted by Андрей DTP (Участник № / Member № 7103) on :
Добрый день Заменил источник с Rout_Float на Rout_Word Создал для источника канал (автосозданием, от получился HEX16)
Результат: 1. Цвет заливки так и не меняется 2. В файле отчета тревог появилась строка "09.11.2017 09:20:23.0 H22_RUN TC2 Error 00000002." 3. В логе узла RTM - куча (>500) строк "WRN_RS:COM1 error 8 H22_RUN "
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Перехват трафика COM-порта есть?
Posted by Андрей DTP (Участник № / Member № 7103) on :
нет, но могу сделать. (как расшифровывать не знаю)
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
"WRN_RS:COM1 error 8 H22_RUN " Это сообщение говорит, что по запросу канала H22_RUN получено неверное количество символов.
1. Настройте перехватчик так, чтобы трафик отображался в HEX-формате (не в текстовом). 2. Выключите из обмена все каналы кроме H22_RUN. 3. Расшифровка должна базироваться на стандарте протокола Modbus.
Posted by Андрей DTP (Участник № / Member № 7103) on :
Перехват обмена 1. первые две строки - запрос и ответ "0", вторые две - запрос и ответ "1"
[09/11/2017 15:26:29] Written data (COM1) 05 03 01 10 00 02 c5 b6 [09/11/2017 15:26:29] Read data (COM1) 05 03 04 00 00 00 00 bf f3 [09/11/2017 15:26:29] Written data (COM1) 05 03 01 10 00 02 c5 b6 [09/11/2017 15:26:29] Read data (COM1) 05 03 04 00 00 00 01 7e 33
По протоколу перехвата ошибок обмена не наблюдается. 1. В одном запросе запрашиваются 2 регистра. В ответе "искомая" "1" - в младшем бите регистра с адресом 0x111 (273 dec). Регистр с адресом 0x110 возвращает чистый "0". 2. Возможно, что в узле RTM кроме исследуемого канала H22_RUN существует еще один Modbus-канал, который опрашивает источник типа Rout_Word(3) с адресом 0x111. ID этого канала больше, чем ID канала H22_RUN. По регламенту встроенного драйвера Modbus в этом случае автоматически формируется групповой запрос (чтобы сократить трафик).
Т.о., бит, соответствующий "мигающему светодиоду", следует искать в этом втором канале. Если при тестировании Вы его выключали, надо включить.
Posted by Андрей DTP (Участник № / Member № 7103) on :
извините, вчера ошибочно отправил не тот перехват COMa в перехвате только строки [10/11/2017 10:51:30] Written data (COM1) 05 03 01 10 00 01 85 b7 других нет.
ответов от модуля нет, а в логах записи, описанные в посте от 09-11-2017 13:17
Posted by Андрей DTP (Участник № / Member № 7103) on :
а по адресу 0x5 подключен только один канал
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Видимо, первый перехват относился к проекту, в котором адрес 0x110 опрашивался "Источником" типа Rout_Float?
Тогда можно предположить, что у модуля существует ограничение типа "считывать только по 2 регистра".
Тогда попробуйте приспособиться следующим образом.
Создайте 2 "Источника" Rout_Word с каналами 0x110 и 0x111.
Методом D&D последовательно, в этом же порядке (сначала 0x110, затем 0x111) перенесите их в узел RTM.
Убедитесь перехватом, что при этом формируется 1 запрос на 2 регистра: Written data (COM1) 05 03 01 10 00 02 c5 b6
Ответ ищите в канале, который привязан к "Источнику" 0x111.
Posted by Андрей DTP (Участник № / Member № 7103) on :
В источнике 0x111 есть искомая единичка, я ее вижу и обрабатываю. Но появилось много ошибок COM порта при работе с источниками 0x110 и 0x111 (данные из лога - на 1600 обращения к COMу - порядка 200 ошибок чтения из порта)
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Ранее в профайлерном протоколе у Вас были сообщения об ошибках типа "WRN_RS:COM1 error 8 H22_RUN "
А теперь какие сообщения?
Попробуйте увеличить значение таймаута в настройках COM-порта в проекте.
Posted by Андрей DTP (Участник № / Member № 7103) on :
Я так понимаю, H22_RUN_110_Rout_Word можно удалить?
Posted by Андрей DTP (Участник № / Member № 7103) on :
а строка Written data (COM1) 05 03 01 10 00 02 c5 b6 в обмене с портом есть
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
1. Убирать H22_RUN_110_Rout_Word нельзя, т.к. запрашиваться будет только 1 регистр, а модуль на такой запрос не отвечает. 2. "Written data (COM1) 05 03 01 10 00 02 c5 b6" Это кадр запроса. Но на него должен быть ответ, а он выдается не всегда (по Вашим данным, 200 ошибок на 1600 запросов). Вы пробовали увеличить таймаут в настройках COM-порта в проекте? На сколько? Как изменилась статистика ошибок?
Posted by Андрей DTP (Участник № / Member № 7103) on :
Таймаут был 300 ставил TO 450 TRANSACTION=1420 ERROR=181 ТО 600 TRANSACTION=1422 ERROR=168 ТО 1000 TRANSACTION=1278 ERROR=160
качественного изменения не вижу
Posted by Андрей DTP (Участник № / Member № 7103) on :
есть ли смысл увеличивать еще?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Нет, видимо, проблема в качестве физического канала связи. Возможно, используемая шина RS 485 не согласована или имеет достаточно высокий уровень помех.
Какой конвертор RS 485 Вы используете? Согласована ли линия? Как настроен COM-порт (частота, контроль четности, управление передачей)? На каком расстоянии от конвертора находится модуль? Что еще подключено к этой шине RS 485?
Posted by Андрей DTP (Участник № / Member № 7103) on :
ну не знаю. помимо этого источника есть еще 13 направления input (правда, все аналоговые), по ним никаких ошибок, значения принимаются, обрабатываются и индицируются без проблем
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
В любом случае, если канал H22_RUN_110_Rout_Word постоянно формирует один и тот же запрос (Written data (COM1) 05 03 01 10 00 02 c5 b6), а модуль на часть из этих запросов не отвечает, значит, дело либо в шине RS-485 (модуль получает искаженный запрос), либо в модуле (он не отвечает по какой-то причине, связанной еще с какими-то ограничениями в дополнение к требованию "запроса 2-х регистров"). И корректный кадр запроса и отсутствие ответа на него фиксируются протоколом PortMon.
Проблема лежит вне Trace Mode 6.
"13 аналоговых каналов" запрашивают данные у того же модуля? И по этим каналам не возникают сообщения, подобные этому "WRN_RS:COM1 error 8 H22_RUN_110_Rout_Word(3)"?
Posted by Андрей DTP (Участник № / Member № 7103) on :
нет, они берут данные у других модулей.
по этим каналам нет ни одного сообщения об ошибке
а программа производителей модуля (АКОН) видит изменение этого значения (которое у меня H22_RUN_110_Rout_Word(3)) сразу
Posted by Андрей DTP (Участник № / Member № 7103) on :
конвертор WAD-RS232/RS485-BUS
Posted by Андрей DTP (Участник № / Member № 7103) on :
настройки com порта частота 9600 контроль четности 8-1-n управление передачей нет
Posted by Андрей DTP (Участник № / Member № 7103) on :
расстояние <10 м
Posted by Андрей DTP (Участник № / Member № 7103) on :
подключено модуль аналогового вывода WAD-AO-BUS модуль аналогового ввода WAD-AIK-BUS 3шт модуль релейного вывода WAD-DOS-BUS 2шт модуль дискретного ввода WAD-DI14-BUS (тот самый)
Posted by Андрей DTP (Участник № / Member № 7103) on :
модули АКОН, названия по их сайту
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Выключите при тестировании все каналы в узле, обращающиеся к "другим модулям", чтобы исключить возможные взаимные влияния.
"программа производителей модуля (АКОН)" "хорошо знает" все особенности и ограничения, имеющиеся в протоколах всех модулей.
Проведите перехват считывания нужной Вам переменной модуля WAD-DI14-BUS с помощью "программы производителей модуля (АКОН)". Сравните перехваты трафиков от этой программы и от Trace Mode 6.
Posted by Андрей DTP (Участник № / Member № 7103) on :
в том то и дело, что когда отключены все input источники, обмен по com порту одинаковый у trace mode и программы АКОНа - те же запросы, те же ответы. Как только подключаю хотя бы еще один input источник - все, про чтении H22_RUN_110_Rout_Word(3) начинают сыпаться ошибки чтения по COMу
Posted by Андрей DTP (Участник № / Member № 7103) on :
пожалуйста, ответьте что-нибудь
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
В таком случае проблема на чисто физическом уровне. В проекте Trace Mode 6 ничего изменить нельзя.
Posted by Андрей DTP (Участник № / Member № 7103) on :
еще вопрос. для источников H22_RUN_110_Rout_Word и H22_RUN_111_Rout_Word изменил период опроса с 1 цикла на 2 секунды (в поле "Период" - 2, в поле "Единица измерения" - сек), но в перехвате трафика порта вижу запрос "Written data (COM1) 05 03 01 10 00 02 c5 b6" с периодичностью 1 секунда. Может, что-то не так делаю?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Пришлите, пожалуйста, на адрес hotline@adastra.ru Ваш проект (файл *.prj и папку узла) и протокол PortMon после работы в режиме, описанном в последнем посте.
Posted by Андрей DTP (Участник № / Member № 7103) on :
отправил
Posted by Андрей DTP (Участник № / Member № 7103) on :
с адреса PMP_SD@i.ua
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Ничего не получено. Повторите, пожалуйста.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Или проверьте свой почтовый сервер. Нет ли у него ограничений на вложения.
Posted by Андрей DTP (Участник № / Member № 7103) on :
отправил с двух адресов. если на пройдет - отправлю вечером с mail.ru
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Получил с адреса booster.
Топик переносится в раздел "Trace Mode 6. Бесплатная версия"
Posted by Андрей DTP (Участник № / Member № 7103) on :
так что там с моим проектом?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Прошу прощения за задержку с ответом.
Создали стенд, полностью эмулирующий структуру Вашего проекта.
Без изменений запустили Ваш проект под профайлером бесплатной версии релизе 6.04.
Переслали фрагмент протокола перехвата, в котором видно, что обращение к контроллеру с адресом 05 осуществляется с периодом 2 сек.
В начале файла (до 47-секунды) контроллер отвечает кодами ошибки 05 83 02 81 30 (эмуляция обращения к отсутствующему регистру). Далее ответы отсутствуют (эмуляция разрыва связи или некорректности транзакции).
При недостоверном или отсутствующем ответе на запрос 05 03 01 10 00 02 C5 B6 в соответствии с алгоритмом групповых запросов сразу формируется запрос 05 03 01 11 00 01 D4 77 с тем же результатом.
Во всех случаях периодичность этих запросов равна 2 сек.
Видимо, присланный Вами протокол перехвата соответствует заданному периоду обработки этих каналов 1 сек.
Posted by Андрей DTP (Участник № / Member № 7103) on :
Спасибо за ответ, буду еще разбираться. Возник еще один вопрос: в проекте есть ГЭ Текст. Его свойство Текст привязано к аргументу экрана, вот откуда берет значение этот аргумент - не могу разобраться. в поле Привязка для этого аргумента ничего не указано. Где еще искать?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Видимо, у Вас нет привязки аргумента в шаблоне экрана. Найдите канала CALL.Screen, который вызывает этот шаблон.
Через "Свойства" этого канала посмотрите его аргументы. Возможно, Вы увидите привязку этого аргумента у этого канала.
Posted by Андрей DTP (Участник № / Member № 7103) on :
в шаблоне экрана этого аргумента нет вообще. Аргумент есть только в самом канале экрана типа Call, но там, как я уже писал, нет никакой привязки.
Posted by Андрей DTP (Участник № / Member № 7103) on :
а сам текст в ГЭ при запуске в профайлере меняется произвольно, даже если компьютер не подключен к системе
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Количество аргументов в шаблоне экрана и в канале одинаково. Шаблоны создаются, удаляются и перемещаются только в шаблоне. Возможно, что имена аргументов в шаблоне и в канале не совпадают.
Posted by Андрей DTP (Участник № / Member № 7103) on :
в предыдущем сообщении ошибка, количество аргументов совпадает. Имена тоже совпадают. Привязки нет ни в шаблоне, ни в канале экрана
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
В присланном ранее проекте на экране есть указанный ГЭ "Текст"? Уточните, пожалуйста, какой ГЭ и на каком экране. Если Вы поставили новый ГЭ "Текст", присылайте проект с указанием, какой ГЭ смотреть.
Posted by Андрей DTP (Участник № / Member № 7103) on :
Экран Поверка_счетчиков:3, ГЭ Текст, на левой панели с текстом вверху "Мгнов.расход" и кнопками "Старт" "Сброс", слева от ГЭ Текст с текстом "л". Как мог, описал, может картинку прислать?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Очень большое количество аргументов экрана имеет привязки на стороне аргументов программ.
В частности, аргумент экрана M_V_E01, к которому привязан указанный Вами ГЭ "Текст", получает сигнал от программы "РасходВодыПодсчет(Е01)" в группе "Расчет расходов". А эта программа, в свою очередь, формирует этот сигнал по результатам работы другой программы от канала LA01 (из группы "Поверка счетчиков").
У нас нет возможности детально анализировать алгоритмы и качество мониторинга и управления в Вашем проекте.
Надеемся на Ваше понимание.
Posted by Андрей DTP (Участник № / Member № 7103) on :
Добрый день. Подскажите, пожалуйста, как посмотреть все глобальные переменные в проекте
Posted by Андрей DTP (Участник № / Member № 7103) on :
и еще один вопрос. можно ли увидеть программу FBD в виде Техно ST?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
По обоим вопросам. Таких механизмов в Trace Mode 6 нет.
Топик закрывается.
При формулировании вопросов следите, пожалуйста, чтобы наименование топика соответствовало сути вопроса.