Профиль должен быть заполнен на русском языке кириллицей. Заполнение профиля заведомо ложными или некорректными данными - причина возможного отказа в регистрации на форуме.

ПУ/КП и метки типа по МЭК 60870-5-104

RS-485, ProfiBUS, 4-20 mA, Wi-Fi, GSM и так далее
Аватара пользователя

Автор темы
Exactamente
частый гость
частый гость
Сообщения: 409
Зарегистрирован: 20 ноя 2012, 12:45
Ф.И.О.: :.О.N.Ф
Благодарил (а): 3 раза
Поблагодарили: 3 раза

ПУ/КП и метки типа по МЭК 60870-5-104

Сообщение Exactamente » 24 июн 2014, 09:34

Познаю протокол) Есть некоторые вопросы, помогите, пожалуйста.

Итак, в МЭКе есть разделение на мастера (пункт управления, ПУ) и слейва (контролируемый пункт, КП), как и в модбасе - верно? Однако, мастер может писать по своей воле в слейва (что логично), но и слейв может писать в мастера, что уже выглядет странноватым. В чём тогда разница между мастером и слейвом?

Ещё есть метки типов. Которые, во-первых, не совсем то же, что и тип данных по компьютерно-айтишной терминологии (real, int, etc) - верно? И если верно, то как они связаны; если не верно, то как на самом деле? И во-вторых, приставка к метке, первая буква (C или M) указывает направление записи: command - запись, measured - чтение. Верное?

Сам гост читал, перечитывал, внимательно, да, и ещё раз - вопросы остались :ges_help:
«Сразу видно внимание к каждой мелочи, неиспорченным не осталось ничто».

Аватара пользователя

hell_boy
почётный участник форума
почётный участник форума
Сообщения: 1078
Зарегистрирован: 18 янв 2009, 12:25
Ф.И.О.: Дмитрий
Благодарил (а): 2 раза
Поблагодарили: 22 раза

Re: ПУ/КП и метки типа по МЭК 60870-5-104

Сообщение hell_boy » 24 июн 2014, 23:48

Мастер в МЭКе ничего в слейв не пишет. Стандартный опрос выглядит так:
Мастер (М) общий опрос -> Слейву (С)
С все данные (порция 1 + бит еще есть данные ) -> М
М порцию 1 принял, CRC ok, жду еще -> С
С все данные (порция 2 + бит еще есть данные ) -> М
М порцию 2 принял, CRC ok, жду еще -> С
...
С все данные (порция m + бит еще есть данные ) -> М
М порцию m принял, CRC bad, повтори -> С
С все данные (порция m + бит еще есть данные ) -> М
М порцию m принял, CRC ok, жду еще -> С
...
С все данные (порция n + бит последняя порция ) -> М
М порцию n принял, CRC ok -> С
...
С изменились данные (порция 1 + бит еще есть данные ) -> М
М порцию 1 принял, CRC ok, жду еще -> С
...
С изменились данные (порция 1 + бит еще есть данные ) -> М
ответа от М нет - таймаут
С больше ничего не передает, ждет общего опроса

Улавливаете разницу с модбасом? Мастер говорит слейву только то, что он существует, потом слейв передает мастеру только то, что он захочет передать.

Команды бывают 2-х типов; одинарная - сразу выполнить и двойная - с предварительным выбором (подготовкой). Слейв волен не выполнять команду и дать отрицательный ответ.

То, что Вы называете метками типов, в МЭК зовется адресом ASDU. До 127 номера - стандартный диапазон адресов. Как правило - структура (от 1-го до 8 байт переменной + байт недостоверность + 3 или 6 байт дата-время изменения). После 128 номера - частный диапазон адресов. Там можно создавать свои типы данных без ограничений.
"Умные люди обсуждают идеи, средние - события, а глупые - людей" Л.Н. Толстой

Аватара пользователя

Автор темы
Exactamente
частый гость
частый гость
Сообщения: 409
Зарегистрирован: 20 ноя 2012, 12:45
Ф.И.О.: :.О.N.Ф
Благодарил (а): 3 раза
Поблагодарили: 3 раза

Re: ПУ/КП и метки типа по МЭК 60870-5-104

Сообщение Exactamente » 25 июн 2014, 07:46

Хм, ладно, а если переформулировать - мастер не "пишет", а посылает команды слейву. Я имею в виду то, что в МЭКе описано с меткой CON и адресами ASDU ("идентификаторами типов") <45>..<69> и <100>..<119>. Это разве не суть запись значений в слейв? Мастер (ПУ) посылает слейву (КП) "команду уставки, короткое число с сплавающей запятой".

Гляньте, пожалуйста, вот этому "Описанию протокола МЭК 60870-5-101 для чайников" насколько можно верить?
«Сразу видно внимание к каждой мелочи, неиспорченным не осталось ничто».

Аватара пользователя

hell_boy
почётный участник форума
почётный участник форума
Сообщения: 1078
Зарегистрирован: 18 янв 2009, 12:25
Ф.И.О.: Дмитрий
Благодарил (а): 2 раза
Поблагодарили: 22 раза

Re: ПУ/КП и метки типа по МЭК 60870-5-104

Сообщение hell_boy » 25 июн 2014, 10:15

Суть в том, что слейву посылается аналог SMS, тот - в свою очередь может заранее поставить блокировку на эту команду, или дать отрицательный ответ, или вообще - не ответить. "Описание ..." видел, в принципе - правильное, сильно упрощенное.
"Умные люди обсуждают идеи, средние - события, а глупые - людей" Л.Н. Толстой

Аватара пользователя

Автор темы
Exactamente
частый гость
частый гость
Сообщения: 409
Зарегистрирован: 20 ноя 2012, 12:45
Ф.И.О.: :.О.N.Ф
Благодарил (а): 3 раза
Поблагодарили: 3 раза

Re: ПУ/КП и метки типа по МЭК 60870-5-104

Сообщение Exactamente » 25 июн 2014, 13:48

hell_boy писал(а):Суть в том, что слейву посылается аналог SMS, тот - в свою очередь может заранее поставить блокировку на эту команду, или дать отрицательный ответ, или вообще - не ответить..
Не, эт-то я понял. Не пойму в чём здесь разница между мэковской командой и записью мастером в регистры слейва, если по аналогии с модбасом. У нас же посылается команда (то бишь запись значения) в определённый IOA определённого идентификатора типа (номер ASDU, как вы назвали). Те же яйца, только в профиль, не?)

Смысл затеи в чём: надо передавать по МЭКу значения - просто считать определённые переменные и парочку иногда записать, без всех этих мэковских наворотов, простого как топор модбаса было бы достаточно, и все были бы счастливы... но кто-то решил, что будет МЭК :ges_hmm:
«Сразу видно внимание к каждой мелочи, неиспорченным не осталось ничто».

Аватара пользователя

hell_boy
почётный участник форума
почётный участник форума
Сообщения: 1078
Зарегистрирован: 18 янв 2009, 12:25
Ф.И.О.: Дмитрий
Благодарил (а): 2 раза
Поблагодарили: 22 раза

Re: ПУ/КП и метки типа по МЭК 60870-5-104

Сообщение hell_boy » 25 июн 2014, 20:58

Exactamente писал(а):
hell_boy писал(а):... модбаса было бы достаточно, и все были бы счастливы... но кто-то решил, что будет МЭК :ges_hmm:

Этот кто-то, кто за всех выбирает протокол, во многих случаях будет совершенно прав. На огромных распределенных объектах, где на одной неустойчивой линии связи висят сотни КП, применение протоколов МЭК - единственный выход. Вероятность прихода ошибочного пакета в МЭК-104 1Е-12, в модбас - 1Е-4. Т.е. в модбас на 10000 команд (дневной объем мосметро) - одна будет понята КП неправильно и соответственно - выполнена. Второе преимущество МЭК-104 - минимальный объем траффика в сети: данные передаются практически по изменениям, команды - без многократного отслеживания результатов выполнения.
"Умные люди обсуждают идеи, средние - события, а глупые - людей" Л.Н. Толстой

Аватара пользователя

Автор темы
Exactamente
частый гость
частый гость
Сообщения: 409
Зарегистрирован: 20 ноя 2012, 12:45
Ф.И.О.: :.О.N.Ф
Благодарил (а): 3 раза
Поблагодарили: 3 раза

Re: ПУ/КП и метки типа по МЭК 60870-5-104

Сообщение Exactamente » 26 июн 2014, 06:03

Разве команда может быть понята - но неправильно? CRC и TCP/IP бдят :ext_flex:

Не хотелось бы спорить по отвлечённым темам с единственным здесь человеком, который помогает в вопросе, вот только вы говорите в общем случае, а я про свой конкретный, где линия связи устойчива, а КП на порядки меньше, чем сотни :)
«Сразу видно внимание к каждой мелочи, неиспорченным не осталось ничто».


DonArchibaldos
осмотрелся
осмотрелся
Сообщения: 100
Зарегистрирован: 10 сен 2012, 07:56
Ф.И.О.: Евгений
Поблагодарили: 3 раза

