1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

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

RS-485, ProfiBUS, 4-20 mA, Wi-Fi, GSM и так далее

Модератор: Глоб.модераторы

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

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

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

Сообщение Exactamente »

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

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

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

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

hell_boy
почётный участник форума
почётный участник форума
Сообщения: 1746
Зарегистрирован: 18 янв 2009, 12:25
Имя: Дмитрий
Страна: Россия
город/регион: Москва
Благодарил (а): 6 раз
Поблагодарили: 143 раза

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

Сообщение hell_boy »

Мастер в МЭКе ничего в слейв не пишет. Стандартный опрос выглядит так:
Мастер (М) общий опрос -> Слейву (С)
С все данные (порция 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, 13:45
Имя: :.О.N.Ф
Страна: Россия
Благодарил (а): 3 раза
Поблагодарили: 7 раз

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

Сообщение Exactamente »

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

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

hell_boy
почётный участник форума
почётный участник форума
Сообщения: 1746
Зарегистрирован: 18 янв 2009, 12:25
Имя: Дмитрий
Страна: Россия
город/регион: Москва
Благодарил (а): 6 раз
Поблагодарили: 143 раза

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

Сообщение hell_boy »

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

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

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

Сообщение Exactamente »

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

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

hell_boy
почётный участник форума
почётный участник форума
Сообщения: 1746
Зарегистрирован: 18 янв 2009, 12:25
Имя: Дмитрий
Страна: Россия
город/регион: Москва
Благодарил (а): 6 раз
Поблагодарили: 143 раза

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

Сообщение hell_boy »

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

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

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

Сообщение Exactamente »

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

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

DonArchibaldos
осмотрелся
осмотрелся
Сообщения: 101
Зарегистрирован: 10 сен 2012, 08:56
Имя: Евгений
Страна: РФ
город/регион: СПб
Поблагодарили: 3 раза

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

Сообщение DonArchibaldos »

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

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

hell_boy
почётный участник форума
почётный участник форума
Сообщения: 1746
Зарегистрирован: 18 янв 2009, 12:25
Имя: Дмитрий
Страна: Россия
город/регион: Москва
Благодарил (а): 6 раз
Поблагодарили: 143 раза

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

Сообщение hell_boy »

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

MuadDib
частый гость
частый гость
Сообщения: 462
Зарегистрирован: 31 июл 2010, 09:12
Имя: Павел
Страна: РФ
Благодарил (а): 10 раз
Поблагодарили: 17 раз

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

Сообщение MuadDib »

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

hell_boy
почётный участник форума
почётный участник форума
Сообщения: 1746
Зарегистрирован: 18 янв 2009, 12:25
Имя: Дмитрий
Страна: Россия
город/регион: Москва
Благодарил (а): 6 раз
Поблагодарили: 143 раза

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

Сообщение hell_boy »

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

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