This is topic МЭК 60870-5-101 и МЭК 60870-5-104 in forum TRACE MODE 6 бесплатная Базовая версия / TRACE MODE 6 free Base version at Форум TRACE MODE: техническая поддержка.
Доброго времени суток. В релизе 6,07 поддерживаются телекоммуникационные протоколы МЭК 60870-5-101 и МЭК 60870-5-104. Что-то не понятно как нужно настраивать каналы для работы по данным протоколам. Кто-нибудь может предоставить пример проекта с использованием данных протоколов.
Posted by TT (Участник № / Member № 4177) on :
В спавке говорится, что для обмена необходимо создать: 1 служебный канал 1 канал запроса данных и необходимое количество каналов INPUT приема данных возникают слде.вопросы: 1)т.е. для обмена данными я должен создать в Источниках-Приемниках три компонента UniversalPLC_type3 (группа Источники/Приемники.Пользовательские_драйверы.TYPE12)? 2)Какого типа должен быть служебный канал(IN или OUT)?
Posted by Artem Poltorak (Участник № / Member № 2928) on :
+1 к автору Желательно пример проэкта. И еще прощу уточнить, SQ обрабатывается?
Posted by TT (Участник № / Member № 4177) on :
драйвера телемеханических протоколов стандартов МЭК 60870-5-101 и МЭК 60870-5-104 - бесплатные, относятся к встроенным драйверам в ТМ, имеют ГОСТ, который предусматривает передачу кардров FT 1.2 . В Trace Mode кадры какие? тоже FT 1.2 или FT 1, FT 2 или FT 3. Настроек таких не нашел. В Trace Mode, настраивая Сом-порт указываем в поле НАЗНАЧЕНИЕ IEC 60870-101, в Источники-Приемники добавляем компонент UniversalPLC_type3 из группы Пользовательские_драйверы.TYPE12. В моем примере настраиваю так: Параметр1 – номер RS =0; Параметр2 – номер устройства =2; Параметр3 = Параметр4 = 0;(как в спарвке) только не понятно что это за параметры? Параметр5 – таймаут (в секундах) -0; Дополнительно: IEC; ASDU=2; LAD=2;(ASDU=2 LAD=2 - работает только в такой связке, иначе на адрес отводится только один бит) "кидаю канал" в узел RTM от данного компонента, В итоге получаю хоть что-то отправляющий служебный канал,получаю такой кадр: 10 49 02 00 4B 16 - глядя на структуру кадра и сравнивая его с ГОСТом, делаю вывод, что жэто получается с постоянной длянной. где 10 - это стартовый бит 10Н ; 49 -это 73 в десятичном формате, расшифровывая его по ГОСТу, получаю: [01001001] [0] - RES [1] - PRM (Запрос) [0] - FCB (бит счета кадров) [0] - FCV (Законность бита счета) - НЕверно [1 0 0 1] - Функция 9 (ЗО Запрос о состоянии канала связи) 02 00 - это номер устройства в два байта, в поле ПАРАМЕТР2 указал =2, а 00 -это второй байт передается нулевым(как в справке); 4B - это CRC= 49+02=4B(шестнад-й формат); 16 - это стоповый бит.
Как правильно настраивать канала запроса данных и канал приема (записи) данных? для этого добавляю еще два компонента в Источниках-Приемниках UniversalPLC_type3_2и UniversalPLC_type3_3. что делать дальше?
Posted by TT (Участник № / Member № 4177) on :
Параметр3 = Параметр4 = не понятно что это за параметры?
Posted by Artem Poltorak (Участник № / Member № 2928) on :
Расшифровка правильная. У тебя точно LAD=2?
Posted by TT (Участник № / Member № 4177) on :
Artem Poltorak да, LAD= 2 и ASDU=2
Posted by Artem Poltorak (Участник № / Member № 2928) on :
хотелось бы взглянуть на систему с более 256 устройствами и как с этим ТМ управится
Posted by Artem Poltorak (Участник № / Member № 2928) on :
И тишина... Пора отпусков наверно.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
1. Примеры отправлены
2. В источниках нужно создать n+1 (для МЭК 60870-5-104) или n+2 (МЭК 60870-5-101) источника, где n-количество считываемых регистров.
3. Служебный канал типа INPUT
4. Параметры 3 и 4 не используются, поэтому 0.
5. Не ставьте таймаут = 0.
6. Остальные вопросы после получения примера думаю исчезнут.
Posted by Max (Участник № / Member № 3678) on :
Можно и нам пример тоже! У нас дискреты и измерения считываются, а вот команды управления ни как не проходят. Спасибо!
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Отправлено.
Posted by TT (Участник № / Member № 4177) on :
При передаче по протоколу МЭК-104 команды с IDT=102, если в поле "Параметр4" кнала приема(записи)данных младший полубайт не задан, т.е. "Параметр4 =0x0" , то почему в пакете, который передается контроллируемой станции причина предачи равна 0 нулю(такой причины передачи в ГОСТе 60870-104 нет). Хотя по Вашей документации причина передачи должна автоматически подставляться равной 5 для IDT=102.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Параметр 4 – в канале записи (OUTPUT) младший полубайт этого атрибута должен содержать причину передачи, а биты 6 и 7 должны задавать общий адрес ASDU.
Если значение младшего полубайта не задано (нулевое), МРВ подставляет следующие значения: 6 – для всех IDT, кроме 102; 5 – для IDT=102.
Основное тут "в канале записи (OUTPUT".
Для каналов INPUT будет передаваться значение из Параметр4.
Posted by TT (Участник № / Member № 4177) on :
Да, в справке написано тоже самое, но тем неменее МРВ не подставляет 5-ю и 6-ю причину передачи, если младший полубайт равен 0.
Posted by TT (Участник № / Member № 4177) on :
Если контроллер передает TraceMode-у пакет ASDU вида [01 82 05 00 02 00 FA 00 00 89 FB 00 00 79], где [01] - IDT=1; [82] - [10000010] - старший 8-й бит -SQ=1,количество объектов информации =2; [05 00] - причина передачи ; [02 00] - адрес устройства ; далее идут информационные блоки: [FA 00 00] - адрес IOA=250; [89] - одноэлементнаяинформация с описателем качества ; [FB 00 00] - адрес IOA=251; [79] - одноэлементнаяинформация с описателем качества ;
=> отсюда следует вопрос ПОЧЕМУ ВТОРОЙ ОБЪЕКТ ВОСПРИНИМАЕТСЯ НЕ ПРАВИЛЬНО И ЕГО АДРЕС ВОСПРИНИМАЕТСЯ И ЗА ЗНАЧЕНИЕ И ЗА ОПИСАТЕЛЬ КАЧЕСТВА? (Т.Е VAL=fb(251) QV=fa), А ДОЛЖНО БЫТЬ VAL=79(121) QV=78(120))
Posted by TT (Участник № / Member № 4177) on :
В добавок к вышесказанному : при передаче ASDU-пакета вида [09 83 05 00 02 00 F0 00 00 01 04 00 F1 00 00 02 06 00 F2 00 00 03 03 00],ГДЕ [09 83 05 00 02 00] - заголовок пакета Информационные блоки: [F0 00 00] - Адрес первого блока [01 04] - Значение [00] - QV [F1 00 00] - Адрес второго блока [02 06] - Значение [00] - QV [F2 00 00] - Адрес третьего блока [03 03] - Значение [00] - QV
Таким образом получается, что TraceMode распознает адерса блоков информации правильно, а данные блока - неправильно!!! Т.е. он их пытается распознать, НО !!! смещение считает не правильно, а именно смещение информации для следующего блока от начала блоков данных расчитывается: ([Размер адреса блока информации] + [размер данных])*([номер пакета]-1), а TraceMode расчитывает смещение: ([Размер адреса блока информации])*([номер пакета]-1) Т.Е.!!! Не учитывает рамер данных блока!!! Такое повдение наблюдаеться и в других пакетах, т.е. если информациооных блоков больше одного, то TraceMode начинает принимать данные неправильно.
Posted by TT (Участник № / Member № 4177) on :
И еще вопрос: как сделать, чтобы по каналу отправлялись запросы на получение данных?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
1) Причину по умолчанию Trace Mode ставит. Проверили.
2) ----------------------------------------------- Последовательность объектов информации (SQ=0) ---T---T---T---T---T---T---T---T------------------------------------ 0 0 0 0 0 0 0 1 ¦ИДЕНТИФИКАЦИЯ ТИПА ---T---------------------------+------- 0 ¦ Число объектов i ¦КЛАССИФИКАТОР ПЕРЕМЕННОЙ СТРУКТУРЫ ---+---------------------------+------ Определено в 7.2.3 ¦ПРИЧИНА ПЕРЕДАЧИ ИДЕНТИФИКАТОР -------------------------------+------ БЛОКА ДАННЫХ Определено в 7.2.4 ¦ОБЩИЙ АДРЕС ASDU Определен в 7.1 -------------------------------+------------------------------------ Определено в 7.2.5 ¦АДРЕС ОБЪЕКТА ИНФОРМАЦИИ ---T---T---T---T---T---T---T---+---- ОБЪЕКТ ИНФОРМАЦИИ 1 IV NT SB BL 0 0 0 SPI¦SIQ= Одноэлементная информация с опи- ¦ сателем качества, определенная ¦ в 7.2.6.1 -------------------------------+---------------------------------- -------------------------------+--------------------------------- Определено в 7.2.5 ¦АДРЕС ОБЪЕКТА ИНФОРМАЦИИ ---T---T---T---T---T---T---T---+----- ОБЪЕКТ ИНФОРМАЦИИ i IV NT SB BL 0 0 0 SPI¦SIQ= Одноэлементная информация с опи- ¦ сателем качества, определенная ¦ в 7.2.6.1 -------------------------------+----------------------------------- Рисунок 12 - ASDU: M_SP_NA_1 Одноэлементная информация без метки времени
M_SP_NA_1:= CP{Идентификатор блока данных, i(адрес объекта ин- формации, SIQ)} i:= число объектов, определенное в классификаторе пе- ременной структуры
Последовательность элементов информации в одиночном объекте информации (SQ=1) ---T---T---T---T---T---T---T---T------------------------------------ 0 0 0 0 0 0 0 1 ¦ИДЕНТИФИКАЦИЯ ТИПА ---T---------------------------+------- 1 ¦ Число элементов j ¦КЛАССИФИКАТОР ПЕРЕМЕННОЙ СТРУКТУРЫ ---+---------------------------+------ Определено в 7.2.3 ¦ПРИЧИНА ПЕРЕДАЧИ ИДЕНТИФИКАТОР -------------------------------+------ БЛОКА ДАННЫХ Определено в 7.2.4 ¦ОБЩИЙ АДРЕС ASDU Определен в 7.1 -------------------------------+------------------------------------ Определено в 7.2.5 ¦АДРЕС ОБЪЕКТА ИНФОРМАЦИИ А ---T---T---T---T---T---T---T---+---- ОБЪЕКТ ИНФОРМАЦИИ IV NT SB BL 0 0 0 SPI¦ 1 ¦SIQ= Одноэлементная информация с опи- ¦ сателем качества, определенная ¦ в 7.2.6.1 ¦ Относится к элементу информации ¦ с адресом А -------------------------------+---------------------------------- ---T---T---T---T---T---T---T---+---- IV NT SB BL 0 0 0 SPI¦ j ¦SIQ= Одноэлементная информация с опи- ¦ сателем качества, определенная ¦ в 7.2.6.1 ¦ Относится к элементу информации ¦ с адресом А+j-1 -------------------------------+----------------------------------- Рисунок 13 - ASDU: M_SP_NA_1 Последовательность одноэлементной информации без метки времени
M_SP_NA_1:= CP{Идентификатор блока данных, (адрес объекта ин- формации, jSIQ)} j:= число элементов, определенное в классификаторе пе- ременной структуры -------------------------------------------------
По стандарту при ответе с SQ=1 адрес передается только один раз, а дальше идут только значения.
Поэтому у Вас или устройство не должно возводить SQ=1, или не передавать каждый адрес.
3) Создаете канал Output и посылаете нужный ззапрос.
Posted by TT (Участник № / Member № 4177) on :
Уважаемая тех.поддержка, а нельзя ли прислать пример проекта с использованием протокола МЭК-101, а? заранее благодарен.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Отправлено.
Posted by TT (Участник № / Member № 4177) on :
Почему то Ваш проект ничего не отправляет((( Сom-порты работают - я проверял с помощью терминала,пакеты передаются. В настройках каналов в поле ДОПОЛНИТЕЛЬНО Вы указали IEC:ASDU=2;COT=2;IOA=3 ,что вроде не правильно.Хотя, может быть, это не так важно.Я это исправил и все равно нет обмена пакетами.
И еще хотел уточнить для чего в высланном Вами примере IEC-101 в настройках Com-порта в поле КОНТРОЛЬ ТОЧНОСТИ выставлена проверка на четность, а?
Posted by TT (Участник № / Member № 4177) on :
Изминил "глубину отслеживания источников" в Настройках ИС и вроде пакеты пошли.
Posted by TT (Участник № / Member № 4177) on :
А можно ли настроить Trace Mode так , чтобы он работал в качестве сервера по протоколу МЭК-101? Если такое возможно, то как это сделать, потому что в спарвке написано только про сервер протокола МЭК-104? Хорошо было бы выслать пример))
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Режим МЭК-101/Сервер не поддерживается.
Posted by TT (Участник № / Member № 4177) on :
У меня проблема с ОТАДКОЙ, а именно не формаируется файл ПРОТОКОЛ профайлера, сам файл (файл <имя файла prj>_<порядковый номер узла>.txt) создается, а нужных для отладки данных в нем нет: (11:25:6) INF_LOAD:Starting... 17092010iec101_0 (11:25:6) INF_RTM:Detected NT5.RTM 5.1 (11:25:6) ._.:Professional TRACE MODE 6 Profiler ver. 6.07.0 (11:25:6) INF_LOAD:Load Channels = 4 (11:25:6) INF_LOAD:Templates=1 (11:25:6) INF_LOAD:Objects = 3 (11:25:6) INF_RTM:Timer=0.055s CalcLoop=550ms (11:25:6) WRN_DDE:Не удается связать службу диспетчера общих баз данных (DSDM) (11:25:6) INF_RTM:start time is 0.031 s (11:25:8) INF_RTM:ModeSwitch e15=0000 e18=0000 e20=0000 [0] (11:25:8) INF_RTM:mode=2(Work) e15=00 e18=00 e20=00 [0-80] (11:25:8) INF_RTM:Idle period = 1100 (11:36:12) INF_RTM:stoping... (11:36:13) INF_RTM:mode=5(Stop) e15=00 e18=00 e20=00 [0-80] (11:36:13) INF_RTM:stop time is 2.828 s (11:36:13) INF_RTM:number of calculation = 1203 (11:36:13) ._.:END OF WORK
я сделал как написано в справке : "В профайлере: если в канале запроса данных установлен флаг Отладка (49, DBG), то при записи данных в каналы приема в протокол профайлера (файл <имя файла prj>_<порядковый номер узла>.txt) записываются следующие строки: ADDR=<адрес устройства> COT=<причина передачи> IOA=<адрес объекта информации> VAL=<полученное значение> QV=<байт описателя> [<полученная метка времени>] IDT=<идентификатор типа данных> "
вопрос1) В чем может быть причина, почему нет данных в файле (файл <имя файла prj>_<порядковый номер узла>.txt) ? Обен пакетами идет, идут запросы на состояние канала- идет ответ запрос, идут запросы данных F1 и F2- получает в ответ данные. вопрос2)И почему каждый раз после очередного обмена данными идет запрос на состояние канала?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Вы у каналов в свойствах поставили галочку отладка?
Posted by TT (Участник № / Member № 4177) on :
да, конечно, поставил(свойства канала-вкладка Дополнительно ->ОТЛАДКА ). В проекте с протоколом IEC-104 отладка работала отлично. А вот делаю проект с IEC-101 - отладка не работает(((
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Пришлите Ваш проект на hotline3@adastra.ru
Posted by TT (Участник № / Member № 4177) on :
отправил
Posted by TT (Участник № / Member № 4177) on :
что-нибудь можете сказать по вопросу ОТЛАДКИ? Что я не так сделал? или надо еще сделать, чтобы ОтЛАДКА заработала?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Мы смотрим в чем может быть дело.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Пришлите пожалуйста лог обмена по COM-порту с устройством при запросе f1
Posted by TT (Участник № / Member № 4177) on :
Я отправил файл-логи. И вопрос по логам: где есть описание как читать эти логи,нельзя ли подробную документацию на эти сообщения сделать? или информация из лог-файлов это не для простых пользователей ТМ, а только для программистов тех.поддержки?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
1) Нам нужен протокол обмена по COM-порту. Т.е. лог, который создает, например, Portmon.
2) Описание лога есть в разделе справки "Файл tm6_log.txt"
Остальные сообщения или интуитивно понятны, или действительно нужны только программистам. Даже служба ТП не всегда знает, что это обозначает.
Posted by TT (Участник № / Member № 4177) on :
отправил. программа называется free-serial-port-monitor.
Posted by TT (Участник № / Member № 4177) on :
есть какие-нибудь результаты, а?
Posted by TT (Участник № / Member № 4177) on :
Есть ли какие-нибудь результаты?
Posted by TT (Участник № / Member № 4177) on :
Уже прошел месяц. Есть ли что новое по моей проблеме?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Отладка приема данных в каналы работает.
Posted by TT (Участник № / Member № 4177) on :
Скажите, пожалуйста, что надо сделать, чтобы она заработала? вот что Вы для этого сделали?
Posted by Arawan (Участник № / Member № 4455) on :
Пришлите пример, пожалуйста)
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Примеры отправлены.
Posted by Anatoly S. (Участник № / Member № 4459) on :
Здравствуйте, нужны примеры МЭК 104 мастер и слейв, а также МЭК 101 слейв.
Posted by TT (Участник № / Member № 4177) on :
ДУБЛЬ2:Скажите, пожалуйста, что надо сделать, чтобы ОТЛАДКА заработала? вот что Вы для этого сделали?
Posted by TT (Участник № / Member № 4177) on :
Пример, который Вы мне отправили, я видел, но я не понял , что же вы сделали и что исправили, для того чтоб ОТЛАДКА заработала.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Anatoly S. Примеры для режимов МАСТЕР отправлены. Для режима МЭК 104 SLAVE практически все настройки осуществляются вне базы каналов (см. "МРВ как сервер протокола МЭК 60870-104"). По МЭК 101 режим SLAVE не поддерживается.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
TT. У каналов INPUT установлены флажки "Отладка".
Posted by TT (Участник № / Member № 4177) on :
Я эти флажки "ОТЛАДКА" и так ставил у каждого канала, НУ ЛАДНО РАБОТАЕТ И ХОРОШО)
[ 02.11.2010, 16:15: Сообщение отредактировал / Message edited by AdAstra Technical Support ]
Posted by Arawan (Участник № / Member № 4455) on :
Здравствуйте! При установке IOA=3 в служебном пакете и задание таких параметров в посылаемом: Дополнительно IEC 104;IDT=45;IOA=185042;
в пакете IOA=53970.
при просмотре фрейма... 3-й байт зануляется... как это исправить?! Нам требуется передавать 3-х байтные адреса.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Надо учитывать, что для использования 3-байтовых адресов параметр IOA надо задавать в строке "Дополнительно".
Posted by Arawan (Участник № / Member № 4455) on :
Как использовать? вроде параметр IOA=3 уже задали в служебном пакете. а пр/зап в дополнительно IOA = № ???
Posted by Arawan (Участник № / Member № 4455) on :
Заработало))))))))))
Posted by NEJ (Участник № / Member № 4162) on :
Хотелось бы взглянуть на примерчик. Заранее спасибо!
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Отправлено.
Posted by NEJ (Участник № / Member № 4162) on :
Получил пример, попытался применить в наших условиях, пиешет в логе: ERR_TCP:invalid connect for 192.168.25.11[2404] err=10061 Что это может быть?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Код ошибки 10061 возвращает ОС. Он означает "Подключение не установлено, т.к. конечный компьютер отверг запрос на подключение."
Posted by kandyk (Участник № / Member № 4687) on :
Добрый день. Прошу прислать пример с МЭК104. Заранее благодарен
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Отправлено.
Posted by Eknis (Участник № / Member № 5021) on :
А можно получить и мне пример использования 104 протокола. Заранее благодарен.Почта xxxxxxx@yyyyyyy
[ 31.05.2011, 15:45: Сообщение отредактировал / Message edited by AdAstra Technical Support ]
Posted by AdAstra Technical Support (Участник № / Member № 4) on :