This is topic Реализация МЭК 60870-5-101 in forum TRACE MODE 6 бесплатная Базовая версия / TRACE MODE 6 free Base version at Форум TRACE MODE: техническая поддержка.
Добрый день. Есть ли возможность подучить пример реализации системы с обменом по протоколу МЭК 60870-5-101, который возможно открыть в бесплатной версии?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Отправлено.
Posted by John7489 (Участник № / Member № 6871) on :
Благодарю за быстрый ответ.
Posted by John7489 (Участник № / Member № 6871) on :
Возник вопрос по поводу примера. Изменяю номер COM-порта на COM5. В моём случае это виртуальный COM порт FTDI. При запуске в профайлере, выдаёт ошибку соединения по TCP\IP (адрес 255.255.255.255 и порт 2404). Что ещё надо установить, чтобы пример работал с виртуальным COM портом?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Вы, видимо, изменили номер COM-порта в узле, но не внесли соответствующих изменений в компонентах слоя "Источники/Приемники".
Из документации (описание драйвера "Обмен по IEC 60870-101"): "Конфигурация служебного канала:
Параметр1 – номер RS;
Ecли в узлe cущecтвуeт уkaзaнный COM-пopт c нaзнaчeниeм IEC 60870-101, инициaлизиpуeтcя oбмeн пo RS, в пpoтивнoм cлучae – пo TCP/IP (пoдтип и дoпoлнeниe k пoдтипу kaнaлa – cooтвeтcтвeннo 109.6 и 108.6)." Это касается всех компонентов связи по МЭК 101.
Для использования COM5 надо задать Параметр1 = 4
Posted by John7489 (Участник № / Member № 6871) on :
Да, заработало.
Posted by John7489 (Участник № / Member № 6871) on :
А не подскажите где можно посмотреть список ошибок, возникающих при обмене с реальным устройством? Проблема в том , что высланный пример попробовал перестроить для получения данных. Изменил канал out_f. Параметр 1: 0х4 - для работы COM5. Параметр 2:0x1 - адрес устройства 0x0001. Параметр 3:0xd - индефикатор типа данных 0xd(результаты измерения в формате плавающей точкой) Параметр 4 -0х43. Параметр 5- 0х107 - адрес объекта информации. Направление - input. Связал с индикатором на экране. При запуске в профайлере на индикаторе только 0.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Чтобы правильно настроить канал приема данных, надо выяснить, какие данные передает источник.
Для этого надо каналу запроса данных (в примере канал Data_Read) поставить флаг "Отладка" в бланке "Основные" редактора канала.
Из описания драйвера: "В профайлере: если в канале запроса данных установлен флаг Отладка (49, DBG), то при записи данных в каналы приема в протокол профайлера (файл <имя файла prj>_<порядковый номер узла>.txt) записываются следующие строки:
ADDR=<адрес устройства> COT=<причина передачи> IOA=<адрес объекта информации> VAL=<полученное значение> QV=<байт описателя> [<полученная метка времени>] IDT=<идентификатор типа данных>"
"Поиск каналов приема: МРВ последовательно анализирует все каналы узла и ищет канал, в котором адрес устройства, IDT и IOA и причина передачи совпадают с аналогичными параметрами в ответе устройства."
Предполагается, что Параметр 1 и Параметр 2 здесь такие же, как в служебном канале.
Надо проследить, чтобы канал out_f, привязанный к модифицированное "Источнику" out_f, также был типа INPUT.
Posted by John7489 (Участник № / Member № 6871) on :
К сожалению ничего не получается. Канал приёма типа INPUT, параметры 1 и 2 во всех каналах совпадают. В файле логов почти ничего нет.
(10:7:33) INF_LOAD:Starting... iec101_base_0 (10:7:33) INF_RTM:Detected RTM NT(5.1) (10:7:33) INF_RTM:Base TRACE MODE 6 Profiler T-Factory RTM+ ver. 6.10.0 (10:7:33) ._.:RTM (10:7:33) INF_LOAD:max channel = 65535 (10:7:33) INF_LOAD:Load Channels = 5 (10:7:33) INF_LOAD:Templates=1 (math=0 sql=0 scr=1 doc=0 pnl=0) (10:7:33) INF_LOAD:Objects = 3 (10:7:33) INF_RTM:Timer=0.055s CalcLoop=550ms (10:7:33) INF_LOAD:LoadTime=0.032s CalcPeriod=550ms (10:7:33) INF_RTM:available(MB): pm=3198 vm=2047; free(MB): pm=1762 vm=1965 em=0 after load (10:7:33) INF_RTM:total use(MB): pm=1435 vm=82 after load (10:7:33) INF_RTM:use(MB): pm=14(14) vm=42(43) pf=0 after load (10:7:33) INF_RTM:gh:4 uh:2 hh:57 after load (10:7:42) INF_IP:hostname is BUH (10:7:42) INF_IP:card0 addr=0.0.0.0 (10:7:42) INF_IP:card1 addr=192.168.1.215 (10:7:42) INF_IP:card2 addr=192.168.56.1 (10:7:42) INF_IP:card3 addr=172.16.50.1 (10:7:42) INF_IP:card4 addr=172.16.40.1 (10:7:42) INF_RTM:start time is 0.032 s (10:7:42) INF_RTM:total use(MB): pm=1490 vm=146 after start (10:7:42) INF_RTM:use(MB): pm=65(65) vm=58(58) pf=17416 after start (10:7:42) INF_RTM:gh:529 uh:219 hh:192 after start (10:7:42) INF_FLT:ModeSwitch at start e15=0000 e18=0000 e20=0000 (10:7:42) INF_RTM:mode=2(Work) e15=00 e18=00 e20=00 [src4] (10:7:42) INF_GRAPH:scr:1:popup=0 scrref=0 trend=0,0 update=1
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
8.02.2016 Вы писали "Да, заработало.". Это что означало?
Вы действительно каналу Data_Read установили флажок "Отладка"? В окне "Служебная панель МРВ/Компоненты" у этого канала атрибут 49(DBG) показывает "D"?
В файле конфигурирования запуска узла ("Приложения/Задание параметров работы мониторов) задайте ключ DEBUGON=F0006250
Posted by John7489 (Участник № / Member № 6871) on :
Заработало, означало то, что обмен пошёл. Обмен контролировался монитором COM порта. Флаг установил. Атрибут показывает D. Можно поподробнее по поводу файла конфигурирования?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Файл конфигурирования TMcom_<ordinal>.cnf описан в справке в разделе "Приложения - Задание параметров работы мониторов". Там же описаны ключи, задаваемые в данном файле. Файл должен находиться в папке узла проекта.
В данном случае используется ключ DEBUGON=, который задает значение системной переменной @Debug, описанной в справке в разделе "Каналы и системные переменные TRACE MODE 6 - Системные переменные TRACE MODE 6 - Группа СИСТЕМНЫЕ". В данном разделе описана расшифровка битов значения этой переменной.
После запуска в папке узла проекта создастся файл <Имя проекта>_<ordinal>.txt с диагностической информацией.