Страниц: 1 [2]
  Печать  
Автор Тема: МЭК 104: таймаут ожидания следующего байта  (Прочитано 24073 раз)
juvf
Участник
*
Offline Offline

Сообщений: 22


Просмотр профиля
« Ответ #15 : Июля 09, 2009, 02:21:55 pm »

сколько соеденений одновременно должен держать контролируемый пункт (сервер)? Оговорено ли это стандартом?
1)Если я сделаю только 1-но соединение - это будет по МЭК?
2)Если нужно одновременно держать несколько соединений, то опередиление тайм-аутов, k, w, и т.п. должно быть для каждого соединения отдельно, или должно быть общее определение для всех соединений?
Записан
mgb14
Участник
*
Offline Offline

Сообщений: 14


Просмотр профиля
« Ответ #16 : Июля 13, 2009, 05:25:19 pm »

1)Количество соединений не оговорено стандартом - 1 вполне корректное значение
2)На усмотрение разработчика, однако если клиенты будут из разных сетей более гибко разделить настройки
Записан
sandler
Участник
*
Offline Offline

Сообщений: 4



Просмотр профиля
« Ответ #17 : Июля 16, 2009, 02:31:25 pm »

Добрый день mgb14, kvser и juvf!  Можете оказать крохотный "ликбез" по МЭКу 104? В частности, в вопросе конкретного программирования. У меня есть "черный ящик", в котором сидят данные вроде бы по МЭКу 104. И хозяева желают прочитать эту информацию. С  ч е г о   н а ч а т ь, в основном пишу на дельфи (много лет и на разных языках под Виндусом, кроме QNX). П О М О Г И Т Е.   Huh? Раздел 104, Часть 5 смотрел от 2003 года. (можно по емеле miup@ego-info.ru, тема МЭК 104)
« Последнее редактирование: Июля 16, 2009, 02:56:14 pm от sandler » Записан
mgb14
Участник
*
Offline Offline

Сообщений: 14


Просмотр профиля
« Ответ #18 : Июля 16, 2009, 07:17:49 pm »

Для начала возьмите, например здесь http://www.trianglemicroworks.com/downloads.htm, программу тестирования по 104 протоколу - пообщайтесь со своим ящиком - увидите структуру запросов, ну а потом или покупайте готовые решения или пишите сами.
Записан
juvf
Участник
*
Offline Offline

Сообщений: 22


Просмотр профиля
« Ответ #19 : Июля 17, 2009, 07:58:43 am »

Цитировать
Для начала возьмите, например здесь http://www.trianglemicroworks.com/downloads.htm, программу тестирования по 104 протоколу
Что-то я там не нашел программу тестирования 104-го Huh?  Только продукты, типа скада, с испытательным сроком.

Вот неплохая программа для для тестирования 104-го http://ppfink.de/downloads/SetupDemoW104.EXE Можно реально подглядеть кто, что, кому шлет.

Цитировать
С  ч е г о   н а ч а т ь, в основном пишу на дельфи (много лет и на разных языках под Виндусом, кроме QNX).
Ну чтоб МЭК реализовать - вообще по барабану какой язык и какая ОС. Нужно уметь работать с ТСР (установить соединение, принять, послать и т.п.). Я например вообще без ОС реализую МЭК в девайсе на AVR процессоре.

Начни с установки соединения, затем активируй МЭК на этом соединении (см StARTDP, STOPDT, TESTFR).





Записан
mgb14
Участник
*
Offline Offline

Сообщений: 14


Просмотр профиля
« Ответ #20 : Июля 17, 2009, 06:17:52 pm »

Цитировать
Что-то я там не нашел программу тестирования 104-го
Test Harness - действительно 21-дневная версия, из преимуществ только то что написана одним из самых квалифицированных производителей
Записан
sandler
Участник
*
Offline Offline

Сообщений: 4



Просмотр профиля
« Ответ #21 : Июля 28, 2009, 12:56:56 pm »

Цитировать
Начни с установки соединения, затем активируй МЭК на этом соединении (см StARTDP, STOPDT, TESTFR).
Спасибочки! Ещё раз всё изучил. С ТСР знаком давно и уже есть некоторые приложения на уровне клиент-сервер (Архивная станция). В качестве теста использую "Пример КП МЭК104" как сервер от ООО "ЕНТЕЛС",2008, www.entels.ru. На любую команду StARTDP, STOPDT, TESTFR выдает типа: 28.07.2009 11:52:02   IEC: Connection request from address 127.0.0.1, port 58118
28.07.2009 11:52:07   IEC: wrong format request
Я запускал и Type U[FCT=TESTFR_ACT] ($68 $04 $43 $0 $0 $0) и Type U[FCT=STARTDT_ACT] ($68 $04 $7 $0 $0 $0), а ответ один и тот же: неправильный запрос формата. При попытке получить данные выдается 'Connection Closed Gracefully'.  Что не так???





Записан
juvf
Участник
*
Offline Offline

Сообщений: 22


Просмотр профиля
« Ответ #22 : Августа 11, 2009, 08:22:40 am »

Цитировать
Я запускал и Type U[FCT=TESTFR_ACT] ($68 $04 $43 $0 $0 $0) и Type U[FCT=STARTDT_ACT] ($68 $04 $7 $0 $0 $0), а ответ один и тот же: неправильный запрос формата. При попытке получить данные выдается 'Connection Closed Gracefully'.  Что не так???

Разобрался уже? Всё так. Может ты думаеш что шлеш ($68 $04 $43 $0 $0 $0), а на самом деле.... смотри снифером что конкретно с сетевого интерфейса по TCP уходит сеть.

Цитировать
В качестве теста использую "Пример КП МЭК104" как сервер от ООО "ЕНТЕЛС",2008, www.entels.ru.

Что за пример? Скачал я с www.entels.ru скаду Энтек. Примеры там есть, но МЭК 104 я в них не нашел и в скаде ввобще мэк 104 не нашел.  Huh?
Записан
sandler
Участник
*
Offline Offline

Сообщений: 4



Просмотр профиля
« Ответ #23 : Августа 11, 2009, 10:24:54 am »

Разобрался уже? Всё так. Может ты думаеш что шлеш ($68 $04 $43 $0 $0 $0), а на самом деле.... смотри снифером что конкретно с сетевого интерфейса по TCP уходит сеть.

Спасибо за внимание. До сих пор работал в TCP под Indy (наша архивная станция), но попробовал перейти на стандартный ТСР и всё сразу пошло. Разбираться в чем дело времени нет. Я - Клиент. После Connect посылаю START_ACT и тут же получаю ответ START_CON (68 04 0B 00), а затем запрашиваю Type I : 68 04 01 00 10 00 и получаю ответы на измененные значения сигналов.
Сниф показал действительно много мусора, связанный с инетом, но к МЭКу не относится. Жалко, что ТСР СНИФ только на 30 дней.
Немецкий DemoWinPP104 помог, но почему-то задавать его надо как Master (хотя он управляющий клиент) - похоже в терминологии управляющий и управляемый по МЭК всё четко, но путаница постоянно возникает.
На реальном (промышленном) МЭК на DemoWinPP104 и ещё одном CybServer870-5-104M (клиента мне дал ЭНТЕЛ) почему-то никакой реакции не было, а моя программка хоть законнектилась. СНИФ тоже показал очень много мусора и по ТСР и по UPD.
Вопросов пока очень много - разбираюсь. В частности, формат времени Д-М-Г (ну нет такого в ГОСТЕ: $0B $08 $09 - это например сегодня ). С плавающей точкой (короткой) не получается мантисса и порядок. После 8-9 запросов в одном сеансе практически заваливается коннект. Ну и так далее.

Что за пример? Скачал я с www.entels.ru скаду Энтек. Примеры там есть, но МЭК 104 я в них не нашел и в скаде ввобще мэк 104 не нашел.  Huh?

Адрес http://ersr.ru/2008-09-24-11-38-08/doc_download/19--iec104slave . Работает четко и стабильно, кроме того прилагаются исходники к оболочке на *.срр. Это в разделе Home -> Загрузка -> EnLogic -> Для разработчиков.
Записан
mike
QOR.Moderator
*****
Offline Offline

Сообщений: 1186


Welcome to Lunatic Asylum.


Просмотр профиля WWW
« Ответ #24 : Августа 11, 2009, 11:07:32 am »

Сниф показал действительно много мусора, связанный с инетом, но к МЭКу не относится. Жалко, что ТСР СНИФ только на 30 дней.
wireshark вроде про IEC 60870-5-104 знает
Записан
juvf
Участник
*
Offline Offline

Сообщений: 22


Просмотр профиля
« Ответ #25 : Августа 11, 2009, 01:20:08 pm »

Цитировать
Адрес http://ersr.ru/2008-09-24-11-38-08/doc_download/19--iec104slave . Работает четко и стабильно, кроме того прилагаются исходники к оболочке на *.срр. Это в разделе Home -> Загрузка -> EnLogic -> Для разработчиков.

спасибо, буду пробовать

Цитировать
Сниф показал действительно много мусора, связанный с инетом, но к МЭКу не относится.
дак в снифах обычно фильтры есть по протоколам, по айпишникам ( я пользовал SoftPerfect Network Protocol Analyzer и CommView).  Выставь "смотреть только протокол TCP вход-выход с ip КП (например 192.168.0.101), и только через нужную сетевуху. Но там всё равно будет немного "мусора", я так понял это TCP на более низком уровне. Но мусора от инета там точно не будет (если конечно кп - дп в локалке).
Записан
sandler
Участник
*
Offline Offline

Сообщений: 4



Просмотр профиля
« Ответ #26 : Августа 11, 2009, 03:56:34 pm »

wireshark вроде про IEC 60870-5-104 знает

спасибо, wireshark ... да уж. До конца ещё не разобрался, но попробовал. К себе на комп поставил аж страшно было. Каспер ругался во всю.  Shocked Да вот на объект с таким инструментиком не пустят.
Записан
juvf
Участник
*
Offline Offline

Сообщений: 22


Просмотр профиля
« Ответ #27 : Августа 12, 2009, 09:09:15 am »

а вот еще вопрос по 104-му. КП получило команду ТУ. Проверяет ASDU, Проверяет идентификатор типа - опа!!!! Тип неизвестный этому КП. Т.е. это КП не поддерживает команды с таким идентификатором типа. По госту КП должно ответить форматом I отражая полученное ASDU и указывает причину передачи <44> - неизвестен идентификатор типа и выставить бит PN. С этим вроде понятно.

А чем должно ответить КП если получена команда с неизвестным идентификатором типа, с неизвестной причиной передачи, с неизвестным общим адресом ASDU и с неизвестным адресом объекта? Логически нужно ответить с причиной передачи неизвестен адрес ASDU. А вообще, есть ли какие приоритеты в причинах передачи? Что нужно прежде всего проверить? Адрес ASDU, затем идентификатор типа, затем причину передачи и т.д. Или нужно в другой последовательности проверять?
Записан
Страниц: 1 [2]
  Печать  
 
Перейти в: