Пытаемся подключить счетчик Меркурий 230 ART-03 CN согласно примеру в видеоуроке,в котором используется универсальный механизм обмена со счетчиками,но связи нет. Через стандартный конфигуратор связь есть.Версия ТМ 6.08. Счетчик подключен к ПК через преобразователь Меркурий 221 (виртуальный COM4-порт). В файле TM.cnf прописано: DEBUGON=300 END_OF_CNF
Содержимое лог. файла (m230_main_27_1.txt):
UNIT CNF DATE=00-01-00 00:00:00 CONST(A,Ki,Ku)=1 1 1 MULT(U,Pavr,Qavr,E)=1 1 1 Tavr=30 CNFMASK=1edf 0 EVENT96 dump 19.06.2013 16:41:37 0002(0000) DAY AVERAGE POWER dump 18-06-13 00:00 0 0 0 0 UNIT CNF DATE=00-01-00 00:00:00 CONST(A,Ki,Ku)=1 1 1 MULT(U,Pavr,Qavr,E)=1 1 1 Tavr=30 CNFMASK=1edf 0 EVENT96 pribor 19.06.2013 16:41:37 0002(0000)
Из программы-монитора COM-порта: Обмен с портом: <20130620103021.738 SYS> COM открыт <20130620103021.738 SYS> Размер вх./исх. очереди 64000/8192 <20130620103021.739 SYS> Скорость передачи 9600 <20130620103021.739 SYS> RTS выключен <20130620103021.739 SYS> DTR выключен <20130620103021.739 SYS> Биты данных=8, Стоповые биты=1, Четность=None <20130620103021.739 SYS> Служ. символы: Eof=0x00, Error=0x00, Break=0x00, Event=0x00, Xon=0x11, Xoff=0x13 <20130620103021.739 SYS> Контрольпередачи: ControlHandShake=(), Замена=(), ЛимитXon=2048, ЛимитXoff=512 <20130620103021.739 SYS> Таймауты: ReadInterval=50, ReadTotalTimeoutMultiplier=1, ReadTotalTimeoutConstant=300, WriteTotalTimeoutMultiplier=20, WriteTotalTimeoutConstant=1000 <20130620103025.000 SYS> Очисткапорта: RXCLEAR, TXCLEAR <20130620103025.000 SYS> Очисткапорта: RXABORT, TXABORT <20130620103025.000 TX> <ESC><SOH><SOH><SOH><SOH><SOH><SOH><SOH><SOH>Йq <20130620103025.014 RX> <ESC><SOH><SOH><SOH> <20130620103025.015 TX> <ESC><STX>ЉЃ <20130620103025.015 RX> <SOH> <20130620103026.015 SYS> Очисткапорта: RXCLEAR, TXCLEAR <20130620103026.015 SYS> Очисткапорта: RXABORT, TXABORT ... <20130620103034.080 TX> <ESC><STX>ЉЃ <20130620103034.080 RX> <SOH> <20130620103037.241 SYS> Очисткапорта: RXABORT, TXABORT <20130620103037.241 SYS> Таймауты: ReadInterval=0, ReadTotalTimeoutMultiplier=0, ReadTotalTimeoutConstant=0, WriteTotalTimeoutMultiplier=0, WriteTotalTimeoutConstant=0 <20130620103037.346 SYS> COM закрыт
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Электросчетчик Меркурий 230 ART-03 CN многофункциональный обеспечивает считывание данных внешним компьютером через интерфейс «CAN».
В Trace Mode 6 "универсальный механизм обмена со счетчиками" работает через интерефйс RS 485.
Posted by PozdnA (Участник № / Member № 4542) on :
В даном случае интерфейс CAN подразумевает только изменение уровня сигнала,а протокол передачи данных для интерфейсов RS485 и CAN в счетчиках Меркурий ничем не отличается. Преобразователь Меркурий 221 передает данные в виртуальный COM-порт по собственному протоколу независимо от интерфейса счетчика.Данный счетчик без проблем подключается также через универсальный преобразователь(например фирмы ICPDAS как в вашем видеоролике).Преобразователь Меркурий 221 работает аналогично. Вопрос остается в силе.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Судя по перехвату трафика COM-порта МРВ запросов к счетчику не осуществлял? В профайлерном протоколе должны быть данные об инициализации COM-порта и количестве каналов, настроенных на обмен по этому COM-порту.
Posted by PozdnA (Участник № / Member № 4542) on :
Запросы от МРВ , на сколько я могу судить, идут (при запуске МРВ начинают моргать светодиоды обмена даными на преобразователе Меркурий 221, при остановке МРВ они не моргают). Для записи данных диагностики был создан файл TM.cnf c содержимым указанным выше (DEBUGON=300). Также в настройках канала m230_main установлена галочка Отладка. Нужно ли делать что-то еще, чтобы данные об инициализации COM-порта и количестве каналов, настроенных на обмен записывались бы в профайлерный протокол?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Именно в протоколе профайлера должны быть эти данные, если формат файла *.cnf правильный, он праивильно поименован и размещен в нужной папке.
Если МРВ что-то посылает в COM-порт, эти посылки и ответы на них должны быть зафиксированы в протоколе перехватчика COM-порта.
Posted by PozdnA (Участник № / Member № 4542) on :
Файл называется TM.cnf
Состоит из трех строк: DEBUGON=300 END_OF_CNF <пустая строка>
Располагается файл в папке RTM_1 проекта.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Имя файла неверное. В профайлерном протоколе нужных записей не будет. Дайте файлу имя TMcom_xx.cnf
Но в протоколе перехвата COM-порта должено быть указано приложение, которое инициализирвало COM-порт, и все транзакции этого приложения (записи/чтения).
Posted by PozdnA (Участник № / Member № 4542) on :
Пробовал файл называть следующим образом: TMcom_xx.cnf TMcom_11.cnf TMcom_1.cnf
Во всех случаях содержимое файла m230_main_27_1.txt не меняется. Данные не появились.
Упрощенный вариант транзакций из программы перехвата COM-порта: [20/06/2013 13:48:43] - Open COM4 port (C:\Program Files\AdAstra Research Group\Trace Mode IDE 6\rtc.exe)
[20/06/2013 13:48:47] - Written data
1b 01 01 01 01 01 01 01 01 c9 71 .........Éq
[20/06/2013 13:48:47] - Read data
1b 01 01 01 ....
[20/06/2013 13:48:47] - Written data
1b 02 8a 81 ..Š
[20/06/2013 13:48:47] - Read data
01 .
и т.д.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Протокол профайлера - это текстовый файл, который имеет имя такое же, как у файла *.dbb. <имя файла *.dbb>.txt. Он лежит в папке узла. Добейтесь, чтобы в этом протоколе были записи по ключу DEBUGON=300.
После этого пришлите на hotline@adastra.ru - файл *.prj, - папку проекта, - полный протокол перехвата COM-порта (настроенный таким образом, чтобы все транзакции выводились полность в HEX-формате).
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Проблема решена пользователем отменой функции "ЭХО" в конверторе интерфейсов.