Re: ПУ/КП и метки типа по МЭК 60870-5-104

Сообщение DonArchibaldos » 26 июн 2014, 08:07

Т.е. в модбас на 10000 команд (дневной объем мосметро) - одна будет понята КП неправильно и соответственно - выполнена.

Если честно, я тоже не понимаю, как команда модбаса может быть воспринята неверно - если пакет будет битый, то, как уже сказал Exactamente, контрольная сумма не сойдется.

Для меня, как инженера по телемеханике для подстанций 6/10кВ, преимущества МЭК-104 выглядят следующим образом:
1) Передача данных по спорадике с возможностью настроить апертуры - это позволяет использовать протокол с откровенно паршивыми каналами связи;
2) Метки времени - на том же GPRS/3G время передачи пакета может превышать одну секунду.

Аватара пользователя

hell_boy
почётный участник форума
почётный участник форума
Сообщения: 1078
Зарегистрирован: 18 янв 2009, 12:25
Ф.И.О.: Дмитрий
Благодарил (а): 2 раза
Поблагодарили: 22 раза

Re: ПУ/КП и метки типа по МЭК 60870-5-104

Сообщение hell_boy » 26 июн 2014, 22:15

Exactamente писал(а):Разве команда может быть понята - но неправильно? CRC и TCP/IP бдят :ext_flex:
Я долго экспериментировал именно с возможностью искажения пакета TCP/IP при записи регистров Modbus и с командой МЭК. Пакет с записью регистра Modbus и с одинарной командой МЭК - очень короткий, при искажении 2-х не соседних битов CRC всего пакета в ряде случаев не изменится. В случае Modbus спасает только то, в регистр пишется последовательность нулевых битов и только 1 бит - значащий. В МЭК, если 2 искаженных бита будут в IOA, то спасает двойная команда по одному IOA (Select - Execute). На практике возможно Modbus приблизить к МЭК по безопасности. Надо сделать запись регистров тоже двойной.
"Умные люди обсуждают идеи, средние - события, а глупые - людей" Л.Н. Толстой

Аватара пользователя

MuadDib
не первый раз у нас
не первый раз у нас
Сообщения: 359
Зарегистрирован: 31 июл 2010, 08:12
Ф.И.О.: Журавлев Павел Евгеньевич
Поблагодарили: 1 раз

Re: ПУ/КП и метки типа по МЭК 60870-5-104

Сообщение MuadDib » 27 июн 2014, 07:24

hell_boy писал(а):Я долго экспериментировал именно с возможностью искажения пакета TCP/IP при записи регистров Modbus и с командой МЭК. Пакет с записью регистра Modbus и с одинарной командой МЭК - очень короткий, при искажении 2-х не соседних битов CRC всего пакета в ряде случаев не изменится. В случае Modbus спасает только то, в регистр пишется последовательность нулевых битов и только 1 бит - значащий. В МЭК, если 2 искаженных бита будут в IOA, то спасает двойная команда по одному IOA (Select - Execute). На практике возможно Modbus приблизить к МЭК по безопасности. Надо сделать запись регистров тоже двойной.

Извиняюсь за оффтоп, но в развернувшейся здесь дискуссии были представлены, на мой взгляд, очень важные и неожиданные данные. Хочу уточнить пару деталей.
Вероятность прихода ошибочной команды, равная 1E-4, действительно очень высока. Но что было учтено при анализе? Только CRC TCP-пакета? Учитывалось ли то, что кадр протокола канального уровня будет защищен еще одним CRC-полем, в общем случае с другим полиномом? И есть ли практические подтверждения столь высокого возможного уровня искажений?
Ни в коей мере не пытаюсь спорить о необходимости использования МЭК-104 для ответственных решений. Просто хочется больше знать о подводных камнях в использовании привычного Модбаса.

Аватара пользователя

hell_boy
почётный участник форума
почётный участник форума
Сообщения: 1078
Зарегистрирован: 18 янв 2009, 12:25
Ф.И.О.: Дмитрий
Благодарил (а): 2 раза
Поблагодарили: 22 раза

Re: ПУ/КП и метки типа по МЭК 60870-5-104

Сообщение hell_boy » 27 июн 2014, 13:25

Было такое обсуждение "плохой-хороший ModBUS RTU" http://iprog.pp.ru/forum/read.php?f=1&i=40027&t=39519
"Умные люди обсуждают идеи, средние - события, а глупые - людей" Л.Н. Толстой


Вернуться в «Интерфейсы, протоколы, связь»



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей